Yum Update Failing mod_ssl and glibc_devel

Kerry Jones asked:

Any ideas on how to get this to not fail?

# 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

UPDATE

I installed and ran yum-complete-transaction as requested, it finished some things and suggested I run package-cleanup --problems, which yielded this:

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')

I’m definitely not a sys-admin, what would be the next step?


UPDATE 2

I ran 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

My answer:


Do what it told you to do.

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.

Once that completes, run yum distro-sync to bring your system back in sync with the repositories.

Now, you have duplicate entries in the db for several packages now, because of the transaction you interrupted before. You’re going to have to deal with each of these manually, and it’s going to be a real mess:

What I would do is, for each of them, remove the older version of the package from the database only and then reinstall the package. For the first one, it would look like:

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

Add in all the rest of them.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.