在 Centos 8.1 上使用 Yum DNF 时出错无法下载存储库“AppStream”的元数据

问题描述 投票:0回答:3

在尝试从任何存储库更新任何包时,很难追踪导致以下错误的原因。我通过将所有其他存储库设置为禁用来测试了多个存储库。我已经清理了所有缓存并删除了所有 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

如有任何建议,我们将不胜感激。

yum centos8 dnf
3个回答
0
投票

由于一些奇怪的原因,将

/etc/resolv.conf
中的名称服务器设置为
8.8.8.8
并重新启动后,我解决了问题。

此外,我禁用了 Hyper-V VM 的动态内存。 DNF 命令需要大量内存。

请尝试一下。

问候, 阿罗基亚萨米


0
投票

唯一对我有用的是禁用并删除有问题的存储库。

sudo yum --disablerepo=epel\* remove epel-release.noarch

0
投票

在将 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

希望这能有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.