我尝试在我的 CentOS 机器上运行更新,但遇到了问题。我上次运行更新是在 2018 年 1 月,然后是昨天,2018 年 6 月 19 日。
# yum update
...
--> Finished Dependency Resolution
Error: Package: 1:NetworkManager-1.10.2-14.el7_5.x86_64 (updates)
Requires: glib2 >= 2.54.2
Installed: glib2-2.50.3-3.el7.x86_64 (@base)
glib2 = 2.50.3-3.el7
Error: Package: 1:NetworkManager-glib-1.10.2-14.el7_5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: python2-ipalib-4.5.4-10.el7.centos.1.noarch (updates)
Requires: python-netaddr >= 0.7.5-9
Installed: python-netaddr-0.7.5-7.el7.noarch (@anaconda)
python-netaddr = 0.7.5-7.el7
Error: Package: gtk3-3.22.26-4.el7_5.x86_64 (updates)
Requires: libwayland-client(x86-64) >= 1.9.91
Installing: libwayland-client-1.5.0-4.el7.nux.x86_64 (nux-dextop)
libwayland-client(x86-64) = 1.5.0-4.el7.nux
Error: Package: libvirt-daemon-3.9.0-14.el7_5.5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: selinux-policy-targeted-3.13.1-192.el7_5.3.noarch (updates)
Requires: policycoreutils >= 2.5-18
Installed: policycoreutils-2.5-17.1.el7.x86_64 (@base)
policycoreutils = 2.5-17.1.el7
Error: Package: xorgxrdp-0.2.6-2.el7.x86_64 (epel)
Requires: xorg-x11-server-Xorg(x86-64) = 1.19.5
Installed: xorg-x11-server-Xorg-1.19.3-11.el7.x86_64 (@base)
xorg-x11-server-Xorg(x86-64) = 1.19.3-11.el7
Error: Package: libvirt-daemon-driver-nwfilter-3.9.0-14.el7_5.5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: gtk3-3.22.26-4.el7_5.x86_64 (updates)
Requires: libwayland-cursor(x86-64) >= 1.9.91
Installing: libwayland-cursor-1.5.0-4.el7.nux.x86_64 (nux-dextop)
libwayland-cursor(x86-64) = 1.5.0-4.el7.nux
Error: Package: libvirt-daemon-driver-network-3.9.0-14.el7_5.5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: gtk3-3.22.26-4.el7_5.x86_64 (updates)
Requires: libwayland-egl.so.1()(64bit)
Error: Package: openscap-1.2.16-8.el7_5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: selinux-policy-3.13.1-192.el7_5.3.noarch (updates)
Requires: policycoreutils >= 2.5-18
Installed: policycoreutils-2.5-17.1.el7.x86_64 (@base)
policycoreutils = 2.5-17.1.el7
Error: Package: gtk3-3.22.26-4.el7_5.x86_64 (updates)
Requires: libwayland-cursor(x86-64) >= 1.9.91
Available: libwayland-cursor-1.5.0-4.el7.nux.x86_64 (nux-dextop)
libwayland-cursor(x86-64) = 1.5.0-4.el7.nux
Error: Package: libvirt-libs-3.9.0-14.el7_5.5.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
Error: Package: gtk3-3.22.26-4.el7_5.x86_64 (updates)
Requires: libwayland-client(x86-64) >= 1.9.91
Available: libwayland-client-1.5.0-4.el7.nux.x86_64 (nux-dextop)
libwayland-client(x86-64) = 1.5.0-4.el7.nux
Error: Package: certmonger-0.78.4-3.el7_5.1.x86_64 (updates)
Requires: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
如果我手动更新 glib2,我会出现第一个错误:
[root@datamover102 .hts]# yum install glib2.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.oit.uci.edu
* epel: mirrors.develooper.com
* extras: mirror.sfo12.us.leaseweb.net
* nux-dextop: mirror.li.nux.ro
* updates: repos.lax.quadranet.com
Package glib2-2.50.3-3.el7.x86_64 already installed and latest version
Nothing to do
Yum 认为 glib2 是最新版本,同时又说 2.54 是最低需要的版本。根据 Google 快速搜索,我相信 2.56 是最新版本。
我尝试过yum remove glib2
,但没有任何进展。我也尝试过package-clean --dupes
,这是我读过的一篇文章中推荐的解决方案。其输出什么也没有。
还有其他错误。
这是软件更新 GUI 的屏幕截图,视图更好。
更新1
第一个建议的答案不起作用,这是输出。
[root@datamover102 .hts]# yum install glib2-2.54.2.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.oit.uci.edu
* epel: mirrors.develooper.com
* extras: mirror.sfo12.us.leaseweb.net
* nux-dextop: mirror.li.nux.ro
* updates: repos.lax.quadranet.com
No package glib2-2.54.2.x86_64 available.
Error: Nothing to do
[root@datamover102 .hts]#
更新2
我有几台 CentOS 7 机器,其中两台需要更新,并且自 2018 年 1 月以来就没有更新过。第一台机器 101 更新完美,没有问题,而第二台机器 102 出现了问题。我刚刚决定列出一个清单,事实证明这很有趣,请注意使用的不同存储库。
`BAD`
[root@datamover102 yum.repos.d]# yum list glib2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.oit.uci.edu
* epel: mirrors.develooper.com
* extras: mirror.sfo12.us.leaseweb.net
* nux-dextop: mirror.li.nux.ro
* updates: repos.lax.quadranet.com
Installed Packages
glib2.x86_64 2.50.3-3.el7 @base
Available Packages
glib2.i686 2.50.3-3.el7 base
GOOD
[root@datamover101 yum.repos.d]# yum list glib2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos-distro.cavecreek.net
* epel: mirrors.develooper.com
* extras: mirror.sfo12.us.leaseweb.net
* nux-dextop: mirror.li.nux.ro
* updates: centos.mirror.ndchost.com
Installed Packages
glib2.x86_64 2.54.2-2.el7 @base
Available Packages
glib2.i686 2.54.2-2.el7 base
[root@datamover101 yum.repos.d]#
基本上都是坏机base: mirrors.oit.uci.edu
作为基础,好机centos-distro.cavecreek.net
作为基础。
答案是让坏机器不使用mirrors.oit.uci.edu作为基础。这是一个在两台机器上都匹配的列表。
[root@datamover102 yum.repos.d]# ls -la
total 56
drwxr-xr-x. 2 root root 252 Jun 20 16:38 .
drwxr-xr-x. 144 root root 8192 Jun 20 15:33 ..
-rw-r--r-- 1 root root 1664 May 17 06:53 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Sep 27 2017 CentOS-CR.repo
-rw-r--r-- 1 root root 649 May 17 06:53 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 314 May 17 06:53 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 630 May 17 06:53 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 May 17 06:53 CentOS-Sources.repo
-rw-r--r-- 1 root root 4768 May 17 06:53 CentOS-Vault.repo
-rw-r--r-- 1 root root 951 Oct 2 2017 epel.repo
-rw-r--r-- 1 root root 1050 Oct 2 2017 epel-testing.repo
-rw-r--r--. 1 root root 477 Jul 31 2014 nux-dextop.repo
答案1
我做了更多研究并发现这一页。该文章的相关部分是这样的:
8.1. Disabling or Removing Package Sources
Set enable=0 in a definition file to prevent yum from using that repository. The yum utility ignores any definition file with this setting.
To completely remove access to a repository:
Delete the relevant file from /etc/yum.repos.d/.
Delete the cache directory from /var/cache/yum/.
我按照将目录从 101 和 102 下载到我的 Windows 机器的方式,通过enabled = 0
设置进行了第一步。 Araxis Merge 发现了这一差异。CentOS-CR.repo
/etc/yum.repos.d
此后重新启动计算机并没有解决问题,但是删除目录x8x_64
确实/var/cache/yum
解决了问题。然后我做了一个:
# yum update glib2.x86_64 (a success to 2.54)
接下来是:
# yum update
答案2
您是否尝试过强制它安装特定版本的 glib2 ?
它可能不会起作用,但会让您了解出了什么问题。
尝试yum install glib2-2.54.2.x86_64
将输出回复给我。
可能想yum remove glib2
在安装新版本之前尝试一下。