Centos 在启用多个存储库的情况下,yum如何确定哪个包较新?

Centos 在启用多个存储库的情况下,yum如何确定哪个包较新?,centos,rpm,yum,Centos,Rpm,Yum,我试图理解,当系统启用了多个存储库,并且某个特定包可能在一个或所有repo中可用时,yum如何能够确定某个包是否较新 我们正在尝试创建一个自定义包管理系统,以便管理我们的本地repo,并向我们报告所有服务器上是否有可用的新更新,以及本地repo上是否有可用的更新。yum为给定包名查找“最新”版本和发行版。它首先检查版本,然后发布。如果您提供了多个具有相同软件包名称的存储库,则yum将使用“最新”版本(和发行版) @msuchy的一条评论提到,您可能会发现它对RPM文件的分析很有用 进一步阅读:

我试图理解,当系统启用了多个存储库,并且某个特定包可能在一个或所有repo中可用时,yum如何能够确定某个包是否较新

我们正在尝试创建一个自定义包管理系统,以便管理我们的本地repo,并向我们报告所有服务器上是否有可用的新更新,以及本地repo上是否有可用的更新。

yum为给定包名查找“最新”版本和发行版。它首先检查版本,然后发布。如果您提供了多个具有相同软件包名称的存储库,则yum将使用“最新”版本(和发行版)

@msuchy的一条评论提到,您可能会发现它对RPM文件的分析很有用

进一步阅读:


这就是元数据的用途。它保存包信息,此信息包含包版本。Yum解析元数据并对版本进行排序。rpmdevtools包具有rpmdev vercmp,它可以比较两个版本并告诉您哪个版本更大。它如何根据版本进行准确判断?软件包发布通常是一个模糊的字符串。我试图弄清楚,如果版本号相同,但软件包版本已更新,那么当与已安装内容和“新”内容进行比较时,yum是如何分辨的。此外,我认为百胜将尝试保持相同的“系列”软件包,即使在另一个回购协议中有更新的软件包。根据我所看到的。假设您安装了带有其他依赖项的remi php,当要求执行yum安装/更新时,yum更愿意将包保存在相同的repo中。我看到yum在看到更新版本(使用相同的包名)时跳转到另一个存储库,但没有看到它关注“家族”。