From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Description of problem: Upon installing Roswell, the RPM database is corrupt. rpm -qa hangs forever, part way through the list. This has happened to me & another user I talk with. Copying /var/lib/rpm/* from another Roswell system fixes it. The URI above is a tarball of /var/lib/rpm from an affected system. How reproducible: Sometimes Steps to Reproduce: 1. Install Roswell, reboot 2. Do rpm -qa Actual Results: RPM eventually hangs forever. Expected Results: RPM should list every package installed on the system. Additional info:
We (Red Hat) should really try to fix this before next release.
Copying an entire database shouldn't be necessary. If the problem is just "rpm -qa" hangs, the fix is to do rm -f /var/lib/rpm/__db* This is now always done before opening rpmdb in rpm-4.0.3-0.88. I'm assuming that that's the problem. If the above doesn't "fix", please reopen this bug and I'll dig deeper.
The same problem happened to me upgrading from 7.1 The above fix lets rpm -qa work however there are certain entries like: error: rpmdb: damaged header instance #1571 retrieved, skipping. rpm --rebuilddb seems to have cured this. Whilst I have been affected from this, I have read as much as I can about RPM (bar the source code) and nowhere have I seen the __db files documented. Would it be a reasonable idea to have it mentioned somewhere, perhaps the man page?