PRACTICA No.16
"RPM"
OBJETIVO: Aprender a instalar, actualizar, modificar, borrar y verificar los paquetes que se instalan en el sistema operativo Linux con el programa RPM.
INTRODUCCIÓN:
Una de las grandes tareas en la administración de sistemas es la instalación, actualización y borrado del software, ya que necesita conocer donde se encuentran los archivos, programas, paginas del manual y otras documentaciones.
Ante esta situación Linux tiene un programa que facilitan las tareas anteriores y se llama RPM (Red hat Package Manager ó manejador de paquetes de RedHat). Este programa se usan en paquetes de formato RPM. Un paquete rpm consiste de un conjunto de archivos y describe la información del nombre, versión y contenido. Los paquetes creados por una función particular de Linux.
RPM tiene 11 modos de operación. Donde las primeras 5 son para la administración de los paquetes:
rpm -i [opciones] [paquetes]
rpm -U [opciones] [paquetes]
rpm -e [opciones] [paquete]
rpm -q [opciones]
rpm -V | --verify [opciones]
Los otros 6 modos son de distribución de software para crear o modificar:
rpm -b0 [opciones] paquetes
rpm --rebuilddb
DESARROLLO
La Tabla de RPM de sus parámetros generales (pueden usarse en algún modo):
Parámetro Función
-w Imprime la información debug .
--keep-temps No borra archivos temporales (/tmp/rpm-).
--quiet Imprime tan pequeño como es posible, normalmente, despliega los mensajes de error.
--help Imprime la ayuda.
--version Imprime el no. de versión de RPM.
--rcfile <archivo> Especifica una posición de archivo diferente, estos como $HOME/rpmrc o /etc/rpmrc
--root Usa el directorio <dir> como el directorio de nivel de top de todas las operaciones.
1)Instalación y actualización.
Estos son algunas opciones
Parámetro Función
--force Forza el reemplazo de un paquete ó archivo.
-h, --hash Imprime una marca "#", cuando un paquete se esta instalando.
--oldpackage Reemplaza un nuevo paquete con uno viejo. Normalmente RPM impide si se pregunta si escribe sobre un paquete nuevo.
--percent Imprime el porcentaje de terminación durante la instalación.
--replacefile Forza previamente archivos instalados desde otros paquetes para ser reemplazados.
--replacepkgs Forza previamente paquetes instalados a ser reemplazados.
--nodeps Salta los paquetes dependientes checados antes de la instalación de paquete.
--noscripts Salta los scripts pre y post instalación.
--excludedocs Salta la instalación de documentación.
--includedocs Instala la documentación de archivos.
--test Una preforma de instalación pero sin tal acción. Esta función es buena porque checa si hay problemas.
-U --upgrade Instala el nuevo paquete sobre uno viejo. Remueve el viejo paquete.
Ahora instalaremos el paquete gimp y serán 2 paquetes (Para esto necesitamos estos paquetes si no los tienen puedes encontrarlo vía ftp en linux1.fi-b.unam.mx:/pub/linux/gimp/) :
#rpm -i -h -v --test gimp-libgimp-1.0.0-4.i386.rpm
Mostrar lo que hizo (Esto fue un test)
#rpm -ihv gimp-1.0.0-4.i386.rpm
Anota el resultado
Ahora instalaremos el siguiente paquete:
#rpm -iv --percent gimp-1.0.0-4.i386.rpm
Anotar el resultado
Una de las tareas comunes es actualizar versiones de paquetes ó aplicaciones mejorados, ya que con este programa podemos hacer acciones:
Actualizaremos el paquete gimp-1.0.0-4
#rpm -Uvh --force gimp-1.0.0-4.i386.rpm
Muestra el resultado
2)Borrado.
La opción de borrado, es una variante de la opción de instalación con respecto a las opciones, ya que no muestra el porcentaje de desinstalación, pero busca que archivos están instalados.
Parámetro Función
--noscripts Salta los scripts de pre y post desinstalación.
--nodeps Salta el chequeo dependientes antes de la desinstalación.
--test Ejecuta los pasos de desinstalación sin borrar algo.
Desintalaremos el programa gimp-1.0.0-4:
#rpm -e gimp-1.0.0-4
Anota el resultado
3)Query
Usando la opción "query" determinamos que paquetes tenemos instalados en nuestro sistema, cuantos paquetes e información de cada uno de ellos ya que si tenemos uno no deseado lo desinstalaremos.
Parámetro Función
-a Busca todos los paquetes instalados.
--whatrequieres capabilty Paquetes colocados estos requieren una capacidad particular.
--whatprovides virtual Paquetes colocados, estos requieren una capacidad virtual.
-f <archivo> Localiza el paquete del cual proviene el archivo preguntado.
-i Muestra información del paquete.
--provides Muestra de que paquete proviene.
-l Lista los archivos del paquetes.
-s Muestra el edo. los archivos en el paquete (implica -l), el edo. de cada archivo en termino si es normal, no instalado o reemplazado.
-d Lista únicamente los archivos de documentación.
-c Lista únicamente los archivos de configuración.
--scripts Lista los shells scripts para la desinstalación e instalación.
--dump Lista los archivos con la siguiente información: path size mtime md5sum mode owner group lsconfig isdoc rdev symlink. Estos parámetros deben de ser usado, con las banderas de -l, -c, -d.
Veremos todos los paquetes instalados en nuestro sistema:
#rpm -q -a
También deseamos ver los archivos de configuración del producto samba (por ejemplo).
#rpm -q -c samba
Anota el resultado
|
No conocemos de que paquete viene el archivo /etc/securetty y quiero saberlo:
#rpm -qf /etc/securetty
Anota el resultado
|
Quiero conocer todos los archivos del paquete nfs-server
Da la sintaxis:
Anota el resultado
|
En unos ejemplos anteriores vimos como mostrar los archivos de configuración de SAMBA, pero necesito un poco de información de los paquetes tecleamos:
#rpm -qi samba
Anota el resultado
|
4)Verificar
Esta opción verifica ó checa los archivos que por alguna razón fueron alterados, este tipo de verificación es con respecto al tamaño, MD5sum (checksum), permisos, dueño, grupo, etc.
Si modificamos el archivo /etc/exports podemos saberlo si corremos la sig. opción:
#rpm -V nfs-server
Veremos algo similar:
S.5....T c /etc/exports
Donde la parte importante es la "c" donde nos dice que cambio y los otros caracteres que cambio, en este caso fue el tamaño, MD5 y la fecha respectivamente en el /etc/exports.
Ahora para ver con mas detalles usaremos un archivo, será el /etc/aliases:
5)Primero checaremos que atributos tiene:
#ls -l /etc/aliases
#rpm -qf /etc/aliases
#rpm -V sendmail-8.x.y-z
6)Posteriormente le cambiamos al dueño "nobody" y comparamos con el comando rpm:
#chown nobody /etc/aliases
#rpm -V sendmail-8.x.y-z
Viendo lo que pasa cambiaremos el dueño del archivo /etc/aliases con los datos que escribiste anteriormente.
Ahora veremos que significa los caracteres de los archivos cuando usamos rpm:
Carácter | Atributo | Descripción |
5 | MD5 sum | Hace un checksum al archivo |
S | Tamaño del archivo | Cambio del archivo en bytes. |
L | Liga | Liga simbólica. |
T. | Mtime | Modificación de fecha al archivo |
D | Dispositivo | Especificando que es un archivo de dispositivo. |
U | Usuario | El archivo cambio de dueño |
G | Grupo | El archivo cambio de dueño.. |
M | Modo | Los permisos fueron modificados. |
Estos son los 8 caracteres que aparecen antes que la "c" (de cambio) y del "archivo" (Notese que archivo lo denominados tal como archivo regular, directorio, liga, etc.), pero si en vez que aparezcan estos caracteres que muestran un punto (.) significan que no ha sido alterado este atributo.
7)Para ver todos los archivos si fueron modificados o no podemos teclear:
#rpm -Va > alterados
Y posteriormente el resultado lo veras en el archivo alterados.
CUESTIONARIO
1.-Que significa RPM?
2.-Cuales son las funciones de RPM?
3.- Como puedo ver todos los archivos que utilizan cada paquete?
4.-Con que opción puedo ver un formato mas amplio los archivos de un paquete?
5.- Que serie de comandos usaría ademas de RPM para ver exclusivamente todos los archivos alterados de los paquetes. Nota: Recuerde que estos archivos tienen una "c" entre los atributos y el nombre del archivo.
CONCLUSIONES