当我尝试在CentOS 6.3盒子上运行yum update
时,我遇到了错误,并说要运行yum check
。 yum check
的输出是:
➜ ~ yum check
Loaded plugins: fastestmirror
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Error: check all
知道如何修复这些包吗?我试过yum reinstall xinetd tzdata nss-util nss-softokn nss nspr iputils glibc glibc-common glibc-devel
但得到了:
错误:找到Multilib版本问题。这通常意味着根本原因是其他原因,而multilib版本检查只是指出存在问题。
对我而言,在您升级软件包的过程中,您似乎重新启动了计算机(或者它已崩溃)。所以安装新包,但旧包没有删除。
首先查看您是否有任何未完成的交易:yum-complete-transaction
如果这没有帮助,那么看看作为yum-utils包的一部分的package-cleanup工具。
package-cleanup --dupes列出重复的包
package-cleanup --cleandupes删除重复的包
但是在删除重复项之前,请小心使用该命令并创建备份。
这是我用471个dupes修复一个CentOS 7服务器的方式。
首先我必须安装yum utils:
yum install yum-utils
尝试了yum-complete-transaction和其他没有运气的东西,我放弃了交易:
yum-complete-transaction --cleanup-only
然后我得到了一个重复包的排序列表,所以我可以识别旧版本以删除过滤偶数和奇数行:
package-cleanup --dupes | sort -u > dupes.out
然后我通过这种方式从这个排序文件中获得了一个卸载列表
cat dupes.out | grep -v 'Loaded plugins:' | sort -u | awk 'NR % 2 == 1' > uninstall.in
然后我从rpm数据库中删除了旧版本:
for f in `cat uninstall.in`; do rpm -e --nodeps -f --justdb $f; done
最后,我可以继续进行常规系统升级:
yum upgrade
有些事要注意:
我可以使用yum shell
删除所有重复项:
remove foo-package-*
删除所有包install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
来命令它安装以前的版本run
承诺交易之后,副本消失了,我可以毫无问题地将系统更新到当前包,而不会引入任何新的重复项。
这甚至适用于nss
或yum
等系统软件包。
yum重新安装包 - 最新版本
几个月前,我在升级我的fedora之后也遇到了这个问题。
我也尝试使用package-cleanup,它开始删除所需的libs,使我的工作站无法工作。 Luckely我可以重新安装Fedora而不是删除我的主分区。
昨天发生了同样的问题,我修复了删除旧版本的副本。
例如:我得到了这些重复项:oxygen-icon-theme-4.8.3-1.fc16.noarch与oxygen-icon-theme-4.8.2-1.fc16.noarch sane-backends-libs-1.0重复。 22-10.fc16.i686与sane-backends-libs-1.0.22-8.fc16.i686重复
我做的是我使用'yum remove sane-backends-libs-1.0.22-8.fc16.i686',之后是yum更新。
一切都不顺利。
Ĵ