弹霄博科

小谈谈一亩三分地



yum update 异常退出后常见报错的解决方法


发布日期: 2022/05/29
作者: 小谈谈
分类: Linux
标签: linux, yum update
阅读时间: 2 分钟
字数: 453 字


我们在 yum update 更新异常退出了,例如 Ctrl+C 掉,网络中断等,会有很多软件包留在仓库,引起各种各样的问题。这里简单记录一些常见的问题和解决方法。但温馨提示,最好不要中断 yum update 过程,这十分危险,可能会导致 RPMDB 损坏。

常见问题

此时可以定位一下引发报错的软件包的名字和版本号,使用 rpm -e --nodeps 来卸载保存的软件包。 安装 yum-utils 并使用 yum-complete-transaction 清理未完成事务。

yum install yum-utils yum clean all yum-complete-transaction --cleanup-only

这个提示是包冲突了,只能使用 rpm 命令手动解除冲突。rpm -e 或者必要时候使用 --nodeps 参数。 可以使用 rpm -qa | grep 软件包名。检索冲突包的所有版本,一般是旧版本和新装的版本冲突。 有时候会出现嵌套依赖的情况出现,即要删除包 A,被包 B 依赖了,需要先对 B 冲突的版本进行清理。因此可能需要重复进行多次操作才能将依赖冲突彻底解决。 这个提示区别于 Q3,是包重复了,一般是系统里有新旧两个版本的包。 可以使用 package-cleanup 进行清理。

查看重复的包:package-cleanup --dupes 清理损坏的包:package-cleanup --problems 清理重复的包:package-cleanup --cleandupes

使用 yum clean all 清理包缓存。

一些建议