rpmdb crashed, how to repair? [FC3]

Jim Cornette fc-cornette at insight.rr.com
Tue Feb 7 04:58:25 UTC 2006


akonstam at trinity.edu wrote:
> On Sun, Feb 05, 2006 at 06:50:30PM -0500, Jim Cornette wrote:
>> akonstam at trinity.edu wrote:
>>> You subject does not seem to have any relationship to what you say in
>>> your posting.
>>> But incase you do what to repair the rpm database you do it by:
>>> rm  /var/lib/rpm/__db*
>>> rpm --rebuilddb
>> The original poster referred to trying the above steps. I don't see any 
>> references regarding the 'rm /var/lib/rpm/__db*' before running a 
>> rebuild on the database. I don't recall removing the entries helping out 
>> much before. The continuation was mainly referring to detecting which 
>> rpms were not cleaned up after install and left entries in the database.
>> Out of curiosity myself, I'll see what happens when the 
>> /var/lib/rpm/__db* files are removed and the rpmdb is rebuilt with 'rpm 
>> --rebuilddb'
>>
> Well the /var/lib/rpm/__db* files are the database you are rebuilding
> which we are assuming are screwed up. So it makes some sensae to
> remove the old database before you rebuild it. This has always worked
> for me when rpm -qa says an rpm is installed which rpm -e says is not.
> -------------------------------------------
> Aaron Konstam
> Computer Science
> Trinity University
> telephone: (210)-999-7484
> 

I have removed the /var/lib/rpm/__db* a lot of times when the test 
release Phoebe before the split to FC happened without any known 
problems. I also ran rpm --rebuilddb during this period.

The only problems I see with performing these steps is that the rpm db 
is messed up because of some problem. The best way to deal with the 
messed up entries is to investigate why the entries are not correct. I 
usually assume that older versions of rpm entries for a package are 
lingering entries where the actual files were replaced by the newer rpm 
and can be safely removed. I have not tried the method described in 
present days but a recent poster reported losing a great many database 
entries for packages that are actually installed.

I currently have a clean database with fairly true package installed 
information. I did remove only the db entry for one particular rpm that 
is installed so I could update normally. It was a package that is 
removed on Future versions of Fedora. The program is hotplug. I am 
curious as to whether it will reappear once the /var/log/db* files are 
removed and rpm --rebuilddb is run on my system. I don't know what will 
happen, but I will be needing to do a clean install anyway on the test 3 
release date. If the rpm db is damaged at ths point, a reinstall was 
intended anyway and nothing is lost, since the system is destined to 
vaporization at this point anyway,

I find all viewpoints and methods of trial interesting and hope to learn 
a bit from the different options to deal with a problem. Hopefully, I'll 
pick the right option from the many. I'll roll the wheel shortly.

Jim

-- 
An rpm database is a terrible thing to waste.




More information about the fedora-list mailing list