“yum clean” 挂起 - 下一步该尝试什么?

“yum clean” 挂起 - 下一步该尝试什么?

我运行着许多 CentOS 服务器。我最近偶尔会这样做,yum update但少数服务器上失败了。大多数情况下,我都可以通过执行以下操作来继续:

# yum clean all
# rm -f /var/lib/rpm/__db*
# rpm --rebuilddb
# yum update

但是在一台服务器上,yum clean命令挂起了。我尝试运行:

# yum -v --noplugins clean all

但我什么输出都没有。Yum 只是挂起,如果我让它挂起,它会在那里呆上几个小时,不占用任何 CPU,只是停止了。正在执行

# strace -f yum -v --noplugins clean all

产生相当多的输出,但随后停止:

...
stat64("/var/lib/rpm/__db.003", {st_mode=S_IFREG|0644, st_size=450560, ...}) = 0
open("/var/lib/rpm/__db.003", O_RDWR|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
mmap2(NULL, 450560, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0xb6b34000
close(4)                                = 0
stat64("/var/lib/rpm/Packages", {st_mode=S_IFREG|0644, st_size=14938112, ...}) = 0
open("/var/lib/rpm/Packages", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
read(4, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\10\0\0\0\0\20\0\0\0\10\0\0k\t\0\0"..., 512) = 5
12
close(4)                                = 0
open("/var/lib/rpm/Packages", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=14938112, ...}) = 0
futex(0xb6b7bd1c, FUTEX_WAIT, 1, NULL

此时我感觉陷入了困境。这是一台生产服务器,所以我不想把它扔掉,甚至不想把所有的 yum 信息都扔掉。除了 yum 之外,服务器运行良好。

答案1

我遇到了同样的问题,我的所有 yum 命令都挂起了。

我运行了以下命令

rm /var/lib/rpm/__db*
rm /var/lib/rpm/.rpm.lock
rm /var/lib/rpm/.dbenv.lock

因此,结合上述一些评论和答案。

答案2

在我的 Redhat 7.2 上,这有助于运行 yum 命令。

 rm /var/lib/rpm/.dbenv.lock

答案3

这不是一个直接的答案,但如果其他答案中的命令都没有帮助,那么我会检查命令package-cleanup

所有建议的命令都是用于处理 RPM 数据库,但某些已安装包的关系可能存在问题。

man package-cleanup

DESCRIPTION
       package-cleanup is a program for cleaning up the locally-installed RPMs.
EXAMPLES
       List all dependency problems:
              package-cleanup --problems

       List all packages that are not in any Yum repository:
              package-cleanup --orphans

我将从第二个示例中的命令开始,我以前使用过它并且它解决了我在其中一台 CentOS 机器上遇到的一些与 相关的奇怪问题yum clean

答案4

除上述内容外,还:

ps -ef | grep yum # kill off all yum processes
ps -ef | grep rpm # kill off rpm processes

在我完成此操作之前,我无法使上述任何一项工作。

归功于:https://cloudlinux.zendesk.com/hc/en-us/articles/115004580385-If-RPM-or-yum-processes-hangs

相关内容