Herramientas administrativas y de actualización de Debian GNU/Linux

Debian emplea el formato de paquete deniominado .deb, y para gestionar su sistema de paquetes dispone de varias herramientas:

dpkg

A continuación damos una lista de ejemplos de uso, para más información se recomienda leer la página de manual dpkg(8):

dpkg --help

Muestra las opciones del programa.

dpkg --contents nompaq_VVV-RRR.deb

Muestra los ficheros que contiene el paquete.

dpkg --info nompaq_VVV-RRR.deb

Imprime el fichero de control y otros datos del paquete.

dpkg --install nompaq_VVV-RRR.deb

Instala el paquete especificado, incluyendo el desempaquetado y la configuración, en el disco duro.

dpkg --unpack nompaq_VVV-RRR.deb

Desempaqueta un archivo .deb en el disco y lo deja sin configurar.

dpkg --configure nompaq

Configura un paquete previamente desempaquetado.

dpkg --configure --pending

Configura todos los paquetes previamente desempaquetados. Suele ser útil cuando herramientas de más alto nivel fallan y no terminan de configurar paquetes por errores no relacionados entre sí.

dpkg --listfiles nompaq

Lista los ficheros que contiene un paquete ya instalado.

dpkg --remove nompaq

Borra un paquete, pero deja los ficheros de configuración que tuviera.

dpkg --purge nompaq

Borra un paquete eliminando todos sus ficheros de configuración.

dpkg --status nompaq

Muestra el estado de un paquete.

dpkg --search expreg

Muestra los paquetes que contienen ficheros que coinciden con la expresión regular.

Hay que indicar que para emplear los paquetes con dpkg es preciso tenerlos en el disco, ya que el programa trabaja con el fichero que contiene el paquete o con paquetes ya instalados.

apt

Para utilizar APT es necesario indicarle al sistema donde tiene que buscar los recursos; esto se hace en el fichero /etc/apt/sources.list.

Cada línea índica de donde obtener la lista de paquetes binarios o ficheros fuente disponibles. El formato de las entradas es el siguiente:

  deb uri distribución [componente1] [componente2] [...]

El el primer elemento de la línea puede ser deb (para paquetes binarios) o deb-src (si nos referimos a ficheros fuente). El segundo nos indica la dirección del directorio base de una distribución tipo Debian y acepta cuatro tipos de URI: file, cdrom, http y ftp. El tercer parámetro nos indica la distribución que vamos a emplear (en nuestro caso emplearemos woody o stable) y los siguientes parámetros indícan secciones de la distribución (generalmente main, contrib y non-free, aunque puede haber otras).

Para interactuar con APT se suelen emplear dos programas, apt-get y apt-cache. El primero es el cliente de línea de comandos del sistema y el segundo es el que se emplea para manipular la cache de paquetes.

A continuación presentamos ejemplos de uso de ambos programas, explicando lo qué hacen, como siempre recomendamos la lectura de las páginas de manual de apt-get(8) y apt-cache(8) para el que desee más información.

Uso de apt-get:

apt-get --help

Muestra un resumen del uso del programa.

apt-get install <paquete>

Descarga el paquete <paquete> y todas sus dependencias, instalando o actualizando los paquetes descargados.

apt-get remove [--purge] <paquete>

Elimina el paquete <paquete> y los paquetes que dependan de él. Si se emplea la opción --purge se eliminan además los ficheros de configuración del paquete.

apt-get update

Actualiza la lista de paquetes desde los origenes definidos en el fichero /etc/apt/sources.list. Se debe ejecutar siempre que queramos instalar o actualizar algo o cuando cambiemos la configuración.

apt-get upgrade [-u]

Actualiza todos los paquetes instalados a las versiones más nuevas disponibles, sin instalar paquetes nuevos ni eliminar los antiguos. Si la actualización de un paquete requiere instalar paquetes nuevos dejamos ese paquete no se actualiza. La opción -u nos mostrará los paquetes que se van a actualizar.

apt-get dist-upgrade [-u]

Similar a lo anterior, excepto que instala o elimina paquetes para satisfacer las dependencias en lugar de no actualizar.

apt-get [install|upgrade|dist-upgrade] -f

Se usa para corregir problemas de dependencias cuando una operación como install falla. Es interesante indicar que se invoca sin referirnos a ningún paquete en concreto.

Uso de apt-cache:

apt-cache --help

Muestra un resumen del uso del programa.

apt-cache search <patrón>

Busca en los paquetes y el las descripciones el patrón <patrón>.

apt-cache show <paquete>

Muestra la descripción completa del paquete <paquete>

apt-cache showpkg <paquete>

Muestra detalles sobre el paquete y su relación con otros paquetes.

dselect

Herramienta de más alto nivel que nos permite seleccionar, instalar, borrar o dejar paquetes en espera (no actualizarlos, p. ej. por qué la nueva versión genera conflictos con otras versiones u otros programas, etc.).

Utiliza un interfaz en modo texto que nos permite ver los paquetes agrupados por categorías e importancias, acceder a descripción de los paquetes y cuando seleccionamos un paquete nos selecciona sus dependencias, nos recomienda instalar más paquetes si el que estamos instalando o sus dependencias tienen recomendaciones y nos ayuda a resolver conflictos (p. ej. nos dice que tenemos que eliminar versiones incompatibles de programas o bibliotecas).

El menú de dselect es bastante explicativo:

  0. [M]étodo    Escoger el método de acceso que se usará.                                        
  1. [A]ctualiza Actualizar la lista de paquetes disponibles, si se puede.
  2. [S]eleccion Solicitar qué paquetes desea en el sistema.
  3. [I]nstalar  Instalar y actualizar los paquetes deseados.
  4. [C]onfigura Configurar los paquetes que no estén configurados.
  5. [D]esinstal Desinstalar los paquetes no deseados.
  6. sa[L]ir     Salir de dselect.

En la actualidad siempre se suele emplear como método de acceso a los paquetes el apt, de modo que esa opción no se suele emplear.

La siguiente opción se debe emplear siempre que queramos instalar o actualizar el sistema, ya que se encarga de obtener las últimas listas de paquetes disponibles.

El siguiente punto, selección, nos muestra la lista de paquetes diciéndonos cuales son nuevos, cuales tienen actualización disponible, cuales han desaparecido de la lista de paquetes, etc. Además, nos indica el estado de cada uno de ellos y nos permite ordenar la visualización de varias maneras. Usando esta vista podemos marcar los paquetes para que sean instalados, borrados, purgados o que se mantengan sin actualizar.

El punto 3, instalar, es el último realmente útil en la actualidad, ya que al usar apt, cuando le damos a esta opción se descargan, instalan, configuran y eliminan los paquetes de una vez. Empleando otros métodos de acceso si que era necesario pasar por el cuarto y quito paso.

Podemos decir que dselect es una buena herramienta para gestionar la instalación y actualización de paquetes de forma global, ya que nos permite acceder comodamente a la descripción de los mismos, conocer rápidamente su estado y es muy útil a la hora de resolver conflictos. Por todo ello recomendamos a todo aquel que quiera trabajar seriamente con debian que aprenda a utilizar este programa o alguno equivalente (como por ejemplo synaptic, que es similar aunque necesita X).

Actualizaciones de seguridad

En principio sólo la distribución estable (woody) tiene soporte oficial en lo relativo a las actualizaciones de seguridad.

Cada vez que aparece un error de seguridad y se generan paquetes corregidos se anuncian en la lista debian-security-announce (hay un archivo de mensajes disponible en http://lists.debian.org/debian-security-announce/) y se dejan en un almacén específico de actualizaciones de seguridad preparado para funcionar con apt.

Es recomendable incluirlo siempre en nuestra lista de origenes de paquetes añadiendo la siguiente línea en el fichero /etc/apt/sources.list:

    deb http://security.debian.org/ woody/updates main contrib non-free

Cada vez que aparezcan paquetes en este repositorio deberemos actualizar las listas de paquetes e instalar (siempre que se trate de programas que usemos, claro).