Why rpm database gets corrupted on an interrupted yum update ?

Solution Verified - Updated -

Issue

  • After accidental hit CTRL+C when a yum update was running, execution of yum command fails with an error:
~ # yum update
Loaded plugins: product-id, rhnplugin, security, subscription-manager, versionlock
Updating certificate-based repositories.
Unable to read consumer identity
Setting up Update Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package glibc.x86_64 0:2.12-1.80.el6_3.4 will be updated
--> Processing Dependency: glibc = 2.12-1.80.el6_3.4 for package: glibc-common-2.12-1.80.el6_3.4.x86_64
---> Package glibc.x86_64 0:2.12-1.80.el6_3.5 will be an update
---> Package rhev-hypervisor-tools.noarch 0:2.3.0-15.el6_3.6 will be obsoleting
---> Package rhev-hypervisor6-tools.noarch 0:6.2-20120510.0.el6_2 will be obsoleted
--> Running transaction check
---> Package glibc.i686 0:2.12-1.80.el6_3.4 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.80.el6_3.4.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.80.el6_3.4.i686
---> Package glibc.x86_64 0:2.12-1.80.el6_3.4 will be updated
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed
--> Finished Dependency Resolution
Error: Protected multilib versions: glibc-2.12-1.80.el6_3.4.i686 != glibc-2.12-1.80.el6_3.5.x86_64
 You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-common-2.12-1.80.el6_3.5.x86_64 is a duplicate with glibc-common-2.12-1.80.el6_3.4.x86_64
glibc-common-2.12-1.80.el6_3.5.x86_64 has missing requires of glibc = ('0', '2.12', '1.80.el6_3.5')
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

'yum-complete-transaction' keeps looping at some point.

'package-cleanup --cleandupes' results in:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
--> Running transaction check
---> Package msv-xsdlib.noarch 0:1.2-0.20050722.10.ep5.el6 will be erased
--> Processing Dependency: /sbin/new-kernel-pkg for package: kernel-2.6.32-279.5.2.el6.x86_64
Skipping the running kernel: kernel-2.6.32-279.5.2.el6.x86_64
--> Processing Dependency: /sbin/new-kernel-pkg for package: kernel-2.6.32-279.5.2.el6.x86_64
Skipping the running kernel: kernel-2.6.32-279.5.2.el6.x86_64
--> Processing Dependency: /bin/sh for package: kernel-2.6.32-279.5.2.el6.x86_64
Skipping the running kernel: kernel-2.6.32-279.5.2.el6.x86_64
--> Processing Dependency: /bin/sh for package: kernel-2.6.32-279.5.2.el6.x86_64
Skipping the running kernel: kernel-2.6.32-279.5.2.el6.x86_64
--> Processing Dependency: /bin/sh for package: kernel-2.6.32-279.5.2.el6.x86_64
Skipping the running kernel: kernel-2.6.32-279.5.2.el6.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
--> Finished Dependency Resolution
Error: Trying to remove "yum", which is protected
 You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-common-2.12-1.80.el6_3.5.x86_64 is a duplicate with glibc-common-2.12-1.80.el6_3.4.x86_64
glibc-common-2.12-1.80.el6_3.5.x86_64 has missing requires of glibc = ('0', '2.12', '1.80.el6_3.5')
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Environment

  • Red Hat Enterprise Linux 6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content