No se pueden extraer los metadatos del repositorio EPEL

20

La instalación de Nginx en Scientific Linux de acuerdo con esta documentación falla:

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

Información de versión

[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 se emitió antes de comenzar la instalación de nginx

Instalación de otros paquetes deshabilitada

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

Registro de depurador de 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

Salida yum update antes y después de intentar instalar 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 = actualización "epel"

[vagrant@localhost ~]$ sudo yum --disablerepo="epel" update
Loaded plugins: security
Setting up Update Process
No Packages marked for Update
030
fuente
1
Intente yum updateprimero y vea qué sucede.
garethTheRed
El problema persiste después de ejecutar este comando antes de comenzar a instalar nginx
030
Intenta ejecutar la instalación con URLGRABBER_DEBUG=1 yum install nginx 2> debug.log. Esto creará una gran cantidad de información de depuración debug.log, pero es posible que pueda resolver dónde falla.
garethTheRed
Se ha agregado el registro de depuración de URLGRABBER
030
Creo que @garethTheRed tiene razón. Después de agregar el repositorio, debe inicializarlo para poder recuperar los paquetes proporcionados por el repositorio en cuestión.
Valentin Bajrami

Respuestas:

20

Si lo siguiente falla:

yum check-update

pero:

yum --disablerepo="epel"  check-update

funciona, luego ejecuta:

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

y verifique debug.log:

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

Si se encuentra este mensaje, intente:

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

Si eso no resuelve el problema, es posible que deba actualizar sus certificados ca:

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

Si eso no resuelve el problema, haga una copia de seguridad de su certificado de CA actual:

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

y correr:

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

Explicación

El registro muestra un error con los certificados SSL de su sistema.

El paquete de certificados de CA en su sistema podría haberse dañado de alguna manera y el yum -disablerepo="epel" reinstall ca-certificatescomando anterior simplemente sobrescribe el suyo con una versión nueva. Sin embargo, es poco probable que esta sea la respuesta, ya que todos los demás repositorios funcionan: si hubiera problemas importantes de SSL, todos los repositorios fallarían.

El curl...comando anterior reemplaza el paquete de certificados de CA de su sistema con una versión más nueva. El paquete de certificados de CA contiene todos los certificados de CA raíz en los que su sistema confía.

En este caso, el repositorio EPEL tiene nuevos certificados SSL (firmados por una nueva CA raíz) en los que su sistema no confía. Los repositorios CentOS continúan trabajando con sus certificados un poco más antiguos.

garethTheRed
fuente
33

El problema es que el paquete nss es demasiado antiguo. Esta versión anterior no puede comunicarse con el sitio de Fedora a través del curlcual se usa una versión anterior de la biblioteca nss.

Simplemente actualice su versión nss a la última, resuelve el problema con la actualización del repositorio EPEL:

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

NOTA: esta versión de nss-3.14.3-4.el6_4.x86_64 funciona bien con el repositorio EPEL.

Eugene Voronov
fuente
2
Este me funcionó en Centos 6.
NorbyTheGeek
1
Gracias por publicar una respuesta, pero en mi caso el problema Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try againpersiste.
030
¡Increíble! funcionó para mí usando Centos 6
Guided33
4

Tuve el mismo error al trabajar detrás de un proxy corporativo. Actualizar certificados o usar http no ayudó. Para solucionarlo, tuve que agregar una configuración de proxy a cada uno de los repositorios de epel:

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

Inserte sus propios detalles de proxy, por supuesto.

Mis archivos de repositorio ahora se ven así:

[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
fuente
2

Tuve el mismo problema y lo solucioné cambiando httpsa simple http.

No es una solución perfecta, pero podría ser una solución alternativa decente dependiendo de sus necesidades de seguridad.

vrushal patil
fuente
1
Esto realmente no responde la pregunta. Si tiene una pregunta diferente, puede hacerla haciendo clic en Hacer pregunta . También puede agregar una recompensa para llamar más la atención sobre esta pregunta una vez que tenga suficiente reputación .
jordanm
1
@jordanm no afecta el problema principal, pero puede ser una solución alternativa. Eso está bien para mí.
Hauke ​​Laging
0

Tuve el mismo problema, probé todos los pasos anteriores, ninguno funcionó. Descubrí lo estúpido que era porque intenté instalar sin haber iniciado sesión en la raíz. Incluso tú mi cuenta tenía sudo acceso.

sudo yum remove epel-release

su root

sudo yum install epel-release

Solucioné mis problemas en CentOS 7

Nuevo en CentOS
fuente