YUM UPDATE 永远卡住了

YUM UPDATE 永远卡住了

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

我运行了以下命令:

yum clean all

yum clean metadata

然后,

yum list all

它列出了所有包。

但是当我输入 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

这就是大家。 YUM UPDATE 没有进一步回复。

知道为什么 yum 会卡住吗?

答案1

您还可以重建 RPM 数据库。

yum clean all
rpm --rebuilddb

答案2

就我而言,我有一个 RPM 数据库锁,导致 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

为了解决这个问题,我以 root 身份运行:

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

答案3

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

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

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

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

  • 清理任何重复的包(扫描本地 RPM 数据库中的重复项并清理旧版本)

    package-cleanup --cleandupes
    
  • 扫描问题(列出本地 RPM 数据库中的依赖性问题。如果发现任何问题,它将以退出代码 1 退出)

    package-cleanup --problems
    
  • 列出孤儿名单。 (列出当前配置的存储库中不可用的已安装软件包。这与 相同yum list extras,它可以提供更好的输出)

    package-cleanup --orphans
    

答案4

我在 /var/log/messages 中发现了 iscsi 错误消息。然后我停止了 iscsi 和 iscid 守护进程。之后 yum 完成更新过程。

相关内容