LPIC 102.5 Uso y manejo del sistema de paquetes RPM

introducción:

El sistema de empaquetado de Redhat Packet Manager (RPM) es uno de los más famosos y es utilizado o soportado no solo por Red Hat hoy en día. Por ello es interesante prestarle atención a este… por eso y porque… vamos porque cae en el examen 😛 Sin más preámbulo vamos a ello:

RPM Overview

La función de los paquetes de RPM es la misma que los deb de Debian, básicamente automatizar la instalación de paquetes metiendo en un solo sitio el programa, la documentación, la configuración e indicando las dependencias. Para manipular estos paquetes usamos la orden rpm que mantiene una base de datos los paquetes instalados y los ficheros. Este sería al equivalente a dpkg en debian. Estos paquetes al igual que en Debian tienen una estructura, veamos como es esta:

  • Nombre del paquete, sin espacios, normalmente se suelen usar los guiones en lugar de espacios.
  • Version: indica la versión de cada paquete, las versiones suelen ser numéricas y la estructura: major.minor.patchlevel
  • Revision, es una etiqueta que indica el número de revisión, solo se tiene en cuenta para controlar si una versión es más nueva que otra.
  • Arquitectura, aquí se indica para que tipo de arquitectura esta compilado el paquete, no voy a entrar en detalles de las distintas arquitecturas.

Para el nombrado de paquetes todos estos elementos para formar el nombre, no obstante esto no es algo standard para el sistema RPM que recordemos no solo es usado para RedHat.

Running rpm
Como avanzaba antes el comando rpm es el equivalente a dpkg en debian que vimos ayer. Se usa para la gestión de paquetes. Con configuración entendemos instalación, desinstalación, configuración y comprobación de paquetes. RPM trabaja con distintos modos que se dedican a hacer cada uno este tipo de tareas, veamoslos uno por uno:

Install/upgrade mode: (-i)

Es usado para instalar nuevos paquetes. Dentro de este modo englobaríamos las variables -U para hacer una actualización, -F que sería equivalente al -U con la diferencia de que si actualiza paquetes con versiones antiguas si la versión instalada es más nueva o no esta instalado el paquete no hace nada. Pero hay que tener cuidado con la opción -F ya que no resuelve las dependencias. También son interesantes las siguientes posibilidades:

  • –force fuerza la instalación de un paquete. Por ejemplo aunque haya un paquete más nuevo este será reemplazado por uno antiguo si lo forzamos.
  • -h: mostrará 50 almohadillas a modo de barra de progreso.
  • –nodeps: aun si existieran dependencias no las instalará
  • –test simulará una ejecución, pero no hará nada, es usado para pruebas
  • -v el modo ruidoso (verbose, no se me ocurre una buena traducción…)
  • –v el modo super ruidoso (;))

Uninstall mode (-e)
Habéis adivinado este modo se usa para desintalar paquetes. Se usa típicamente en conjunción con las siguientes opciones:

  • –nodeps desinstala sin comprobar dependencias. Esto tiene un problema y es que si desintalamos un paquete y este era dependencia de otros esos otros dejarán de funcionar, ojo con esta opción.
  • –test para probar que pasaría, que más cosas se desinstalarían si desinstalamos ese paquete.

Query mode (-q)
En este modo preguntaremos información sobre los paquetes. Se usa normalmente con alguna de estas opciones:

  • -a muestra una lista de todos los paquetes instalados en el sistema. Típica pregunta de examen es unir esto con un pipe y grep para comprobar la versión de un determinado paquete instalado.
  • -f nombre_de_fichero : Muestra a que paquete pertenece un determinado fichero
  • -p paquete : pide información de un determinado paquete

A partir de aquí estas opciones se usan en conjunción con las anteriores, digamos que para hilar más fino.

  • -c Lista solo los ficheros de configuración
  • -d lista solo los ficheros de documentación
  • -i package : (ojo no confundir con el -i del modo de instalación) Muestra información de un paquete instalado. Es común usarlo en conjunción con el -p para “pedir” información de un determinado fichero.
  • -l package muestra una lista de todos los ficheros contenidos dentro del paquete. También es común combinarlo con la opción -p
  • -R Lista las dependencias del paquete.

Verify mode (-V)

Muestra información de los paquetes que pueden compararse con la configuración instalada actualmente.

Opciones típicamente usadas:

  • –nofiles ignora los ficheros que falten
  • –nomd5 ignora los errores de MD5
  • –nopgp ignora los errores de PGP

Nota:

Se hace mucho hincapie con rpm en el examen y a veces caen preguntas de opciones raras y eso, os recomiendo darle un par de vueltas al comando probar cosas, leeros el man del comando y tratar de comprender y si tenéis tiempo de probar todo lo que aparece o al menos lo más importante.

YUM Overview

YUM son las siglas de Yellowdog Updater Modified, es el equivalente a apt-get en Debian. Lo normal cuando administramos actualizaciones y paquetes es hacerlo con esto y no con rpm y solo bajar al nivel de rpm para resolver situaciones concretas. Pero al igual que pasaba con Debian en el examen aquí también se tiene más en cuenta a rpm que a yum por lo que haremos más hincapie al primero aunque luego la frecuencia de uso sea al revés.

Al igual que apt-get tiene un sistema de repositorios y la configuración se encuentra en: /etc/yum.conf. Los típicos comandos con los que se usa yum son:

  • install: para instalar un determinado paquete
  • update: para actualizar uno o varios paquetes del
  • erase: para borrar un paquete del sistema
  • list: lista los paquetes instalados.
  • search: busca paquetes según la cadena que le pongamos.
  • info: muestra información en concreto de un determinado paquete.
  • check-update nos informará de actualizaciones disponibles, pero no hará más.

Los comentarios están cerrados.