解决:RPM软件包: 错误:无法从 /var/lib/rpm 打开软件包数据库
一·问题描述:利用 yum -y install gcc-c++ 命令安装c++的编译环境时,报错如图所示
报错提示如下:
RPM软件包: 错误:db5 错误(-30969) 源自 dbenv->open:BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
RPM软件包: 错误:cannot open Packages index using db5 - (-30969)
RPM软件包: 错误:无法从 /var/lib/rpm 打开软件包数据库
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'yum clean packages' 删除软件包缓存。
错误:不能执行事务。
二·错误原因:
可能由于强制结束了yum操作而导致rpm数据库被损坏了!不一定是你手动结束,也可能是因为网络原因。
三·解决方案:
第一步:删除已损坏的 __db 文件
#进入rpm目录命令:
cd /var/lib/rpm
#删除 __db 文件命令:两种方式任选一种
#方式一:
rm /var/lib/rpm/__**
#方式二:
rm -i __db.*
第二步:重建rpm数据库
#重新构建rpm数据库命令:
rpm --rebuilddb
第三步:清除所有下载缓存:
yum clean all
第四步:再次执行原本的yum安装命令(成功!)