![了解 YUM 更新错误...需要、删除、更新](https://linux22.com/image/155112/%E4%BA%86%E8%A7%A3%20YUM%20%E6%9B%B4%E6%96%B0%E9%94%99%E8%AF%AF...%E9%9C%80%E8%A6%81%E3%80%81%E5%88%A0%E9%99%A4%E3%80%81%E6%9B%B4%E6%96%B0.png)
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 存储库中可用(应位于updates
EL 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
。