Beruflich Dokumente
Kultur Dokumente
Red Hat Package Manager es un sistema gestor de paquetes creado en origen para la distribución
Red Hat aunque puede ser usada bajo cualquier otra distribución Linux y UNIX. En este artículo
vamos a aprender a trabajar con este gestor de paquetes desde el intérprete de comandos de la shell.
Antes de proseguir hay que tener en cuenta el concepto de paquete. Un paquete es un archivo que
contiene una aplicación o más concretamente los archivos que integrarán la aplicación (archivos de
configuración, documentación y los archivos que interrelacionados componen la propia aplicación)
generados al administrarse por esta herramienta.
En este documento tomaremos como ejemplo el siguiente paquete:
prog-1.0-1.i386.rpm
-v : Indica a rpm que nos muestre por el terminal información acerca de como se va
realizando el proceso de instalación.
#: Indica a RPM que nos muestre por pantalla marcas "#" que nos indican el porcentaje
del proceso que se ha llevado a cabo hasta el momento, para poder hacernos una idea de
como se va procesando la operación.
Así pues la mejor forma de instalar un paquete evitandonos posibles situaciones de error sería:
rpm -Uvh prog-1.0-1.i386.rpm
Con esta orden se instalaría el paquete. Si todo a ido bien la salida que nos mostrará por pantalla
será:
Esta opción es muy util para reinstalar archivos del paquete original que se han perdido
o modificado.
b) Archivos en conflicto:
Se nos puede dar la situación de que al instalar nuestro paquete en este tengamos un
archivo que ya ha sido instalado por otro paquete o por una version mas antigua del
mismo paquete. En este caso nos mostraría:
file /usr/bin/prog from install of prog-1.0-1 conflicts with file from the package bar-
2.0.20
Para forzar a RPM a ignorar este error usaremos la opción -i para instalar en vez de
actualizar y --replacefiles para forzar a que sobreescriba los archivos necesarios
instalados por otro paquete.
c) Dependencias no resueltas:
Suggested resolutions:
bar-2.0.20-3.i386.rpm
Para solucionar el problema deberemos obtener el paquete del que depende el que
queremos instalar y una vez tengamos ambos paquetes usaremos el comando:
bar-2.0.20-3.i386.rpm
DESINSTALACIÓN DE RPMS
Se haría mediante el comando:
rpm -e prog-1.0-1
No obstante al desinstalar el paquete nos podríamos encontrar un error de dependencia ya que los
archivos del paquete que estamos desinstalando dependen aparte de otro paquete. Si quisieramos
desinstalarlo no obstante (no es recomendable) podríamos hacerlo añadiendo la opción --nodeps.
ACTUALIZACIÓN DE RPM
El proceso de actualización de un paquete bajo rpm tiene una mecanica bastante sencilla:
básicamente lo que hace es desinstalar el paquete existente e instalando la nueva versión
posteriormente.
Para actualizar un paquete usaremos el comando:
rpm -Uvh prog-2.0-1.i386.rpm
Los posibles errores que nos podría reportar este comando serían los habituales de una
desinstalación y de una instalación.
Si al actualizar un paquete nos encontramos que ya tenemos una versión mas actual del paquete a
instalar y aún así queremos realizar la operación lo haríamos de la siguiente manera:
rpm -Uvh --oldpackage prog-1.0-1.i386.rpm
(suponiendo que queremos reemplazar la versión prog-2.0-1.i386.rpm)
REFRESCAMIENTO DE RPM
Si bien la opción de actualizar un paquete nos instala un paquete tengamos una versión previa o no,
la opción de refrescamiento funciona de forma similiar con la excepción de que sólo instala una
version nueva si ya teniamos instalada una versión anterior.
rpm -Fvh prog-2.0-1.i386.rpm
Esta opción es muy util para actualizar toda una serie de paquetes y no sabemos de cuales de ellos
tenemos una versión previa instalada. Mediante el comando:
rpm -Fvh *.rpm
Actualizaríamos todos los paquetes de nuestro directorio, pero solamente se instalarían los paquetes
de los que ya teniamos una versión anterior.
CONSULTAS RPM
A la hora de realizar una consulta siempre usaremos la opción -q. Así pues si usamos el comando:
rpm -q prog
Nos daría por el terminal el nombre del paquete, la versión y número del paquete instalado.
Con esta opción podríamos usar una serie de Opciones de especificación de paquetes que son:
3. Dependencias
El funcionamiento de un paquete puede que dependa de otros. Es decir, su ejecución requiere la
presencia en el sistema de otros paquetes.
Cada paquete tiene asociado un archivo control donde están documentadas las
dependencias de dicho paquete.
Existen varios niveles de dependencia. Como ejemplo utilizamos los paquetes A y B y se pretende
instalar el paquete A.
Puede ocurrir que:
A dependa de B: es necesario instalar B.
A recomienda B: no es necesario el paquete B pero es conveniente.
A sugiere B: el paquete B contiene archivos que mejoran la funcionalidad de A.
A está en conflicto con B: el paquete A no funciona si B está instalado.
A reemplaza B: los archivos del paquete A sustituyen los de B.
A proporciona B: los archivos del paqute B están incluidos en los de A.
Por ejemplo, si se quiere conocer las dependencias del paquete Totem (aplicación utilizada para la
reproducción de audio y vídeo) ejecutar en una terminal:
#dpkg s totem
Package: totem
Status: install ok installed
Priority: optional
Section: gnome
InstalledSize: 44
Architecture: all
Version: 2.18.10ubuntu3
<nombre>_<NúmeroDeVersión>
<NúmeroDeRevisiónUbuntu>.deb
donde:
totem_2.18.10ubuntu3_all.deb
totem es el nombre del paquete
2.18.1 es el número de versión
0ubuntu3 es el número de
revisión de Ubuntu
Orden dpkg
dpkg es una herramienta de bajo
nivel que se utiliza para
instalar, eliminar y dar
información sobre los paquetes
.deb y constituye la base
fundamental del sistema de
gestión de paquetes de Debian y,
en consecuencia, de Ubuntu (2).
Consideraciones:
Opción Descripción
Existen muchas mas opciones disponibles para dpkg. Remitimos al lector a la página de
manual de la orden dpkg ( $man dpkg ).
Ejemplos:
1. Instalar un paquete .deb: hay que recordar que se requiere, primero, descargar el paquete
desde Internet.
#dpkg i totem_2.18.1
0ubuntu3_all.deb
#dpkg L totem
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/totem
/usr/share/doc/totem/copyright
/
usr/share/doc/totem/changelog.De
bian.gz
2. Motrar los archivos del paquete binario de Totem con información complementaria:
#dpkg c
/var/cache/apt/archives/totem_2.
18.10ubuntu3_all.deb
drwxrxrx root/root 0 200704
05 18:13 ./
drwxrxrx root/root 0 200704
05 18:13 ./usr/
drwxrxrx root/root 0 200704
05 18:13 ./usr/share/
drwxrxrx root/root 0 200704
05 18:13 ./usr/share/doc/
drwxrxrx root/root 0 200704
05 18:13 ./usr/share/doc/totem/
rwrr root/root 13872 2007
0405 18:08
./usr/share/doc/totem/changelog.
Debian.gz
3. Conocer el nombre completo y versión de un paquete instalado en el sistema. Por ejemplo, para
Totem ejecutar:
#dpkg l | grep totem
ii libtotemplparser1 2.18.1
0ubuntu3 Totem Playlist Parser
library runtime vers
ii totem 2.18.10ubuntu3 A
simple media player for the
Gnome desktop
ii totemgstreamer 2.18.1
0ubuntu3 A simple media player
for the Gnome desktop
ii totemmozilla 2.18.10ubuntu3
Totem Mozilla plugin
Orden apt
La orden apt ( a dvanced p
ackaging t ool, herramienta
avanzada de empaquetado) es una
herramienta que permite instalar
paquetes a través de la red y
resolver los conflictos en las
dependencias de paquetes que se
puedan presentar.
Opción Descripción
dist-upgrade actualiza todo entre ramas de desarrollo. Con -u vemos TODOS los
paquetes a actualizar.
source Baja los paquetes fuente (los fuentes, los parches y los archivos de
control de Debian) de un paquete de las listas y descomprime.
Ejemplos:
#aptget update
#aptget upgrade
3. Instalar un paquete desde la red resolviendo las dependencias que pudiera presentar:
#aptget install totem
#aptget install f
Opción Descripción
Ejemplos:
1. Queremos conocer información sobre un paquete que tenemos instalado:
#aptcache show totem
#aptcache search dvdrip
#aptcache depends dvdrip
7. El archivo sources.list
El archivo /etc/apt/sources.list indica a dónde se debe ir a buscar los paquetes que se
instalan con la orden aptget install , es decir, las fuentes o lugares que
suministran toda las aplicaciones disponibles de la distribución.
Al instalar la variante Edubuntu Feisty Fawn de la distribución Ubuntu el
sistema dispone del siguiente archivo /etc/apt/sources.list que
reproducimos en parte:
# more /etc/apt/sources.list
# La sección main y restricted,
fuentes y sus actualizaciones
deb
http://es.archive.ubuntu.com/ubu
ntu/ feisty main restricted
debsrc
http://es.archive.ubuntu.com/ubu
ntu/ feisty main restricted
deb
http://es.archive.ubuntu.com/ubu
ntu/ feistyupdates main
restricted
debsrc
http://es.archive.ubuntu.com/ubu
ntu/ feistyupdates main
restricted
deb
http://es.archive.ubuntu.com/ubu
ntu/ feisty universe
debsrc
http://es.archive.ubuntu.com/ubu
ntu/ feisty universe
deb
http://es.archive.ubuntu.com/ubu
ntu/ feisty multiverse
debsrc
http://es.archive.ubuntu.com/ubu
ntu/ feisty multiverse
# Actualizaciones de seguridad y
fuentes de todas las secciones
deb
http://security.ubuntu.com/ubunt
u feistysecurity main
restricted
debsrc
http://security.ubuntu.com/ubunt
u feistysecurity main
restricted
deb
http://security.ubuntu.com/ubunt
u feistysecurity universe
debsrc
http://security.ubuntu.com/ubunt
u feistysecurity universe
deb
http://security.ubuntu.com/ubunt
u feistysecurity multiverse
debsrc
http://security.ubuntu.com/ubunt
u feistysecurity multiverse
Conviene tener siempre el sistema actualizado con las últimas versiones de los paquetes instalados,
siempre que correspondan a una versión estable de la distribución.
Tal y como se dijo en el punto 6 la orden apt-get permite, tanto tener actualizada la lista de
paquetes disponibles en el sistema como su actualización a las últimas versiones.
Hay que tener en cuenta que hay que actualizar el sistema siempre que:
Introducimos cambios en el archivo /etc/apt/sources.list
Queremos actualizar4 la lista de paquetes del sistema
Para ello hay que ejecutar la orden:
#aptget update
En este artículo se repasan los conceptos mas importantes acerca de la gestión de paquetes en
Edubuntu en particular, y por extensión en Debian.
El usuario administrador debe tener en cuenta que la utilización de Synaptic es crítica, ya que, en
función de las actualizaciones que se hagan se puede dejar el sistema inestable.
Cuando se arranca Synaptic el sistema pide la contraseña del usuario administrador y, a
continuación, se visualiza la siguiente ventana:
Componente Descripción
Barra de menú Contiene menús que proporcionan acceso a todas las funciones de
Synaptic.
Lista paquetes Lista todos los paquetes conocidos. La lista puede reducirse utilizando
filtros.
Estado: sólo muestra los paquetes del estatus seleccionado (Instalado / No instalado).
Alfabético: sólo muestra paquetes con la letra inicial seleccionada. Hay que estar situado en
la lista de paquetes y pulsar la letra deseada.
El orden de las columnas y los colores usados se pueden cambiar desde la ventana de Preferencias.
Pestaña Descripción
#apt-get dist-upgrade
Desde la ventana de Preferencias se puede establecer el método utilizado por defecto u optar por
preguntar cada vez que se realice la actualización.
Ejemplo de utilización:
Para actualizar el sistema a la última versión seguir los siguientes pasos:
1. Refrescar la lista de paquetes conocidos para conocer la última versión disponible:
Ir a: Menú -> Editar -> Recargar información de paquetes
2. Marcar los paquetes para actualizar:
Pulsar sobre 'Marcar todas las actualizaciones' en la Barra de herramientas.
3. Escoger el método dist-upgrade. Se recomienda la actualización inteligente.
4. Aplicar los cambios marcados para actualizar el paquete(s).
Pulsar en Aplicar cambios en la Barra de herramientas.
Se puede modificar el método de actualización por defecto en Preferencias para futuras
actualizaciones.
1.
1.
1.
Fijar paquetes rotos
Se puede romper la estructura de dependencias si existen errores en las dependencias de los
paquetes, fallos en las instalaciones o instalaciones incompletas.
Synaptic no permitirá cambios futuros en el sistema hasta que todos los paquetes rotos sean fijados.
Para corregir los paquetes rotos elegir: Menú -> Editar -> Reparar paquetes rotos
Para mostrar todos los paquetes rotos elegir el filtro Roto en Menú -> Configuración -> Filtros
1.
1.
1.
Repositorios
Los paquetes estan disponibles a partir de los Repositorios. El repositorio contiene los paquetes y
un índice que incluye información básica acerca de los paquetes, como dependencias y una pequeña
descripción.
Para acceder a los repositorios ir a: Menu -> Configuración -> Repositorios
Los repositorios pueden estar disponibles a través de Internet, vía http o ftp, también pueden estar
en soporte CD-ROM/DVD o en discos duros locales.
8.6 Filtros
La activación de filtros reduce la lista de paquetes mostrados. El conjunto de filtros predefinidos de
Synaptic es el siguiente:
Filtro Descripción
Nuevo en archivo Visualiza sólo paquetes nuevos desde la última actualización del
repositorio.
Paquete con Visualiza sólo paquetes que pueden ser configurados mediante el
Debconf sistema de configuración de paquetes, llamado debconf.
1.
1.
1.
Edición o creación de filtros
El editor de filtros permite crear, borrar y modificar filtros. Para ello ir a: Menú -> Configuración
-> Filtros.
Estado: muestra la selección de paquetes por su estado.
Sección: muestra la selección de paquetes por su sección.
Propiedades: permite definir filtros por diversas propiedades del paquete.
Pestañas:
8.7 Preferencias
La ventana de preferencias5 (Menu -> Configuración -> Preferencias) tiene 6 pestañas:
1. General
Marcado de cambios: permite establecer las condiciones por defecto para los cambios.
Aplicación de cambios: permite establecer las condiciones por defecto para la aplicación de
los cambios.
2. Columnas y Tipos
Columnas
Establece las columnas de información que serán visibles.
Tipografía
Establece el tipo de uso de la tipografía.
3. Colores
El marcado de colores permite diferenciar las acciones a realizar sobre los paquetes.
4. Ficheros temporales
Permite determinar si los paquetes descargados serán almacenados en la caché o eliminados
después de su instalación.
5. Red
Permite configurar la salida a Internet de forma directa o a través de proxy.
6. Experto
Las acciones tienen un efecto sobre todo el sistema, a nivel de distribución. Hay que ir con
cuidado.
La aplicación Update Manager no puede ser ejecutada si existe lanzada otra instancia de Synaptic
y pedirá que se cierre una de ellas. A partir de este momento la actualización es inmediata y,
dependiendo del volumen de paquetes a actualizar y de la velocidad de la conexión a Internet,
tardará un cierto tiempo.
10 Conclusión
8. A lo largo del artículo el usuario-lector ha podido comprobar la potencia y versatilidad del
sistema de paquetes de Debian (.deb). Es interesante, también, que sepa que es posible
convertir paquetes de diferentes formatos, en concreto, pasar de paquetes RPM a paquete
Debian mediante la utilización de la heramienta Alien que, de forma rápida y sencilla, es
capaz de generar un .deb totalemente funcional. Esto es especialmente interesante para poder
acceder a software Red-Hat que todavía no está disponible para Debian (Ubuntu).
9. Queda fuera del ámbito de este artículo adentrarse en la propia creación de paquetes y
estudiar los mecanismos necesarios, así como los archivos implicados. Pero el objetivo de
proporcionar una visión de usuario, que puede ser suficiente para aprender a manejar
paquetes en el sistema así como comprender su funcionamiento, esperamos que haya
quedado cubierto.