我正在运行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
但是同样的结果。
这是我想升级的生产服务器,所以我必须格外小心。 我不是那个准备的人。 看起来我使用红帽4.4.6-3的亚马逊版本。
任何build议如何解决这个问题?
当您安装同一个库的32位(.i686)和64位(x86_64)版本时,它们必须是相同的版本。 如果您查看上面发布的错误消息,则会看到版本不一样(“!=”部分表示“不等于”)。
使用以下命令来修复错误,
使用包清理删除重复。
package-cleanup --dupes package-cleanup --cleandupes
清除yumcaching,
yum clean all
然后最后更新系统,
yum update
这篇文章有更多的细节, Fedora论坛和红帽百胜参考
在这种情况下,使用yum distro-sync而不是yum update来修复软件包版本不匹配。 这样可以在必要时将软件包降级以匹配存储库中的版本。
你可以尝试下面的这将确保你从存储库下载最新版本。
确保/etc/yum.conf中的“releasever”被设置为“latest”
sudo yum干净一切
sudo yum更新