Paquetes Red Hat en Linux
Table of Contents
ToggleIntroducción
Para entender mejor los Paquetes Red Hat en Linux, al igual que con Debina y dpkg, debemos hacer uso de la herramienta RPM. Este es un acrónimo recursivo que significa Red Hat Package Manager. Este sistema de paquetes, que viene desde Red Hat, es utilizado por varias distribuciones (Fedora, Open SUSE, Centos, etc).
Con estos paquetes vamos a poder instalar nuestros programas de manera fácil.
Nomenclatura
Un paquete RPM consta de cuatro componentes, al igual que Debian:
<nombre>_<Nro.Version><NúmeroDeRevisión>_<arquitectura>.rpm
Ejmeplo:
tuxpaine-0.9.22-1.x86_64.rpm
Nombre: tuxpaine
Versión: 0.9.22
Revisión: 1
Architecture: x86_64
Instalar, desintalar y actualizar paquetes con rpm
Este comando nos permite instalar, remover, actualizar y verificar paquetes entre otras cosas.
Sintaxis:
rpm (opciones)
Opciones:
-i instala el paquete propiamente dicho.
-e desinstala el paquete
-U hace un //update// del paquete a su versión más nueva. (si el paquete no existe en el sistema, se comporta como un -i )
-F o freshen con este actualiza solo aquellos paquetes que están instalados en el sistema, pero en este caso, no va actualizar las dependencias de ese paquete, aunque esté mencionado en la línea de comandos.
–force fuerza la actualización de los paquetes ya sea viejo por nuevo o viceversa ( también se puede usar con –replacepkgs, –replacefiles,–oldpackage)
-h (también –hash) marca un string de progreso de la tarea a realizar.
–nodeps no busca las dependencias del paquete; esto puede generar problemas en la base de dependencias.
–test hace una simulación de la instalación o de la tarea que fuera; no puede ser utilizado con -h pero sí con –vv
-v muestra más información
-vv muestra información más ampliado que solamente con –v
Ejemplo:
# rpm -ivh zsh-5.5.1-6.el8_1.2.x86_64.rpm
Verifying… ################################# [100%]
Preparando… ################################# [100%]
Actualizando / instalando…
1:zsh-5.5.1-6.el8_1.2 ################################# [100%]
Realizar consultas con RPM
-q (query) se suele poner delante de otro comando para concatenar.
-a Nos devuelve todos los paquetes que tenemos instalados.
# rpm -qa grub
grub-0.97-13.5
Preguntar por pertenencia de un archivo:
Con la opción -f vamos a poder preguntar qué paquete está usando el fichero que demos como argumento.*
#rpm -qf /etc/passwd
setup-2.5.58-7.el5
Recordar siempre que podemos usar la opcion man comando o comando –help
Solicitar información del paquete:
#rpm -qi grub-0.97-13.5
Name : grub Relocations: (not relocatable)
Version : 0.97 Vendor: Red Hat, Inc.
Release : 13.5 Build Date: Tue 30 Jun 2009 02:34:35 PM ART
Install Date: Thu 29 Apr 2010 04:37:57 PM ART Build Host: hs20-bc1-2.build.redhat.com
Group : System Environment/Base Source RPM: grub-0.97-13.5.src.rpm
Size : 1057883 License: GPL
Signature : DSA/SHA1, Wed 15 Jul 2009 05:53:04 AM ART, Key ID 5326810137017186
Packager : Red Hat, Inc.
URL : http://www.gnu.org/software/grub/
Summary : GRUB – the Grand Unified Boot Loader.
Description :
GRUB (Grand Unified Boot Loader) is an experimental boot loader
capable of booting into most free operating systems – Linux, FreeBSD,
NetBSD, GNU Mach, and others as well as most commercial operating
systems.
Consultar los archivos pertenecientes a un RPM:
#rpm -ql at
/etc/at.deny
/etc/pam.d/atd
/etc/rc.d/init.d/atd
/etc/sysconfig/atd
/usr/bin/at
/usr/bin/atq
/usr/bin/atrm
……..
Preguntar por documentación
#rpm -qd at
/usr/share/doc/at-3.1.8/ChangeLog
/usr/share/doc/at-3.1.8/Copyright
/usr/share/doc/at-3.1.8/Problems
/usr/share/doc/at-3.1.8/README
/usr/share/doc/at-3.1.8/timespec
/usr/share/man/man1/at.1.gz
/usr/share/man/man1/atq.1.gz
/usr/share/man/man1/atrm.1.gz
…..
Preguntar por archivos de configuración
#rpm -qc at
/etc/at.deny
/etc/pam.d/atd
/etc/rc.d/init.d/atd
Verificación de paquetes
Al igual que en Debian, una opción muy importante es la de verificar los paquetes para poder saber qué fue cambiado y cuidar su integridad.
Se realiza con la opción -V ( o –verify)
Veamos algunas opciones:
–nofiles ignora archivos perdidos
–nomd5 ignora los chequeos de error de md5
–nopgp ignora los chequeos de error de pgp
Si no nos devuelve un resultado significa que los archivos del paquete están intactos. En cambio, si aparece alguna de las letras como en el ejemplo de arriba significa que algún archivo fue modificado. En el caso de que falte algún archivo también nos informará.
Algunos ejemplos complementarios:
Realizar tareas de mantenimiento de rpm
Si apareciera un error con la base de datos se puede regenerar con:
# rpm –rebuilddb
También se puede generar una base de datos nueva, aunque no es lo aconsejado y rara vez se necesita:
#rpm –initdb
Extracción de archivos de un paquete RPM
Aquí veremos cómo extraer el contenido del archivo rpm con la herramienta rpm2cpio:
#rpm2cpio nxclient-3.4.0-7.i386.rpm |cpio –t
./etc/profile.d/nx.csh
./etc/profile.d/nx.sh
./usr/NX
./usr/NX/bin
./usr/NX/bin/nxclient
……