我正在运行 AWS VM 并尝试:
sudo yum update
结果:
Error: Protected multilib versions: sendmail-8.14.4-8.12.amzn1.x86_64 != sendmail-8.14.4-7.9.amzn1.i386
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
kernel-2.6.34.7-56.40.amzn1.x86_64 has missing requires of mkinitrd
sendmail-8.14.4-8.11.amzn1.x86_64 is a duplicate with sendmail-8.14.4-7.9.amzn1.i386
我读到其他地方可以尝试这个:
sudo yum --exclude=kernel* update
但结果是一样的。
这是我要升级的生产服务器,因此我必须特别小心。我不是准备它的人。看起来我使用的是亚马逊版本的 Red Hat 4.4.6-3。
有什么建议可以解决这个问题吗?
答案1
当您安装同一库的 32 位 (.i686) 和 64 位 (x86_64) 版本时,它们必须是同一版本。如果您检查上面发布的错误消息,您会发现版本不一样(“!=”部分表示“不相等”)。
使用以下命令修复错误,
使用 package-cleanup 删除重复项。
package-cleanup --dupes
package-cleanup --cleandupes
清除 yum 缓存,
yum clean all
最后更新系统,
yum update
这篇文章有更多详细信息,Fedora 论坛&Red Hat Yum 参考
答案2
在这种情况下,使用yum distro-sync
而不是yum update
来修复软件包版本不匹配的问题。这样,如果需要,可以降级软件包以匹配存储库中的版本。
答案3
您可以尝试以下操作,这将确保您从存储库下载最新版本。
确保 /etc/yum.conf 中的“releasever”设置为“latest”
sudo yum 清理所有
sudo yum 更新