记一次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工具修复数据库

  1. 备份RPM数据库

    sudo cp -a /var/lib/rpm /var/lib/rpm_backup
    
  2. 重建RPM数据库

    sudo rm -f /var/lib/rpm/__db*
    sudo rpm --rebuilddb
    
  3. 验证修复

    sudo rpm -qa | grep yum

posted @ 2025-05-27 16:21  水库浪子9527  阅读(2)  评论(0)    收藏  举报  来源