yum error - 包是重复的

时间:2013-10-17 04:27:01

标签: centos yum

当我尝试在CentOS 6.3上运行yum update时,我收到错误,并说要运行yum checkyum 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版本检查只是          指出存在问题。

9 个答案:

答案 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

一些注意事项:

  • 在这种情况下,我已经仔细检查了“ package-cleanup --dupes ”输出,以确保如何生成卸载列表。
  • 我尝试了一种“重新安装较新的”方法来反转列表( awk'NR%2 == 0'),但是在该版本中有很多不再可用的软件包(剩下服务器)这样一年。
  • 我曾考虑过从rpmdb中删除较新的软件包,因此稍后升级应重新安装所有内容,但是在检查文件系统中已安装的文件之后,对于我来说很明显新版本已经到位,只有较旧的rpm条目仍在rpmdb中。也许您的情况有所不同。

答案 2 :(得分:9)

我可以使用yum shell

删除所有重复项
  1. 我首先命令它使用remove foo-package-*
  2. 删除所有包
  3. 然后通过指定确切版本install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
  4. 命令它安装以前的版本
  5. run
  6. 提交交易

    之后,副本消失了,我可以毫无问题地将系统更新到当前包,而不会引入任何新的重复项。

    这适用于nssyum等系统包。

答案 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更新。

一切都很好。

Ĵ

来自http://forums.fedoraforum.org/showthread.php?t=268328

答案 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)

相关问题