Fedora Account System
Red Hat Associate
Red Hat Customer
Created attachment 383663 [details] yum.log with todays (14.1.2010) updates Description of problem: rpmdb: Build signature doesn't match environment error: db3 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30971) error: cannot open Packages database in /var/lib/rpm After todays yum update Version-Release number of selected component (if applicable): rpm-4.8.0-2.fc13.x86_64 yum-3.2.25-8.fc13.noarch How reproducible: 100% Steps to Reproduce: 1. yum update/search/install 2. 3. Actual results: rpmdb: Build signature doesn't match environment error: db3 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30971) 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 252, 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 191, in getOptionsConfig self.conf File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 732, in <lambda> conf = property(fget=lambda self: self._getConfig(), File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 251, in _getConfig startupconf = config.readStartupConfig(fn, root) File "/usr/lib/python2.6/site-packages/yum/config.py", line 831, in readStartupConfig startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg) File "/usr/lib/python2.6/site-packages/yum/config.py", line 938, in _getsysver idx = ts.dbMatch('provides', distroverpkg) _rpm.error: rpmdb open failed Expected results: Additional info:
rm -f /var/lib/rpm/__db* && rpm --rebuilddb will help
rpm --rebuilddb is unnecessary with DB_VERSION_MISMATCH. Won't hurt, but unnecessary.
Aaah i see, --rebuild is "automatically" when db do not exist.
The __db* files are recreated when needed, yes. But the indices do not need to be recreated (and at least in rpm-4.8.0) are not recreated automatically. (aside) In rpm-5.3.0 the indices (i.e. everything but Packages) are also recreated when needed. With ACID behavior, Packages can/will be recreated from logs as well.
*** This bug has been marked as a duplicate of bug 553998 ***