SUG: RPM database verification / repair, nightly and in Anaconda

Tony Nelson tonynelson at georgeanelson.com
Mon Nov 20 02:42:17 UTC 2006


The RPM database should be verified more often than it is now.

With FC6 there has been a spate of RPM database corruption.  It happened to
me:  though there may have been incipient corruption in my FC5, after
--rebuilddb and upgrading successfully I found more corruption later.  This
brings up that the RPM database is just assumed to work, but isn't being
checked until it falls over.

I propose that there should be a nightly cron task to check the RPM
database with --verifydb, which would also attempt automatic repair (if the
Packages file is OK).  I am developing and testing a shell script to do
this.  Currently it seems to work when run manually; we'll see what happens
tonight.  It logs its actions in syslog via logger.  I expect that logwatch
will inform root by email.

I propose that Anaconda should check the RPM database before starting an
upgrade to an existing installation.  Checking takes under a minute on my
system, so it should not be objectionable.  Anaconda should offer to repair
a damaged RPM database (if the Package file is OK) before proceeding with
the installation.

I suggest that the --verifydb command should not be undocumented in RPM and
its manpage.  This seems to be on purpose, but I think it is a mistake.

I would like some feedback about these proposals.  If they are acceptable I
will file RFE bugs on them.

My knowlege of things RPM is superficial.  It would be a good idea to have
the proposed verification and repair methods criticised by authentic RPM
developers, but I'm not sure where they hang out -- the Redhat Rpm-list
appears to be for RPM users.
-- 
____________________________________________________________________
TonyN.:'    The Great Writ     <mailto:tonynelson at georgeanelson.com>
      '      is no more.             <http://www.georgeanelson.com/>




More information about the devel mailing list