不能用yum更新服务器,重复错误

试图运行yum更新和获取总和错误,似乎无法通过他们,尝试“skip-broken”,尝试yum-complete-transaction,package-cleanup –dupes,package-cleanup –cleandupes …什么也没有似乎工作,这里是yum更新输出:

Loaded plugins: fastestmirror, priorities, replace Setting up Update Process Loading mirror speeds from cached hostfile * ius: mirror.rackspace.com drivesrvr | 2.2 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package coreutils.x86_64 0:8.4-37.el6_7.3 will be updated --> Processing Dependency: coreutils = 8.4-37.el6_7.3 for package: coreutils-libs-8.4-37.el6_7.3.x86_64 ---> Package coreutils.x86_64 0:8.4-43.el6 will be an update ---> Package glibc.i686 0:2.12-1.166.el6_7.7 will be updated --> Processing Dependency: glibc = 2.12-1.166.el6_7.7 for package: glibc-common-2.12-1.166.el6_7.7.x86_64 ---> Package glibc.i686 0:2.12-1.192.el6 will be an update ---> Package krb5-libs.i686 0:1.10.3-42z1.el6_7 will be updated ---> Package krb5-libs.i686 0:1.10.3-57.el6 will be an update ---> Package libselinux.i686 0:2.0.94-5.8.el6 will be updated ---> Package libselinux.i686 0:2.0.94-7.el6 will be an update ---> Package openssl.i686 0:1.0.1e-42.el6_7.4 will be updated ---> Package openssl.i686 0:1.0.1e-48.el6_8.1 will be an update ---> Package python-boto.noarch 0:2.38.0-1.el6 will be obsoleted ---> Package python-rsa.noarch 0:3.1.1-5.el6 will be obsoleted ---> Package python2-boto.noarch 0:2.41.0-1.el6 will be obsoleting ---> Package python2-rsa.noarch 0:3.4.1-1.el6 will be obsoleting --> Processing Dependency: python-pyasn1 for package: python2-rsa-3.4.1-1.el6.noarch --> Running transaction check ---> Package coreutils.x86_64 0:8.4-37.el6_7.3 will be updated --> Processing Dependency: coreutils = 8.4-37.el6_7.3 for package: coreutils-libs-8.4-37.el6_7.3.x86_64 ---> Package glibc.i686 0:2.12-1.166.el6_7.7 will be updated --> Processing Dependency: glibc = 2.12-1.166.el6_7.7 for package: glibc-common-2.12-1.166.el6_7.7.x86_64 ---> Package python-pyasn1.noarch 0:0.0.12a-1.el6 will be installed --> Finished Dependency Resolution Error: Package: coreutils-libs-8.4-37.el6_7.3.x86_64 (@updates) Requires: coreutils = 8.4-37.el6_7.3 Removing: coreutils-8.4-37.el6_7.3.x86_64 (@updates) coreutils = 8.4-37.el6_7.3 Updated By: coreutils-8.4-43.el6.x86_64 (base) coreutils = 8.4-43.el6 Error: Package: glibc-common-2.12-1.166.el6_7.7.x86_64 (@updates) Requires: glibc = 2.12-1.166.el6_7.7 Removing: glibc-2.12-1.166.el6_7.7.i686 (@updates) glibc = 2.12-1.166.el6_7.7 Updated By: glibc-2.12-1.192.el6.i686 (base) glibc = 2.12-1.192.el6 You could try using --skip-broken to work around the problem ** Found 8 pre-existing rpmdb problem(s), 'yum check' output follows: coreutils-libs-8.4-43.el6.x86_64 is a duplicate with coreutils-libs-8.4-37.el6_7.3.x86_64 coreutils-libs-8.4-43.el6.x86_64 has missing requires of coreutils = ('0', '8.4', '43.el6') glibc-2.12-1.192.el6.x86_64 is a duplicate with glibc-2.12-1.166.el6_7.7.i686 glibc-common-2.12-1.192.el6.x86_64 is a duplicate with glibc-common-2.12-1.166.el6_7.7.x86_64 krb5-libs-1.10.3-57.el6.x86_64 is a duplicate with krb5-libs-1.10.3-42z1.el6_7.i686 libselinux-2.0.94-7.el6.x86_64 is a duplicate with libselinux-2.0.94-5.8.el6.i686 openssl-1.0.1e-48.el6_8.1.x86_64 is a duplicate with openssl-1.0.1e-42.el6_7.4.i686 2:shadow-utils-4.1.5.1-5.el6.x86_64 is a duplicate with 2:shadow-utils-4.1.4.2-19.el6_6.1.x86_64 

问题是,RPM数据库包含两个条目,包括旧版本和新版本。

当以前的yum更新被中断时,会发生这种情况,以后再也不会完成。 在你的情况看来,这可能不止一次发生。 (你应该避免中断yum事务,如果中断了,你应该立即yum-complete-transaction完成它,不要试图手动停止一个正在运行的事务,你以后可以随时撤消。

百胜有时可以从中恢复过来,但有时百胜会迷路。 在这种情况下,你需要自己解决问题。

有一个名为package-cleanup的工具,有时可以解决这些问题,但是已经知道尝试select太多的包并尝试删除系统上的所有内容,这就是为什么我一般不信任它的原因。

我会手动修复这个。 对于每个软件包,这涉及调整RPM数据库,以便它认为没有重复,然后更新系统。

 rpm -e --nodeps --justdb coreutils-libs-8.4-37.el6_7.3.x86_64 rpm -e --nodeps --justdb glibc-2.12-1.166.el6_7.7.i686 

请注意,在这里我们并不是真的擦除软件包,而只是说明安装软件包的rpmdb条目。

在这一点上,应该有可能更新系统

 yum distro-sync 

(如果不是,则需要删除其余软件包的rpmdb条目,然后重试。)

如果rpmdb条目被删除的软件包没有被yum distro-sync重新安装或更新,请重新安装它们。