On Sun, 2005-02-06 at 16:06 -0700, Alan Dayley wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Sunday 06 February 2005 12:29 pm, Craig White wrote: > > > as a means of a bookmark - this may be of use to you but I think this is > > > more to the point of - if normal methods of rebuilddb aren't going to > > > work, this probably has the sort of info that you/we need... > > > > > > > > > > ---- > > One more step thru on this...probably a little more succinct... > > > > > > Fix a hoarked rpm database > > > > Symptom: All rpm commands "hang up" > > > > Find and kill all processes running rpm or up2date: > > > > ps ax | grep rpm > > ps ax | grep up2date > > > > (Kill them by hand) > > > > Remove all rpm database lock files: > > > > rm -f /var/lib/rpm/__db* > > > > This usually gets things going. If not: > > > > First make a backup of the database: > > > > cp -r /var/lib/rpm /var/lib/rpm.copy > > > > Then rebuild the database > > > > rpm --rebuilddb > > > > This takes some time, but if it hangs forever, repeat > > the "Find and kill rpm" step and proceed with: > > > > cd /var/lib/rpm > > db_verify Packages > > > > (You may need to install db4-utils) > > > > If db_verify reports errors, try: > > > > cp Packages Packages.backup > > db_dump Packages.backup | db_load Packages > > rpm --rebuilddb > > > > If all these steps fail, you are in big do-do. > > So, this is what it feels like to be in big do-do. ;^\ ---- don't give me that much credit - I didn't write any to-do, I didn't even know about the steps above - grabbed them off a site that I found from a google search. ---- > > Thanks for all the tips, Craig. Very helpful as usual! ---- always good to invest in my own learning here and I have learned a bunch on your problem - better you than me ;-) ---- > > All the suggestions you gave resulted in no change of the state of the rpm > database. The computer thinks nothing is installed. Below is the output of > the 'rpm --rebuild -vv' command but nothing there jumps out as a problem. ---- sure it does...you're just hoping for the big flag waving that says "FIX ME" - the problem is seems obvious from what you have below ---- > Of course, in the back of my mind I am wondering how the in got in this state > to begin with. I'll be doing a very thorough check of memory and the hard > drive when I do the FC3 install this week. ---- always a good idea to format/bad block check - it just takes time ;-) As for how it got this way? Who knows? Bad karma? Did you kick the cat? Did you run out of disk space on /var when doing some update? Since Fedora uses sleepycat to manage the DB's here, did you do something with DB4 like install a new version compiled from source or something? ---- > 'rpm --rebuild -vv' command outputl, in case there is a hint here: > > # rpm --rebuilddb -vv > D: rebuilding database /var/lib/rpm into /var/lib/rpmrebuilddb.16296 > D: creating directory /var/lib/rpmrebuilddb.16296 > D: opening old database with dbapi 3 > D: opening db environment /var/lib/rpm/Packages create:cdb:mpool > D: opening db index /var/lib/rpm/Packages rdonly mode=0x0 > D: locked db index /var/lib/rpm/Packages > D: opening new database with dbapi 3 > D: opening db environment /var/lib/rpmrebuilddb.16296/Packages create:mpool > D: opening db index /var/lib/rpmrebuilddb.16296/Packages create > mode=0x42 > D: read h# 2 Header sanity check: OK > D: +++ h# 1 Header sanity check: OK > D: opening db index /var/lib/rpmrebuilddb.16296/Name create mode=0x42 > D: adding "gpg-pubkey" to Name index. > D: opening db index /var/lib/rpmrebuilddb.16296/Group create mode=0x42 > D: adding "Public Keys" to Group index. > D: opening db index /var/lib/rpmrebuilddb.16296/Providename create > mode=0x42 > D: adding 2 entries to Providename index. > D: opening db index /var/lib/rpmrebuilddb.16296/Provideversion create > mode=0x42 > D: adding 2 entries to Provideversion index. > D: opening db index /var/lib/rpmrebuilddb.16296/Installtid create > mode=0x42 > D: adding 1 entries to Installtid index. > D: opening db index /var/lib/rpmrebuilddb.16296/Pubkeys create > mode=0x42 > D: adding 1 entries to Pubkeys index. > D: read h# 1 Header sanity check: OK > D: +++ h# 2 Header sanity check: OK > D: adding "gpg-pubkey" to Name index. > D: adding "Public Keys" to Group index. > D: adding 2 entries to Providename index. > D: adding 2 entries to Provideversion index. > D: adding 1 entries to Installtid index. > D: adding 1 entries to Pubkeys index. > D: read h# 3 Header sanity check: OK > D: +++ h# 3 Header sanity check: OK > D: adding "gpg-pubkey" to Name index. > D: adding "Public Keys" to Group index. > D: adding 2 entries to Providename index. > D: adding 2 entries to Provideversion index. > D: adding 1 entries to Installtid index. > D: adding 1 entries to Pubkeys index. > D: closed db index /var/lib/rpm/Packages > D: closed db environment /var/lib/rpm/Packages > D: closed db index /var/lib/rpmrebuilddb.16296/Pubkeys > D: closed db index /var/lib/rpmrebuilddb.16296/Installtid > D: closed db index /var/lib/rpmrebuilddb.16296/Provideversion > D: closed db index /var/lib/rpmrebuilddb.16296/Providename > D: closed db index /var/lib/rpmrebuilddb.16296/Group > D: closed db index /var/lib/rpmrebuilddb.16296/Name > D: closed db index /var/lib/rpmrebuilddb.16296/Packages > D: closed db environment /var/lib/rpmrebuilddb.16296/Packages > D: removing directory /var/lib/rpmrebuilddb.16296 ---- the problem seems to be it didn't add any entries into 'Packages' as this is in a temp folder called /var/lib/rpmbuilddb.16296/Packages before it finishes. you have to go through the steps listed... ---- > > This usually gets things going. If not: > > > > First make a backup of the database: > > > > cp -r /var/lib/rpm /var/lib/rpm.copy > > > > cd /var/lib/rpm > > db_verify Packages > > > > (You may need to install db4-utils) > > > > If db_verify reports errors, try: > > > > cp Packages Packages.backup > > db_dump Packages.backup | db_load Packages > > rpm --rebuilddb ----- seems as though you have nothing to lose here by trying the above - and if that fails perhaps similar with the other db's but they seemed ok about adding entries. i.e. cp Group Group.backup db_dump Group | db_load Group etc. the command db_dump Packages > Packages.txt will create a large text dump of what is in Packages but even on a working system, it's mostly incomprehensible to me. Craig --------------------------------------------------- PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us To subscribe, unsubscribe, or to change you mail settings: http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss