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.



anterior siguiente

CONCLUSIONES