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