背景:
一次yum做更新的时候,强制终止了该进程,后来再使用yum的时候就报错了:
error: cannot open providename index using db3 - bad file descriptor
如报错所述,rpmdb损坏,rpmdb简单来说是用来存储一些软件包的依赖关系,解析安装过程中的依赖关系的
解决方法:
1,尝试初始化db
rpmdb --initdb
2,尝试重建db
rpmdb --rebuilddb
注:rpmdb 命令用于初始化和重建rpm数据库
--initdb:初始化RPM数据库;
--rebuilddb:从已安装的包头文件,反向重建RPM数据库。
3,查看db文件
ls -l /var/lib/rpm/ |grep db
4,删除db文件,然后测试一下(千万小心删除,一定要进到目录里面)
cd /var/lib/rpm/
rm __db.00* -rf
5, yum 试下
yum search ssh
db文件重新生成,也可以search到对应的软件包了~修复成功!