ошибка yum/dnf: не удалось загрузить метаданные для репо

На моем сервере CentOS 8 многие команды dnf и yum завершаются с ошибкой:

Не удалось загрузить метаданные для репозитория

Кажется, это применимо только к репозиториям, использующим 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 удается.

Однако различные команды dnf или yum терпят неудачу:

$ 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'

Как решить эту проблему?


person CODE-REaD    schedule 30.01.2020    source источник
comment
У вас могут возникнуть проблемы с подключением к репозиторию по разным причинам, поэтому всегда полезно использовать dnf update -v (v для подробного описания), чтобы получить как можно больше информации.   -  person ElToro1966    schedule 16.04.2020
comment
Хотя я согласен, что это вопрос не по теме, потому что это первое попадание в поисковые системы, вот возможное решение: (я знаю, что не должен отвечать на этот вопрос, но редактирование было бы большим злом): отметьте /etc/yum/vars/releasever, если это содержит редактирование дополнительной версии: sed -i 's/$releasever/8/g' /etc/yum.repos.d/epel*.repo, чтобы отразить только основную версию. Взято с сайта access.redhat.com/discussions/5473561.   -  person Johannes Maria Frank    schedule 09.07.2021


Ответы (10)


В моем случае

sudo rm -r /var/cache/dnf 

решил мою проблему.

Источник: https://access.redhat.com/discussions/4222851

person nepalipunk    schedule 07.02.2020
comment
Вы можете улучшить этот ответ, объяснив, почему удаление этой папки решает проблему. - person james.garriss; 29.07.2020

Я получал ту же ошибку со сборкой Centos8 внутри док-контейнера. Исправлено, выполнив следующее:

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

Ошибка раньше (я запускал обновление yum, а не 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
person Edwrd_T_Justice    schedule 08.03.2020
comment
обновление dnf приводит к той же ошибке - person A. Gille; 26.03.2020
comment
запуск всей строки команд или только этой? У вас может быть другая первопричина, чем у меня, извините ???? - person Edwrd_T_Justice; 27.03.2020

Я только что столкнулся с этой проблемой, поэтому решил добавить то, что исправило ее для меня, поскольку решение было довольно простым. Что касается меня, я упускал из виду тот факт, что всякий раз, когда я менял свое имя хоста, оно стирало все в /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 на свой собственный текстовый редактор по выбору

person Scott White    schedule 29.04.2020

Если это не работает, проверьте подключение к Интернету. Эта ошибка появилась при установке CentOS 8, и проблема заключалась в неправильной настройке подключения к Интернету.

person david.t_92    schedule 10.02.2020
comment
Вы были правы, для людей, у которых такая же проблема, добавьте эту строку в свой /etc/sysconfig/network-scripts/ifcfg-eth0 файл: ONBOOT=yes. Оригинальный ответ здесь. - person Anthony Luzquiños; 08.06.2020

Просто добавьте следующее (DNS-сервер) в файл /etc/resolv.conf:

nameserver 9.9.9.9

Решим проблему :)

person Yazan Yahya    schedule 04.04.2020
comment
Можете ли вы объяснить, почему это решает проблему? Является ли это частным DNS-сервером, и если да, то под чьим контролем он находится? - person halfer; 16.05.2020
comment
Что это должно делать? - person PKHunter; 03.01.2021

Вы можете этого не осознавать, но yum и dnf требуют SSL-сертификатов при обмене данными по защищенному протоколу HTTP (он же HTTPS). Вы проверили сертификаты под /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, а затем восстановить сертификаты с полученный файл RPM с помощью yum --nogpgcheck localinstall <RPM file>.

person CODE-REaD    schedule 30.01.2020
comment
скачать пакет можно через wget, curlили любой браузер - person Romeo Ninov; 31.01.2020

Я столкнулся с этой проблемой, когда пытался запустить

yum update -y

из докер-контейнера. Я изменил версию с centos:8 на centos:7, и это решило проблему для меня.

person Raj Shirolkar    schedule 05.03.2020

У меня была такая же ошибка после того, как я возился с переходником SD на карту microSD. Изменить /etc/fstab, чтобы удалить строку SD, решило проблему для меня.

person Al Po    schedule 27.03.2020

Я подтвержу, что у меня недавно была эта проблема, и что исправило ее для меня, так это изменение DNS-серверов. У меня был установлен статический IP-адрес, но DNS был автоматическим, мне пришлось перенастроить DNS для использования моего шлюза и постоянного тока. Это работает сейчас.

person SysUser    schedule 23.04.2020

Моя проблема заключалась в том, что интерфейс не работал после новой установки vm. Запустил ifconfig, чтобы найти имя моего интерфейса, а затем ifup eXXX, чтобы получить IP-адрес DHCP.

Также не забудьте изменить ONBOOT=no на ONBOOT=yes в /etc/sysconfig/network-scripts/ifcfg-eXXX, чтобы он появился при следующей загрузке.

person ICTSOL    schedule 01.05.2020
comment
В моем случае у меня был настроен статический IP-адрес, и в этой конфигурации отсутствовала запись DNS. Следование этому руководству по правильному назначению статического IP-адреса в CentOS 8 устранило мою проблему: howtoforge.com/how-to-configure-a-static-ip-address-on-centos-8 - person paulg; 03.02.2021