yum 挂起并且不响应

yum 挂起并且不响应

我正在运行yum check-update,它在输出两行之后就冻结了:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

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

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

答案1

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

nslookup google.com

如果您从该命令中返回 IP,则 DNS 应该没问题。然后尝试删除 fastestmirror 缓存并重新运行 yum 命令:

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

答案2

这一切对我来说都不起作用。

使用 CentOS 和 yum。yum 挂起时没有出现错误消息,至少看起来是这样。按Ctrl+C不起作用(一次又一次地按它才有效)。

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

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

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all

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

debuglevel=1
errorlevel=1
timeout=1

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

yum --verbose --noplugins info

你可能会得到如下结果:

 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.

这表示无法从服务器接收任何信息。在您的 Web 浏览器中尝试 yum 显示的 URL(上面用 link-to-server-repository 表示)。从您的 yum 响应中复制并粘贴它,而不是从此帖子中!如果您获得列表,则说明存储库已在线。

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

wget link-to-server-repository/repomd.xml

如果发生超时,则说明防火墙或代理设置存在问题。请尝试禁用防火墙。

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

csf -x

再次尝试 yum,如果成功,你需要重新配置你的csfcsf使用以下命令再次启用:

csf -e

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

答案3

就我的情况而言,是 RPM 数据库锁定文件拖延/var/lib/rpm/.dbenv.lock导致 yum 命令挂起。删除该文件后,yum 即可再次使用。

答案4

遇到了类似的问题,原因是 yum lock 文件存在,/var/run/yum.pid由于致命错误,之前的 yum 运行遗留了该文件。

我将其删除sudo rm /var/run/yum.pid后问题就解决了。

相关内容