Earlier while rolling out updates on some servers, and without apparent reason, as
yum hadn’t failed or thrown any errors before, it failed with a
error: rpmdb: BDB0113 Thread/process 26477/140596402444352 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery error: cannot open Packages index using db5 - (-30973) error: cannot open Packages database in /var/lib/rpm CRITICAL:yum.main: Error: rpmdb open failed
YUM is failing and not accepting any command. While the reason for my YUM database corruption isn’t known, the solution is quite simple and easy to fix with a few steps.
The following commands are performed as
root or using
First lets make a directory to backup the original files
mkdir /tmp/yum_db mv -v /var/lib/rpm/__db* /tmp/yum_db/
‘/var/lib/rpm/__db.001’ -> ‘/tmp/yum_db/__db.001’ ‘/var/lib/rpm/__db.002’ -> ‘/tmp/yum_db/__db.002’ ‘/var/lib/rpm/__db.003’ -> ‘/tmp/yum_db/__db.003’
Now rebuild the yum db:
And lets cleanup in the end!
yum clean all
Loaded plugins: fastestmirror Cleaning repos: base epel extras updates Cleaning up list of fastest mirrors
And that’s it. After it finished I just had to run
yum update again. Went through smoothly and finished without any issue.
Loaded plugins: fastestmirror Determining fastest mirrors epel/x86_64/metalink | 29 kB 00:00:00 * base: fs-n.issc.io * epel: mirror.hosting90.cz * extras: centos.schlundtech.de * updates: fs-n.issc.io base | 3.6 kB 00:00:00 epel | 5.3 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/7): base/7/x86_64/group_gz | 165 kB 00:00:00 (2/7): base/7/x86_64/primary_db | 6.0 MB 00:00:00 (3/7): epel/x86_64/group_gz | 90 kB 00:00:00 (4/7): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (5/7): extras/7/x86_64/primary_db | 153 kB 00:00:00 (6/7): updates/7/x86_64/primary_db | 5.8 MB 00:00:00 (7/7): epel/x86_64/primary_db | 6.9 MB 00:00:00 ...
And don’t forget to clean up the files left at
Should you have any questions left regarding this article, or if you want to discuss it with other users, feel free to leave a comment.