系统版本为Centos7,由于自带的yum源下载速度慢,换成了163源,之后yum update过程中异常中断,导致产生了许多不同版本的重复包,需要进行清除。

  • 报错1:There are unfinished transactions remaining

解决方法:使用yum-complete-transaction清理未完成事务,需要yum-utils支持

yum install yum-utils
yum clean all
yum-complete-transaction --cleanup-only
  • 报错2:xxx is a duplicate with xxx

解决方法:使用package-cleanup进行清理

package-cleanup --cleandupes

重复包清理过程中需要处理包之间的依赖关系,其中可能产生依赖冲突.

解决方法:使用rpm手动清理冲突的相关包,先使用rpm -q “包名”,查看该冲突包的所有版本,然后使用rpm -e “带版本信息的完整包名”删除冲突的版本(报错信息中可查),一般为旧版本。在rpm -e的时候可能出现新的依赖冲突错误(要删除的包A被其他包B依赖,需要对B的冲突版本进行清理),因此可能需要重复进行多次操作才能将依赖冲突彻底解决

解决完冲突依赖之后就可以正常使用package-cleanup --cleandupes清理重复包了,问题解决。

Q.E.D.