Yum

Yum 更新失敗 mod_ssl 和 glibc_devel

  • September 16, 2014

關於如何讓這個不失敗的任何想法?

# yum update
Freeing read locks for locker 0x82: 4189/140342084876032
Freeing read locks for locker 0x84: 4189/140342084876032
Freeing read locks for locker 0x85: 4189/140342084876032
Freeing read locks for locker 0x86: 4189/140342084876032
Freeing read locks for locker 0x87: 4189/140342084876032
Freeing read locks for locker 0x9a: 4189/140342084876032
Freeing read locks for locker 0x9c: 4189/140342084876032
Freeing read locks for locker 0x9d: 4189/140342084876032
Freeing read locks for locker 0x9e: 4189/140342084876032
Freeing read locks for locker 0x9f: 4189/140342084876032
Freeing read locks for locker 0xa0: 4189/140342084876032
Freeing read locks for locker 0xa1: 4189/140342084876032
Freeing read locks for locker 0xa2: 4189/140342084876032
Freeing read locks for locker 0xa3: 4189/140342084876032
Freeing read locks for locker 0xa4: 4189/140342084876032
Freeing read locks for locker 0xa5: 4189/140342084876032
Freeing read locks for locker 0xa6: 4189/140342084876032
Freeing read locks for locker 0xa7: 4189/140342084876032
Freeing read locks for locker 0xa8: 4189/140342084876032
Freeing read locks for locker 0xa9: 4189/140342084876032
Freeing read locks for locker 0xaa: 4189/140342084876032
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.hmc.edu
* epel: mirrors.kernel.org
* extras: centos.mirror.freedomvoice.com
* updates: mirrors.sonic.net
Setting up Update Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package device-mapper-persistent-data.x86_64 0:0.2.8-2.el6 will be updated
---> Package device-mapper-persistent-data.x86_64 0:0.2.8-4.el6_5 will be an update
---> Package glibc-headers.x86_64 0:2.12-1.132.el6 will be updated
--> Processing Dependency: glibc-headers = 2.12-1.132.el6 for package: glibc-devel-2.12-1.132.el6.x86_64
---> Package glibc-headers.x86_64 0:2.12-1.132.el6_5.2 will be an update
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be updated
--> Processing Dependency: httpd = 2.2.15-29.el6.centos for package: 1:mod_ssl-2.2.15-29.el6.centos.x86_64
---> Package httpd.x86_64 0:2.2.15-30.el6.centos will be an update
---> Package kernel.x86_64 0:2.6.32-431.17.1.el6 will be installed
---> Package kernel-devel.x86_64 0:2.6.32-431.17.1.el6 will be installed
---> Package selinux-policy-targeted.noarch 0:3.7.19-231.el6_5.1 will be updated
---> Package selinux-policy-targeted.noarch 0:3.7.19-231.el6_5.3 will be an update
--> Finished Dependency Resolution
Error: Package: 1:mod_ssl-2.2.15-29.el6.centos.x86_64 (@base)
          Requires: httpd = 2.2.15-29.el6.centos
          Removing: httpd-2.2.15-29.el6.centos.x86_64 (@base)
              httpd = 2.2.15-29.el6.centos
          Updated By: httpd-2.2.15-30.el6.centos.x86_64 (updates)
              httpd = 2.2.15-30.el6.centos
Error: Package: glibc-devel-2.12-1.132.el6.x86_64 (@base)
          Requires: glibc-headers = 2.12-1.132.el6
          Removing: glibc-headers-2.12-1.132.el6.x86_64 (@base)
              glibc-headers = 2.12-1.132.el6
          Updated By: glibc-headers-2.12-1.132.el6_5.2.x86_64 (updates)
              glibc-headers = 2.12-1.132.el6_5.2
          Available: glibc-headers-2.12-1.132.el6_5.1.x86_64 (updates)
              glibc-headers = 2.12-1.132.el6_5.1
You could try using --skip-broken to work around the problem
** Found 34 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-2.2-4.el6_5.x86_64 is a duplicate with audit-2.2-2.el6.x86_64
audit-libs-2.2-4.el6_5.x86_64 is a duplicate with audit-libs-2.2-2.el6.x86_64
curl-7.19.7-37.el6_5.3.x86_64 is a duplicate with curl-7.19.7-37.el6_4.x86_64
device-mapper-multipath-0.4.9-72.el6_5.2.x86_64 is a duplicate with device-mapper-multipath-0.4.9-72.el6_5.1.x86_64
device-mapper-multipath-libs-0.4.9-72.el6_5.2.x86_64 is a duplicate with device-mapper-multipath-libs-0.4.9-72.el6_5.1.x86_64
2:ethtool-3.5-1.4.el6_5.x86_64 is a duplicate with 2:ethtool-3.5-1.2.el6_5.x86_64
glibc-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-2.12-1.132.el6.x86_64
glibc-common-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-common-2.12-1.132.el6.x86_64
glibc-devel-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-devel-2.12-1.132.el6.x86_64
glibc-devel-2.12-1.132.el6_5.2.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.132.el6_5.2')
gnutls-2.8.5-14.el6_5.x86_64 is a duplicate with gnutls-2.8.5-13.el6_5.x86_64
httpd-2.2.15-29.el6.centos.x86_64 has missing requires of httpd-tools = ('0', '2.2.15', '29.el6.centos')
httpd-manual-2.2.15-30.el6.centos.noarch has missing requires of httpd = ('0', '2.2.15', '30.el6.centos')
iproute-2.6.32-32.el6_5.x86_64 is a duplicate with iproute-2.6.32-31.el6.x86_64
kernel-firmware-2.6.32-431.17.1.el6.noarch is a duplicate with kernel-firmware-2.6.32-431.11.2.el6.noarch
kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-431.11.2.el6.x86_64
kpartx-0.4.9-72.el6_5.2.x86_64 is a duplicate with kpartx-0.4.9-72.el6_5.1.x86_64
krb5-libs-1.10.3-15.el6_5.1.x86_64 is a duplicate with krb5-libs-1.10.3-10.el6_4.6.x86_64
libblkid-2.17.2-12.14.el6_5.x86_64 is a duplicate with libblkid-2.17.2-12.14.el6.x86_64
libcurl-7.19.7-37.el6_5.3.x86_64 is a duplicate with libcurl-7.19.7-37.el6_4.x86_64
libcurl-devel-7.19.7-37.el6_5.3.x86_64 is a duplicate with libcurl-devel-7.19.7-37.el6_4.x86_64
libtasn1-2.3-6.el6_5.x86_64 is a duplicate with libtasn1-2.3-3.el6_2.1.x86_64
libuuid-2.17.2-12.14.el6_5.x86_64 is a duplicate with libuuid-2.17.2-12.14.el6.x86_64
libxml2-2.7.6-14.el6_5.1.x86_64 is a duplicate with libxml2-2.7.6-14.el6.x86_64
mdadm-3.2.6-7.el6_5.2.x86_64 is a duplicate with mdadm-3.2.6-7.el6.x86_64
1:mod_ssl-2.2.15-30.el6.centos.x86_64 is a duplicate with 1:mod_ssl-2.2.15-29.el6.centos.x86_64
1:mod_ssl-2.2.15-30.el6.centos.x86_64 has missing requires of httpd = ('0', '2.2.15', '30.el6.centos')
nss-softokn-3.14.3-10.el6_5.x86_64 is a duplicate with nss-softokn-3.14.3-9.el6.x86_64
openssl-1.0.1e-16.el6_5.7.x86_64 is a duplicate with openssl-1.0.1e-16.el6_5.4.x86_64
openssl-1.0.1e-16.el6_5.14.x86_64 is a duplicate with openssl-1.0.1e-16.el6_5.7.x86_64
openssl-devel-1.0.1e-16.el6_5.14.x86_64 is a duplicate with openssl-devel-1.0.1e-16.el6_5.7.x86_64
selinux-policy-3.7.19-231.el6_5.3.noarch is a duplicate with selinux-policy-3.7.19-231.el6_5.1.noarch
tzdata-2014d-1.el6.noarch is a duplicate with tzdata-2014b-1.el6.noarch
util-linux-ng-2.17.2-12.14.el6_5.x86_64 is a duplicate with util-linux-ng-2.17.2-12.14.el6.x86_64

更新

我按要求安裝並執行yum-complete-transaction,它完成了一些事情並建議我執行package-cleanup --problems,結果如下:

package-cleanup --problems
Loaded plugins: fastestmirror
Package httpd-manual-2.2.15-30.el6.centos.noarch requires httpd = ('0', '2.2.15', '30.el6.centos')
Package httpd-2.2.15-29.el6.centos.x86_64 requires httpd-tools = ('0', '2.2.15', '29.el6.centos')
Package mod_ssl-2.2.15-30.el6.centos.x86_64 requires httpd = ('0', '2.2.15', '30.el6.centos')
Package glibc-devel-2.12-1.132.el6_5.2.x86_64 requires glibc-headers = ('0', '2.12', '1.132.el6_5.2')

我絕對不是系統管理員,下一步是什麼?


更新 2

我跑了yum distro-sync

# yum distro-sync
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.hmc.edu
* epel: mirrors.kernel.org
* extras: centos.mirror.freedomvoice.com
* updates: mirrors.sonic.net
Setting up Distribution Synchronization Process
Resolving Dependencies
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.12-1.132.el6 will be updated
--> Processing Dependency: glibc-headers = 2.12-1.132.el6 for package: glibc-devel-2.12-1.132.el6.x86_64
---> Package glibc-headers.x86_64 0:2.12-1.132.el6_5.2 will be an update
---> Package httpd.x86_64 0:2.2.15-29.el6.centos will be updated
--> Processing Dependency: httpd = 2.2.15-29.el6.centos for package: 1:mod_ssl-2.2.15-29.el6.centos.x86_64
---> Package httpd.x86_64 0:2.2.15-30.el6.centos will be an update
--> Finished Dependency Resolution
Error: Package: 1:mod_ssl-2.2.15-29.el6.centos.x86_64 (@base)
          Requires: httpd = 2.2.15-29.el6.centos
          Removing: httpd-2.2.15-29.el6.centos.x86_64 (@base)
              httpd = 2.2.15-29.el6.centos
          Updated By: httpd-2.2.15-30.el6.centos.x86_64 (updates)
              httpd = 2.2.15-30.el6.centos
Error: Package: glibc-devel-2.12-1.132.el6.x86_64 (@base)
          Requires: glibc-headers = 2.12-1.132.el6
          Removing: glibc-headers-2.12-1.132.el6.x86_64 (@base)
              glibc-headers = 2.12-1.132.el6
          Updated By: glibc-headers-2.12-1.132.el6_5.2.x86_64 (updates)
              glibc-headers = 2.12-1.132.el6_5.2
          Available: glibc-headers-2.12-1.132.el6_5.1.x86_64 (updates)
              glibc-headers = 2.12-1.132.el6_5.1
You could try using --skip-broken to work around the problem
** Found 34 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-2.2-4.el6_5.x86_64 is a duplicate with audit-2.2-2.el6.x86_64
audit-libs-2.2-4.el6_5.x86_64 is a duplicate with audit-libs-2.2-2.el6.x86_64
curl-7.19.7-37.el6_5.3.x86_64 is a duplicate with curl-7.19.7-37.el6_4.x86_64
device-mapper-multipath-0.4.9-72.el6_5.2.x86_64 is a duplicate with device-mapper-multipath-0.4.9-72.el6_5.1.x86_64
device-mapper-multipath-libs-0.4.9-72.el6_5.2.x86_64 is a duplicate with device-mapper-multipath-libs-0.4.9-72.el6_5.1.x86_64
2:ethtool-3.5-1.4.el6_5.x86_64 is a duplicate with 2:ethtool-3.5-1.2.el6_5.x86_64
glibc-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-2.12-1.132.el6.x86_64
glibc-common-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-common-2.12-1.132.el6.x86_64
glibc-devel-2.12-1.132.el6_5.2.x86_64 is a duplicate with glibc-devel-2.12-1.132.el6.x86_64
glibc-devel-2.12-1.132.el6_5.2.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.132.el6_5.2')
gnutls-2.8.5-14.el6_5.x86_64 is a duplicate with gnutls-2.8.5-13.el6_5.x86_64
httpd-2.2.15-29.el6.centos.x86_64 has missing requires of httpd-tools = ('0', '2.2.15', '29.el6.centos')
httpd-manual-2.2.15-30.el6.centos.noarch has missing requires of httpd = ('0', '2.2.15', '30.el6.centos')
iproute-2.6.32-32.el6_5.x86_64 is a duplicate with iproute-2.6.32-31.el6.x86_64
kernel-firmware-2.6.32-431.17.1.el6.noarch is a duplicate with kernel-firmware-2.6.32-431.11.2.el6.noarch
kernel-headers-2.6.32-431.17.1.el6.x86_64 is a duplicate with kernel-headers-2.6.32-431.11.2.el6.x86_64
kpartx-0.4.9-72.el6_5.2.x86_64 is a duplicate with kpartx-0.4.9-72.el6_5.1.x86_64
krb5-libs-1.10.3-15.el6_5.1.x86_64 is a duplicate with krb5-libs-1.10.3-10.el6_4.6.x86_64
libblkid-2.17.2-12.14.el6_5.x86_64 is a duplicate with libblkid-2.17.2-12.14.el6.x86_64
libcurl-7.19.7-37.el6_5.3.x86_64 is a duplicate with libcurl-7.19.7-37.el6_4.x86_64
libcurl-devel-7.19.7-37.el6_5.3.x86_64 is a duplicate with libcurl-devel-7.19.7-37.el6_4.x86_64
libtasn1-2.3-6.el6_5.x86_64 is a duplicate with libtasn1-2.3-3.el6_2.1.x86_64
libuuid-2.17.2-12.14.el6_5.x86_64 is a duplicate with libuuid-2.17.2-12.14.el6.x86_64
libxml2-2.7.6-14.el6_5.1.x86_64 is a duplicate with libxml2-2.7.6-14.el6.x86_64
mdadm-3.2.6-7.el6_5.2.x86_64 is a duplicate with mdadm-3.2.6-7.el6.x86_64
1:mod_ssl-2.2.15-30.el6.centos.x86_64 is a duplicate with 1:mod_ssl-2.2.15-29.el6.centos.x86_64
1:mod_ssl-2.2.15-30.el6.centos.x86_64 has missing requires of httpd = ('0', '2.2.15', '30.el6.centos')
nss-softokn-3.14.3-10.el6_5.x86_64 is a duplicate with nss-softokn-3.14.3-9.el6.x86_64
openssl-1.0.1e-16.el6_5.7.x86_64 is a duplicate with openssl-1.0.1e-16.el6_5.4.x86_64
openssl-1.0.1e-16.el6_5.14.x86_64 is a duplicate with openssl-1.0.1e-16.el6_5.7.x86_64
openssl-devel-1.0.1e-16.el6_5.14.x86_64 is a duplicate with openssl-devel-1.0.1e-16.el6_5.7.x86_64
selinux-policy-3.7.19-231.el6_5.3.noarch is a duplicate with selinux-policy-3.7.19-231.el6_5.1.noarch
tzdata-2014d-1.el6.noarch is a duplicate with tzdata-2014b-1.el6.noarch
util-linux-ng-2.17.2-12.14.el6_5.x86_64 is a duplicate with util-linux-ng-2.17.2-12.14.el6.x86_64

做它告訴你做的事情。

There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.

完成後,執行yum distro-sync以使您的系統與儲存庫重新同步。

現在,由於您之前中斷的事務,您現在在數據庫中有多個包的重複條目。您將不得不手動處理其中的每一個,這將是一團糟:

我要做的是,對於他們每個人,只從數據庫中刪除舊版本的包,然後重新安裝包。對於第一個,它看起來像:

rpm -e --justdb audit-2.2-2.el6.x86_64 ...
yum reinstall audit ...

添加所有其餘的。

引用自:https://serverfault.com/questions/604795