Невозможно извлечь метаданные из репозитория EPEL

20

Установка Nginx на Scientific Linux в соответствии с этой документацией завершается неудачно:

[vagrant@localhost ~]$ sudo su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epe
l/6/x86_64/epel-release-6-8.noarch.rpm'
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch
.rpm
warning: /var/tmp/rpm-tmp.gdSOR9: Header V3 RSA/SHA256 Signature, key ID 0608b89
5: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
[vagrant@localhost ~]$ sudo yum install nginx
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

Информация о версии

[vagrant@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Thu Nov 21 13:35:52 CST
 2013 x86_64 x86_64 x86_64 GNU/Linux
[vagrant@localhost ~]$ cat /etc/*{release,version}
Scientific Linux release 6.5 (Carbon)
Scientific Linux release 6.5 (Carbon)
cat: /etc/*version: No such file or directory
[vagrant@localhost ~]$

Примечание: sudo yum update -y было выпущено до начала установки nginx

Установка других пакетов отключена

[vagrant@localhost ~]$ sudo yum install vim -y
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

URLGRABBER Отладочный журнал

2014-08-03 14:22:44,437 attempt 1/10: https://mirrors.fedoraproject.org/metalink
?repo=epel-6&arch=x86_64
INFO:urlgrabber:attempt 1/10: https://mirrors.fedoraproject.org/metalink?repo=ep
el-6&arch=x86_64
2014-08-03 14:22:44,438 opening local file "/var/cache/yum/x86_64/6.5/epel/metal
ink.xml.tmp" with mode wb
INFO:urlgrabber:opening local file "/var/cache/yum/x86_64/6.5/epel/metalink.xml.
tmp" with mode wb
* About to connect() to mirrors.fedoraproject.org port 443 (#0)
*   Trying IP... * connected
* Connected to mirrors.fedoraproject.org (IP) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* NSS error -8018
* Closing connection #0
* Problem with the SSL CA cert (path? access rights?)
2014-08-03 14:22:50,071 exception: [Errno 14] PYCURL ERROR 77 - "Problem with th
e SSL CA cert (path? access rights?)"
INFO:urlgrabber:exception: [Errno 14] PYCURL ERROR 77 - "Problem with the SSL CA
 cert (path? access rights?)"
2014-08-03 14:22:50,072 retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raisi
ng
INFO:urlgrabber:retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again

Вывод yum update до и после попытки установить nginx

[vagrant@localhost ~]$ sudo yum update -y
Loaded plugins: security
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Pl
ease verify its path and try again
[vagrant@localhost ~]$

yum --disablerepo = "epel" обновление

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update
+030
источник
1
Попробуйте yum updateсначала и посмотрите, что происходит.
garethTheRed
Проблема сохраняется после выполнения этой команды перед началом установки nginx
030
Попробуйте запустить установку с помощью URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Это создаст большое количество отладочной информации debug.log, но вы сможете решить, где она не работает.
garethTheRed
URLGRABBER Debug Log был добавлен
030
Я думаю, что @garethTheRed прав. После добавления репозитория вам необходимо инициализировать его, чтобы иметь возможность получать пакеты, предоставленные репозиторием в Quesiton.
Валентин Байрами

Ответы:

20

Если следующее не удается:

yum check-update

но:

yum --disablerepo="epel"  check-update

работает, затем запустите:

URLGRABBER_DEBUG=1 yum check-update 2> debug.log

и проверьте debug.log:

PYCURL ERROR 77 - "Problem with the SSL CA cert (path? access rights?)"

Если это сообщение найдено, попробуйте:

yum --disablerepo="epel" reinstall ca-certificates

Если это не решит проблему, вам может потребоваться обновить ваши ca-сертификаты:

yum --disablerepo="epel" update ca-certificates

Если это не решит проблему, создайте резервную копию текущего сертификата CA:

cp /etc/pki/tls/certs/ca-bundle.crt /root/

и запустить:

curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

объяснение

Журнал показывает ошибку с сертификатами SSL вашей системы.

Возможно, пакет сертификатов CA в вашей системе каким-то образом поврежден, а приведенная yum -disablerepo="epel" reinstall ca-certificatesвыше команда просто перезаписывает вашу новую версию. Это вряд ли будет ответом, так как все другие репозитории работают - если бы возникли серьезные проблемы с SSL, то все репозитории потерпели бы неудачу.

Приведенная curl...выше команда заменяет пакет сертификатов CA вашей системы более новой версией. Пакет сертификатов CA содержит все сертификаты корневого CA, которым доверяет ваша система.

В этом случае у репозитория EPEL есть новые сертификаты SSL (подписанные новым корневым центром сертификации), которым ваша система не доверяет. Репозитории CentOS продолжают работать со своими чуть более старыми сертификатами.

garethTheRed
источник
33

Проблема в том, что пакет nss слишком старый. Эта старая версия не может общаться с сайтом Fedora, через curlкоторый используется более старая версия библиотеки nss.

Просто обновите вашу версию nss до последней, это решает проблему с обновлением репо EPEL:

$ sudo yum clean all 
$ sudo yum --disablerepo="epel" update nss

ПРИМЕЧАНИЕ: эта версия nss-3.14.3-4.el6_4.x86_64 прекрасно работает с репозиторием EPEL.

Евгений Воронов
источник
2
Этот работал для меня на Centos 6.
NorbyTheGeek
1
Спасибо за публикацию ответа, но в моем случае проблема Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againсохраняется.
030
Потрясающе! работал для меня, используя Centos 6
Guided33
4

У меня была такая же ошибка при работе за корпоративным прокси. Обновление сертификатов или использование http не помогли. Чтобы это исправить, я должен был добавить настройки прокси для каждого репозитория epel:

for x in /etc/yum.repos.d/epel*; do sed -i '/^\[/ a proxy=http://YOUR.PROXY.HERE:8080' $x; done

Вставьте свои собственные данные прокси, конечно.

Мои файлы репо теперь выглядят так:

[epel]
proxy=http://YOUR.PROXY.HERE:8080
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
proxy=http://YOUR.PROXY.HERE:8080
...
rleelr
источник
2

У меня была та же проблема, и я исправил ее, изменив httpsна простую http.

Это не идеальное решение, но может оказаться достойным решением в зависимости от ваших потребностей в безопасности.

врушал пати
источник
1
Это на самом деле не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав Задать вопрос . Вы также можете добавить награду, чтобы привлечь больше внимания к этому вопросу, когда у вас будет достаточно репутации .
Иордания
1
@jordanm Не влияет на основную проблему, но может быть обходным решением. Вот нормально для меня.
Hauke ​​Laging
0

У меня была такая же проблема, пробовал все вышеперечисленные шаги ни один не работал. Узнал, насколько я был глуп, потому что пытался установить без входа в root. Даже ты мой аккаунт имел доступ sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Исправлены мои проблемы с CentOS 7

Новое в CentOS
источник