20

在我的 CentOS 8 服务器上,许多命令都失败并出现以下错误dnfyum

无法为 repo 下载元数据

这似乎仅适用于涉及 https 连接的存储库,例如:

/etc/yum.repos.d $ cat epel-modular.repo
[epel-modular]
name=Extra Packages for Enterprise Linux Modular $releasever - $basearch/pub/epel/$releasever/Modular/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=$basearch&infra=$infra&content=$contentdir
...

我曾经wget测试到这些站点的连接性,它是成功的,例如wget https://mirrors.fedoraproject.org成功。

但是,各种dnforyum命令失败:

$ dnf provides /bin/ls
Extra Packages for Enterprise Linux Modular 8 - x86_64     0.0  B/s |   0  B     00:00
Failed to download metadata for repo 'epel-modular'
Error: Failed to download metadata for repo 'epel-modular'

# dnf update --refresh
CentOS-8 - AppStream                                        20 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                             19 kB/s | 3.8 kB     00:00
CentOS-8 - Extras                                          7.4 kB/s | 1.5 kB     00:00
CentOS-8 - PowerTools                                       20 kB/s | 4.3 kB     00:00
Remi's Modular repository for Enterprise Linux 8 - x86_64  4.1 kB/s | 3.5 kB     00:00
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 3.6 kB/s | 3.0 kB     00:00
Wazuh repository                                           0.0  B/s |   0  B     00:00
Failed to download metadata for repo 'wazuh_repo'
Error: Failed to download metadata for repo 'wazuh_repo'

我该如何解决这个问题?

4

10 回答 10

21

就我而言

sudo rm -r /var/cache/dnf 

解决了我的问题。

来源:https ://access.redhat.com/discussions/4222851

于 2020-02-07T05:02:12.717 回答
8

我在 docker 容器内构建 Centos8 时遇到了同样的错误。通过运行以下命令修复:

# Do on build
RUN dnf clean all && rm -r /var/cache/dnf  && dnf upgrade -y && dnf update -y 

之前的错误(我运行的是 yum update 而不是 dnf):

Step 4/5 : RUN yum clean all && yum update -y && echo hostname -a
 ---> Running in 10d319da361d
0 files removed
CentOS-8 - AppStream                            0.0  B/s |   0  B     00:05    
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'

成功后:

 ---> 0b96049ee5eb
Step 4/5 : RUN dnf clean all && rm -r /var/cache/dnf  && dnf upgrade -y && dnf update -y & echo hostname
 ---> Running in f928c6da6cb0
hostname
Removing intermediate
于 2020-03-08T08:16:25.327 回答
6

我刚遇到这个问题,所以我想我会为我添加修复它的内容,因为解决方案非常简单。对我来说,我忽略了这样一个事实,即每当我更改主机名时,它都会清除 /etc/resolv.conf 中的所有内容,所以我:

  1. nano -w /etc/resolv.conf**
  2. 添加了以下几行:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  3. 测试它(例如yum update -y

**注意:我在示例中使用 nano,只需将部分交换nano为您自己选择的文本编辑器

于 2020-04-29T22:41:50.510 回答
3

只需将以下(DNS 服务器)添加到 /etc/resolv.conf 文件中:

nameserver 9.9.9.9

将解决问题:)

于 2020-04-04T12:21:38.213 回答
3

如果它不起作用,请检查您的 Internet 连接。这个错误出现在我的 CentOS 8 安装中,问题是没有正确配置 Internet 连接。

于 2020-02-10T13:14:48.847 回答
1

您可能没有意识到这一点,但在通过安全 HTTP(又名HTTPS)进行通信yum时需要 SSL 证书。dnf你检查过下面的证书吗?至少应该有两个,例如:/etc/pki/tls/certs

/etc/pki/tls/certs# ls -l
total 4
lrwxrwxrwx 1 root root   49 Jan 30 12:48 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
lrwxrwxrwx 1 root root   55 Dec 11 13:19 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

如果这些链接丢失,您可以简单地恢复它们。否则,文件是ca-certificates包的一部分。您可以通过yumdownloader从运行您的操作系统的另一台服务器获取它们,然后使用yum --nogpgcheck localinstall <RPM file>.

于 2020-01-30T20:00:08.467 回答
0

我将确认我最近遇到了这个问题,为我解决的问题是 DNS 服务器的更改。我有一个静态 IP 集,但 DNS 是自动的,我必须重新配置 DNS 才能使用我的网关和 dc。现在正在工作。

于 2020-04-23T14:15:48.180 回答
0

我尝试跑步时遇到了这个问题

yum update -y

从码头集装箱。我将版本从 centos:8 更改为 centos:7,它为我解决了这个问题。

于 2020-03-05T06:52:43.463 回答
0

在将 SD 适配器弄乱到 microSD 卡后,我遇到了同样的错误。编辑/etc/fstab删除 SD 线为我解决了这个问题。

于 2020-03-27T10:47:07.543 回答
0

我的问题是在全新的 vm 安装后界面没有启动。跑去ifconfig找到我的接口名称,然后ifup eXXX得到一个 dhcp ip 地址。

也不要忘记更改ONBOOT=noONBOOT=yesin/etc/sysconfig/network-scripts/ifcfg-eXXX以便在下次启动时出现。

于 2020-05-01T23:51:18.680 回答