yum error “No se puede recuperar metalink para el repositorio: epel. Verifique su ruta y vuelva a intentarlo ”actualizando ContextBroker

106

Estoy tratando de actualizar Orion ContextBroker usando el comando yum install contextBroker. Desafortunadamente, aparece el siguiente error:

Complementos cargados: quickmirror, refresh-packagekit, carga de seguridad

velocidades de espejo desde el archivo host en caché

Error: no se puede recuperar metalink para el repositorio: epel. Verifique su ruta y vuelva a intentarlo

¿Qué podría estar saliendo mal?

JosepB
fuente
3
Paso de solución de problemas sugerido: ¿puede su sistema curl -v https://mirrors.fedoraproject.org?
mwfearnley
La respuesta seleccionada es una solución que no soluciona el problema de raíz y, de hecho, la instalación del paquete puede seguir fallando. Sugiero anular la selección de la mejor respuesta y dejar que el recuento de votos clasifique las respuestas según la que funcionó para la mayoría de las personas.
Paul

Respuestas:

125

Resolví este problema editando ambos archivos /etc/yum.repos.d/epel.repoy /etc/yum.repos.d/epel-testing.repo, comentando todas las entradas que comienzan con mirrorlist=...y descomentando todas las entradas que comienzan con baseurl=....

fgalan
fuente
En mi caso, esta solución permitió a yum descargar con éxito metadatos para el repositorio de epel, pero intentar instalar paquetes falló con [Errno 14] Peer cert cannot be verified or peer cert invalid. La solución correcta fue actualizar los certificados ca, como en la respuesta a continuación.
bain
3
comentar todas las entradas que comienzan con metalink = ... y descomentar todas las entradas que comienzan con baseurl = .... funcionó para mí en RHEL7.1
Anurag Singh
1
Probé su método, luego yum clean all && yum updatefuncionó. Pero no del todo, decía, epel-release-7-11.noarch: [Errno 256] No more mirrors to tryetc. Así que lo intenté yum update curl --disablerepo=epelcomo sugirió sbetharia, y lo intenté de yum clean all && yum updatenuevo, finalmente funcionó.
Hosi Golden
Trabajó para mi. Muchas gracias.
tarekahf
3
No tenía mirrorlist=líneas, pero tenía metalink=líneas y era necesario comentarlas.
JellicleCat
170

Solo necesitaba actualizar el paquete de certificados ca. Antes de eso, simplemente desactive todos los repositorios con https que estén fallando. Es por eso que la solución con comentar la lista de espejos o usar http en lugar de https también funcionaría.

Por ejemplo, si necesita deshabilitar solo epel repo:

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

Esto también ayudará a wget, curl y cualquier otra cosa que use certificados SSL.

XoR
fuente
9
Esto debe aceptarse como la respuesta correcta, ya que diagnostica la fuente real del problema, en lugar de simplemente proporcionar una solución alternativa.
Horatio Alderaan
1
Probé esto en la caja bento CentOS 6.5 y hace que las cosas sean un poco más confiables cuando se ejecuta yum clean all && yum makecache. Sin embargo, todavía falla a veces. Agregar un reintento a mi script lo hizo aún más confiable. Sospecho que algunos espejos no son confiables y un reintento puede dar otro espejo que funcione. Entonces, si al principio no funciona, ¡inténtalo de nuevo!
TrinitronX
1
Bueno, esto viene de la experiencia, y sí, el mensaje es críptico :)
XoR
2
asegúrese de estar detrás de un proxy corporativo para configurarlo también para https, por ejemploexport https_proxy=<your proxy>
Markus
3
epel-repo RPM debe tener certificados ca tiene dependencia !!
Stéphane
59

usa este comando:

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

o alternativamente use el comando

vi /etc/yum.repos.d/epel.repo

vaya a la línea número 4 y cambie la URL de

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

a

mirrorlist=http://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
sumit pandit
fuente
Gracias; esto funcionó para mí después de probar muchas de las otras soluciones documentadas (mi error fue, Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). Mi pregunta es, ¿por qué funcionó esto? ¿Se debe esto a un problema de configuración en el sitio del repositorio?
LECTURA DE CÓDIGO
1
Probablemente no sea el servidor HTTPS, pero el soporte del lado del cliente HTTPS en los sistemas puede quedar desactualizado, ya que las autoridades de certificación raíz no se actualizan o las bibliotecas SSL no admiten nuevos cifrados.
mwfearnley
Después de muchos intentos, resuelto con su comando sed. Solo copiar + pegar, eso es lo que necesitaba porque normalmente no estoy a cargo de este tipo de cosas, solo instalo una computadora de prueba para ser utilizada solo por mí para probar algunas actualizaciones de la base de datos.
EAmez
1
En Cent OS 7.6, esto essudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979
19

Para mi caso, comentar mirrorlisty no comentar las entradas con baseurldin no funciona. Me di cuenta de que el problema estaba en el httpsinterior de los .repoarchivos de fedora. Lo resolví entrando /etc/yum.repository.dy reemplazando todo httpscon httpdiferentes archivos .repo. ¡¡Eso funciono!!

Joseph N.
fuente
Esto probablemente tenga que ver con un proxy configurado en /etc/yum.conf (proxy de la empresa).
Christof Kälin
19

Supongo que esto debería funcionar. Resolví mi problema con esto.

$ sudo yum limpiar todo

$ sudo yum --disablerepo = "epel" actualización nss

Varun
fuente
3
Esto funciona para Centos 6.8. Gracias
neo
1
Esto también resolvió mi problema, tengo curiosidad por saber por qué update nssayuda a resolver este problema.
KLajdPaja
12

Actualizar curl funcionó para nosotros. De alguna manera, yum usa curl para sus transacciones.

yum update curl --disablerepo=epel
sbetharia
fuente
Su respuesta es mejor que la respuesta aceptada, no necesita cambiar epel.repo o epel-testing.repo.
Hosi Golden
Rastreé esto y actualicé curl antes de leer esta o algunas de las otras respuestas. Veo que la actualización de curl también actualizó nss ... así que me pregunto si ese fue el problema. En mi caso, la URL curl'ed metalink, vio que falló, y vio que trabajé con --tlsv1 ( bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1170339 ). Se supuso que curl estaba desactualizado y se actualizó. Así que ahora me pregunto si NSS podría haberse actualizado sin actualizar curl y hubiera funcionado o no.
Paul
9

Verifique si accede a Internet a través de un proxy y luego agregue la dirección de proxy de Internet a la yumconfiguración.

añadir

proxy=http://ip:port

a /etc/yum.conf

Rashad Saif
fuente
2
asegúrese de tener también especificado el proxy https.
Markus
1
esto funcionó para mí, pero solo con el siguiente parámetro adicional:proxy_username=your_user proxy_password=your_passwd
MaggusK
7

Pasos del tutorial

La ejecución del siguiente comando actualizará el repositorio para usar HTTP en lugar de HTTPS:

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

Entonces debería poder actualizar con este comando:

yum -y update
Trabajo de Varadhan
fuente
¡La única solución que funciona para mí! Todos los demás no han cambiado nada (necesito paquetes epel).
KuroNeko
En Cent OS 7.6, esto essudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979
6

Puede encontrar este mensaje / error después de instalar epel-release. La solución rápida es actualizar sus certificados SSL:

yum -y upgrade ca-certificates

Lo más probable es que el error anterior también se produzca durante la actualización del certificado, de ser así, simplemente desactive el epelrepositorio, es decir, utilice el siguiente comando:

yum -y upgrade ca-certificates --disablerepo=epel 

Una vez que se actualicen los certificados, podrá usar yum normalmente, incluso el repositorio de epel funcionará bien. En caso de que reciba este mismo error para un repositorio diferente, simplemente coloque su nombre junto a la --disablerepo=<repo-name>bandera.


Nota : utilícelo sudosi no es el rootusuario.

Nabeel Ahmed
fuente
1
Esa es la mejor respuesta para mí :)
qingbo
5

Resolví este problema con esta solución.

acaba de cambiar en este archivo /etc/yum.repos.d/epel.repo

mirrorlist = cambiar esta URL https a http

baseurl = cambiar esta URL https a http

como empiezo
fuente
4

Todo lo anterior no funcionó para mí, pero una reconstrucción de la base de datos rpm, con el siguiente comando, sí:

sudo rpm --rebuilddb

Gracias por toda la ayuda.

Beavus Slagerty
fuente
1
Tuve que usar baseurl en lugar de mirrorlist (respuesta aceptada) antes de hacer esto
Telmo Pimentel Mota
3

Para las cajas que no tienen acceso a Internet, puede eliminar el epelrepositorio:

yum remove epel-release --disablerepo=epel

Esto sucedió a mí, ya que accidentalmente instalado epel-releaseutilizando rpmen un cuadro de prod.

Howard Lee
fuente
3

Encontré el mismo problema a pesar de que el paquete de certificados ca está actualizado. El espejo https://mirrors.fedoraproject.org/ está firmado actualmente por el DigiCert High Assurance EV Root CAque está incluido en mica-bundle

$ grep -A 3 "DigiCert High" /etc/ssl/certs/ca-bundle.crt 
# DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3

La razón por la que fallaron las conexiones https en mi caso, fue que la fecha del sistema se estableció en el año 2002 en el que DigiCert High Assurance EV Root CAno es (todavía) válido.

$ date
Di 1. Jan 11:10:35 CET 2002

Cambiar la hora del sistema solucionó el problema.

sauerburger
fuente
Muchas gracias por esta respuesta. Usted, señor, es una leyenda
Tony Sepia
2

Lo resolví yendo a /etc/yum.repository.d/. Para mi caso, comento la lista de espejos y las entradas sin comentarios con baseurl. así como sslverify = false agregado.

/server/637549/epel-repo-for-centos-6-causing-error

Laxman S
fuente
No solo eso, sino también cambiar las URL a archives.fedoraproject.org/pub/archive/fedora/linux/releases/… (para fedora.repo y fedora-updates.repo). Tenga en cuenta los "archivos" al frente y el "pub / archivo" en la ruta)
dagelf
yum install -y yum-utils --disablerepo = epel && yum-config-manager --save --setopt = epel.sslverify = false
Andrei Sedoi
2

He solucionado este problema cambiando las entradas https en el archivo epel.repo a http.

Fabricio
fuente
1

En mi caso, cuando comento la lista de espejos, el error se escapó, pero el repositorio tampoco funcionaba, así que apunto manualmente la baseurl correcta /etc/yum.repos.d/epel.repocomo se muestra a continuación

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/debug/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://iad.mirror.rackspace.com/epel/7Server/SRPMS/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

Rohit Sharma
fuente
0

Cambiar la URL de la lista de espejos de https a http solucionó el problema.

Anil Reddy
fuente
0

Arreglado el mío así:

yum install elfutils-default-yama-scope-0.168-8.el7.noarch --disablerepo=epel
yum install nss-pem -disablerepo=epel
yum reinstall ca-certificates --disablerepo=epel
yum clean all
rm -rf /var/cache/yum
yum update`
Futur'Fusionneur
fuente
0

Ninguno de estos funcionó para mí (ni siquiera probé los trucos como editar manualmente el archivo de repositorio).

Sin embargo, funcionó después de un simple yum update -y

jaustin
fuente
0

Otra posible causa es que su arquitectura no sea compatible. Me encontré con esto porque me proporcionaron una VM de CentOS, quería instalar EPEL y no pude por mi vida hacerlo.

Resulta que la máquina virtual era CentOS 7 i386, que es una arquitectura que aparentemente ya no es compatible con EPEL. Supongo que el único remedio en este caso es reinstalar.

aross
fuente