Totem=noshow

Gene Heskett gene.heskett at verizon.net
Tue Dec 5 00:40:23 UTC 2006


On Monday 04 December 2006 12:06, Lyvim Xaphir wrote:
>On Mon, 2006-12-04 at 08:51 -0500, Gene Heskett wrote:
>> On Monday 04 December 2006 06:42, Jim Cornette wrote:
>> >If we all work together, we can totally disrupt the system.
>>
>> I think we've succeeded in this case. :(
>
>Gene, the hanging problem that you had initially is documented in the
>following URL:
>
>
>http://www.rpm.org/hintskinks/repairdb/
>
>
>It also seems to be something that's not completely out of date.  There
>is another approach, which I originally posted to the Mandrake lists a
>long time ago.  It is a cookbook procedure showing how to do a manual
>reconstruction of an rpm database using actually installed file
>information from the system. It's a little dated but the commands used
>are not, I feel the procedure is good.  Here's the original link and the
>content:
>
>http://www.informatimago.com/linux/rpm-rebuilddb.html
>___
That part was in fact solved by nuking the __db.00# files first, so that 
seems to be fixed.  Thanks for the links though.

>_________________________________________________________________ 
>
>
>
> On one of my Mandrake Linux systems, I had once this problem:
>     [pascal at hermes pascal]$ su
>     Password:
>     [root at hermes pascal]# rpm -q -a
>     failed to open //var/lib/rpm/packages.rpm
>
>     rpmQuery: rpmdbOpen() failed
>     [root at hermes pascal]# rpm --rebuilddb
>     failed to open //var/lib/rpm/packages.rpm
>
>     [root at hermes pascal]# rpm --initdb
>     [root at hermes pascal]# rpm -q -a
>     failed to open //var/lib/rpm/packages.rpm
>
>     rpmQuery: rpmdbOpen() failed
>     [root at hermes pascal]# rpm --version
>     RPM version 3.0.3
>
>
>Well, clearly the RPM database was completely out of usage. I had to
>rebuild it.You may think that it's simply a matter of using :
>
>   rpm --rebuilddb
>
> However, I learned that --rebuilddb is REALLY AND COMPLETELY USELESS.
>Maybe the authors and contributors to rpm could take some idea from this
>NFAQ to actually
> implement a true --rebuilddb option.
>
>The main idea of the process is to use:
>
>    rm -f /var/lib/rpm/* ; rpm --initdb
>
> and:
>
>    rpm -i -v --nodeps --noscripts --notriggers --excludepath /
>packages...
>
> to fill a package database without really installing anything (not
>overriding installed files, not running any script, ...). This is done
>in the seventh step; everything before I made to recover a list of
>installed packages.
>
>This is not perfect, since some packages I have upgraded or modified the
>sourcesand upgraded. I should have checked for /usr/src/RPMS too; I'll
>update the database later by hand to synchronize it with the handful of
>packages I touched after the initial installation.
>
>
>
>+------------------------------------------------------------------+
>
>| COOKBOOK PROCEDURE TO REBUILD A RPM DATABASE DAMAGED BEYOND HOPE |
>
>+------------------------------------------------------------------+
>
>####
>#### BEWARE, THIS IS NOT AN AUTOMATIC SCRIPT!
>####
>#### Use this only as a guideline to rebuild your rpm database.
>####
>
>
>#####
># 1 # Find the files currently installed.
>#   # ON THE HOST WHO LOST ITS RPM DATABASE.
>#####
>
>find / -print | sort > /tmp/dsk-contents
>
>
>
>#####
># 2 # Find all the files installed by the installation RPMs,
>#   # with their corresponding RPM.
>#####
>
>losetup /dev/loop0  /mnt/usr3/mandrake/mandrake61-1.iso
>mount -o ro -t iso9660 /dev/loop0 /mnt/cdrom
>
>cd /mnt/cdrom/Mandrake/RPMS
>rm -f /tmp/rpm-contents
>for f in *.rpm ; do
>    rpm -q -l -p $f \
>
>    | awk -v pn=$f '{printf "%s:%s\n",pn,$0;}' >> /tmp/rpm-contents
>
>done
>sort -t: +1 -o /tmp/rpm-contents /tmp/rpm-contents
>
>
>
>#####
># 3 # Obtain the actually installed RPMs.
>#####
>
>
>
>gzip -d < lgetvalue-src.tar.gz | tar xf -
>cd lgetvalue-src
>make all test
>
>
>./lgetvalue    --field-separator=: \
>               --key-position=2 \
>               --value-position=1 \
>               /tmp/rpm-contents /tmp/dsk-contents \
>
>| sort -u > /tmp/rpm-installed
>
>#####
># 4 # Reinitialize a new rpm database.
>#####
>
>mv /var/lib/rpm /var/lib/rpm-damaged-beyond-hope
>mkdir /var/lib/rpm
>rpm --initdb
>
>
>
>#####
># 5 # Let rpm say what problems there may be
>#   # (trying to do a pseudo-installation.
>#####
>
>cd /mnt/cdrom/Mandrake/RPMS
>rpm -i -v --noscripts --notriggers --excludepath /
>`cat /tmp/rpm-installed`
>
>
>
>#####
># 6 # Correct the list of installed RPMs.
>#####
>
>emacs /tmp/rpm-installed
>
>
>#####
># 7 # Rebuild the rpm data base, without installing any file
>#   # nor running any script.
>#####
>
>rpm -i -v --nodeps --noscripts --notriggers --excludepath /  \
>    `cat /tmp/rpm-installed `
>
>
>#####
># 8 # Check you have a valid rpm database.
>#####
>
>rpm -q -a
>________________________________________________________________
>
>
>LX
>--
>°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
>Kites rise highest against the wind -- not with it.
>-- Winston Churchill
>Registered Linux User #268899 http://counter.li.org/
>°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2006 by Maurice Eugene Heskett, all rights reserved.




More information about the fedora-list mailing list