0%

rpm 和 yum 卡住 ( loading keyring from rpmdb )

今天安装 Zabbix Agent 的时候,发现服务器执行 rpmyum 命令都会卡住,只能通过其它终端 kill 掉相关 rpmyum 进程,添加-vv参数查看 debug 信息,发现卡在

1
2
3
D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key
D: couldn‘t find any keys in /var/lib/rpm/pubkeys/*.key
D: loading keyring from rpmdb

解决方法

删除 rpm 的 db 文件并重建

1
2
# rm -f /var/lib/rpm/__db*
# rpm --rebuilddb

如果依然不能解决问题,查看 /var/lib/rpm 目录下是否有lock文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@ip-172-31-28-69 rpm]# ll -a /var/lib/rpm
total 22728
drwxr-xr-x 2 root root 4096 Aug 12 06:49 .
drwxr-xr-x 19 root root 4096 Aug 12 06:49 ..
-rw-r--r-- 1 root root 2478080 Aug 12 06:49 Basenames
-rw-r--r-- 1 root root 16384 Aug 12 06:49 Conflictname
-rw-r--r-- 1 root root 0 Mar 7 2018 .dbenv.lock
-rw-r--r-- 1 root root 655360 Aug 12 06:49 Dirnames
-rw-r--r-- 1 root root 16384 Aug 12 06:49 Group
-rw-r--r-- 1 root root 12288 Aug 12 06:49 Installtid
-rw-r--r-- 1 root root 28672 Aug 12 06:49 Name
-rw-r--r-- 1 root root 16384 Aug 12 06:49 Obsoletename
-rw-r--r-- 1 root root 19574784 Aug 12 06:49 Packages
-rw-r--r-- 1 root root 204800 Aug 12 06:49 Providename
-rw-r--r-- 1 root root 172032 Aug 12 06:49 Requirename
-rw-r--r-- 1 root root 0 Mar 7 2018 .rpm.lock
-rw-r--r-- 1 root root 45056 Aug 12 06:49 Sha1header
-rw-r--r-- 1 root root 36864 Aug 12 06:49 Sigmd5
-rw-r--r-- 1 root root 8192 Aug 12 06:49 Triggername

可以看到有两个lock文件: .dbenv.lock.rpm.lock,把这两个文件删除掉:

1
2
# rm -f /var/lib/rpm/.dbenv.lock
# rm -f /var/lib/rpm/.rpm.lock

再次尝试,问题解决