Nie można pobrać metadanych repozytorium EPEL

20

Instalacja Nginx w Scientific Linux zgodnie z tą dokumentacją kończy się niepowodzeniem:

[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 ~]$

Informacje o wersji

[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 ~]$

Uwaga: sudo yum update -y został wydany przed rozpoczęciem instalacji nginx

Instalacja innych pakietów wyłączona

[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 Debugger Log

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

Wyświetlaj mniam aktualizację przed i po próbie instalacji 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 = aktualizacja „epel”

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update
030
źródło
1
Spróbuj yum updatenajpierw i zobacz, co się stanie.
garethTheRed
Problem nadal występuje po wykonaniu tego polecenia przed rozpoczęciem instalowania nginx
030
Spróbuj uruchomić instalację z URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Spowoduje to utworzenie dużej ilości informacji debugowania debug.log, ale możesz być w stanie ustalić, gdzie się nie powiedzie.
garethTheRed
Dodano dziennik debugowania URLGRABBER
030
Myślę, że @garethTheRed ma rację. Po dodaniu repozytorium musisz go zainicjować, aby móc pobrać pakiety dostarczone przez repozytorium w quesiton.
Valentin Bajrami

Odpowiedzi:

20

Jeśli nie powiedzie się:

yum check-update

ale:

yum --disablerepo="epel"  check-update

działa, a następnie uruchom:

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

i sprawdź debug.log:

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

Jeśli ten komunikat zostanie znaleziony, spróbuj:

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

Jeśli to nie rozwiąże problemu, konieczna może być aktualizacja certyfikatów ca:

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

Jeśli to nie rozwiąże problemu, wykonaj kopię zapasową bieżącego certyfikatu CA:

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

i biegnij:

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

Wyjaśnienie

Dziennik pokazuje błąd certyfikatów SSL systemu.

Pakiet certyfikatów CA w twoim systemie mógł zostać w jakiś sposób uszkodzony, a yum -disablerepo="epel" reinstall ca-certificatespowyższe polecenie po prostu nadpisuje twoją nową wersję. Jest mało prawdopodobne, aby była to odpowiedź, ponieważ wszystkie inne repozytoria działają - jeśli wystąpią poważne problemy z SSL, wszystkie repozytoria się nie powiodą.

Powyższe curl...polecenie zastępuje pakiet certyfikatów CA twojego systemu nowszą wersją. Pakiet certyfikatów CA zawiera wszystkie certyfikaty głównego CA, którym ufa system.

W tym przypadku repozytorium EPEL ma nowe certyfikaty SSL (podpisane przez nowy główny urząd certyfikacji), których system nie ufa. Repozytoria CentOS nadal działają z nieco starszymi certyfikatami.

garethTheRed
źródło
33

Problem polega na tym, że pakiet nss jest zbyt stary. Ta starsza wersja nie może komunikować się z witryną Fedory, za pośrednictwem curlktórej używana jest starsza wersja biblioteki nss.

Po prostu zaktualizuj swoją wersję nss do najnowszej, to rozwiązuje problem z aktualizacją repozytorium EPEL:

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

UWAGA: ta wersja nss-3.14.3-4.el6_4.x86_64 działa dobrze z repozytorium EPEL.

Eugene Woronow
źródło
2
Ten pracował dla mnie na
Centos
1
Dziękujemy za opublikowanie odpowiedzi, ale w moim przypadku problem Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againnadal występuje.
030
Niesamowite! pracował dla mnie za pomocą
Centos
4

Miałem ten sam błąd podczas pracy za korporacyjnym proxy. Aktualizacja certyfikatów lub używanie protokołu http nie pomogło. Aby to naprawić, musiałem dodać ustawienie proxy do każdego z repozytoriów epel:

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

Wstaw oczywiście swoje własne dane proxy.

Moje pliki repo wyglądają teraz tak:

[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
źródło
2

Miałem ten sam problem i naprawiłem go, zmieniając httpsna prosty http.

Nie jest to idealne rozwiązanie, ale może być dobrym obejściem w zależności od potrzeb w zakresie bezpieczeństwa.

vrushal patil
źródło
1
To tak naprawdę nie odpowiada na pytanie. Jeśli masz inne pytanie, możesz je zadać, klikając Zadaj pytanie . Możesz także dodać nagrodę za zwrócenie większej uwagi na to pytanie, gdy będziesz mieć wystarczającą reputację .
jordanm
1
@jordanm Nie wpływa na główny problem, ale może być obejściem problemu. Jest ok dla mnie.
Hauke ​​Laging
0

Miałem ten sam problem, wypróbowałem wszystkie powyższe kroki, które nie zadziałały. Dowiedziałem się, jak głupi byłem, ponieważ próbowałem zainstalować bez zalogowania do roota. Nawet ty moje konto miało dostęp sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Naprawiono moje problemy z CentOS 7

Nowy w CentOS
źródło