前两天在升级CentOS 7服务器时,用 yum update 遇到了包重复的问题,一般会提示一些与之类似的内容:
yum update
...
--> Finished Dependency Resolution
Error: Package: ntp-4.2.6p5-22.el7.centos.2.x86_64 (@updates)
Requires: ntpdate = 4.2.6p5-22.el7.centos.2
Removing: ntpdate-4.2.6p5-22.el7.centos.2.x86_64 (@updates)
ntpdate = 4.2.6p5-22.el7.centos.2
Updated By: ntpdate-4.2.6p5-25.el7.centos.x86_64 (base)
ntpdate = 4.2.6p5-25.el7.centos
You could try using --skip-broken to work around the problem
** Found 41 pre-existing rpmdb problem(s), 'yum check' output follows:
// huge scary list of packages follows
You may at times install all other packages via yum update –skip-broken, but it will still leave some trouble on the system. Best to take care of it.
我们可以用以下方法来解决,安装 yum-utils,使用它里面的 package-cleanup 工具对包进行清理工作,首先我们安装它:
yum install yum-utils
接下来,我们运行 package-cleanup --dupes 看看哪些包出了问题, package-cleanup 工具会显示系统上的重复包的相关信息:
package-cleanup --dupes
在返回的信息里,我们一般能看到几个软件包似乎安装了多个。这时我们可以用 --cleandupes 参数来解决此问题,并删除以下多余的软件包:
package-cleanup --cleandupes
最后,我们再次执行
yum update
此时,问题一般都会解决。