【问题标题】:yum update on CentOS complains about "Multilib version problems" of "nss-softokn-freebl"CentOS 上的 yum 更新抱怨“nss-softokn-freebl”的“Multilib 版本问题”
【发布时间】: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 erase i686 包(如果它没有拉入太多其他部门来擦除)。或者,您可以尝试yum downgrade nss-softokn-freebl.i686)。
  • 好的,删除 i686 包删除了 106 个包,然后“yum 更新”报告没有更新。看起来不错。随意总结答案中所需的更改,或者我会,如果有足够的延迟。
  • 先让我看看有没有重复

标签: yum centos7


【解决方案1】:

在尝试安装 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

问题解决了。

【讨论】:

    猜你喜欢
    • 2016-04-02
    • 2022-01-12
    • 2012-04-22
    • 2019-01-11
    • 2020-11-08
    • 2020-09-03
    • 1970-01-01
    • 2016-02-16
    • 2021-09-21
    相关资源
    最近更新 更多