At 6:51 PM -0500 11/17/06, Tony Nelson wrote: >[Check the RPM database.] The following takes well >under a minute on my old machine: > > []# cd /var/lib/rpm ; for name in * ; do echo $name ; /usr/lib/rpm/rpmdb_verify $name ; done > >Note that this appears to only check the individual files' integrity, and >not for referential integrity. > >It may be necessary to lock the database before checking it; if so, >whatever in RPM that is supposed to run rpmdb_verify probably already does >so. (I didn't see anything in man rpm about this, only about verifying >packages.) ... It seems that there is a hidden option to rpm, --verifydb, that does what is needed (except check for referential integrity?). There are two files in the rpm source that seem to parse options and print help and usage, rpm.c and the more complex rpmqv.c; rpmqv.c one seems to be the one in use. Both /can/ document --verifydb, but rpmqv.c uses rpmdb/poptDB.c, which marks that option as hidden. I don't know why it is hidden -- possibly it is a mistake, though it is also missing from "man rpm". To verify the RPM database: []$ rpm --verifydb -- ____________________________________________________________________ TonyN.:' The Great Writ <mailto:tonynelson@xxxxxxxxxxxxxxxxx> ' is no more. <http://www.georgeanelson.com/>