![错误:发现 Multilib 版本问题](https://linux22.com/image/192915/%E9%94%99%E8%AF%AF%EF%BC%9A%E5%8F%91%E7%8E%B0%20Multilib%20%E7%89%88%E6%9C%AC%E9%97%AE%E9%A2%98.png)
现在我正在使用此命令来更新我的 7.x CentOS:
yum update
显示此错误:
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-514.el7 will be erased
--> 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 zlib which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of zlib 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 zlib.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of zlib 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 zlib 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: zlib-1.2.7-19.el7_9.i686 != zlib-1.2.7-18.el7.x86_64
Error: Protected multilib versions: systemd-libs-219-78.el7_9.3.i686 != systemd-libs-219-78.el7_9.2.x86_64
我检查我的系统安装包:
[root@izbp19pke6x0v6ruecuy1yz ~]# rpm -q zlib-1.2.7-18.el7.x86_64
zlib-1.2.7-18.el7.x86_64
zlib-1.2.7-18.el7.x86_64
是一个新版本。它告诉我降级 zlib 版本?我应该怎么办?删除新版本的zlib-1.2.7-18.el7.x86_64
?为什么升级使用旧版本zlib-1.2.7-18.el7.x86_64
?我已经删除了zlib-1.2.7-18.el7.x86_64
,但似乎让情况变得更糟:
[root@izbp19pke6x0v6ruecuy1yz ~]# yum update
Failed to set locale, defaulting to C
Loaded plugins: elrepo, fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* centos-sclo-rh: mirrors.163.com
* centos-sclo-sclo: mirrors.163.com
* elrepo: hkg.mirror.rackspace.com
* epel: mirror.sjtu.edu.cn
* extras: mirrors.163.com
* remi-safe: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.163.com
[elrepo]: 56 kmod packages excluded due to dependency errors
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package systemd-libs.i686 0:219-78.el7_9.2 will be updated
--> Processing Dependency: systemd-libs = 219-78.el7_9.2 for package: systemd-219-78.el7_9.2.x86_64
---> Package systemd-libs.i686 0:219-78.el7_9.3 will be an update
---> Package zlib.i686 0:1.2.7-18.el7 will be updated
--> Processing Dependency: zlib = 1.2.7-18.el7 for package: zlib-devel-1.2.7-18.el7.x86_64
---> Package zlib.i686 0:1.2.7-19.el7_9 will be an update
--> Finished Dependency Resolution
Error: Package: zlib-devel-1.2.7-18.el7.x86_64 (@base)
Requires: zlib = 1.2.7-18.el7
Removing: zlib-1.2.7-18.el7.i686 (@base)
zlib = 1.2.7-18.el7
Updated By: zlib-1.2.7-19.el7_9.i686 (updates)
zlib = 1.2.7-19.el7_9
Error: Package: systemd-219-78.el7_9.2.x86_64 (@updates)
Requires: systemd-libs = 219-78.el7_9.2
Removing: systemd-libs-219-78.el7_9.2.i686 (@updates)
systemd-libs = 219-78.el7_9.2
Updated By: systemd-libs-219-78.el7_9.3.i686 (updates)
systemd-libs = 219-78.el7_9.3
Available: systemd-libs-219-78.el7.i686 (base)
systemd-libs = 219-78.el7
You could try using --skip-broken to work around the problem
** Found 29 pre-existing rpmdb problem(s), 'yum check' output follows:
centos-release-7-9.2009.1.el7.centos.x86_64 is a duplicate with centos-release-7-9.2009.0.el7.centos.x86_64
dnf-data-4.0.9.2-2.el7_9.noarch is a duplicate with dnf-data-4.0.9.2-1.el7_6.noarch
1:grub2-common-2.02-0.87.el7.centos.6.noarch is a duplicate with 1:grub2-common-2.02-0.86.el7.centos.noarch
1:grub2-pc-2.02-0.87.el7.centos.6.x86_64 is a duplicate with 1:grub2-pc-2.02-0.86.el7.centos.x86_64
1:grub2-pc-modules-2.02-0.87.el7.centos.6.noarch is a duplicate with 1:grub2-pc-modules-2.02-0.86.el7.centos.noarch
1:grub2-tools-2.02-0.87.el7.centos.6.x86_64 is a duplicate with 1:grub2-tools-2.02-0.86.el7.centos.x86_64
1:grub2-tools-extra-2.02-0.87.el7.centos.6.x86_64 is a duplicate with 1:grub2-tools-extra-2.02-0.86.el7.centos.x86_64
1:grub2-tools-minimal-2.02-0.87.el7.centos.6.x86_64 is a duplicate with 1:grub2-tools-minimal-2.02-0.86.el7.centos.x86_64
libblkid-2.23.2-65.el7_9.1.x86_64 is a duplicate with libblkid-2.23.2-65.el7.x86_64
libmount-2.23.2-65.el7_9.1.x86_64 is a duplicate with libmount-2.23.2-65.el7.x86_64
libsmartcols-2.23.2-65.el7_9.1.x86_64 is a duplicate with libsmartcols-2.23.2-65.el7.x86_64
libuuid-2.23.2-65.el7_9.1.x86_64 is a duplicate with libuuid-2.23.2-65.el7.x86_64
linux-firmware-20200421-80.git78c0348.el7_9.noarch is a duplicate with linux-firmware-20200421-79.git78c0348.el7.noarch
1:openssl-libs-1.0.2k-21.el7_9.x86_64 is a duplicate with 1:openssl-libs-1.0.2k-19.el7.x86_64
4:perl-5.16.3-299.el7_9.x86_64 is a duplicate with 4:perl-5.16.3-297.el7.x86_64
4:perl-libs-5.16.3-299.el7_9.x86_64 is a duplicate with 4:perl-libs-5.16.3-297.el7.x86_64
4:perl-macros-5.16.3-299.el7_9.x86_64 is a duplicate with 4:perl-macros-5.16.3-297.el7.x86_64
python-requests-2.6.0-10.el7.noarch has missing requires of python-urllib3 >= ('0', '1.10.2', '1')
python2-dnf-4.0.9.2-2.el7_9.noarch is a duplicate with python2-dnf-4.0.9.2-1.el7_6.noarch
systemd-219-78.el7_9.3.x86_64 is a duplicate with systemd-219-78.el7_9.2.x86_64
systemd-libs-219-78.el7_9.3.x86_64 is a duplicate with systemd-libs-219-78.el7_9.2.i686
systemd-sysv-219-78.el7_9.3.x86_64 is a duplicate with systemd-sysv-219-78.el7_9.2.x86_64
tzdata-2021a-1.el7.noarch is a duplicate with tzdata-2020d-2.el7.noarch
util-linux-2.23.2-65.el7_9.1.x86_64 is a duplicate with util-linux-2.23.2-65.el7.x86_64
2:vim-common-7.4.629-8.el7_9.x86_64 is a duplicate with 2:vim-common-7.4.629-7.el7.x86_64
2:vim-filesystem-7.4.629-8.el7_9.x86_64 is a duplicate with 2:vim-filesystem-7.4.629-7.el7.x86_64
2:vim-minimal-7.4.629-8.el7_9.x86_64 is a duplicate with 2:vim-minimal-7.4.629-7.el7.x86_64
zlib-1.2.7-19.el7_9.x86_64 is a duplicate with zlib-1.2.7-18.el7.i686
zlib-devel-1.2.7-19.el7_9.x86_64 is a duplicate with zlib-devel-1.2.7-18.el7.x86_64