Solución al error: CentOS Linux 8 – AppStream Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist que se produce en un equipo con Linux CentOS 8 cuando se intenta instalar algún paquete con yum o dnf.
- Error Failed to download metadata for repo appstream y motivo por el que se produce.
- Solución error Failed to download metadata for repo appstream en CentOS 8.
Error Failed to download metadata for repo appstream y motivo por el que se produce
Cuando intentamos instalar algún paquete en un equipo con Linux CentOS 8, por ejemplo:
yum install chrony
Y nos devuelve el error:
CentOS Linux 8 – AppStream Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
Esto es debido a que CentOS 8 ha cambiado los repositorios de paquetes de URL. Por lo tanto hay que modificar las URL de descarga de los paquetes, como indicamos a continuación.
Solución error Failed to download metadata for repo appstream en CentOS 8
Para resolver este error, ejecutaremos los siguientes comandos desde el shell (consola, línea de comandos):
1 |
sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* |
El comando anterior modificará la línea que empiece por mirrorlist de todos los ficheros de la carpeta /etc/yum.repos.d que empiecen por CentOS-, cambiará mirrorlist por #mirrorlist, dejando esta línea comentada.
Ejecutaremos este otro comando:
1 |
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* |
El comando anterior reemplazará la línea que empieza por #baseurl por la nueva línea:
baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
En todos los ficheros que empiecen por CentOS-.
Se realizarán las modificaciones para los siguientes ficheros de la carpeta /etc/yum.repos.d:
CentOS-Linux-AppStream.repo
CentOS-Linux-BaseOS.repo
CentOS-Linux-ContinuousRelease.repo
CentOS-Linux-Debuginfo.repo
CentOS-Linux-Devel.repo
CentOS-Linux-Extras.repo
CentOS-Linux-FastTrack.repo
CentOS-Linux-HighAvailability.repo
CentOS-Linux-Media.repo
CentOS-Linux-Plus.repo
CentOS-Linux-PowerTools.repo
CentOS-Linux-Sources.repo
CentOS-PowerTools.repo.rpmsave
Por ejemplo, el contenido del fichero CentOS-Linux-AppStream.repo quedará:
1 2 3 4 5 6 7 |
[appstream] name=CentOS Linux $releasever - AppStream #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial |
Tras realizar esta modificación ejecutaremos el siguiente comando para limpiar la caché anterior:
1 |
dnf clean all |
Y ejecutaremos este otro comando para actualizar el repositorio:
1 |
dnf swap centos-linux-repos centos-stream-repos |
A partir de ahora podremos instalar paquetes con yum.