我使用以下工具管理我的 RHEL 6 / 7 系统好吃指向本地存储库,该存储库是 Red Hat 官方存储库的副本。
其他人安装了一些软件包的较新版本,如下所示:
rpm -i <package name>-<newer version>-<release number of newer version>.rpm
我宁愿他们给我 .rpm,因为这样我就可以把它放到我的仓库中,运行创建仓库使用较新的软件包版本重建 repo,然后按如下方式更新软件包:
yum update <package name>
我如何识别已安装软件包的版本发布版本比我的仓库中的版本发布版本更新?
请注意,这与yum 更新,它标识了已安装软件包的版本发布版本比我的存储库中的版本发布版本旧的软件包。
答案1
我认为除了编写脚本之外没有其他简单的方法。
脚本意味着您通过 获取所有已安装软件包的列表,rpm -qa
然后使用 从存储库中获取它们的最新版本repoquery
。并比较后者的版本是否比前者更旧。
为了加快速度,您可以只对似乎已从其他存储库安装的软件包执行操作。因此,与比较来自 的所有软件包的版本相反rpm -qa
,您将使用来自 的列表:
yum list installed | grep @/
...这将通过以下方式获取已安装软件包的列表yum install /path/to/some.rpm
和:
yum list installed | grep installed
... 将通过以下方式获取已安装软件包的列表rpm -i /path/to/rpm