[CentOS-es] Consulta sobre YUM

William Moreno williamjmorenor en gmail.com
Mar Jul 14 16:12:48 UTC 2015


2015-07-14 9:40 GMT-06:00 Ricardo Aparicio <ricardo.aparicio en outlook.com>:

> Estimado,
> el resultado a ese comando (igual me arriesgo en hacerlo):
>
>
No había visto este mensaje, a ver aquí hay un par de conceptos que aclarar:

$relasever es una variable es bash , si, bash no solo permite ejecutar un
comando tras otro, en bash se puede definir variables como en un lenguaje
de programación, de hecho es bash se puede puede programar.

Es muy raro que en tu sistema la variable $releasever no este definida,
cuando trataste de instalar con rpm el paquete que bajaste resibiste un
error porque CentOS, como distribución seria y confiable que es, distribuye
sus paquetes firmados digitalmente, para esto se usa un llave GPG.

El paquete centos-release cumple dos funciones:

1- define la variable $releasever a la versión del sistema operativo
instalado 6.6 en este caso.
2- importa las llaves GPG de CentOS

Puedes ver mas información aquí:

http://www.centos.org/keys/

Es muy raro que en tu sistema no este instalado el paquete centos-release ,
con --releasever se le dice a yum el valor que debe usar para la varaible
$releasever así yum podra buscar paquetes en el mirror
http://mirror.cedia.org.ec/centos/6.6/ que existe y no en
http://mirror.cedia.org.ec/centos/$releasever/ que no existe, así que
pasarle a yum la opción --releasever es seguro siempre y cuando estes
seguro de la versión de CentOS que necesitas para bajar el paquete, si
tienes CentOS 6 nunca hagas por ejemplo yum update --releasever=7 porque
yum tratara de actualizar tu sistema de CentOS 6 a CentOS7 porque eso le
indicaste.

Con la opción que debes tener cuidado es con --nogpgcheck por que esta
opción le dice a yum que instale paquetes que no estan firmados o que estan
firmados con un firma GPG diferente de la que usa CentOS, en este caso como
se mira como un mirror confiable es seguro pasar ese comando, y por último
--disablerepo es una opción para decirle a yum que temporalmente no haga
uso de ese repositorio, en este caso epel.

Esas son tres opciones no necesariamente avanzados de yum.

/var/cache/yum/

Este directorio no es mas que un directorio temporal, por eso cache, donde
yum baja los paquetes descargados antes de proceder con la instalación,
como tu sistema es x86_64 sigue la arquitectura de los paquetes bajados:

/var/cache/yum/x86_64

Luego viene una carpeta para cada repositorio desde el que yum paquetes,
que tengas un directorio

/var/cache/yum/x86_64/$releasever

Solo confirma que tu variable $relasever no esta definida, por eso la
recomendación de usar yum --releasever=6.6 así que

yum install --releasever=6.6 centos-release * --disablerepo=epel* *
--nogpgcheck

Debería instalar el paquete centos-release corespondiente y solucionar tu
problema.

Lo que si tienes que investigar es que paso para en tu sistema el paquete
centos-release no este instalado, eso es muy poco común y puede ser indicio
que la segurida de tu servidor estuvo o esta comprometida.

Dicho esto sería bueno si confirmas si pudiste solucionar tu problema.

Saludos


Más información sobre la lista de distribución CentOS-es