在尝试从任何存储库更新任何包时,很难追踪导致以下错误的原因。我通过将所有其他存储库设置为禁用来测试了多个存储库。我已经清理了所有缓存并删除了所有 dnf yum 缓存文件。
# dnf -v update
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.7
cachedir: /var/cache/dnf
repo: downloading from remote: AppStream
error: Curl error (28): Timeout was reached for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Resolving timed out after 30000 milliseconds] (http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock).
CentOS-8 - AppStream 0.0 B/s | 0 B 00:30
Cannot download 'http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock': Cannot prepare internal mirrorlist: Curl error (28): Timeout was reached for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Resolving timed out after 30000 milliseconds].
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'
每次我尝试 dnf 更新时,服务器上的平均负载都会飙升,高达 40 倍
curl可以访问镜像站点。
curl 'http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock'
http://ftp.tc.edu.tw/Linux/CentOS/8.2.2004/AppStream/x86_64/os/
http://mirror.horizon.vn/centos/8.2.2004/AppStream/x86_64/os/
http://ftp.jaist.ac.jp/pub/Linux/CentOS/8.2.2004/AppStream/x86_64/os/
http://centosg9.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://packet01.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://mirror.s8.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://centoso7.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://centosh9.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://centosc8.centos.org/centos/8.2.2004/AppStream/x86_64/os/
http://centosg7.centos.org/centos/8.2.2004/AppStream/x86_64/os/
我也尝试过在.repo中使用baserurl,同样的错误
我还用curl返回的url之一替换了baseurl,同样的错误
我尝试了很多建议,例如 yum/dnf 错误:无法下载存储库的元数据 类似的,没有一个对我有用。 有些文章指出 $releaseserver 等环境变量中的错误。我也尝试用实际值替换。同样的错误。
由于卷曲结果,互联网连接显然正常。 没有使用代理。 DNS 正常
cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
uname -a
Linux xxxx 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
如有任何建议,我们将不胜感激。
由于一些奇怪的原因,将
/etc/resolv.conf
中的名称服务器设置为 8.8.8.8
并重新启动后,我解决了问题。
此外,我禁用了 Hyper-V VM 的动态内存。 DNF 命令需要大量内存。
请尝试一下。
问候, 阿罗基亚萨米
唯一对我有用的是禁用并删除有问题的存储库。
sudo yum --disablerepo=epel\* remove epel-release.noarch
在将 cloudlinux 7.9 升级到 8 时遇到了类似的问题,其中 yum 和 dnf 在更新时出现错误,并且在更新当前操作系统的存储库时解决了问题。就我而言: rpm -Uvh https://repo.cloudlinux.com/cloudlinux/8.7/BaseOS/x86_64/os/Packages/cloudlinux-release-8.7-2.el8.x86_64.rpm --force
希望这能有所帮助。