当我尝试在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版本检查只是 指出存在问题。
答案 0 :(得分:44)
对我而言,在您升级软件包的过程中,您似乎重新启动了计算机(或者它已崩溃)。所以安装了新软件包,但旧软件包没有被删除。
首先查看您是否有任何未完成的交易: yum-complete-transaction
如果这没有帮助,那么看看作为yum-utils包的一部分的包清理工具。
package-cleanup --dupes 列出重复的包
package-cleanup --cleandupes 删除重复的包
但请小心使用该命令并在删除重复项之前创建备份。
答案 1 :(得分:16)
这是我用471个重复修复一台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
一些注意事项:
答案 2 :(得分:9)
我可以使用yum shell
remove foo-package-*
install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
run
之后,副本消失了,我可以毫无问题地将系统更新到当前包,而不会引入任何新的重复项。
这适用于nss
或yum
等系统包。
答案 3 :(得分:2)
yum重新安装包 - 最新版本
答案 4 :(得分:0)
几个月前,我在升级我的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删除sane-backends-libs-1.0.22-8.fc16.i686'然后是yum更新。
一切都很好。
Ĵ
答案 5 :(得分:0)
首先安装yum utils,然后运行清理以删除旧的重复软件包
yum install yum-utils &&
package-cleanup –-cleandupes -y
提示:
有时您需要运行package-cleanup –-cleandupes
几次
答案 6 :(得分:0)
就我而言,以上内容均无效。
因此,在具有“重复项”列表之后,我将其复制到了“文本编辑器” ...
我做到了
yum upgrade {package name}
在编辑整个列表时,我一直在做...
示例:yum升级sudo nano来了mariadb,等等...
答案 7 :(得分:0)
对我有用的是:
1)获取重复的软件包列表: package-cleanup --dupes
2)手动删除旧的重复项: rpm -e --justdb --nodeps {old-version-duplicated-package}
3) yum更新
答案 8 :(得分:0)
次要升级因SSH断开连接而中断。在尝试获取一些修复程序的同时手持了一些软件包之后,我最终像下面这样修复了其余的软件包: sudo yum reinstall --skip-broken $(/ usr / bin / package-cleanup --dupes -q | sort)