Impossível extrair metadados do repositório EPEL

20

Instalando o Nginx no Linux Scientific 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 ~]$

Informações da versã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 ~]$

Observação: 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

Atualize 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
    
por 030 03.08.2014 / 15:09

5 respostas

19

Se o seguinte falhar:

yum check-update

mas:

yum --disablerepo="epel"  check-update

funciona e, em seguida, é executado:

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

e verifique debug.log para:

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 de autoridade de certificação:

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

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

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

e execute:

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

Explicação

O log mostra um erro com os certificados SSL do seu sistema.

O pacote de certificados de CA no seu sistema pode, de alguma forma, se corromper e o comando yum -disablerepo="epel" reinstall ca-certificates acima simplesmente substitui o seu por uma nova versão. No entanto, é improvável que essa seja a resposta, já que todos os outros repos estão funcionando - se houvesse grandes problemas de SSL, todos os repos falhariam.

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

Neste caso, o repo EPEL tem novos certificados SSL (assinados por uma nova autoridade de certificação raiz) nos quais seu sistema não confia. Os repositórios do CentOS continuam a trabalhar com seus certificados um pouco mais antigos.

    
por 03.08.2014 / 20:18
31

O problema é que o pacote nss é muito antigo. Esta versão mais antiga não pode falar com o site do Fedora via curl , que usa uma versão mais antiga da biblioteca nss.

Atualize sua versão do nss para o mais recente, isso resolve o problema com a atualização do repo do 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.

    
por 21.10.2014 / 15:41
3

Eu tive o mesmo erro ao trabalhar com um proxy corporativo. Atualizar certificados ou usar http não ajudou. Para corrigi-lo, eu tive que adicionar uma configuração de proxy para cada um dos repos 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 repo agora são 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
...
    
por 19.11.2015 / 11:26
2

Eu tive o mesmo problema e corrigi-lo alterando https para simples http .

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

    
por 30.01.2015 / 06:55
0

Eu tive o mesmo problema, tentei todas as etapas acima, nenhuma funcionou. Descobri o quão estúpido eu estava porque tentei instalar sem estar logado no root. Mesmo tu minha conta tinha acesso sudo.

sudo yum remove epel-release

su root

sudo yum install epel-release

Corrigidos meus problemas no CentOS 7

    
por 27.01.2015 / 20:18