问题清单
- 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