【发布时间】:2017-01-25 15:31:30
【问题描述】:
上周五早上,我在我的 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 点中的错误提示? (即
yum update --exclude nss-softokn-freebl.i686) -
我不确定我是否应该这样做,但我只是这样做了,因为你问了。这似乎做了一些有用的事情,安装了一个 python 包(显然是一个替代品),并更新了两个 tzdata 包。但是,当我在此之后再次运行“yum update”时,它报告了我上面报告的确切内容。
-
是的,这意味着您处于方案 1 所描述的情况:您同时拥有 nss-softokn-freebl 的 i686 和 x86_64 架构,并且只能找到两者之一的更新。如果可以,请尝试
yum erasei686 包(如果它没有拉入太多其他部门来擦除)。或者,您可以尝试yum downgrade nss-softokn-freebl.i686)。 -
好的,删除 i686 包删除了 106 个包,然后“yum 更新”报告没有更新。看起来不错。随意总结答案中所需的更改,或者我会,如果有足够的延迟。
-
先让我看看有没有重复