如何解决 yum 中的“重复”问题?

如何解决 yum 中的“重复”问题?

在混乱和不耐烦的时刻,我严重损坏了我的操作系统。这是交易...

系统: CentOS 7

问题: 像 SAMBA 这样的基本软件包不起作用,并且 yum 不会做任何事情。

它是如何开始的:我安装了kmod-xpad,需要更新内核。这个新内核从未工作过,但我可以从引导加载程序上的旧内核引导。我通过 yum 进行了例行包更新。后来我尝试删除kmod-xpad,但失败了。现在系统永久告诉我需要重新启动才能安装更新。更糟糕的是,我无法通过 Samba 安装网络驱动器。我收到一条错误消息,例如...

/sbin/mount.cifs: /usr/lib64/samba/libreplace.so: version SAMBA_4.1.1' not found (required by /lib64/libwbclient.so.0)
/sbin/mount.cifs: /usr/lib64/samba/libwinbind-client.so: version `SAMBA_4.1.1' not found (required by /lib64/libwbclient.so.0)

在尝试修复 SAMBA 时,我发现 yum 完全混乱,并且有未完成的事务。我四处寻找解决方案,但没有运气(例如为什么在几个月没有升级之后,“yum update”会失败并出现许多重复项?

百胜错误消息:当我运行时yum clean allyum update我遇到了依赖项解析错误,然后被告知有 374 个预先存在的 rpmdb 问题,这些问题基本上是一堆重复的包。这是一个片段:

--> Finished Dependency Resolution
Error: Package: avahi-libs-0.6.31-13.el7.x86_64 (@anaconda)
           Requires: avahi = 0.6.31-13.el7
           Removing: avahi-0.6.31-13.el7.x86_64 (@anaconda)
               avahi = 0.6.31-13.el7
           Updated By: avahi-0.6.31-14.el7.x86_64 (base)
               avahi = 0.6.31-14.el7
Error: avahi-libs conflicts with avahi-0.6.31-14.el7.x86_64
Error: avahi-autoipd conflicts with avahi-0.6.31-14.el7.x86_64

...
You could try using --skip-broken to work around the problem
 ** Found 374 pre-existing rpmdb problem(s), 'yum check' output follows:
 1:NetworkManager-1.0.0-14.git20150121.b4ea599c.el7.x86_64 is a duplicate with 1:NetworkManager-0.9.9.1-29.git20140326.4dba720.el7_0.x86_64

...
avahi-libs-0.6.31-14.el7.x86_64 is a duplicate with avahi-libs-0.6.31-13.el7.x86_64
avahi-ui-gtk3-0.6.31-14.el7.x86_64 has installed conflicts avahi < ('0', '0.6.31', '14.el7'): avahi-0.6.31-13.el7.x86_64
avahi-ui-gtk3-0.6.31-14.el7.x86_64 is a duplicate with avahi-ui-gtk3-0.6.31-13.el7.x86_64
bash-4.2.46-12.el7.x86_64 is a duplicate with bash-4.2.45-5.el7_0.4.x86_64
...

百胜日志 以下是我的 yum.log 中的主要事件:

Apr 24 11:34:08 Updated: linux-firmware-20140911-0.1.git365e80c.el7.noarch
Apr 24 11:34:13 Installed: kernel-3.10.0-229.1.2.el7.x86_64
Apr 24 11:34:14 Installed: kmod-xpad-0.0.6-3.el7.elrepo.x86_64
May 08 13:38:28 Updated: libgcc-4.8.3-9.el7.x86_64
May 08 13:38:28 Updated: centos-release-7-1.1503.el7.centos.2.8.x86_64
May 08 13:38:28 Updated: python-urlgrabber-3.10-6.el7.noarch
May 08 13:38:28 Updated: 1:control-center-filesystem-3.8.6-18.el7.x86_64
May 08 13:38:28 Updated: hyperv-daemons-license-0-0.25.20141008git.el7.noarch

... (a bunch of packages)...

May 08 13:40:31 Updated: xorg-x11-server-common-1.15.0-33.el7_1.x86_64
May 08 13:40:31 Updated: xorg-x11-server-Xorg-1.15.0-33.el7_1.x86_64
May 08 14:02:03 Erased: kmod-xpad-0.0.6-3.el7.elrepo.x86_64

这是一个好的解决方案吗? 现在,我正在考虑按照以下建议删除重复项CentOS论坛:

rpm -e --justdb <package-version>

这听起来很乏味,而且我不相信它能真正解决我的问题。请问出现这种情况需要重装吗?

任何建议将被认真考虑。

答案1

我已经找到了部分解决方案:yum update --skip-broken能够恢复基本功能,例如mount.然而,yum 仍然存在依赖解析和重复的问题。我不知道为什么“--skip-broken”这次起作用了;我之前曾使用类似的 yum 命令尝试过一次,但它没有完成任何任务。

相关内容