YUM UPDATE 永远卡住了

Omi*_*uin 9 yum rhel repository

我为 RHEL 5.6 创建了存储库。我已经删除了 RHEL 5.2 的现有存储库。

我运行了以下命令:

yum clean all

yum clean metadata
Run Code Online (Sandbox Code Playgroud)

然后,

yum list all
Run Code Online (Sandbox Code Playgroud)

它列出了所有的包。

但是当我输入 YUM UPDATE 时。表明

Setting up Update Process
Setting up repositories
rhel-local                100% |=========================|  951 B    00:0
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.1 MB    00:0
################################################## 3229/3229
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Run Code Online (Sandbox Code Playgroud)

这就是所有人。YUM UPDATE 没有进一步的回应。

知道为什么 yum 卡住了吗?

小智 12

您还可以重建 RPM 数据库。

yum clean all
rpm --rebuilddb
Run Code Online (Sandbox Code Playgroud)


小智 7

就我而言,我有一个 RPM db 锁,它使 yum 卡住了。

跑步strace yum --verbose --noplugins info会卡在:

open("/var/lib/rpm/.dbenv.lock", O_RDWR|O_CREAT, 0644) = 5
umask(022)                              = 022
fcntl(5, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,  len=0}Killed
Run Code Online (Sandbox Code Playgroud)

所以为了修复它,我以 root 身份运行:

rm /var/lib/rpm/.dbenv.lock
Run Code Online (Sandbox Code Playgroud)


slm*_*slm 4

如果另一个进程已经在运行或者系统上维护的yum元数据已损坏,通常会发生这种情况。yum

对于第一个问题,我通常会终止任何现有的 yum 进程,然后运行此命令yum-complete-transaction,这应该允许 yum 在自身之后清理 yup。

对于第二个问题,我通常必须运行 ayum clean all来删除所有元数据和包,然后yum update正常运行 a 。

有时我也会运行此命令package-cleanup <options>来清理 RPM 数据库的不同问题: