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 Network Satellite
- Red Hat Enterprise Linux
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
