百胜挂起,不会响应

bar*_*sta 38 linux centos yum centos-5

我正在运行yum check-update,它在 2 行输出后冻结:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Run Code Online (Sandbox Code Playgroud)

我不确定发生了什么。我记得用 yum 做的最后一件事是yum update查看 CentOS yum 存储库之一,但我没有做任何更改。

有什么建议可以修复 yum 吗?

小智 79

所有这些都对我不起作用。

使用 CentOS 和 yum。yum 挂起时至少没有错误消息,所以它出现了。按Ctrl+C不起作用(一次又一次地按它)。

需要检查几件事: - 存储库是否正常?- 网络正常吗?- yum 和 rpm 数据库是否正常?

所以,首先从简单的事情开始——清理数据库:

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可以在 yum 中设置调试级别、错误级别和超时/etc/yum.conf

debuglevel=1
errorlevel=1
timeout=1
Run Code Online (Sandbox Code Playgroud)

超时是标准的 30 秒。因此,如果存储库没有响应,则该错误需要 30 秒才会出现。还可以尝试在没有插件(如最快镜像和优先级)的情况下使用 yum 选项--noplugins。现在再次启动 yum 应该可以更快地为您提供更多信息。测试:

yum --verbose --noplugins info
Run Code Online (Sandbox Code Playgroud)

你可能会得到这样的东西:

 Config time: 0.105
 Yum Version: 3.2.22
 Setting up Package Sacks
 Loading mirror speeds from cached hostfile
 * base: mirror.nl.leaseweb.net
 * extras: mirror.nl.leaseweb.net
 * ius: mirrors.ircam.fr
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol') 
 Trying other mirror.
Run Code Online (Sandbox Code Playgroud)

这表示无法从服务器接收信息。在您的 Web 浏览器中尝试 yum 显示的 URL(上面用 link-to-server-repository 指示)。从你的 yum 回复中复制并粘贴它,而不是从这篇文章中复制粘贴!如果你得到一个列表,你就知道存储库是在线的。

如果您的浏览器出现错误,请尝试从/etc/yum.repos.d. 尝试使用 wget 获取服务器上的列表并粘贴 URL:

wget link-to-server-repository/repomd.xml
Run Code Online (Sandbox Code Playgroud)

如果这会产生超时,则说明您的防火墙或代理设置存在问题。尝试禁用防火墙。

如果您正在运行csf(ConfigServer 安全和防火墙)并且lfd您可以使用以下命令禁用 csf:

csf -x
Run Code Online (Sandbox Code Playgroud)

再次尝试 yum,如果它有效,您将不得不重新配置您的csf. csf再次启用:

csf -e
Run Code Online (Sandbox Code Playgroud)

还要检查您的代理设置。您还可以尝试将 .repo 文件中的 https in 更改为 http /etc/yum.repos.d/

  • 这个答案中似乎缺少的一个重要点是“yum check”可能需要几个小时才能完成!更多信息:https://www.centos.org/forums/viewtopic.php?f=14&t=46676 (3认同)

Gar*_*ett 22

您可能有 DNS 问题。尝试确保您可以在本地解析 DNS 记录:

nslookup google.com

如果您从该命令中获得 IP,则 DNS 应该没问题。然后尝试删除最快的镜像缓存并重新运行 yum 命令:

rm -f /var/cache/yum/timedhosts.txt

  • 要排除最快镜像插件的问题,请尝试在没有任何插件的情况下运行 yum:`yum --noplugins check-update` (10认同)

小智 6

就我而言,是一个挥之不去的 RPM 数据库锁定文件/var/lib/rpm/.dbenv.lock导致 yum 命令挂起。删除该文件后 yum 可以再次使用。