Está en la página 1de 24

Administración de paquetes con RPM

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

Nombre del paquete prog


Versión 1.0
Lanzamiento 1
Arquitectura i386
Gracias a esta herramienta de administración completamente gratuita se permite al usuario
desempaquetar el código fuente de forma que los archivos binarios que componen el paquete
pueden ser localizados e instalados, o bien reconstruir los paquetes originales con facilidad.
Además, gracias a que gestiona una base de datos de todos los paquetes instalados en el sistema nos
facilita el obtener información o verificar los paquetes o los archivos que derivan de estos.
Mediante esta potente herramienta el usuario podrá así pues gestionar nuestros programas de una
forma óptima, rápida y sencilla: mediante el intérprete de comandos usando comandos de una sola
línea.
OBJETIVOS DE RPM:
RPM presenta una serie de características:

- Orientado a la actualización: Nos permite actualizar programas o componentes de


nuestro sistema operativo sin necesidad de reinstalar el software de nuevo.
- Consultas poderosas: Mediante su base de datos podremos: encontrar un paquete,
encontrar un archivo, paquete de origen de un archivo específico u origen de
procedencia de un paquete.
- Verificación de Sistema: Nos permite detectar la falta de algún archivo perteneciente
a un paquete o el cambio en un archivo de configuración de un paquete.

OBTENER RPM y PAQUETES RPM:


Si no trabajamos bajo una distribución Red Hat podremos obtener la herramienta en el siguiente
enlace o de los discos de instalación de nuestra distribución Red Hat pertinente.
http://www.rpm.org
Para encontrar algun paquete en específico podríamos encontrarlos en la web puesto que al ser
software gratuito existen muchas fuentes en Internet para descargarlos. No obstante una buena
fuente de recursos rpm serían estas:
http://www.rpmfind.com
http://www.redhat.com/download/mirror.html
USO de RPM:
Vamos a ver como gestionar paquetes con la herramienta RPM, no obstante no entraremos en
detalle de cómo crear y compilar paquetes, únicamente nos centraremos en la administración de
paquetes ya creados para la administración y gestión de nuestro software.
INSTALACIÓN DE RPMS
Vamos a ver como instalar un paquete. A la hora de instalar un paquete específico usaremos las
opciones:
-i : Tambien notado --install, indica a RPM que instale el paquete especificado.

-U : También podría notarse --upgrade, ambas expresiones son equivalentes. Esta


opción indica a RPM que queremos realizar una operación de actualización. Uno podría
preguntarse porqué usar un parámetro de actualización en vez de un parámetro de
instalación, como podría ser -i. La explicación es bien sencilla, al actualizar rpm nos
instala el paquete deseado a la vez que nos elimina todas las posibles versiones antiguas
del paquete si es que tuviesemos alguna. Es decir, con -i nos instalaría el paquete
deseado pero nos podría dar problemas si tuviesemos alguna versión antigua, cosa que
con -U no sucede.

-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á:

Preparing... ################################################## [100%]


1:prog ################################################## [100%]
De forma que primero nos muestra el nombre del paquete y las almohadillas nos irán apareciendo
como medidores de progreso (gracias a las opciones añadidas -vh )
Si no se verificase la firma del paquete o fuese otra firma nueva (por ser por ejemplo un paquete de
actualización) nos mostraría error.
La instalación de paquetes así pues es sencilla pero se nos podrían presentar una serie de errores:
a) Que el paquete esté ya instalado.

Ya instalado, no que tuviesemos una version antigua.

Nos mostraría por pantalla:


Preparing... ################################################## [100%]

Package prog-1.0-1.i386.rpm is already installed

No obstante si nos encontramos en esta situacion y queremos que nos haga la


instalación ignorando el hecho de que lo tengamos ya instalado usaremos la opción -i
para instalar en vez de actualizar a la vez que --replacepkgs que forzaría la instalación
ignorando la existencia de una instalación.

rpm -ivh --replacepkgs prog-1.0-1.i386.rpm

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:

Preparing... ################################################## [100%]

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.

rpm -ivh --replacefiles prog-1.0-1.i386.rpm

c) Dependencias no resueltas:

Algunos paquetes pueden depender de otros previamente instalados para funcionar


correctamente. Si intentamos instalar un paquete con una dependencia no resuelta
veríamos por pantalla:

Preparing... ################################################## [100%]

error: Failed dependencies:

bar.so.2 is needed by prog-1.0-1

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:

rpm -ivh prog-1.0-1.i386.rpm bar-2.0.20-3.i386.rpm


Y veremos por pantalla lo siguiente:

Preparing... ################################################## [100%]

1: prog ################################################## [50%]

2:bar ################################################## [100%]

Si no nos sugierieran con qué paquete resolver la dependencia, mediante la opción --


redhatprovides podríamos averiguar cual es el paquete que contiene el archivo
necesario. (Es necesario tener instalado previamente el paquete rpmdb-redhat).Para ello
nos valdremos de la opción -q que indica a RPM que realice una consulta, opción que
veremos con mas detalle mas adelante.

rpm -q --redhatprovides bar.so.2

Si el paquete que contiene el archivo se encuentra en la base de datos instalada desde


rpmdb-redhat nos aparecerá el nombre del paquete:

bar-2.0.20-3.i386.rpm

Aún así, si quisiesemos tendríamos la opción de instalar el paquete sin resolver la


dependencia, aunque no es aconsejable puesto que el paquete no funcionaría
correctamente, con la opción --nodeps.

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:

-a Nos consulta todos los paquetes instalados.


consultará el paquete que contenga el archivo especificado (hay que
-f
especificar la ruta completa del archivo)
-p consultara el paquete especificado.
Aparte tenemos otra opciones de especificación que nos especificarán el tipo de información a
mostrar:

Nos mostrará información del paquete como su nombre, descripción,


-i versión, tamaño, fecha de construcción, la fecha de instalación, el
distribuidor.
-l Muestra el numero de archivos contenidos en el paquete.
-s Muestra el estado de todos los archivos del paquete.
Muestra una lista de archivos marcados como archivos de
-d
documentación.
Muestra una lista de archivos marcados como archivos de
-c
configuración.
VERIFICACIÓN DE RPM
Básicamente consiste en comparar la información de los archivos instalados con la propia
información del paquete original. Especificamente nos comparará parámetros como el tamaño, los
permisos, el tipo, el dueño, el grupo y la suma MD5.
Para verificar un paquete usaremos la opción:
rpm -V prog-1.0-1.i386.rpm
Para verificar un paquete que contiene un determinado archivo usaremos la opción:
rpm -Vf /home/carlos/doc1_amsn.txt
(Hay que notar la ruta completa del archivo a comprobar)
Para verificar TODOS los paquetes instalados:
rpm -Va
Para verificar un paquete instalado con un archivo de paquete RPM:
rpm -Vp prog-1.0-1.i386.rpm
Si no hubiese conflicto no habria ninguna salida tras la ejecución del comando. Si hubiese algún
tipo de discrepancia la salida tendría el siguiente formato: Una cadena de ocho caracteres (una c
identifica un archivo de configuración) seguido por el nombre del archivo. Cada uno de esos ocho
caracteres nos inica el resultado de comparar un atributo específico de ese archivo con el valor que
se le supobe a ese archivo y que está escrito en la base de datos de RPM. Los siguientes caracteres
indican que pruebas no han sido pasadas:

5 MD5, suma de verificación


S tamaño de archivo
L enlace simbólico
T hora de modificación del archivo
D dispositivo
U usuario
G grupo
M modo (incluye tipos de archivo y permisos)
? archivo que no se puede leer
VERIFICAR LA FIRMA DE UN PAQUETE
Para verificar la firma de un paquete y ver si el paquete ha sido dañado o alterado usaremos el
sguiente comando:
rpm -K prog-1.0-1.i386.rpm
Si nos muestra como resultado:
prog-1.0-1.i386.rpm: md5 gpg OK
Nos indicará que no ha habido problemas y el archivo no ha sido dañado en el momento de la
descarga.
Utilización de paquetes .deb
1. Introducción
Toda distribución basada en GNU/Linux utiliza algún sistema o mecanismo para la creación y/o
manipulación del software que incluye. Es decir, cualquier aplicación integrada en la propia
distribución o disponible a través de ella, debe cumplir una serie de requisitos organizativos y
estructurales que permitan su gestión de forma ordenada y organizada. Este sistema se llama Gestor
de paquetes y cada distribución utiliza un gestor de paquetes. Por ejemplo Red-Hat utiliza los
paquetes .rpm, Slackware utiliza los paquetes .tar, Debian utiliza los paquetes .deb, etc.
La distribución Edubuntu Feisty Fawn utiliza el sistema de paquetes de Debian (.deb) pero sigue
una clasificación diferente. Para Edubuntu todo el software disponible está agrupado en cuatro
secciones o componentes, dependiendo del tipo de licencia del software que incluyen o del soporte
proporcionado por la propia distribución general Ubuntu. Las secciones son: main, restricted,
universe y multiverse que se explican en el punto 6.
En el 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. Así mismo se estudia la herramienta básica para
la gestión del software instalado en entorno gráfico y las diferentes opciones desde una terminal de
texto.

2. ¿Qué es un paquete Debian?


Se puede definir un paquete como un
conjunto de archivos y metadatos que
describen dichos archivos.

Los metadatos(1) son la información que necesita el paquete así como la información del propio
paquete.
Cualquier aplicación incluida en una distribución GNU/Linux debe estar en un paquete, bien junto
con otras aplicaciones, o bien ella misma constituir un paquete propio. Por ejemplo, el navegador
web Firefox tiene su propio paquete llamado mozilla-firefox . El metapaquete ubuntu-mediapack
( deb http://www.xente.mundo-r.com/roax/archive feisty/) contiene un conjunto de aplicaciones
relativas a codecs, tipos de fuentes, plugin de Flash o plugins para Firefox, utilidades de
compresión/descompresión de archivos ,... que se han empaquetado conjuntamente bajo este
nombre de metapaquete.
Existen 2 tipos de paquetes:
 Binarios: contiene ejecutables, archivos de configuración, páginas man/info, información de
copyright y documentación en general. Tienen la extensión .deb y se dese mpaquetan con la
utilidad dpkg .
 Fuentes: conjunto de archivos que definen el paquete. S e empaquetan /desempaquetan con
dpkg-source .
Los paquetes binarios .deb contienen los siguientes archivos:
 debian-binary: contiene laversión del archivo .deb
 sección de control del paquete ( control.tar.gz ) que contiene:
 archivo control (metadatos): dependencias del paquete, prioridad, mantenedor, arquitectura,
conflictos, versión, md5sum,...
 scripts que se ejecutan antes o despues de instalar el paquete para, por ejemplo,
detener los servicios de los paquetes que se actualizan hasta que su instalación o actualización se
completa o ejecutan órdenes necesarias para empezar o reanudar un servicio una vez que el paquete ha
sido instalado o actualizado, etc.
 data.tar.gz : contiene todos los archivos que se instalarán, con sus rutas de destino.
Los paquetes fuente contienen los siguientes archivos:
 . dsc : archivo de descripción del paquete. En general es información sobre el paquete.
 . orig.tar.gz : archivo fuente original.
 .diff.gz : archivo con los cambios de Debian sobre el código fuente original.

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

Installed-Size: 44

Maintainer: Ubuntu Desktop Team <ubuntu-


desktop@lists.ubuntu.com>
Architecture: all

Version: 2.18.1-0ubuntu3

Depends : totem-gstreamer (>= 2.18.1-


0ubuntu3) | totem-xine (>= 2.18.1-0ubuntu3)

Description: A simple media player for the


Gnome desktop (dummy package)

La línea de dependencias se ha subrayado y se comprueba que la instalación de Totem requiere la instalación de los
paquetes totem-gstreamer y totem-xine.

4. Nomenclatura de los paquetes .deb


Los nombres de los paquetes binarios Ubuntu siguen la siguiente convención:

<nombre>_<NúmeroDeVersión>-
<NúmeroDeRevisiónUbuntu>.deb

donde:

<nombre> es el nombre del paquete

<NúmeroDeVersión> es el número de versión establecido por el desarrollador. No sigue un estandar.

<NúmeroDeRevisiónUbuntu> es el número de revisión que normalmente implica cambios en el archivo de control, los
scripts de instalación o desinstalación, o en los archivos de configuración usados en el paquete.

.deb es la extensión utilizada para identificar los paquetes de Ubuntu.

Por ejemplo, la aplicación Totem se instala en el sistema mediante el paquete:

totem_2.18.1-0ubuntu3_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

all indica que es válido para cualquier


arquitectura

.deb la extensión de paquete Ubuntu

5. Secciones de paquetes en Edubuntu


Debian y Edubuntu difieren en la forma de agrupar los paquetes y nombrar las secciones o
componentes. Así, desde Edubuntu las secciones disponibles son las siguientes:
1.
1. Main
La sección main contiene los paquetes que cumplen los requisitos de la licencia de Ubuntu y a los
que da soporte.
Esta sección incluye todos los paquetes necesarios para una distribución GNU/Linux de uso
general. Además los paquetes de esta sección tienen ayuda técnica y actualizaciones de seguridad.
1.
1. Restricted
La sección restricted contiene paquetes soportados por Ubuntu por su importancia, pero que no
están disponibles bajo ninguna licencia libre y no se pueden incluir en main.
En esta sección se incluyen los paquetes relativos a los controladores de ciertas tarjetas gráficas,
como nVIDIA, que son propieatrios. Existe ayuda pero es más limitada que en la sección main, ya
que los desarrolladores no siempre tienen acceso al código fuente.
1.
1. Universe
La sección universe contiene gran cantidad de software que no tiene apoyo por parte de Ubuntu.
Esta es la sección que permite a los usuarios instalar cualquier programa en el sistema, y, tengan la
licencia que tengan, se almacenan aparte de las secciones main y restricted.
1.
1. Commercial
Esta sección, como su nombre indica, contiene software comercial.
1.
1. Multiverse
La sección multiverse contiene paquetes sin soporte ya que no cumplen los requisitos del Software
Libre.

6. Gestión de paquetes .deb: herramientas


Desde Edubuntu la gestión de paquetes se puede realizar de forma sencilla mediante la herramienta
gráfica Synaptic que se explica en el punto 8.
Existen otro tipo de mecanismos que trabajan a mas bajo nivel y de los cuales sólo se explican apt y
dpkg. Su utilización es en modo terminal y, aunque el entorno es menos amigable, es conveniente
conocer algunas de las opciones mas elementales ya que pueden ser de utilidad para el usuario en
determinadas situaciones 'especiales'.
A continuación se explican las órdenes dpkg y apt con sus opciones mas habituales.

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

Es decir, dpkg instala o elimina paquetes y maneja la base de datos ( /var/lib/dpkg/ ) del sistema con la situación de
paquetes indicando claramente los cambios.
Su ejecución requiere privilegios de administrador del sistema.

Consideraciones:

 La instalación de un paquete .deb utilizando dpkg sólo se utiliza cuando se dispone del paquete en local, no a
través de la red.

 No resuelve las posibles dependencias que se puedan presentar en la instalación del paquete.

Las opciones mas importantes de dpkg son las siguientes:

Opción Descripción

-i <paquete.deb> instala un paquete .deb3. El usuario debe ser root o ser un usuario sudo.

-L <paquete> lista los archivos de un paquete

-l lista paquetes instalados

-l <paquete.deb> información acerca de un paquete

-s <paquete> información del paquete instalado (contenido archivo control ). Admite


comodines.

-S <archivo> buscar en qué paquete de los instalados está el archivo dado.

dpkg-reconfigure configura el paquete indicado


<paquete>

-r <paquete> borra el paquete instalado

--purge <paquete> borra el paquete y sus archivos de configuración.

-c <paquete.deb> ver los archivos que contiene un paquete binario incluido el dueño, grupo y
permisos.

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

1. Mostrar los archivos que copia en el sistema la instalación de la aplicación Totem:

#dpkg -L totem

/.

/usr
/usr/share

/usr/share/doc

/usr/share/doc/totem

/usr/share/doc/totem/copyright

/usr/share/doc/totem/changelog.Debian.gz

2. Motrar los archivos del paquete binario de Totem con información complementaria:

#dpkg -c
/var/cache/apt/archives/totem_2.18.1-
0ubuntu3_all.deb

drwxr-xr-x root/root 0 2007-04-05 18:13 ./

drwxr-xr-x root/root 0 2007-04-05 18:13


./usr/

drwxr-xr-x root/root 0 2007-04-05 18:13


./usr/share/

drwxr-xr-x root/root 0 2007-04-05 18:13


./usr/share/doc/

drwxr-xr-x root/root 0 2007-04-05 18:13


./usr/share/doc/totem/

-rw-r--r-- root/root 440 2007-04-05 18:08


./usr/share/doc/totem/copyright

-rw-r--r-- root/root 13872 2007-04-05 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 libtotem-plparser1 2.18.1-0ubuntu3 Totem


Playlist Parser library - runtime vers

ii totem 2.18.1-0ubuntu3 A simple media


player for the Gnome desktop

ii totem-gstreamer 2.18.1-0ubuntu3 A simple


media player for the Gnome desktop

ii totem-mozilla 2.18.1-0ubuntu3 Totem


Mozilla plugin

La línea subrayada se corresponde con la aplicación Totem.


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.

Su ejecución requiere privilegios de administrador del sistema.


apt dispone de dos interfaces en línea de órdenes:
 apt-get es la herramienta en línea de órdenes usada para el manejo de paquetes.
 apt-cache realiza una serie de operaciones sobre la caché de paquetes de APT. Permite
operaciones de búsqueda en la información de los paquetes.
Las opciones mas importantes de apt-get son las siguientes:

Opción Descripción

update Obtiene una nueva lista de paquetes actualizando las descripciones de los paquetes que hay
en la base de datos local.

upgrade Actualiza el sistema con actualizaciones disponibles. No elimina paquetes previamente


instalados, ni instala paquetes previamente no seleccionados.

dist-upgrade actualiza todo entre ramas de desarrollo. Con -u vemos TODOS los paquetes a actualizar.

install Instala un paquete y sus dependencias.

install --reinstall Reinstala un paquete ya instalado.

install -f Para solucionar problemas de dependencias de paquetes ya instalados o a medio instalar.

remove [--purge] Elimina un paquete (borra archivos configuración).

source Baja los paquetes fuente (los fuentes, los parches y los archivos de control de Debian) de un
paquete de las listas y descomprime.

clean Los paquetes instalados se guardan en /var/cache/apt/archives/ y este directorio se puede


limpiar con esta opción recuperando espacio.

check Comprobación de posibles problemas en el estado de los paquetes.

Ejemplos:

1. Actualizar el sistema (la lista de paquetes, no los propios paquetes):

#apt-get update
2. Instalar nuevas versiones de los paquetes ya instalados en el sistema:

#apt-get upgrade

3. Instalar un paquete desde la red resolviendo las dependencias que pudiera presentar:

#apt-get install totem

4. Tenemos un paquete instalado y queremos volver a instalarlo completamente:

#apt-get install --reinstall totem

5. El sistema presenta problemas de dependencias que han quedado pendientes de resolver y que impiden la instalación
de nuevos paquetes:

#apt-get install -f

Las opciones mas importantes de apt-cache son las siguientes:

Opción Descripción

show <paquete> muestra la descripción del paquete dado

search <cadena> busca la 'cadena' en la base de datos de paquetes

stats muestra estadísticas sobre apt-cache

depends muestra de qué paquetes depende otro paquete

showpkg muestra inormación sobre el paquete

Ejemplos:
1. Queremos conocer información sobre un paquete que tenemos instalado:

#apt-cache show totem

2. Queremos conocer información sobre un paquete que no tenemos necesariamente instalado:

#apt-cache search dvdrip

3. Queremos conocer la relación de dependencias de un paquete dado:

#apt-cache 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 apt-get 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/ubuntu/
feisty main restricted

deb-src
http://es.archive.ubuntu.com/ubuntu/ feisty
main restricted

deb http://es.archive.ubuntu.com/ubuntu/
feisty-updates main restricted

deb-src
http://es.archive.ubuntu.com/ubuntu/ feisty-
updates main restricted

# Las secciones universe y multiverse y


fuentes

deb http://es.archive.ubuntu.com/ubuntu/
feisty universe

deb-src
http://es.archive.ubuntu.com/ubuntu/ feisty
universe

deb http://es.archive.ubuntu.com/ubuntu/
feisty multiverse

deb-src
http://es.archive.ubuntu.com/ubuntu/ feisty
multiverse

# Actualizaciones de seguridad y fuentes de


todas las secciones

deb http://security.ubuntu.com/ubuntu
feisty-security main restricted

deb-src http://security.ubuntu.com/ubuntu
feisty-security main restricted

deb http://security.ubuntu.com/ubuntu
feisty-security universe
deb-src http://security.ubuntu.com/ubuntu
feisty-security universe

deb http://security.ubuntu.com/ubuntu
feisty-security multiverse

deb-src http://security.ubuntu.com/ubuntu
feisty-security 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:

#apt-get 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.

8 Herramienta gráfica Synaptic


La aplicación Synaptic es un frontend gráfico del sistema gestor de paquetes apt-get. Es decir,
desde Synaptic se pueden llevar a cabo las mismas acciones que en la línea de órdenes pero
utilizando un entorno gráfico más sencillo y amigable.
La versión que incluye Edubuntu es la 0.57.11 y el paquete asociado es
synaptic_0.57.11.1ubuntu14.deb.
La principales características de Synaptic son las siguientes:
 Instala, elimina, configura, actualiza y descarga paquetes.
 Actualiza el sistema completo.
 Permite la gestión de los repositorios de paquetes.
 Permite comparar la versión instalada de un paquete con la versión disponible en el
repositorio correspondiente.
 Resolución de dependencias.
 Búsqueda de la lista de paquetes utilizando filtros, como pueden ser el nombre, descripción
y otras propiedades de los paquetes.
 Filtrado, de la lista de paquetes conocidos, por status, sección o propiedades.
 Ordenar listados de paquetes por letra inicial, status...
 Visualizar toda la documentación en línea referida al paquete.
La utilización de Synaptic requiere tener privilegios de administrador (root) y se puede ejecutar de
las siguientes formas:
 Desde el escritorio GNOME ir a:
Sistema -> Administración -> Gestor de paquetes Synaptic
 Desde la línea de orden
Para arrancar Synaptic desde la línea de orden, en una terminal escribir:

#synaptic &

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:

La tabla siguiente describe los diferentes elementos de la ventana principal de Synaptic:

Componente Descripción

Barra de menú Contiene menús que proporcionan acceso a todas las funciones de Synaptic.

Barra de Proporciona acceso directo a las funciones principales de Refrescar, Actualizar Sistema,
herramientas Aplicar y Buscar.

Selector de Proporciona categorías para reducir la lista de paquetes mostrada. (Todo)


Categoría

Lista paquetes Lista todos los paquetes conocidos. La lista puede reducirse utilizando filtros.

Descripción paquete Proporciona información acerca del paquete seleccionado.

Barra de estado Visualiza el estado actual de Synaptic.

8.1 Barra de herramientas


La Barra de herramientas proporciona acceso directo a las principales acciones y a la búsqueda
rápida de paquetes.

Donde:
 Recargar: consulta todos los repositorios y actualiza la lista de aplicaciones disponibles.
 Marcar todas las actualizaciones disponibles.

 Aplicar: aplica todos los cambios marcados.

 Propiedades: descripción del paquete con sus dependencias, etc.

 Buscar: permite realizar búsquedas.

8.2 Selector de Categorías

El selector de la izquierda permite reducir los paquetes listados por categorías.


Están disponibles las siguientes categorías:
 Secciones: sólo muestra paquetes que pertenecen a la sección seleccionada.

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

 Filtros: sólo muestra paquetes que se ajustan a los criterios seleccionados.

 Histórico de búsqueda: sólo muestra el resultado de la búsqueda seleccionada.

8.3 Lista de paquetes


La lista de paquetes muestra todos los paquetes conocidos por defecto. Se pueden aplicar filtros
para reducir la lista de paquetes mostrados.

El orden de las columnas y los colores usados se pueden cambiar desde la ventana de Preferencias.

8.4 Propiedades del paquete


El acceso a las propiedades del paquete se hace desde:

Menú -> Paquete -> Propiedades


El área de detalles del paquete proporciona información acerca del paquete seleccionado y controles
para modificar el estatus, como, por ejemplo marcar el paquete para su instalación.
Esta zona contiene las siguientes pestañas:

Pestaña Descripción

Comunes Muestra información básica del paquete: nombre, descripción corta, mantenedor,
estatus, prioridad, sección, versión instalada y versión disponible.

Dependencias Lista los paquetes requeridos, dependientes, proporcionados, sugeridos y recomendados.

Ficheros instalados Lista los archivos instalados del paquete.

Versiones Muestra las versiones disponibles.

Descripción Muestra una descripción larga del paquete.

8.5 Gestión de paquetes


Respecto a la gestión de paquetes desde la herramienta Synaptic se pueden llevar a cabo las
siguientes acciones:
1.
1.
1.
 Buscar y navegar por los paquetes
Para buscar un paquete específico hay que:
1. Abrir el diálogo de búsqueda mediante una de las opciones:
 Pulsar la combinación CTRL+F
 Pulsar en la Barra de herramientas: Buscar
 Ir a: Menú -> Editar -> Buscar
2. Introducir la expresión de búsqueda en el campo Buscar.
3. Seleccionar el campo por el que se va a realizar la búsqueda.
4. Pulsar el botón Buscar para iniciar la búsqueda. Esta acción puede llevar algún tiempo.
1.
1.
1.
 Instalar paquetes
Para instalar uno o más paquetes ejecutar los siguientes pasos:
1. Refrescar la lista de paquetes para conocer la última versión disponible:
 Ir a: Menú -> Editar -> Recargar información de paquetes.
 En la Barra de herramientas pulsar el botón Recargar.
 Pulsar la combinación Ctrl+R.
2. Marcar el paquete para instalar:
 Pulsar dos veces en el nombre del paquete en la lista de paquetes.
 Pulsar en el icono del estado del paquete y escoger 'Marcar para Instalación' en el
menú contextual.
 Pulsar botón derecho en el paquete y escoger 'Marcar para instalar' en el menú
contextual.
 Seleccionar el paquete y escoger Menú -> Paquete -> Marcar para Instalación
desde el menú.
 Seleccionar el paquete y presionar la combinación Ctrl+I.
3. Aplicar los cambios marcados para la instalación del paquete:
 Pulsar en la Barra de herramientas: Aplicar
 Pulsar la combinación Ctrl+P.

1.
 Eliminar paquetes
Para eliminar paquetes seguir los pasos siguientes:
1. Marcar el paquete como eliminable:
 Pulsar dos veces sobre el nombre del paquete instalado en la lista de paquetes.
 Pulsar en el icono de estado del paquete y escoger 'Marcar para eliminar'.
 Pulsar el botón derecho sobre el paquete y escoger Eliminar en el menú contextual.
 Seleccionar el paquete y escoger Menú -> Paquete -> Marcar para Eliminación
 Seleccionar el paquete y pulsar la combinación Ctrl+R.
 Aplicar los cambios marcados para la eliminación del paquete:
1.
1.
1.
 Actualizar paquetes
Pulsar en la Barra de herramientas: Aplicar.
Pulsar la combinación Ctrl+P.
Para actualizar paquetes 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
 Pulsar en la Barra de herramientas: Recargar.
 Pulsar la combinación Ctrl+R.
2. Marcado de paquetes para su actualización:
 Pulsar sobre el nombre del paquete con la última versión disponible en la lista de
paquetes.
 Pulsar sobre el icono de estatus del paquete y escoger 'Marcar para actualizar'.
 Pulsar el botón derecho sobre el paquete y escoger 'Marcar para actualizar' en el
menú contextual.
 Seleccionar el paquete e ir a Menú -> Paquete -> Marcar para actualización
 Seleccionar el paquete y presionar la combinación Ctrl+U.
 Aplicar los cambios marcados para actualizar el paquete:
1.
1.
1.
 Actualizar el sistema completo
Pulsar en Aplicar en la Barra de herramientas.
Se puede llevar a cabo una actualización general del sistema a la última versión disponible sin
necesidad de marcar y actualizar cada paquete de forma manual. Para ello hay dos métodos:
 Actualización predeterminada

El método de actualización por defecto actualiza solo los paquetes instalados. La actualización no podrá ser
marcada si la última versión del paquete depende de paquetes no instalados o hay conflictos con paquetes ya
instalados.

 Actualización inteligente o Dist-Upgrade

El método dist-upgrade intenta resolver conflictos entre paquetes de forma inteligente. Este método desde una
terminal es equivalente a la ejecución de la orden:

#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

Todos los paquetes Visualiza todos los paquetes conocidos.

Instalado Visualiza sólo los paquetes instalados.

No Instalado Visualiza sólo los paquetes no instalados.

Actualizable Visualiza sólo paquetes con la última versión disponible.

Roto Visualiza sólo paquetes con dependencias rotas.

Cambios Programados Visualiza sólo paquetes marcados para se actualizados.


Filtro Descripción

Nuevo en archivo Visualiza sólo paquetes nuevos desde la última actualización del repositorio.

Paquete con Debconf Visualiza sólo paquetes que pueden ser configurados mediante el sistema de
configuración de paquetes, llamado debconf.

Obsoleto o localmente Visualiza sólo paquetes que no están incluidos en uno de los repositorios
instalado especificados.

Filtro de Búsqueda Visualiza el último resultado de la búsqueda avanzada.

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.

El editor de filtros tiene los siguientes componentes:


 Lista de Filtros: muestra una lista de filtros disponibles.


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

9 Actualización automática del sistema


La distribución Edubuntu dispone de un sistema de actualización automática del sistema que lanza
la aplicación Update Manager (/usr/bin/update-manager) y que está disponible través del icono
siguiente:
Esta aplicación detecta la disponibilidad de nuevas versiones de los paquetes instalados y propone
la actualización de la lista de paquetes así como la descarga de estas nuevas versiones.

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.