Corrupted rpmdb recovery

Jim Cornette fc-cornette at insight.rr.com
Tue Feb 7 03:08:24 UTC 2006


Ovidiu Lixandru wrote:
> jludwig wrote:
> 
>> I gave this advice for recovery before and may well work for you.
>> What I suggested; --->First read the man and info pages for these 
>> commands so you <---
>> --->understand what is being done (if you already don't ).<----
> 
> I *do* understand what it's being done.
> 
>> You can force updates and installs
>> ->rpm -Uvh --force --nodeps filename.rpm
> 
> I don't think you've read my question too carefully. I have the list of 
> the previuosly installed rpms (/var/log/rpmpkgs), I know what should I 
> do with it, but I don't have the rpm files in themselves and mirroring 
> 8+ repos locally is not very appealing. Please read my question again. 
> Any help would be most welcome.
> 

If you know what the missing 900 packages are, I believe enabling the 8 
repos and choosing install instead of upgrade might be your best answer 
when going through the list you have. I believe using --force is not needed.
Yum is a dep solver and should pull in the missing from the rpm database 
files again. Ii will not know the packages are not installed so will 
overwrite your files for non-configuration files. For configuration 
files, it will make an .rpmnew or similar named file.

Looking at /var/log/rpmpkgs the listings are on one line at a time. What 
you could do is run an rpm -qa |sort >~/my-100.rpms and compare them to 
the log and manually removing the missed entries or get a diff between 
the log and the file that you generated and install the differences file 
feeding it to yum install.

This is an idea that I think will work for you. I do not know the 
specifics if uniq or diff would be your best option to create the 
missing 900 list. There are some pretty crafty people on the list who 
could explain how to get you your 900 database entries back if by 
needing to install alll the packages again, which I'd personally do or 
to just reclaim the db entries as you suggested. The mirrors might be 
happier if you could just pull down the rpm database entries again.

I hope this spawns some solutions for you.

Jim


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




More information about the fedora-list mailing list