当我正在执行例程yum update
时,它开始抛出一连串“非致命”错误。它抱怨机器内存不足。尽管如此,yum 认为没有必要停止这列火车。
因此,当它完成后,我又运行了另一个命令yum update
进行检查,它列出了 100 多个重复的软件包。显然,内存不足意味着 yum 无法执行重复的删除操作。经过一番搜索,我找到了命令package-cleanup --cleandupes
。它整齐地列出了重复项并建议删除它们。是的!
我的喜悦并没有维持多久,因为它报错了:
iptables = 1.4.21-34.el7 is needed by (installed) iptables-services-1.4.21-34.el7.x86_64
虽然这是事实,但列出的要删除的重复版本是 1.4.21-33.el7。
手动尝试时,rpm -e --justdb iptables-services-1.4.21-33.el7.x86_64
它再次显示:
error: Failed dependencies: iptables = 1.4.21-34.el7 is needed by (installed) iptables-services-1.4.21-34.el7.x86_64
它似乎不明白我想删除的是版本“33”,而不是“34”。我该如何解决这个问题?
答案1
好的,尝试一些其他选项来强制删除重复项(顺便说一句,该rpm
命令不支持,它仅适用于安装和更新软件包),我遇到了--removenewestdupes
该package-cleanup
命令的选项。事实上,这是从另一个角度解决问题,要求它删除更新而不是旧版本。
发卡:
package-cleanup --cleandupes --removenewestdupes
...一切顺利,没有出现错误。之后,我可以yum update
正确更新旧软件包,一切又回到正轨。