Preparación para el examen LPI 101

Tema 102.5
Administrando paquetes Debian

Créditos y licencia de uso

Coordinación:

Manuel Guillán (xLekOx) lpi@xlekox.org

Traducción:

Carmen Eugenio (nemrac) meneiro@ono.com

Manuel Guillán (xLekOx) lpi@xlekox.org

Maquetación y corrección:

Manuel Guillán (xLekOx) lpi@xlekox.org

Javier Pulido (jpulido) javier.pulido@wanadoo.es

(alexasi) batra1@terra.es

Versión 1.1 (07-03-2005 16:00)

Distribuido por FreeUOC (www.freeuoc.org) bajo licencia: Attribution-NonCommercial-ShareAlike2.0 de commons creative

http://creativecommons.org/licenses/by-nc-sa/2.0/

ÍNDICE

Índice de contenido

Tema 102.5
Administrando paquetes Debian	1

Créditos y licencia de uso	2

ÍNDICE	3

Introducción	4

Administrando los paquetes de Debian	5

Usando dpkg	5

Instalando paquetes	5

Opciones de forzado	6

Desinstalando programas	7

Consultando la base de datos de los paquetes	7

Listando paquetes	8

Mostrando el estado de un paquete	9

Listando los ficheros de un paquete	9

Mostrando el paquete propietario de un fichero	10

Observando los paquetes disponibles	10

Usando dselect	10

Usando el apt-get	11

Editando el fichero sources.list	11

Actualizando los paquetes disponibles	12

Instalando un paquete	13

Actualizando paquetes	13

Borrando paquetes	13

Actualizando la distribución	14

Limpiando los archivos de los paquetes	14

Las opciones del apt-get	14

Usando Alien	15

Ejemplos prácticos	16

Preguntas TEST	18

Respuestas TEST	20

Bibliografia y enlaces recomendados	21

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 8 de cara al examen final de la certificación LPI 101. El total de la suma de pesos de todos los temas es de 106.

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

Consultando la base de datos de los paquetes

Debian tiene una base de datos donde se recopilan todos los paquetes instalados en el sistema, la herramienta dpkg permite consultar esa base de datos.

Para visualizar información general de un paquete instalado:

dpkg --print-avail paquete

...o bien:

dpkg -p paquete

Por ejemplo para visualizar información del paquete ethereal teclearíamos:

dpkg -p ethereal

Esto nos dará bastante información: quien mantiene el paquete, su tamaño, versión, dependencias, descripción, la suma md5. Esto es útil para obtener información de un paquete que no sabemos para que sirve o para ponerse en contacto con su desarrollador.

Listando paquetes

Para obtener una lista de todos los paquetes instalados en el sistema basta con ejecutar la orden:

dpkg --list <patron>

...o bien:

dpkg -l <patron>

Para este comando, la opción <patron> es un parametro opcional de búsqueda, sin él, se listarán todos los paquetes instalados en el sistema.

Por ejemplo, para listar todos los paquetes que tengan que ver con apache se introduce el comando:

#dpkg -l apache*

Desired=Unknown/Install/Remove/Purge/Hold

| Status=Not/Installed/Config-files/Unpacked/Failed-

config/Half-installed

|/ Err?=(none)/Hold/Reinst-required/X=both-problems

(Status,Err: uppercase=bad)

||/ Name Version Description

+++-==============-==============-

============================================

pn apache <none> (no description available)

pn apache-common <none> (no description available)

pn apache-dev <none> (no description available)

pn apache-doc <none> (no description available)

un apache-modules <none> (no description available)

Hay varios paquetes de apache listados, pero ninguno de ellos instalado, sin embargo si hubo alguna vez que estuvieron instalados. Hay 3 columnas a la izquierda, con el siguiente significado:

p - significa que el paquete fue desinstalado

n - significa que no está instalado

u – desempaquetado y listo para instalar

i – instalado

h – medio instalado

Hay diversos estados para los paquetes, se listan a continuación

Estado de selección: se usa con el comando dselect, los posibles estados son:

unknown – estado desconocido

install – el paquete está marcado para su instalación

remove – marcado para desinstalar

purge – marcado para desinstalación completa

hold – marcado como fijo, no será actualizado

Estado actual:

not installed - no instalado

installed – instalado

config-files – no está instalado pero existen ficheros de configuración

unpacked – desempaquetado y listo para instalar

failed-config – ocurrió un problema al ejecutarse la configuración en la instalación

half-installed – la instalación no se completó.

Errores

None – no hay errores

Hold – está marcado como estático, no puede ser borrado ni actualizado

Reinstallation required – Se requiere reinstalación del paquete

Mostrando el estado de un paquete

Para mostrar el estado individual de cada paquete con todos los detalles del mismo, se usa el comando:

dpkg --status paquete

...o bien:

dpkg -s paquete

Por ejemplo:

#dpkg -s ethereal

Package: ethereal

Status: install ok installed

Priority: optional

Section: net

Installed-Size: 2996

Maintainer: Frederic Peters <fpeters@debian.org>

Version: 0.8.13-2

Depends: libc6 (>= 2.1.94), libglib1.2 (>= 1.2.0), libgtk1.2

(>= 1.2.8-1), libpc

ap0 (>= 0.4-1), libsnmp4.1, xlibs (>= 4.0.1-1), zlib1g (>=

1:1.1.3)

Description: Network traffic analyzer

Ethereal is a network traffic analyzer, or "sniffer", for Unix

and

Unix-like operating systems. It uses GTK+, a graphical user

interface

library, and libpcap, a packet capture and filtering library.

Listando los ficheros de un paquete

Para listar los ficheros que contiene un paquete basta con ejecutar el comando:

dpkg --listfiles paquete

...o bien:

dpkg -L paquete

Mostrando el paquete propietario de un fichero

Para mostrar que paquete instaló un determinado archivo se usa el comando:

dpkg --search archivo

...o bien:

dpkg -S archivo

Por ejemplo:

#dpkg -S /etc/issue.net

base-files: /etc/issue.net

Lo cual indica que el fichero buscado fue instalado por el paquete base-files.

Observando los paquetes disponibles

La gran mayoría de información del comando dpkg está almacenada en el directorio
/var/lib/dpkg , dos de los archivos más importantes son el available y status. El primero de ellos muestra los paquetes que están disponibles y el segundo muestra el estado de los paquetes.

Usando dselect

La herramienta deselect es una interface gráfica del comando dpkg, es decir, una alternativa visual al dpkg. Se ejecuta simplemente con el comando dselect en consola, nos aparecerán 7 opciones: access, update, select, install, config, remove y quit.

Access – La herramienta deselect permite acceder a una variedad de fuentes donde conseguir los programas, estas fuentes son configuradas a través de esta opción. En la tabla 5-2 se pueden ver las diferentes fuentes.

Tabla 5-2 Opciones de acceso del Dselect

Fuente	Descripción
cdrom	Instalación a través del cdrom
nfs	Instalación a través de un servidor nfs
harddisk	Instalación desde un disco duro no montado
mounted	Instalación desde un hdd montado
floppy	Instalación desde uno/varios diskette/s
ftp	Instalación desde un ftp
apt	Permite el acceso de diversas fuentes (mirar la sección del apt-get)

Update – Cuando se cambian los métodos de acceso o los paquetes tienen nuevas versiones, es necesaria esta opción para mantener la base de datos actualizada.

Select – Una vez la base de datos está actualizada se pueden seleccionar los paquetes a instalar. Las siguientes teclas son las básicas para moverse por este menú:

Tabla 5-3 Teclas de selección

Tecla	Uso
+	Añade el paquete para su instalación
-	Quita el paquete
=	Asigna el estado hold al paquete
:	Quita el estado hold
/<patron>	Buscar usando el patrón
\	Repite la última búsqueda
O	Recorre las opciones de ordenación
V	Cambia el estado del display
X	Quitar sin guardar los cambios
Q	Quitar guardando los cambios

Cuando un paquete se marca para su instalación o desinstalación, deselect revisa las dependencias que no están instaladas o que se pueden romper por su desinstalación, si esto sucede, se avisará con un mensaje de error recomendando no instalar/desinstalar el paquete seleccionado.

Install – Una vez seleccionados los paquetes lo siguiente es pulsar la opción de instalación desde el menú principal, esta opción obtiene los paquetes y los instala.

Config – Algunos paquetes requieren de la intervención del usuario para su instalación y configuración final, normalmente a través de unas opciones dadas para fijar unos parámetros determinados, para realizar este paso basta con seleccionar la opción del menú.

Remove – Luego de seleccionar los paquetes seleccionados para su desinstalación es necesario ir a esta opción para que los cambios tengan efecto

Quit – Con esta opción se sale de la aplicación.

Usando el apt-get

El apt-get es la herramienta por excelencia de Debian para la administración de paquetes, sin la necesidad de una interface como la de dselect y teniendo un abanico más amplio de opciones, el apt-get al igual que el dselect, instalará automaticamente los paquetes así como sus dependencias.

Editando el fichero sources.list

Antes de que el apt-get pueda coger los paquetes para su instalación, tiene que saber de donde obtenerlos. El fichero sources.list tiene las direcciones de las ubicaciones desde donde obtener todos los paquetes. Este fichero también es usado por el dselect, está formado por un listado de fuentes con el siguiente formato para los binarios :

deb uri distribucion componente

...y para los fuentes:

deb-src uri distribución componente

URI (uniform resource identifier) es un superconjunto del familiar formato URL que la gran mayoría conoce, usa el siguiente formato:

protocolo://host/path

La sección //host del URI solamente se usa para los métodos HTTP y FTP, los cuatro tipos de acceso son:

CD-ROM – Un cd-rom local

File – Un directorio local

FTP – Un servidor FTP

HTTP – Un servidor WEB

Debian actualmente dispone de 3 ramas de desarrollo:

Stable – Es la “oficial” y la que se recomienda para entornos de desarrollo/producción.

Testing – Contiene los paquetes que están en cola para ser aceptados en la versión stable.

Unstable – Paquetes que están siendo testados y probados. No se recomienda para entornos de producción, aunque para usuarios domésticos y los que quieran estar a la última esta es la mejor opción.

Dentro de estas ramas existen 3 componentes:

Main – Los paquetes principales.

Contrib – Paquetes secundarios.

non-free – Paquetes que no son libres pero que pueden resultar interesantes/utiles. No son considerados parte de Debian.

Se recomienda poner los recursos más rápidos en la parte de arriba del fichero sources.list. Se pueden añadir comentarios a la lista usando el símbolo #, puede ser útil comentar los recursos por temática, paquetes concretos...

Un ejemplo del sources.list podría ser:

# See sources.list(5) for more information, especialy

# Remember that you can only use http, ftp or file URIs

# CDROMs are managed through the apt-cdrom tool.

deb http://http.us.debian.org/debian unstable main contrib non-free

deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

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

#HelixCode

deb http://spidermonkey.helixcode.com/distributions/debian unstable main

# Uncomment if you want the apt-get source function to work

#deb-src http://http.us.debian.org/debian stable main contrib non-free

#deb-src http://non-us.debian.org/debian-non-US stable non-US

Actualizando los paquetes disponibles

La base de datos de Debian contiene una lista de todos los paquetes disponibles. Es útil, y casi necesario, actualizar esta lista a menudo, o cuando se realicen cambios al fichero sources.list. Para actualizar la base de datos se ejecuta el comando:

#apt-get update

Lo cual hará que el apt-get recorra los recursos del fichero sources.list y actualice la base de datos.

Instalando un paquete

Cuando se ordena la instalación de un paquete, el apt-get revisa primero si este ya fue descargado, si no lo fue, entonces el apt-get irá al primer recurso del sources.list a buscar la versión más nueva del programa, y si este tiene dependencias se añadirán a la lista de instalación.
Para instalar un programa se ejecuta el comando:

#apt-get install paquete

Por ejemplo:

#apt-get install ethereal

Reading Package Lists... Done

Building Dependency Tree... Done

The following extra packages will be installed:

libpcap0

The following NEW packages will be installed:

ethereal libpcap0

0 packages upgraded, 2 newly installed, 0 to remove and 202 not upgraded.

Need to get 1240kB of archives. After unpacking 3153kB will be used.

Do you want to continue? [Y/n]

Get:1 http://http.us.debian.org unstable/main ethereal 0.8.13-2 [1202kB]

Get:2 http://http.us.debian.org unstable/main libpcap0 0.4a6-3[38.6kB]

Fetched 1240kB in 16s (74.0kB/s)

Selecting previously deselected package libpcap0.

(Reading database ... 53531 files and directories currently installed.)

Unpacking libpcap0 (from .../libpcap0_0.4a6-3_i386.deb) ...

Selecting previously deselected package ethereal.

Unpacking ethereal (from .../ethereal_0.8.13-2_i386.deb) ...

Setting up libpcap0 (0.4a6-3) ...

Setting up ethereal (0.8.13-2) ...

Como se ve en el ejemplo, el ethereal requiere el paquete libpcap0, se pregunta al usuario si quiere que se instale el programa y sus dependencias, y acto seguido se procede a dicha instalación.

Actualizando paquetes

Una de las mejores características del sistema apt, es la posibilidad de actualizar todos los paquetes instalados en el sistema a la última versión disponible y en un solo paso. Para realizar esto, se introduce el comando:

#apt-get upgrade

Es necesario y muy conveniente, asegurarse de ejecutar el apt-get update antes de pasarlo para tener la base de datos actualizada. Dependiendo de la cantidad de programas instalados y de las novedades, el proceso llevará más o menos tiempo.

Borrando paquetes

Los paquetes pueden ser borrados con el apt-get al igual que con el dpkg, el comando para realizar esta operación:

#apt-get remove paquete

Actualizando la distribución

Aunque la instalación de Debian no es tan cómoda e intuitiva como otras distribuciones, tiene la ventaja de que sólo es necesaria la primera instalación, incluso cuando hay que cambiar a una versión superior del sistema. La versión actual puede ser actualizada a una nueva cuando sea lanzada con el apt-get. Para realizar esta operación se ejecuta el comando:

#apt-get dist-upgrade

La diferencia entre esta operación y la actualización normal es que el apt usa menos revisiones de dependencias y puede actualizar paquetes importantes a expensas de otros paquetes.

Limpiando los archivos de los paquetes

Cuando el apt-get instala un programa, guarda una copia del fichero deb en los directorios
/var/cache/apt/archives y /var/cache/apt/archives/partial. Con el paso del tiempo estos directorios pueden llegar a ocupar un espacio importante e innecesario, para limpiar ambos se ejecuta el comando:

#apt-get clean

A veces puede ser útil guardar algunos archivos. Para limpiar solamente paquetes que no podrán ser instalados de nuevo porque no están disponibles, se puede usar el comando:

#apt-get autoclean

Las opciones del apt-get

Tabla 5-4 Opciones del apt-get

Opción	Uso
-h	Muestra la ayuda
-qq	Solamente muestra los errores en el proceso
-d	Sólo baja los ficheros, no los instala
-s	Simula la acción.Muestra la información como si realmente hiciera el proceso
-y	Responde "si" a todas las preguntas
-f	Continuar incluso si la revisión de integridad falla. A veces es útil para corregir problemas con las dependencias
-m	Continuar incluso si los paquetes no pueden ser localizados
-u	Muestra una lista de los paquetes actualizados
-b	Construye un paquete fuente después de descargarlo
-c=nombre_fichero	Lee el fichero de configuración especifico
-o=opcion	Hace uso de una opción especial

Usando Alien

Algunos paquetes están en otro formato diferente al deb de Debian, para solucionar este problema se creo la herramienta alien, que convierte estos formatos:

Debian .deb

Red Hat .rpm

Slackware .tgz

Stampede .slp

La sintaxis del comando es:

alien [opciones] paquete

Las opciones del comando están en la tabla 5-5.

Tabla 5-5 opciones del comando alien

Opción	Alternativa	Uso
-d	--to-deb	Por defecto, convierte en un paquete .deb
--patch=<filename>		Solamente usado con la opción -d. Especifica el fichero con el patch que debe ser usado
--nopatch		Sólo usado con la opción -d. Ningún patch se empleará
-r	--to-rpm	Crea un paquete rpm
-t	--to-tgz	Crea un paquete tgz
--to-slp		Crea un paquete stampede
-i	--install	Instala el programa tras la creación del paquete
-g	--generate	Desempaqueta el contenido del paquete pero no genera ninguno nuevo
-s	--single	Lo mismo que la opción -g pero no crea el directorio .orig
-c	--scripts	Incluye los scripts en el paquete
-k	--keep-version	No cambia la versión del nuevo paquete
--description=		Pone descripción al paquete creado
-h	--help	Muestra la ayuda
-v	--version	Muestra la versión

Por ejemplo para convertir el paquete wget (en rpm) a un deb, se usaría el comando:

# alien -d wget.rpm

Después se tendría disponible el wget.deb

Ejemplos prácticos

Ejemplo 1

Instalar un paquete usando dpkg –i con el nombre de un fichero disponible:

# dpkg -i ./hdparm_3.3-3.deb

(Reading database ... 54816 files and directories currently installed.)

Preparing to replace hdparm 3.3-3 (using hdparm_3.3-3.deb)

Unpacking replacement hdparm ...

Setting up hdparm (3.3-3) ...

Alternativamente, usar apt-install con el nombre del paquete. En este caso, el paquete procede de la localización o localizaciones configuradas en /etc/apt/sources.list.

Para este ejemplo, la localización es http://http.us.debian.org:

# apt-get install elvis

Reading Package Lists... Done

Building Dependency Tree... Done

The following extra packages will be installed:

libncurses4 xlib6g

The following NEW packages will be installed:

elvis

2 packages upgraded, 1 newly installed, 0 to remove and 376 not upgraded.

Need to get 1678kB of archives. After unpacking 2544kB will be used.

Do you want to continue? [Y/n] y

Get:1 http://http.us.debian.org stable/main
libncurses4 4.2-9 [180kB]

Get:2 http://http.us.debian.org stable/main

xlib6g 3.3.6-11 [993kB]

Get:3 http://http.us.debian.org stable/main

elvis 2.1.4-1 [505kB]

Fetched 1678kB in 4m11s (6663B/s)

(Reading database ... 54730 files and directories currently installed.)

Preparing to replace libncurses4 4.2-3 (using .../libncurses4_4.2-9_i386.deb) ...

Unpacking replacement libncurses4 ...

(la instalación continua...)

Ejemplo 2

Actualizar un paquete no es diferente de instalar uno. Sin embargo, se debería usar la opción -G cuando actualicemos con dpkg, para asegurarnos que no se efectue si una versión más reciente está realmente instalada.

Ejemplo 3

Usar dpkg –r o dpkg ––purge para eliminar un paquete:

# dpkg --purge elvis

(Reading database ... 54816 files and directories

currently installed.)

Removing elvis ...

(purge continua...)

Ejemplo 4

Usar el comando dpkg –S para encontrar un paquete que contenga unos ficheros específicos. En este ejemplo, apt–get está contenido en el paquete apt:

# dpkg -S apt-get

apt: /usr/share/man/man8/apt-get.8.gz

apt: /usr/bin/apt-get

Ejemplo 5

Obtener información del estado del paquete, tales como versión, contenido, dependencias, integridad y estado de la instalación, usando dpkg –s:

# dpkg -s apt

Package: apt

Status: install ok installed

Priority: optional

Section: admin

Installed-Size: 1388

(listing continues...)

Ejemplo 6

Listar los ficheros de un paquete usando dpkg –L y procesar la salida usando grep o less:

# dpkg -L apt | grep '^/usr/bin'

/usr/bin

/usr/bin/apt-cache

/usr/bin/apt-cdrom

/usr/bin/apt-config

/usr/bin/apt-get

Ejemplo 7

Listar los paquetes instalados usando dpkg –l; si no se especifica todos los paquetes serán listados:

# dpkg -l xdm

ii xdm 3.3.2.3a-11 X display manager

Ejemplo 8

Usar dpkg –S para determinar desde que paquete se ha instalado un fichero en particular con su nombre:

# dpkg -S /usr/bin/nl

textutils: /usr/bin/nl

Preguntas TEST

Qué herramienta se usa para convertir los paquetes de un sistema a otro?
A. alien
B. dpkg
C. apt
D. pconvert

Qué comando se usa para instalar un paquete de Debian?
A. apt --install <packagename>
B. dpkg --install <packagename>
C. apt-get -I <packagename>
D. rpm -i <packagename>

Qué comando desinstala un paquete Debian, incluyendo los ficheros de configuración?
A. dpkg --remove <packagename>
B. dpkg -e <packagename>
C. apt-get purge <packagename>
D. dpkg -P <packagename>

Qué herramienta provee una interfaz facil de usar para acceder al manejo de paquetes Debian?
A. dselect
B. apt-get
C. dpkg
D. gnorpm

Para cambiar los sources para apt-get, se edita el fichero:
A. sources.list
B. apt.sources
C. sources.apt
D. dpkg.sources

Qué parametro de apt-get actualiza la base de datos de los paquetes disponibles?
A. upgrade
B. refresh
C. reload
D. update

La herramienta apt-get que fuentes de las siguiente soporta? (seleccionar todas las que sean de aplicación)
A. FTP
B. HTTP
C. NFS
D. CD-ROM

Qué comando borra los paquetes antiguos de los archivos Debian?
A. dpkg -clean
B. apt-get autoclean
C. dpkg -autoclean
D. dselect

Cuál de los siguientes formatos de paquetes soporta alien?
A. RPM
B. .deb
C. BSD
D. .tgz

Qué comando convierte un paquete RPM en formato Debian?
A. alien -r package.rpm
B. alien -t package.rpm
C. alien -d package.deb
D. alien -d package.rpm

Respuestas TEST

A. La herramienta alien convierte paquetes de ficheros. La herramienta dpkg se usa para manipular paquetes en Debian.

B. El comando dpkg --install instala paquetes .deb. La herramienta rpm se usa para paquetes RPM. No hay ninguna opción -I para apt-get.

D. dpkg -P purga el paquete, desinstalando todos los ficheros incluyendo los de configuración.

A. La herramienta dselect tiene toda la funcinalidad de dpkg, pero usa una interfaz gráfica basada en caracteres en lugar de línea de comandos. apt-get se usa para recuperar e instalar paquetes. gnorpm es un frente gráfico para la herramienta rpm.

A. Los sources para apt-get están almacenados en el fichero sources.list. Las otras opciones no son válidas.

D. El comando update chequea todos los sources en el fichero sources.list y actualiza la base de datos de paquetes. El comando upgrade dice a apt-get que baje e instale todos los paquetes que son nuevos y aquellos instalados en el sistema. Las otras opciones no son válidas.

A, B, C y D. La herramienta apt-get puede obtener paquetes desde NFS local y de la unidad de CD-ROM y por medio de internet (FTP y HTTP)

B. El parámetro autoclean elimina sólo los viejos paquetes que no se pueden recuperar. Las otras opciones no son válidas.

A, B y D. alien soporta formatos de paquetes de Red Hat, Debian, y Slackware, pero no de BSD.

D. La opción -d indica a alien que cree un paquete debian. La opción -r especifica RPM, y la opcion -t especifica .tgz.

Bibliografia y enlaces recomendados

LPIC 1 Certification Bible (Bible) by Angie Nash, Jason Nash

John Wiley & Sons; Bk&CD-Rom edition (July 1, 2001) ISBN: 0764547720
LPI Linux Certification in a Nutshell by Jeffrey Dean
O'Reilly & Associates; 1st ed edition (May 15, 2001) ISBN: 1565927486
CramSession's LPI General Linux Part 1 : Certification Study Guide
CramSession.com; ISBN: B000079Y0V; (August 17, 2000)

Referencias Unix Reviews

http://www.unixreview.com/documents/s=7459/uni1038932969999/

Página LPI: www.lpi.org

Apuntes IBM: http://www-106.ibm.com/developerworks/edu/l-dw-linux-lpir21-i.html

Manuales GPL: http://www.nongnu.org/lpi-manuals/

Tema 102.5 Administrando paquetes Debian

Página 2 de 22

Tema 102.5 LPI

2004-07-21T14:39:00