Hello!
I accidentally upgraded a package with a lot of dependencies inluding
rpm and db, and at some point also aborted the upgrade, and now I have a
broken RPM. :(
Right after sending the abort command I got these error messages:
rpmdb: unrecognized name-value pair: set_create_dir
rpmdb: unrecognized name-value pair: set_create_dir
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages index using db3 - Invalid argument (22)
error: //var/lib/rpm: open rpm database failed
Aborted (core dumped)
I've done rm /var/lib/rpm__db.00* and rpm --quiet -qa (the __db* files
reappeared) and rpm -qa gives me the list of installed packages all
right, including:
db4.7-4.7.25.4-6.x86_64
db5.3-5.3.21.0-1.x86_64
rpm-5.4.10-18.x86_64
However, rebuilding still complains:
# rpm -vv --rebuilddb
D: pool fd: created size 392 limit -1 flags 0
D: pool iob: created size 48 limit -1 flags 0
D: pool mire: created size 136 limit -1 flags 0
D: pool lua: created size 64 limit -1 flags 0
D: pool ts: created size 1200 limit -1 flags 0
D: pool db: created size 328 limit -1 flags 0
D: pool dbi: created size 472 limit -1 flags 0
D: rpmdb: cpus 8 physmem 12042Mb
D: opening db environment /var/lib/rpm/Packages thread:lock:log:mpool:txn
D: opening db index /var/lib/rpm/Packages
create:thread:auto_commit mode=0x2
rpmdb: BDB0641 __db_meta_setup: /var/lib/rpm/Packages: unexpected file
type or format
D: closed db index /var/lib/rpm/Packages
D: closed db environment /var/lib/rpm/Packages
error: cannot open Packages(0) index: Invalid argument(22)
DB: Berkeley DB 5.3.21: (May 11, 2012)
error: cannot open Packages database in /var/lib/rpm
D: pool tsi: created size 48 limit -1 flags 0
D: pool tsi: reused 1, alloc'd 1, free'd 1 items.
D: pool ts: reused 0, alloc'd 1, free'd 1 items.
D: pool db: reused 0, alloc'd 1, free'd 1 items.
D: pool dbi: reused 0, alloc'd 1, free'd 1 items.
D: pool lua: reused 0, alloc'd 1, free'd 1 items.
D: pool mire: reused 0, alloc'd 1, free'd 1 items.
D: pool iob: reused 0, alloc'd 1, free'd 1 items.
D: pool fd: reused 5, alloc'd 1, free'd 1 items.
D: exit code: -2
In addition, when I run the server package manager (poldek, which BTW
also decided to get upgraded along the way), I get an additional
complaint about Requirename:
BDB0641 __db_meta_setup: /var/lib/rpm/Requirename: unexpected file type
or format
This is what has to say about the file formats:
# file /var/lib/rpm/Requirename
/var/lib/rpm/Requirename: Berkeley DB (Hash, version 9, native byte-order)
# file /var/lib/rpm/Packages
/var/lib/rpm/Packages: Berkeley DB (Hash, version 9, native byte-order)
Can someone advice me on how to get the package manager back up, please?
Thanks,
Janis