Não foi possível extrair os metadados do repositório EPEL


20

A instalação do Nginx no Scientific Linux de acordo com esta documentação falha:

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

Versão informação

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

Nota: sudo yum update -y foi emitido antes de iniciar a instalação do nginx

Instalação de outros pacotes desativados

[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 Log do Depurador

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

Atualização do yum de saída antes e depois da tentativa de instalar o 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 = atualização "epel"

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update

11
Tente yum updateprimeiro e veja o que acontece.
precisa saber é o seguinte

O problema persiste após a execução deste comando antes de iniciar a instalação do nginx
030

Tente executar a instalação com URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Isso criará uma grande quantidade de informações de depuração debug.log, mas você poderá descobrir onde elas falham.
precisa

URLGRABBER Log de depuração foi adicionado
030

Eu acho que @garethTheRed está certo. Após adicionar o repositório, você precisa inicializá-lo para recuperar os pacotes fornecidos pelo repositório no quesiton.
Valentin Bajrami

Respostas:


20

Se o seguinte falhar:

yum check-update

mas:

yum --disablerepo="epel"  check-update

funciona, execute:

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

e verifique debug.log:

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

Se esta mensagem for encontrada, tente:

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

Se isso não resolver o problema, talvez seja necessário atualizar seus certificados ca:

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

Se isso não resolver o problema, faça backup do seu certificado CA atual:

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

e corra:

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

Explicação

O log mostra um erro nos certificados SSL do seu sistema.

O pacote de certificados da CA no seu sistema pode estar corrompido de alguma forma e o yum -disablerepo="epel" reinstall ca-certificatescomando acima simplesmente substitui o seu por uma versão nova. É improvável que seja a resposta, pois todos os outros repositórios estão funcionando - se houvesse grandes problemas de SSL, todos os repositórios falhariam.

O curl...comando acima substitui o pacote de certificados CA do seu sistema por uma versão mais recente. O pacote de certificados da CA contém todos os certificados da CA raiz em que seu sistema confia.

Nesse caso, o repositório EPEL possui novos certificados SSL (assinados por uma nova CA raiz) em que seu sistema não confia. Os repositórios do CentOS continuam trabalhando com seus certificados um pouco mais antigos.


33

O problema é que o pacote nss é muito antigo. Esta versão mais antiga não pode falar com o site do Fedora, através do curlqual utiliza uma versão mais antiga da biblioteca nss.

Basta atualizar sua versão nss para a mais recente, pois resolve o problema com a atualização do repo EPEL:

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

NOTA: esta versão do nss-3.14.3-4.el6_4.x86_64 funciona bem com o repositório EPEL.


2
Este funcionou para mim no Centos 6. #
NorbyTheGeek

11
Obrigado por postar uma resposta, mas no meu caso o problema Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againpersiste.
030

Impressionante! trabalhou para mim usando Centos 6
Guided33

4

Eu tive o mesmo erro ao trabalhar atrás de um proxy corporativo. Atualizar certificados ou usar http não ajudou. Para corrigi-lo, tive que adicionar uma configuração de proxy a cada um dos repositórios epel:

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

Insira seus próprios detalhes de proxy, é claro.

Meus arquivos de recompra agora ficam assim:

[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
...

2

Eu tive o mesmo problema e o corrigi, mudando httpspara simples http.

Não é uma solução perfeita, mas pode ser uma solução decente, dependendo das suas necessidades de segurança.


11
Isso realmente não responde à pergunta. Se você tiver uma pergunta diferente, faça-a clicando em Fazer pergunta . Você também pode adicionar uma recompensa para chamar mais atenção para essa pergunta quando tiver reputação suficiente .
Jordanm

11
@jordanm Não afeta o problema principal, mas pode ser uma solução alternativa. Tudo bem para mim.
Hauke ​​Laging

0

Eu tive o mesmo problema, tentei todas as etapas acima e nenhuma funcionou. Descobri como eu era burra porque tentei instalar sem estar logado no root. Até tu minha conta teve acesso ao sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Corrigido meus problemas no CentOS 7

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.