maybe yum-updatesd? (was Re: yum updates corrupting rpmdb)

Craig White craig at tobyhouse.com
Fri Jan 4 17:27:32 UTC 2008


On Fri, 2008-01-04 at 12:17 -0500, Joe Smith wrote:
> Craig White wrote:
> > ...
> > almost sounds like an incomplete upgrade occurred, perhaps with the
> > wrong version of berkley-db4 or python installed.
> > 
> > Did you ever go through things like installing yum-tools and
> > package-cleanup?
> 
> Hey, thanks for the ideas!
> 
> "rpm -V db4" was clean--something else I should check?
> 
> I always assumed that if "rpm --rebuilddb" succeeded, then the database 
> should be ok. But it looks like my assumption was wrong:
> 
> # cd /var/lib/rpm/
> # /usr/lib/rpm/rpmdb_verify Packages
> # /usr/lib/rpm/rpmdb_verify Requirename
> db_verify: Page 223: bad prev_pgno 0 on overflow page (should be 119)
> db_verify: Page 223: overflow item incomplete
> db_verify: Requirename: DB_VERIFY_BAD: Database verification failed
> # for f in *; do echo "$f"; /usr/lib/rpm/rpmdb_verify $f; done
> Basenames
> Conflictname
> Dirnames
> db_verify: Page 1982: bad page number 191
> db_verify: Dirnames: DB_VERIFY_BAD: Database verification failed
> Filemd5s
> db_verify: Page 4635: bad page number 89
> db_verify: Filemd5s: DB_VERIFY_BAD: Database verification failed
> Group
> db_verify: Page 18: overflow page of invalid type 2
> db_verify: Group: DB_VERIFY_BAD: Database verification failed
> Installtid
> Name
> Packages
> Providename
> db_verify: Page 342: bad page number 105
> db_verify: Providename: DB_VERIFY_BAD: Database verification failed
> Provideversion
> db_verify: Page 110: bad prev_pgno 0 on overflow page (should be 112)
> db_verify: Page 110: overflow item incomplete
> db_verify: Provideversion: DB_VERIFY_BAD: Database verification failed
> Pubkeys
> Requirename
> db_verify: Page 223: bad prev_pgno 0 on overflow page (should be 119)
> db_verify: Page 223: overflow item incomplete
> db_verify: Requirename: DB_VERIFY_BAD: Database verification failed
> Requireversion
> db_verify: Page 191: partially zeroed page
> db_verify: Requireversion: DB_VERIFY_BAD: Database verification failed
> Sha1header
> Sigmd5
> db_verify: Page 32: bad page number 223
> db_verify: Page 32: invalid prev_pgno 119
> db_verify: Sigmd5: DB_VERIFY_BAD: Database verification failed
> Triggername
> 
> I found an old (2003) suggestion for rebuilding the Packages db:
>  > mv Packages Packages-ORIG
>  > /usr/lib/rpm/rpmdb_dump Packages-ORIG |
>  >   /usr/lib/rpm/rpmdb_load Packages
> 
> Running that on each db...
> # for f in Requireversion Provideversion Providename Group Filemd5s 
> Dirnames; do echo "$f"; mv "$f" "$f.orig" && /usr/lib/rpm/rpmdb_dump 
> "$f.orig" | /usr/lib/rpm/rpmdb_load "$f"; done
> Requireversion
> db_load: Transactional Data Store incompatible with environment
> Provideversion
> db_load: Transactional Data Store incompatible with environment
> Providename
> db_load: Transactional Data Store incompatible with environment
> Group
> db_load: Transactional Data Store incompatible with environment
> Filemd5s
> db_load: Transactional Data Store incompatible with environment
> Dirnames
> db_load: Transactional Data Store incompatible with environment
> 
> I have no idea what that message means, but it doesn't mean the command 
> failed, apparently:
> 
> # for f in `ls | grep -v '\.'`; do echo "$f"; /usr/lib/rpm/rpmdb_verify 
> $f; done
> Basenames
> Conflictname
> Dirnames
> Filemd5s
> Group
> Installtid
> Name
> Packages
> Providename
> Provideversion
> Pubkeys
> Requirename
> Requireversion
> Sha1header
> Sigmd5
> Triggername
> 
> Looks clean now.
> 
> I'm running a "rpm -Va" just now, and so far it looks reasonable, so 
> maybe the problem is done now.
> 
> I have no idea what I'm doing here, and I still don't understand if 
> "--rebuilddb" was missing something, or what.
> 
> Clues welcomed.
> 
> PS: Oops. No, now the "rpm -Va" is finding stuff that looks like some 
> parts of the last update that failed were partially installed. Maybe I 
> need to go back and repeat the latest package installs to make sure 
> everything is clean.
> 
> Maybe time to punt and re-install f8.
----
see this...

http://fedoraproject.org/wiki/YumUpgradeFaq

see point #4 'Tips' about yum-utils/package-cleanup

Craig




More information about the fedora-list mailing list