Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

sábado, 21 de marzo de 2015

Guía rápida de rpm

Linux es un mundo lleno de diferentes sistemas, de diferentes "sabores" que hacen que cada uno pueda escoger aquel que más le guste con total libertad. Aún así, lo cierto es que en los últimos años es innegable que los sistemas basados en Debian han ganado mucha popularidad, haciendo que muchos usuarios nuevos y no tan nuevos opten siempre por éstos en vez de por otras alternativas cómo aquellas basadas en red hat. Eso no significa para nada que red hat o los sistemas basados en éste no sean útiles sino que los últimos años las distribuciones basadas en Debian, especialmente Ubuntu, han ganado muchos adeptos mientras que las basadas en Red Hat no han tenido tanta suerte.

Aún así Red Hat sigue siendo una gran distribución, y aunque es necesario pagar por ésta, hay varias distribuciones gratuitas basadas en éste estupendo sistema operativo que pueden ser muy interesantes, cómo por ejemplo CentOS. Además, nunca se sabe donde se puede encontrar uno de estos sistemas, con lo que siempre es interesante tener nociones de cómo funcionan estos paquetes.



RPM (Red hat Package Manager) es un gestor de paquetes desarrollado por Red Hat y que luego ha sido adoptado por distribuciones basado en éste. Se basa en comandos, una base de datos y paquetes en formatos rpm. La base de datos se guarda en /var/lib/rpm y contiene toda la información de los programas instalados, incluyendo sus versiones, ficheros y dependencias. Por otro lado, los paquetes rpm poseen la siguiente estructura:

nombre-versión-edición.arquitectura.rpm


Para tratar paquetes de este tipo se usa siempre el comando rpm junto con la añadidura de un parámetro. El parámetro -i sirve para instalar un paquete:


rpm -i nombre-versión-edición.arquitectura.rpm


El parámetro -v actúa cómo verbose que sirve a modo de información mientras que el parámetro -h visualiza caracteres # para indicar el progreso del tratamiento de un paquete (por ejemplo el progreso de una instalación). En caso de que por ejemplo un paquete necesitase una dependencia para ser instalado, y no estuviese instalada, éste paquete no se instalaría. Un comando muy común para instalar y/o actualizar un paquete suele ser:


rpm -Uvh nombre-versión-edición.arquitectura.rpm

Para actualizar el paquete a una versión superior, habría que usar el parámetro -U, que movería los ficheros antiguos a una fichero llamado .rpmsave y serían sustituidos por los de la nueva versión. Si el paquete no tuviese una versión previa instalada, el paquete sería instalado y punto cómo si fuese un rpm -i. Para actualizar un paquete valdría por ejemplo:

rpm -Fvh nombre-versión-edición.arquitectura.rpm

Existe un parámetro parecido a -U, que es el -F; pero la diferencia entre uno y otro es que -F está limitado a solamente actualizar. Es decir que mientras que -U puede instalar y actualizar, -F es únicamente capaz de actualizar.

Por último estaría el parámetro -e, que sirve para eliminar un paquete. La diferencia, en este caso, es que solo basta con poner el nombre del paquete, con lo que el borrado del paquete sería:

rpm -e nombre

Ejemplos prácticos:

Para verlo más claro pondré como ejemplo el siguiente paquete:

skype-4.3.0.37-fedora.i586.rpm

Instalación: rpm -ivh skype-4.3.0.37-fedora.i586.rpm
Instalación/actualización: rpm -Uvh skype-4.3.0.37-fedora.i586.rpm
Actualización a secas: rpm -Fvh skype-4.3.0.37-fedora.i586.rpm
Eliminación: rpm -e skype

Espero que os sea útil.

Saludos.

No hay comentarios :

Publicar un comentario