如何解决更新期间的 yum 错误 - CentOS

如何解决更新期间的 yum 错误 - CentOS

我正在运行带有 Apache 的 CentOS 6.4,在通过 WHM 运行 Easy Apache 更新时遇到问题。它因与 yum 相关的错误而失败,因此我决定手动更新 yum。

以下是运行 yum update --skip-broken 时输出的最后一行

 Packages skipped because of dependency problems:
        compat-expat1-1.95.8-8.el6.x86_64 from base
        git-1.8.2.1-1.el5.x86_64 from epel
        glibc-2.12-1.107.el6_4.4.i686 from updates
        glibc-2.12-1.107.el6_4.4.x86_64 from updates
        glibc-devel-2.12-1.107.el6_4.4.i686 from updates
        glibc-devel-2.12-1.107.el6_4.4.x86_64 from updates
        glibc-headers-2.12-1.107.el6_4.4.x86_64 from updates
        glibc-static-2.12-1.107.el6_4.4.x86_64 from updates
        nscd-2.12-1.107.el6_4.4.x86_64 from updates
    Error:  Multilib version problems found. This often means that the root
           cause is something else and multilib version checking is just
           pointing out that there is a problem. Eg.:

             1. You have an upgrade for nss-softokn-freebl which is missing some
                dependency that another package requires. Yum is trying to
                solve this by installing an older version of nss-softokn-freebl of the
                different architecture. If you exclude the bad architecture
                yum will tell you what the root cause is (which package
                requires what). You can try redoing the upgrade with
                --exclude nss-softokn-freebl.otherarch ... this should give you an error
                message showing the root cause of the problem.

             2. You have multiple architectures of nss-softokn-freebl installed, but
                yum can only see an upgrade for one of those arcitectures.
                If you don't want/need both architectures anymore then you
                can remove the one with the missing update and everything
                will work.

             3. You have duplicate versions of nss-softokn-freebl installed already.
                You can use "yum check" to get yum show these errors.

           ...you can also use --setopt=protected_multilib=false to remove
           this checking, however this is almost never the correct thing to
           do as something else is very likely to go wrong (often causing
           much more problems).

           Protected multilib versions: nss-softokn-freebl-3.14.3-3.el6_4.i686 != nss-softokn-freebl-3.12.9-11.el6.x86_64
    Error: Protected multilib versions: libgcc-4.4.7-3.el6.i686 != libgcc-4.4.6-4.el6.x86_64
    ** Found 12 pre-existing rpmdb problem(s), 'yum check' output follows:
    bash-4.1.2-15.el6_4.x86_64 is a duplicate with bash-4.1.2-9.el6_2.x86_64
    centos-release-6-4.el6.centos.10.x86_64 is a duplicate with centos-release-6-3.el6.centos.9.x86_64
    12:dhcp-common-4.1.1-34.P1.el6_4.1.x86_64 is a duplicate with 12:dhcp-common-4.1.1-31.0.1.P1.el6.centos.1.x86_64
    frontpage-2002-SR1.2.i386 has missing requires of libexpat.so.0
    glibc-common-2.12-1.107.el6_4.4.x86_64 is a duplicate with glibc-common-2.12-1.80.el6_3.4.x86_64
    glibc-common-2.12-1.107.el6_4.4.x86_64 has missing requires of glibc = ('0', '2.12', '1.107.el6_4.4')
    libgcc-4.4.7-3.el6.x86_64 is a duplicate with libgcc-4.4.6-4.el6.x86_64
    nss-softokn-freebl-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-freebl-3.12.9-11.el6.x86_64
    sendmail-cf-8.14.4-8.el6.noarch has missing requires of sendmail = ('0', '8.14.4', '8.el6')
    setup-2.8.14-20.el6_4.1.noarch is a duplicate with setup-2.8.14-16.el6.noarch
    tzdata-2013c-2.el6.noarch is a duplicate with tzdata-2012c-3.el6.noarch
    xorg-x11-proto-devel-7.6-25.el6.noarch is a duplicate with xorg-x11-proto-devel-7.6-13.el6.noarch

我没有按照错误提示的步骤去做,因为我觉得这里有一个更大的潜在问题,有这么多问题。我应该采取什么步骤才能让 yum 完全正常工作?

答案1

以下是为我解决这个问题的方法:

  • yum 全部清理
  • yum 发行版同步
  • yum 更新

--

我找到了信息这里

相关内容