Nube de tags

Con la colaboración de ...

Preferimos Linux

Síguenos en Facebook

Diario informal de K-nábora

jul 12
2010

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

Comentarios (0)add
Escribir comentario

security image
Escribe los caracteres de la imagen


busy