yum 碰到的问题与解决办法

本文详细介绍了在Linux系统中遇到YUM进程被锁定及RPM数据库异常的常见问题。针对YUM被锁定,原因是使用Ctrl+z中断了yum安装过程,解决方案包括通过jobs查看并恢复进程,或者使用kill-15信号温和终止。对于RPMDB异常,主要是由于强制杀死进程导致数据库损坏,修复方法包括备份RPM数据库并执行rpmdb --rebuilddb命令进行重建。确保正确操作以避免系统出现问题。
摘要由CSDN通过智能技术生成

问题清单

  • yum pid 被锁定
  • rpmdb 异常
yum pid被锁定

情况如下:

Existing lock /var/run/yum.pid: another copy is running as pid 486.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  81 M RSS (459 MB VSZ)
    Started: Wed Apr 28 14:59:10 2021 - 00:07 ago
    State  : Traced/Stopped, pid: 486

原因:
由于在使用yum命令安装软件时,中途使用Ctrl+z终端进程。

复现:

yum install docker
按Ctrl+z
yum install docker

解决办法:
由于被中断的进程会放进jobs中,可以通过jobs查看,并重启进程,不建议直接用kill -9 pid kill进程。

# jobs
[1]+  Stopped                 yum install docker
# fg 1     ====>将中断的进程掉至前台运行
正确的关闭方式是使用Ctrl+c,或者等待进程结束

另外一种结束方式,信号15是以一种正常方式终止工作
# kill -15 %1
rpmdb 异常

情况如下:

error: rpmdb: BDB0113 Thread/process 8943/47286866286720 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:

Error: rpmdb open failed

原因:
我刚才是在测试上面的问题时,强行kill 了进程,导致rpmdb损坏

复现:

yum info docker
运行途中Ctrl+z
ps -ef|grep yum
kill -9 pid
yum info docker

解决办法:
错误中说了,问题是无法打开rpmdb导致的,并且是在/var/lib/rpm 目录下。

1、备份/var/lib/rpm

2、重建rpmdb

rpmdb --rebuilddb

注意:可以通过man rpmdb查看命令文档

参考文章:
https://www.libaocai.com/2767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值