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