现象描述:
[root@localhost rpm]# yum install lrzsz -y
error: db5 error(-30973) from dbenv->open: 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
Error: Error: rpmdb open failed
可能原因:
看提示可能是rpmdb找不到的问题,须知yum是基于rpm源进行开发的软件包管理工具
解决方法一:
备份/var/lib/rpm/__db*的文件,然后删除/var/lib/rpm/__db*文件
之后执行如下命令:
[root@localhost rpm]# rpm --rebuilddb
再次执行Yum即可恢复
[root@localhost rpm]# yum install lrzsz -y
Last metadata expiration check: 21:09:35 ago on Mon 16 Jan 2023 01:51:00 PM CST.
Package lrzsz-0.12.20-46.oe1.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
解决方法二:
重启服务器,__db文件会重建,可根据时间戳确认
[root@localhost ~]# ll /var/lib/rpm
total 24M
-rw-r--r--. 1 root root 3.0M Jan 17 11:00 Basenames
-rw-r--r--. 1 root root 8.0K Jan 17 11:00 Conflictname
-rw-------. 1 root root 264K Jan 17 11:03 __db.001
-rw-------. 1 root root 80K Jan 17 11:03 __db.002
-rw-------. 1 root root 1.3M Jan 17 11:03 __db.003