CentOS上的yum更新抱怨“nss-softokn-freebl”的“Multilib版本问题”

时间:2016-05-02 20:45:40

标签: yum centos7

在上周五早上,我在我的CentOS笔记本电脑上尝试了“yum update”,它报告了这一点:

Loaded plugins: fastestmirror, langpacks, verify
Loading mirror speeds from cached hostfile
 * base: repo1.dal.innoscale.net
 * epel: fedora-epel.mirror.lstn.net
 * extras: mirror.unl.edu
 * nux-dextop: mirror.li.nux.ro
 * rpmfusion-free-updates: mirror.us.leaseweb.net
 * updates: mirror.spro.net
Resolving Dependencies
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.16.2.3-13.el7_1 will be updated
---> Package nss-softokn-freebl.i686 0:3.16.2.3-14.2.el7_2 will be an update
---> Package python-ecdsa.noarch 0:0.11-3.el7.centos will be obsoleted
---> Package python2-ecdsa.noarch 0:0.13-4.el7 will be obsoleting
---> Package tzdata.noarch 0:2016c-1.el7 will be updated
---> Package tzdata.noarch 0:2016d-1.el7 will be an update
---> Package tzdata-java.noarch 0:2016c-1.el7 will be updated
---> Package tzdata-java.noarch 0:2016d-1.el7 will be an update
--> Finished Dependency Resolution
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 architectures.
    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.16.2.3-14.2.el7_2.i686 != nss-softokn-freebl-3.16.2.3-13.el7_1.x86_64

我在#centos上问了这个问题,有人给了我一些探索性的建议,但没有真正的解决方案。

1 个答案:

答案 0 :(得分:2)

在尝试安装i686开发库时,我在Fedora 20系统(在docker容器中运行)遇到了同样的问题。原因是x86_64和i686分别是两个不匹配的版本。

Protected multilib versions: nss-softokn-freebl-3.19.1-1.0.fc20.i686 != nss-softokn-freebl-3.19.2-1.0.fc20.x86_64

对我而言,这有助于致电

yum distribution-synchronization 

自动降级x86_64版本。之后 我可以用

安装
yum install nss-softokn-freebl.i686 

yum list installed | grep nss-softokn-freebl

现在显示:

nss-softokn-freebl.i686      3.19.1-1.0.fc20         @updates
nss-softokn-freebl.x86_64    3.19.1-1.0.fc20         @updates

问题解决了。