la actualización de yum falla: Error: no se pueden recuperar los metadatos del repositorio (repomd.xml) para el repositorio ...

34

Estoy usando CentOS 6.3. Cuando intento actualizar mi sistema con yum, tengo este mensaje:

yum update

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * centosplus: miroir.univ-paris13.fr
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum clean all

Loaded plugins: fastestmirror
Cleaning repos: CactiEZ addons base centosplus extras pgdg93 update
Cleaning up Everything
Cleaning up list of fastest mirrors

yum check

Loaded plugins: fastestmirror
check all

yum erase apf

Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: apf
Determining fastest mirrors
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
CactiEZ                                                | 2.9 kB     00:00
CactiEZ/primary_db                                     |  13 kB     00:00
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum upgrade

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

My yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
az93
fuente
1
desde ayer hiciste tantas preguntas sobre errores con la conectividad de internet yum y problemas de ruta, ¿acabas de considerar reinstalar tu sistema? Parece bastante f
$
Primero debe arreglar la conectividad a Internet. La reinstalación podría ser una opción. O intente arrancar un sistema de CD en vivo.
Peter
Resolví el problema eliminando la carpeta "yum.repos.d" y recreando un archivo example.repo. agregue detalles del repositorio desde aquí: linuxquestions.org/questions/linux-newbie-8/…
Yang

Respuestas:

33

Sus ca-bundles.crt son demasiado viejos. Una solución alternativa hasta que actualice a una versión más nueva de CentOS sería cambiar el epel.repo de usar https a http

sudo sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo
RobertDeRose
fuente
2
+1 Spot on. Pero no debería necesitar actualizar CentOS para obtener el último paquete de certificados (debido al soporte a largo plazo de CentOS). yum update ca-certificatesdebe hacer el truco (después de deshabilitar https para epel, o agarrar las rpm directamente y actualizar usando rpm).
Kev
@kev Bueno, en teoría, tu comentario debería funcionar, pero lamentablemente para mí cuando pregunto yum to update ca-certificatesme sale "No hay paquetes marcados para actualización" . De hecho, cuando hago un yum list | grep ca-certificatesme sale este ca-certificados.noarch 2010.63-3.el6_1.5 como la última versión en mi caja CentOS 6.4. En mi caja CentOS 6.5 obtengo ca-certificados.noarch 2014.1.98-65.1.el6 Por lo tanto, parece que necesita al menos actualizar a CentOS 6.5 para obtener los últimos CA-Ceritifcates de CentOS, u obtener manualmente las rpm e instalarlo .
RobertDeRose
@Kev Rob lo clavó. Muchas empresas aún están en distribuciones muy antiguas. Actualmente estoy trabajando en CentOS4.5 para un cliente, y tengo que hacer muchas cosas que normalmente no deberían hacerse.
SgtPooki
@RobD Parece que OP está usando http y cuando me encontré con el mismo problema, yo también estaba usando http, no https. Así que tengo curiosidad por saber cómo deduciría que los certificados raíz SSL ca que están desactualizados es la causa raíz.
Dwight Spencer
@DwightSpencer lo siento, no entiendo tu pregunta, ¿qué es OP? Deducí que mis certificados raíz de SSL eran el problema porque en mi antiguo cuadro CentOS 6.2 no podía actualizar, pero en mi cuadro 6.6 sí. Simplemente cambiar de https a http resolvió el problema. Más o menos lo reduje a eso.
RobertDeRose
16

Prueba esto (tiene que ser root)

yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade
SHW
fuente
Mira la edición
az93
¡Hurra! Funcionó :)
facundofarias
1
Funcionó perfectamente y esto es mucho más limpio que algunas otras respuestas en este hilo.
Dwight Spencer
Tuve que agregar un yum update --disableplugin fastestmirrorpase allí porque uno de esos pasos (probablemente yum clean) eliminó la información que necesitaba para contactar los espejos. Le dije "no" cuando se ofreció a hacer la actualización, luego hice un claro yum updatey esta vez tuvo éxito. Creo que el primer pase lo hizo descargar una nueva lista espejo del sitio principal de CentOS, que permitió que el segundo pase tuviera éxito.
Warren Young
6

Escriba " http://mirror.centos.org/centos/6 " en su navegador y vea, "complementos" no existe.

entonces intenta yum --disablerepo=addons update

Amauche
fuente
Entonces, ¿qué se supone que debo hacer?
az93
yum --disablerepo = actualización de complementos
Amauche
Mismo problema ...
az93
podemos ver tu conf yum?
Amauche
Mira la edición
az93
3

El problema para mí fue que los repositorios usan https y eso no funciona.

cd /etc/yum.repos.d/
grep -RFi "https" *

Esto muestra en qué archivos de repositorio se usa https. Ábrelos en un editor y hazlo http. Para mí eso solucionó el problema.

SPRBRN
fuente
3

Todas las respuestas anteriores no funcionaron para mí, pero ejecutar los siguientes comandos sí:

$ sudo yum remove centos-release-SCL
$ sudo yum update # Update to CentOS 6.8
$ sudo yum install centos-release-scl
$ sudo yum update

Lo que obtuve de esta publicación de blog .

Roy Hinkley
fuente
2

Si usa 6.5, no sé por qué, pero no existe el directorio 6.5 en el repositorio oficial de yum para centOS. Todos los paquetes devolverán un código de estado 404

Si intenta esto: http://mirror.centos.org/centos/ 6.5 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm obtendrá un 404, pero si lo intenta la versión 6.6: http://mirror.centos.org/centos/ 6.6 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm funciona.

Jefferson Souza
fuente
1

Si ejecuta "yum update" o "yum upgrade" sin ningún otro parámetro, todos los paquetes en su sistema, incluido yum, se actualizarán, por lo que realmente no hay necesidad de actualizar yum por sí solo a menos que esté actualizando las versiones de Fedora o CentOS.

Ankur Loriya
fuente
De hecho, necesito instalar ftp. Pero cuando uso yum install ftp me sale el mismo problema.
az93
1

Instalé CentOS a través de Vagrant, y vino con el /etc/yum.repos.d/directorio prepoblado con cosas como puppet.repo. Lo y he aquí, puppet.repoy otros repositorios incluidos no apuntaban a recursos válidos.

Así que los eliminé y ñam funciona ahora.

David West
fuente
1

En mi caso, que es realmente excepcional, se cambia la ubicación del archivo XML que contiene la información del repositorio.

  • Tengo conexión a internet ( ping 8.8.8.8funciona)
  • Cuando ejecuto yum upgrade, después de muchos 404errores, puedo obtener los nombres de los paquetes que debo descargar, pero no puedo descargarlos.

Y, cuando busco en la primera URL de repositorio 404, que es:

http://mirror.airenetworks.es/CentOS/7.4.1708/os/x86_64/repodata/repomd.xml

y lo veo ausente. Al ir a su carpeta principal http://mirror.airenetworks.es/CentOS/7.4.1708/readmeobtengo esto:

Este directorio (y versión de CentOS) está en desuso. Para usuarios normales, debe usar / 7 / y no /7.4.1708/ en su ruta. Consulte estas preguntas frecuentes sobre el esquema de lanzamiento de CentOS:

https://wiki.centos.org/FAQ/General

Si sabe lo que está haciendo y desea permanecer en el nivel 7.4.1708, vaya a http://vault.centos.org/ para obtener los paquetes.

Tenga en cuenta que 7.4.1708 ya no recibe actualizaciones ni correcciones de seguridad.

Entonces, tengo que volver /etc/yum.repo.da editar los archivos.

Yo tengo:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Sospecho que $releaseverya no está en uso, así que puedo probar cambiándolo a 7: (recuerde escapar &con \)

curl http://mirrorlist.centos.org/?release=7\&arch=x86_64\&repo=os\&infra=arch

podemos obtener una lista de archivos:

ftp://ftp.cesca.cat/centos/7.5.1804/os/x86_64/
http://ftp.rediris.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cica.es/CentOS/7.5.1804/os/x86_64/
http://centos.mirror.minorisa.net/7.5.1804/os/x86_64/
http://repo.nixval.com/CentOS/7.5.1804/os/x86_64/
http://centos.uvigo.es/7.5.1804/os/x86_64/
http://ftp.uma.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cixug.es/CentOS/7.5.1804/os/x86_64/
http://mirror.airenetworks.es/CentOS/7.5.1804/os/x86_64/
http://mirror.gadix.com/centos/7.5.1804/os/x86_64/

Entonces, podemos establecer la variable de esta manera:

  1. Abre el /etc/yum.repo.d/CentOS-Base.repo
  2. En la [base]sección, definir: releasever=7.
  3. Vuelva a ejecutar yum upgradeo yum install xxx.
WesternGun
fuente