Inicio / Wikis / Tutoriales / Red Hat Linux 5.0 - Usando RPM

Red Hat Linux 5.0 - Usando RPM

(15 opiniones)
Tutorial creado por Red Hat Software, Inc.. Extraido de: http://es.tldp.org/Manuales-LuCAS/GURH/GURH/
17 de Febrero de 2006
LinuxRedHat

37 - 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.

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:

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.

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.

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.

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.

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.

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).

  • -a consulta todos los paquetes instalados.
  • -f <file> consultará el paquete al que pernenece <file>.
  • -F es la misma que -f excepto que toma los nombres de archivo de la entrada estándar
    (p.e. find /usr/bin | rpm -qF).
  • -p <packagefile> consulta el paquete <packagefile>.
  • -P es como -p excepto que toma el nombre de archivo del paquete desde la entrada estándar
    (p.e. find /mnt/cdrom/RedHat/RPMS | rpm -qP).

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.

  • -i presenta información del paquete como nombre, descripción, desarrollo, tamaño, fecha de construcción, fecha de instalación, vendedor, y otra información miscelánea.
  • -l presenta la lista de archivos que el paquete ``posee.
  • -s presenta el estado de todos los archivos del paquete. Hay sólo dos posibles estados: normal y perdido.
  • -d presenta un lista de archivos marcados como documentación (paginas ``man, paginas ``info, README's, etcétera).
  • -c presenta una lista de archivos marcados como archivos de configuración. Estos son los archivos que usted cambia tras la instalación para adaptar el paquete a su sistema (sendmail.cf, passwd, inittab, etcétera).

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.

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:

  • Para verificar que un paquete contiene un archivo en particular: rpm -Vf /bin/vi
  • Para verificar TODOS los paquetes instalados: rpm -Va
  • Para verificar un paquete instalado con su correspondiente paquete RPM: rpm -Vp foo-1.0-1.i386.rpm Esto puede ser útil si sospecha que su base de datos de paquetes RPM esta corrupta.

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.
Valora este capítulo: (15 opiniones)
Autor y licencia de 'Red Hat Linux 5.0 - Usando RPM'
Red Hat Software, Inc. Extraído de: http://es.tldp.org/Manuales-LuCAS/GURH/GURH/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Red Hat Linux 5.0 - Usando RPM' (15)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Red Hat Linux 5.0 - Usando RPM'

RPM
Este documento describe el uso del formato de paquetes de instalación que se ha convertido... Más »
Esta es la distribución de Linux en la que se basan tanto Mandrake como Suse... Más »
Si has oído hablar de Samba y deseas ver qué es lo que puede hacer... Más »
En particular el desarrollo de las telecomunicaciones y de los nuevos medios de comunicación basados... Más »
El principal objetivo de este documento es lograr que el lector adquiera la capacidad de... Más »
¿Estás seguro de que deseas eliminar este capítulo?