RPM 命令挂起

use*_*711 2 linux installation rpm glibc

在 Cent OS 5 上,rpm命令挂在我的 Linux 机器上。

[root@manage glib]# rpm -i libgcc-4.1.1-52.el5.i386.rpm

[root@manage glib]# ps -efww | grep libgcc
root      2020 32168  0 13:50 pts/0    00:00:00 grep libgcc
root     14254  2974  0 13:09 pts/1    00:00:00 rpm -i libgcc-4.1.1-52.el5.i386.rpm
Run Code Online (Sandbox Code Playgroud)

以下是strace

[root@manage glib]# strace -p 14254
Process 14254 attached - interrupt to quit
select(0, NULL, NULL, NULL, {0, 643179}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
read(4, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\7\0\0\0\0\20\0\0\0\10\0\0\0\0\0\0"..., 256) = 256
close(4)                                = 0
open("/var/lib/rpm/Packages", O_RDONLY|O_LARGEFILE) = 4
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=5582848, ...}) = 0
brk(0x821e000)                          = 0x821e000
select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000})  = 0 (Timeout)
Run Code Online (Sandbox Code Playgroud)

我该如何修复rpm使其不挂起?

eww*_*ite 7

停止安装命令并重建您的 rpm 数据库。

你应该能够:

rm /var/lib/rpm/__db*
Run Code Online (Sandbox Code Playgroud)

然后:

rpm --rebuilddb
Run Code Online (Sandbox Code Playgroud)

然后再次尝试安装。