了解 YUM 更新错误...需要、删除、更新

了解 YUM 更新错误...需要、删除、更新

RHEL 7.6,使用相同在线系统的更新来管理离线系统。我在离线系统上创建了一个本地存储库,并且运行yum update良好......直到。

.
.
.
Found and removing 0 unneeded dependencies

Error: Package: libkadm5-1.15.1.1-34.el7.x86_64 (@dvd)
    Requires: krb5-libs(x86-64) = 1.15.1-34.el7
    Removing: krb5-libs-1.15.1-34.el7.x86_64 (@anaconda/7.6)
       krb5-libs(x86-64) = 1.15.1-34.el7
    Updated by: krb5-libs-1.15.1-37.el7_6.x86_64 (local)
       krb5-libs(x86-64) = 1.15.1-37.el7_6

我也遇到同样的错误...

  • 关于 krb5-devel-1.15.1-37.el7_6.x86_64
  • 需要 1.15.1-34.el7
  • 删除 1.15.1-34.el7
  • 更新于 1.15.1-37.el7_6

并且 foropenssl-devel但具有不同的版本号。我不明白的是,在离线系统上所做的任何事情都在在线系统上成功完成,这是如何发生的。那么为什么会出现版本问题,以及如何纠正它?

答案1

您有一个包 ,libkadm5需要特定版本的krb5-libs( krb5-libs(x86-64) = 1.15.1-34.el7)。

您正在运行一个更新过程,想要更新krb5-libs到 version 1.15.1-37.el7_6,但这会破坏该包,libkadm5因为不再具有krb5-libs它想要的确切版本。未执行更新,因为它无法解决该依赖性冲突。

正确的解决方案是确保libkadm5-1.15.1-37.el7_6您的 YUM 存储库中可用(应位于updatesEL 7.6 的存储库中)。这应该可以让krb5-libs软件包干净地更新。

至于为什么会发生这种情况,我不确定,但这可能与相关包的版本控制有关。仔细查看您遇到问题的软件包libkadm5-1.15.1.1-34.el7.x86_64,与您需要的软件包进行比较,libkadm5-1.15.1-37.el7_6您会发现冲突的软件包.1在版本中有一个额外的内容,这可能会导致 YUM 的更新算法失效(即 YUM 无法确定这libkadm5-1.15.1-37.el7_6是一个更高的版本,libkadm5-1.15.1.1-34.el7.x86_64因为.1,所以它没有被选择更新)。如果是这种情况,您可能需要通过删除libkadm5-1.15.1.1-34.el7.x86_64并替换为 来手动解决问题libkadm5-1.15.1-37.el7_6

相关内容