小智 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/
。
Gar*_*ett 22
您可能有 DNS 问题。尝试确保您可以在本地解析 DNS 记录:
nslookup google.com
如果您从该命令中获得 IP,则 DNS 应该没问题。然后尝试删除最快的镜像缓存并重新运行 yum 命令:
rm -f /var/cache/yum/timedhosts.txt
归档时间: |
|
查看次数: |
110340 次 |
最近记录: |