[CentOS] Recover rpm DB corrupted by disk failure?

Bart Schaefer barton.schaefer at gmail.com
Mon Feb 23 18:02:24 UTC 2009


On Mon, Feb 23, 2009 at 8:59 AM, Bill Campbell <centos at celestial.com> wrote:
> You may be able to get things going again with the bdb recover
> script, /usr/lib/rpm/rpmdb_recover.  I think this should be a
> berkeley DB recovery routine that is specific to the version
> being used by rpm.

There doesn't seem to be an rpmdb_recover script:

# ls /usr/lib/rpm
athlon-linux		  find-provides       magic.req       rpmdb_verify
brp-compress		  find-provides.perl  mkinstalldirs   rpmdeps
brp-python-bytecompile	  find-req.pl	      noarch-linux    rpme
brp-redhat		  find-requires       perl.prov       rpmfile
brp-sparc64-linux	  find-requires.perl  perl.req	      rpmi
brp-strip		  freshen.sh	      perldeps.pl     rpmk
brp-strip-comment-note	  get_magic.pl	      redhat	      rpmpopt-4.2.3
brp-strip-shared	  getpo.sh	      rpm.daily       rpmq
brp-strip-static-archive  http.req	      rpm.log	      rpmrc
check-files		  i386-linux	      rpm.xinetd      rpmt
check-prereqs		  i486-linux	      rpm2cpio.sh     rpmu
config.guess		  i586-linux	      rpmb	      rpmv
config.site		  i686-linux	      rpmcache	      tgpg
config.sub		  javadeps	      rpmd	      trpm
convertrpmrc.sh		  macros	      rpmdb_deadlock  u_pkg.sh
cross-build		  magic		      rpmdb_dump      vpkg-provides.sh
debugedit		  magic.mgc	      rpmdb_load      vpkg-provides2.sh
find-debuginfo.sh	  magic.mime	      rpmdb_loadcvt
find-lang.sh		  magic.mime.mgc      rpmdb_stat
find-prov.pl		  magic.prov	      rpmdb_svc

If I try using db_recover directly:

# db_recover -h /var/lib/rpm
db_recover: unable to join the environment

rpmdb_verify still reports DB_VERIFY_BAD afterwards.



More information about the CentOS mailing list