Yum no parece reconocer la variable $releasever en el archivo de repositorios de Centos

Yum no parece reconocer la variable $releasever en el archivo de repositorios de Centos

Estaba intentando usar yum en un clúster de Centos 7 para instalar un paquete y recibí el siguiente error:

One of the configured repositories failed (Unknown), 
and yum doesn't have enough cached data to continue. At this point the only 
safe thing yum can do is fail. There are a few ways to work "fix" this: [...]

Probé varias soluciones sugeridas en línea ( yum clean all; eliminar el caché; eliminar las bases de datos del repositorio y reconstruirlas, etc.) y nada funcionó.

Después de horas de solucionar problemas, logré encontrar una solución. En el /etc/yum.repos.d/CentOS-Base.repoarchivo, descomenté la baseurllínea y reemplacé la $releasevervariable con "7" (es decir, la versión del sistema operativo). Por alguna razón, yum no pudo reconocer $releasever y no pudo encontrar el repositorio.

Entonces en lugar de:

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

Tengo:

baseurl=http://mirror.centos.org/centos/7/os/$basearch/

después de lo cual tanto la actualización de yum como la instalación de yum parecen funcionar bien. Sin embargo, no sé si esta es una solución permanente al problema.

¿Alguien puede decirme qué está pasando y si hay una forma más adecuada de solucionar este problema?

Gracias.

Respuesta1

Recientemente tuve este problema. La configuración releaseverfuncionó para mí. También descubrí que podía arreglar la distroverpkgconfiguración en /etc/yum.conf.

Lo configuré en:

distroverpkg=centos-release

Esto funcionó para mí.

Respuesta2

Encontré la solución.

yum --installroot=/usr/local install nginx --releasever=7

pero aún no se ha descubierto por qué falló.

información relacionada