记一次centos7 yum命令不可用(被搞坏)[已解决]
背景:搞robotframeworl自动化安装sikuli依赖的库
yum install dnf install opencv opencv-devel opencv-java # 此为错误的命令,多了一个install
因此搞了ctrl + Z 取消退出
修改后重新执行
yum install dnf opencv opencv-devel opencv-java
报错:
Another app is currently holding the yum lock; waiting for it to exit...
另一个应用程序是:yum
内存: 48 M RSS (346 MB VSZ)
已启动: Tue May 27 15:56:34 2025 - 00:19之前
状态 :跟踪/停止,进程ID:24652
通过kill杀进程
ps -ef |grep yum
kill -9 xxxx # 具体替换为yum进程pid
重新执行报错
error: rpmdb: BDB0113 Thread/process 24652/139679983085376 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:
yum clean all # 也报此错误
[root@localhost etc]# rpm -e --nodeps yum
error: rpmdb: BDB0113 Thread/process 24652/139679983085376 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
error: rpmdb: BDB0113 Thread/process 24652/139679983085376 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 database in /var/lib/rpm
error: package yum is not installed
修复过程:
使用rpmdb工具修复数据库
-
备份RPM数据库:
sudo cp -a /var/lib/rpm /var/lib/rpm_backup -
重建RPM数据库:
sudo rm -f /var/lib/rpm/__db* sudo rpm --rebuilddb -
验证修复:
sudo rpm -qa | grep yum


浙公网安备 33010602011771号