上周五早上,我在我的 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
Run Code Online (Sandbox Code Playgroud)
我在#centos 上询问了这个问题,有人给了我一些探索性的建议,但没有真正的解决方案。
小智 7
当我尝试安装 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
Run Code Online (Sandbox Code Playgroud)
对我来说,打电话很有帮助
yum distribution-synchronization
Run Code Online (Sandbox Code Playgroud)
这会自动降级 x86_64 版本。之后我可以安装
yum install nss-softokn-freebl.i686
Run Code Online (Sandbox Code Playgroud)
和
yum list installed | grep nss-softokn-freebl
Run Code Online (Sandbox Code Playgroud)
现在显示:
nss-softokn-freebl.i686 3.19.1-1.0.fc20 @updates
nss-softokn-freebl.x86_64 3.19.1-1.0.fc20 @updates
Run Code Online (Sandbox Code Playgroud)
问题解决了。
| 归档时间: |
|
| 查看次数: |
4635 次 |
| 最近记录: |