Siguiente Arriba Anterior Contenido Indice

8.2 Usando RPM

Usando RPM

RPM tiene cinco modos básicos de operación (sin contar la construcción del paquete): instalación, desinstalación, actualización, consulta y verificación. Esta sección contiene un vistazo de cada modo. Para opciones y detalles completos pruebe rpm --help, vea la página ``man'' de rpm asi como el (anteriormente mencionado) libro de RPM.

8.2.1 Instalación

Instalación

Los paquetes RPM tienen típicamente nombres de archivo como foo-1.0-1.i386.rpm, que incluye el nombre del paquete (foo), versión (1.0), desarrollo (1), y arquitectura (i386). Instalar un paquete es tan sencillo como:

$ rpm -ivh foo-1.0-1.i386.rpm
foo                       ####################################

Como puede ver, RPM imprime en pantalla el nombre del paquete (el cual no es necesariamente el mismo que el archivo, el cual puede ser 1.rpm), e imprime una sucesión de símbolos de rejilla a medida que el paquete es instalado, como un medidor del progreso de la instalación.

La instalación de paquetes está diseñada para ser sencilla, pero puede obtener algunos errores:

8.2.1.1 Paquete ya instalado

Paquete ya instalado

Si el paquete está ya instalado, usted verá:

$ rpm -ivh foo-1.0-1.i386.rpm
foo                     package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed

Si usted quiere instalar el paquete de todas maneras, usted puede usar --replacepkgs en la línea de comandos, lo que le dice a RPM que ignore el error.

8.2.1.2 Conflicto de archivos

Conflicto de archivos

Si intenta instalar un paquete que contiene un archivo que ha sido ya instalado por algún otro paquete, usted verá:

# rpm -ivh foo-1.0-1.i386.rpm
foo           /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed

Para hacer que RPM ignore el error, use --replacefiles en la línea de comandos.

8.2.1.3 Dependencias no resueltas

Dependencias no resueltas

Los paquetes RPM pueden ``depender'' de otros paquetes, lo cual significa que requieren que otros paquetes sean instalados para funcionar correctamente. Si intenta instalar un paquete para el cual existe una dependencia no satisfecha, usted verá:

$ rpm -ivh bar-1.0-1.i386.rpm 
failed dependencies:
        foo is needed by bar-1.0-1

Para arreglar este error usted deberá instalar los paquetes requeridos. Si usted desea forzar la instalación de todas maneras (una mala idea ya que el paquete probablemente no funcionará correctamente), use --nodeps en la línea de comandos.

8.2.2 Desinstalación

Desinstalación

Desinstalar un paquete es tan sencillo como instalarlo:

$ rpm -e foo

Note que hemos usado el nombre ``foo'' para el paquete, no el nombre del paquete original ``foo-1.0-1.i386.rpm''.

Usted puede encontrar un error de dependencias cuando intente desinstalar el paquete si algún otro paquete instalado depende del que está intentando borrar. Por ejemplo:

$ rpm -e foo
removing these packages would break dependencies:
        foo is needed by bar-1.0-1

Para hacer que RPM ignore el error y desinstale el paquete de todas maneras (lo cual es una mala idea porque el paquete que depende de éste probablemente falle y no funcione correctamente), use --nodeps en la línea de comandos.

8.2.3 Actualizando

Actualizando

Actualizar un paquete es casi como instalar un paquete.

$ rpm -Uvh foo-2.0-1.i386.rpm
foo                       ####################################

Lo que usted no ve arriba es el hecho de que RPM desinstala automáticamente cualquier versión antigua del paquete foo. De hecho usted quizá quiera siempre usar -U para instalar paquetes, ya que funciona bien incluso cuando no hay ninguna versión anterior del paquete instalada.

Dado que RPM realiza actualizaciones inteligentes de los paquetes con archivos de configuración, quizás vea un mensaje como:

saving /etc/foo.conf as /etc/foo.conf.rpmsave

Esto significa que sus cambios al archivo de configuracion puedan no ser ``reversiblemente compatibles'' con el nuevo archivo de configuración en el paquete, por lo que RPM salva su archivo original, e instala uno nuevo. Usted debería investigar y resolver las diferencias entre los dos archivos tan pronto como sea posible para asegurarse de que su sistema continúa funcionando adecuadamente.

Dado que actualizar es realmente una combinación de desinstalación e instalación, usted puede encontar los errores de los dos modos, y uno más: Si RPM piensa que está intentando actulizar un paquete con una versión antigua, usted verá:

$ rpm -Uvh foo-1.0-1.i386.rpm
foo    package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed

Para obligar a RPM a ``actualizar'' de todas maneras, use --oldpackage en la línea de comandos.

8.2.4 Consulta

Consulta

Consultar la base de datos de paquetes instalados se realiza mediante la opción rpm -q. Un uso simple es rpm -q foo lo que imprimirá el nombre, versión y número de desarrollo del paquete instalado foo:

$ rpm -q foo
rpm-2.0-1

En lugar de especificar el nombre del paquete, usted puede usar las siguientes opciones con -q para especificar de qué paquete(s) quiere hacer una consulta. Éstas son llamadas Opciones de Especificacion de Paquetes (Package Specification Options).

Hay varias formas de especificar qué informacion mostrar sobre los paquetes consultados. Las siguientes opciones son usadas para seleccionar la información en la que usted está interesado. Son las llamadas Opciones de Selección de Información.

Para aquellas opciones que presenten listas de archivos, uste puede añadir -v a la línea de comandos para obtener la lista en el conocido formato ls -l.

8.2.5 Verificación

Verificación

Verificar un paquete es comparar la información sobre los archivos instalados desde un paquete con la misma información del paquete original. Entre otras cosas, verificar compara el tamaño, chequeo MD5, permisos, tipo, usuario y grupo de cada archivo.

rpm -V verifica un paquete. Usted puede usar cualquiera de las Opciones de Selección de Paquetes (Package Selection Options) listadas para consultar, para especificar los paquetes que desea verificar. Un uso simple es rpm -V foo lo que verifica que todas los archivos el paquete foo estén como cuando fueron originalmente instaladas. Por ejemplo:

Si todo es verificado adecuadamente no habrá ninguna salida en pantalla. Si hay alguna discrepancia sí habrá informacion presentada. El formato de la salida es una cadena de 8 caracteres, un posible ``c'' denotando un archivo de configuración, y despues el nombre del archivo. Cada uno de los 8 caracteres denota el resultado de la comparación de un atributo del archivo con el valor de ese atributo en la base de datos RPM. Un solo ``.'' (punto) significa que el test ha sido pasado. Los siguientes caracteres denotan fallo de ciertos tests:

5
Chequeo MD5
S
Tamaño del archivo
L
Enlace simbólico
T
Modificación de la fecha del archivo
D
Dispositivo
U
Usuario
G
Grupo
M
Modo (incluye permisos y tipos de archivo)

Si usted ve alguna salida en pantalla, use su mejor juicio para determinar si usted deberá borrar o reinstalar el paquete, o alguna manera de resolver el problema.


Siguiente Arriba Anterior Contenido Indice