Manual de Administración de Paquetes Debian (Parte I)
Enviado por K-nábora Bufete Tecnológico en linux
Introducción
En este capítulo se verá como administrar un sistema usando el administrador de paquetes de Debian. Esto incluye comandos para instalar, actualizar y desinstalar programas, así como otras características, como saber la versión instalada, contenidos, dependencias, integridad del paquete, etc.
Los comandos que se verán en este tema son:
- dpkg
- dselect
- dpkg-reconfigure
- apt-get
- alien
Se verá la configuración del fichero:
- /etc/dpkg/dpkg.cfg
- /var/lib/dpkg/*
- /etc/apt/apt.conf
- /etc/apt/sources.list
Este tema tiene un peso (importancia) de 3 de cara al examen final de la certificación LPI 101.
Administrando los paquetes de Debian
La distribución Debian y todas sus derivadas usan herramientas de empaquetado propias, diferentes de sistemas como RedHat (basado en RPMs) o Gentoo (basado en los fuentes). El sistema de Debian se basa en 4 comandos principalmente:
-
dpkg
-
deselect
-
apt-get
-
alien
Los paquetes de Debian, o paquetes .deb, por norma general contienen ficheros binarios para instalar así como otra información, conocida como metadata; este incluye información del paquete, scripts que serán ejecutados, la lista de dependencias y conflictos o sugerencias. Algunos paquetes traen el código fuente y pueden ser compilados a mano.
Se usa una convención en los nombres de los paquetes:
paquete_version-build_arquitectura.deb
-
paquete es el nombre del programa o utilidad.
-
Versión, es el número de versión de la aplicación.
-
build es el número que indica la versión del paquete, cada vez que se hace un empaquetado se incrementa.
-
Arquitectura, es la plataforma para la cual fue destinada la compilación del paquete.
Existe un tipo especial de paquete, conocido como “task package”; (lista de tareas). Son paquetes vacios que incluyen una lista de programas a instalar, se usan para facilitar instalaciones “grandes” como las X-window (sistema gráfico) y Gnome o KDE (escritorios), que tienen muchas dependencias. Se instalan del mismo modo que cualquier paquete y su formato es:
helix-gnome-task
Usando dpkg
dpkg es el nucleo del sistema de empaquetado de Debian, la gran mayoría de herramientas usan el dpkg y lo hacen más sencillo o con más opciones. A veces es más rápido usar el dpkg que otras herramientas a priori más sencillas.
Instalando paquetes
Una vez se tiene el paquete (.deb) que se quiere instalar, se usa el siguiente comando para instalarlo:
dpkg --install paquete.deb
...o bien :
dpkg -i paquete.deb
Durante la instalación del paquete, dpkg revisará si existen las dependencias necesarias para la instalación e informará con un error si no están instaladas.
Por ejemplo, al instalar el paquete ethereal:
# dpkg -i ethereal_0_8.13-2_i386.deb
- Selecting previously deselected package ethereal.
- (Reading database ... 54478 files and directories currently
- installed.)
- Unpacking ethereal (from ethereal_0.8.13-2_i386.deb) ...
- dpkg: dependency problems prevent configuration of ethereal:
- ethereal depends on libpcap0 (>= 0.4-1); however:
- Package libpcap0 is not installed.
- dpkg: error processing ethereal (--install):
- dependency problems - leaving unconfigured
- Errors were encountered while processing:
- Ethereal
Como se puede observar es necesario el paquete libpcap0, debemos por tanto instalarlo por separado o bien con el mismo comando como sigue:
#dpkg --install ethereal_0_8.13-2_i386.deb libpcap0_0.4a6-3_i386.deb
- (Reading database ... 54499 files and directories currently
- installed.)
- Preparing to replace ethereal 0.8.13-2 (using
- ethereal_0.8.13-2_i386.deb) ...
- Unpacking replacement ethereal ...
- Selecting previously deselected package libpcap0.
- Unpacking libpcap0 (from libpcap0_0.4a6-3_i386.deb) ...
- Setting up libpcap0 (0.4a6-3) ...
- Setting up ethereal (0.8.13-2) ...
Opciones de forzado
En ocasiones es necesario, bien por gusto o por necesidad, sobreescribir un error cuando se instala o se borra un programa. El dpkg ofrece varias opciones para ignorar los errores, se listan en la tabla 5-1.
Tabla 5.1 Opciones de forzado del comando dpkg
| Opción | Uso |
|---|---|
| configure-any | Configura otros paquetes que ayudarán al actual en su instalación |
| hold | Procesa otro paquete, incluso si está marcado como hold (fijado) |
| bad-path | Incluso con ficheros perdidos |
| not-root | Intenta eliminar o añadir paquetes aun cuando no se es root |
| overwrite | Sobreescribe un fichero de un nuevo paquete, incluso si corresponde a otro paquete |
| depends-version | Convierte un error por falta de una versión concreta en las dependencias en un warning, de ese modo puede continuar la instalación |
| depends | Convierte todos los errores de dependencias en warnings |
| confnew | Usa siempre el archivo de configuración más nuevo |
| confold | Usa siempre el archivo de configuración más viejo |
| conflicts | Permite que paquetes con conflictos sean instalados |
| overwrite-dir | Sobreescribe el directorio de otro paquete por el nuevo |
| remove-essential | Borra paquetes del sistema, peligroso |
Por ejemplo, si se quiere instalar un programa que tiene conflictos con otro, se debe de teclear:
#dpkg -install new_package.deb –force-conflicts
Desinstalando programas
Para borrar programas se usa el siguiente comando:
- dpkg --remove paquete
- ...o bien:
- dpkg -r paquete
Estos comandos borran todos los ficheros del paquete excepto los ficheros de configuración, que pueden ser necesarios en una posterior re-instalación. Para quitar todos los ficheros (del programa y de configuración) se debe usar la siguiente opción:
- dpkg --purgue paquete
- ...o bien:
- dpkg -P paquete
Al igual que durante la instalación de un programa, al desinstalarlo, dpkg comprueba las dependencias.
#dpkg --remove libpcap0
- dpkg: dependency problems prevent removal of libpcap0:
- ethereal depends on libpcap0 (>= 0.4-1).
- dpkg: error processing libpcap0 (--remove):
- dependency problems - not removing
- Errors were encountered while processing:
- libpcap0


