Why does running yum or satellite-sync terminate with "rpmdb open failed" error ?
Issue
- why does running satellite-sync on Satellite server terminate with "unhandled exception occurred" and "TypeError: rpmdb open failed" error?
Traceback (most recent call last):
File "/usr/bin/satellite-sync", line 136, in main
return satsync.Runner().main()
File "/usr/share/rhn/satellite_tools/satsync.py", line 199, in main
ret = method()
File "/usr/share/rhn/satellite_tools/satsync.py", line 268, in _step_channel_families
self.syncer.syncCert()
File "/usr/share/rhn/satellite_tools/satsync.py", line 499, in syncCert
return self._process_cert(cert)
File "/usr/share/rhn/satellite_tools/satsync.py", line 534, in _process_cert
satCerts.storeRhnCert(cert)
File "/usr/share/rhn/satellite_tools/satCerts.py", line 227, in storeRhnCert
set_slots_from_cert(sc)
File "/usr/share/rhn/satellite_tools/satCerts.py", line 94, in set_slots_from_cert
monSupportedYN = not not getInstalledHeader("NPalert")
File "/usr/share/rhn/common/rhn_rpm.py", line 342, in getInstalledHeader
mi = MatchIterator("name")
File "/usr/share/rhn/common/rhn_rpm.py", line 244, in __init__
self.mi = method(tag_name)
TypeError: rpmdb open failed
- why does running yum terminate with "_rpm.error: rpmdb open failed" error?
# yum clean all
rpmdb: Thread/process 3631/3078788800 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 254, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 88, in main
base.getOptionsConfig(args)
File "/usr/share/yum-cli/cli.py", line 192, in getOptionsConfig
self.conf
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 778, in <lambda>
conf = property(fget=lambda self: self._getConfig(),
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 256, in _getConfig
startupconf = config.readStartupConfig(fn, root)
File "/usr/lib/python2.6/site-packages/yum/config.py", line 835, in readStartupConfig
startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg)
File "/usr/lib/python2.6/site-packages/yum/config.py", line 968, in _getsysver
idx = ts.dbMatch('provides', distroverpkg)
_rpm.error: rpmdb open failed
Environment
- Red Hat Satellite 5.x
- Red Hat Enterprise Linux
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.