[go: up one dir, main page]

0% encontró este documento útil (0 votos)
100 vistas18 páginas

3 - Aprenda Sobre Linux 101 - Gestión de Paquetes Debian

Este artículo se concentra en la Advanced Packaging Tool (APT), que es el sistema de gestión de paquetes que usan tanto Debian como las distribuciones que derivan de Debian (como, por ejemplo, Ubuntu).
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
100 vistas18 páginas

3 - Aprenda Sobre Linux 101 - Gestión de Paquetes Debian

Este artículo se concentra en la Advanced Packaging Tool (APT), que es el sistema de gestión de paquetes que usan tanto Debian como las distribuciones que derivan de Debian (como, por ejemplo, Ubuntu).
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

Aprenda sobre Linux, 101: Gestin de

paquetes Debian
Agregue software nuevo y conserve su sistema actualizado
Aprenda a instalar, actualizar y gestionar paquetes en su sistema Linux Este artculo se
concentra en la Advanced Packaging Tool (APT), que es el sistema de gestin de paquetes
que usan tanto Debian como las distribuciones que derivan de Debian (como, por ejemplo,
Ubuntu). Usted puede usar el material que forma parte de este artculo para estudiar para el
examen 101 de LPI para obtener su certificacin como administrador de sistemas Linux o,
simplemente, para conocer cules son las mejores formas de agregar software nuevo y
conservar su sistema actualizado.

Generalidades
En este artculo, usted aprender a usar las herramientas de gestin de paquetes Debian para
administrar dichos paquetes en su sistema Linux. Usted aprender a:

Instalar, reinstalar, actualizar y eliminar paquetes binarios Debian.

Buscar paquetes que contengan archivos o bibliotecas especficas,


incluso si el paquete en cuestin no est instalado.

Obtener informacin sobre los paquetes (como, por ejemplo, su versin,


sus contenidos, sus dependencias, la integridad del paquete y el estado
de instalacin), incluso si el paquete en cuestin no est instalado.

Este artculo lo ayudar a prepararse para el Objetivo 102.4 del Tema 102 del examen 101
de Administracin Nivel Junior (LPIC-1) de Linux Professional Institute. Dicho objetivo
tiene un valor de ponderacin de 3.
Requisitos previos
Para sacar el mayor provecho posible de los artculos que forman parte de esta serie, usted
debera tener conocimientos bsicos de Linux y contar con un sistema Linux en
funcionamiento para practicar con los comandos que se describen en el presente. A veces,
las diversas versiones de un programa formatean los archivos de salida de manera diferente.
Por lo tanto, los resultados que usted obtenga no siempre sern idnticos a los que se
pueden observar en los listados y en las figuras que forman parte de este artculo. En
particular, la mayora de los archivos de salida que incluimos aqu dependen en gran
medida de los paquetes ya instalados en sus sistemas. Sus archivos de salida pueden ser
bastante diferentes. Sin embargo, usted debera de poder reconocer los aspectos comunes
ms importantes.

Introduccin a la gestin de paquetes


Anteriormente, muchos programas Linux se distribuan como cdigo fuente que los
usuarios luego transformaban en el programa o en el conjunto de programas requerido,
junto con las pginas man, los archivos de configuracin y todo lo dems que resultaba
necesario. Hoy en da, la mayora de las distribuciones Linux usan programas o conjuntos
de programas prefabricados denominados paquetes, que se envan listos para ser instalados
en dicha distribucin. En este artculo, usted aprender sobre las herramientas de gestin de
paquetes que lo ayudan a instalar, actualizar y eliminar paquetes. Este artculo se concentra
en la Advanced Packaging Tool, o APT, el sistema de gestin de paquetes que usa tanto
Debian como las distribuciones que derivan de Debian (como, por ejemplo, Ubuntu). Otro
de los artculos de esta serie, "Aprenda sobre Linux 101: Gestin de paquetes RPM y
YUM" se ocupa de las herramientas de gestin de paquetes Red Hat.
Desde la perspectiva de los usuarios, la funcin bsica de gestin de paquetes se ofrece por
medio de comandos. Como los desarrolladores de Linux han hecho todo lo posible para que
Linux sea cada vez ms fcil de usar, las herramientas bsicas fueron complementadas con
otras herramientas (entre las que podemos incluir las herramientas GUI), que ocultan
algunas de las complejidades de las herramientas bsicas para no complicar a los
consumidores finales. En este artculo y en el artculo sobre gestin de paquetes RPM y
YUM, nos concentramos en las herramientas bsicas, aunque tambin mencionamos
algunas de las dems herramientas para que usted pueda informarse al respecto ms
adelante.
APT, RPM y YUM (las ltimas dos son herramientas de gestin de paquetes para sistemas
Red Hat) tiene muchas similitudes. Todas ellas pueden instalar y eliminar paquetes. La
informacin correspondiente a los paquetes instalados se conserva en una base de datos.
Todas tienen una funcionalidad de lnea de comandos bsica, mientras que las herramientas
adicionales pueden ofrecerles interfaces ms amigables a los usuarios. Todas pueden
recuperar paquetes desde Internet.
Cuando usted instala un sistema Linux, generalmente instala una amplia seleccin de
paquetes. Es posible que este conjunto se personalice segn el uso que se le piensa dar al
sistema (como, por ejemplo, un servidor, una computadora de escritorio o la estacin de
trabajo de un desarrollador). Y en algunas ocasiones, es posible que usted deba instalar
paquetes nuevos para tener acceso a funciones adicionales, actualizar los paquetes con los
que ya cuenta o incluso eliminar los paquetes que ya no necesita o que pasan a ser
obsoletos debido a la aparicin de los paquetes nuevos. Observemos cmo se hacen estas
tareas y cules son algunos de los desafos que se presentan (como, por ejemplo, la
bsqueda del paquete que puede llegar a incluir un comando en particular).

Instalacin de paquetes Debian


Supongamos que desea aprender Lisp y un colega le indica que use el comando gcl. Usted
puede probar congcl --help, o con which gcl o type gcl. Pero si su sistema no puede

encontrar gcl, es posible que el resultado sea similar a lo que se puede observar en el
Listado 1.
Listado 1. Falta el comando gcl
ian@pinguino:~$gcl --help-bash: gcl: command not
found ian@pinguino:~$gcl --helpThe program 'gcl' is currently not
installed. You can install it by typing: sudo apt-get install gcl gcl:
command not
found ian@pinguino:~$ which gclian@pinguino:~$type
gcl-bash: type: gcl: not found

En caso de no recibir el consejo til que figura en el segundo formulario que resulta del
Listado 1, usted podr volver a consultar a su colega para saber qu paquete debe instalar.
De lo contario, usted puede suponer que el comando gcl se encuentra en el paquete gcl.
Generalmente, aunque no siempre, esto es as. Ms adelante, veremos cmo encontrar el
paquete indicado. En este caso, usted necesita el paquete gcl y lo instala usando el comando
apt-get con la opcin install, como se puede observar en el Listado 2. Tenga en cuenta
que apt-get determinar qu paquetes adicionales usted necesita para satisfacer las
dependencias y, luego de esto, le mostrar una lista de todos los paquetes que se instalarn.
En este momento, se nos consulta si deseamos proseguir. En nuestro ejemplo, respondemos
y para instalar gcl y el paquete adicional requerido (libreadline5).
Listado 2. Instalacin de gcl usando apt-get
ian@pinguino:~$ sudo apt-get install
gcl [sudo] password for ian: Reading package lists... Done Building
dependency tree Reading state information... Done The following packages
were
automatically installed and are no longer required: linux-headers-2.6.3114
linux-headers-2.6.31-14-generic Use 'apt-get autoremove' to remove them.
The
following extra packages will be installed: libreadline5 Suggested
packages: gcl-doc
The following NEW packages will be installed: gcl libreadline5 0
upgraded, 2 newly
installed, 0 to remove and 30 not upgraded. Need to get 47.1MB of
archives. After
this operation, 157MB of additional disk space will be used. Do you want
to continue
[Y/n]? y Get:1 http://us.archive.ubuntu.com karmic/main
libreadline5
5.2-6
[140kB]
Get:2
http://us.archive.ubuntu.com
karmic/universe gcl
2.6.7-45ubuntu1
[47.0MB]
Fetched
47.1MB
in
1min
33s
(502kB/s)
Preconfiguring
packages ... Selecting previously deselected package libreadline5.
(Reading database
... 142156 files and directories currently installed.) Unpacking
libreadline5 (from
.../libreadline5_5.2-6_i386.deb) ... Selecting previously deselected
package gcl.
Unpacking gcl (from .../gcl_2.6.7-45ubuntu1_i386.deb) ... Processing
triggers for

man-db ... Setting up libreadline5 (5.2-6) ... Setting up gcl (2.6.745ubuntu1) ...
install/gcl: Handling install for emacsen flavor emacs22 Loading
00debian-vars... No
/etc/mailname. Reverting to default... Loading
/etc/emacs/site-start.d/50dictionaries-common.el (source)... Loading
debian-ispell... Loading /var/cache/dictionaries-common/emacsen-ispelldefault.el
(source)...
Loading
/var/cache/dictionaries-common/emacsen-ispelldicts.el
(source)... Loading /etc/emacs/site-start.d/50gcl.el (source)... Wrote
/usr/share/emacs22/site-lisp/gcl/add-default.elc Wrote
/usr/share/emacs22/site-lisp/gcl/ansi-doc.elc Wrote
/usr/share/emacs22/site-lisp/gcl/dbl.elc Wrote
/usr/share/emacs22/site-lisp/gcl/doc-to-texi.elc Wrote
/usr/share/emacs22/site-lisp/gcl/gcl.elc Wrote
/usr/share/emacs22/site-lisp/gcl/man1-to-texi.elc Wrote
/usr/share/emacs22/site-lisp/gcl/smart-complete.elc Wrote
/usr/share/emacs22/site-lisp/gcl/sshell.elc install/gcl: Handling install
for
emacsen flavor emacs23 Loading 00debian-vars... No /etc/mailname.
Reverting to
default...
Loading
/etc/emacs/site-start.d/50dictionaries-common.el
(source)...
Loading debian-ispell... Loading
/var/cache/dictionaries-common/emacsen-ispell-default.el
(source)...
Loading
/var/cache/dictionaries-common/emacsen-ispell-dicts.el
(source)...
Loading
/etc/emacs/site-start.d/50gcl.el (source)... Wrote
/usr/share/emacs23/site-lisp/gcl/add-default.elc Wrote
/usr/share/emacs23/site-lisp/gcl/ansi-doc.elc Wrote
/usr/share/emacs23/site-lisp/gcl/dbl.elc Wrote
/usr/share/emacs23/site-lisp/gcl/doc-to-texi.elc Wrote
/usr/share/emacs23/site-lisp/gcl/gcl.elc Wrote
/usr/share/emacs23/site-lisp/gcl/man1-to-texi.elc Wrote
/usr/share/emacs23/site-lisp/gcl/smart-complete.elc Wrote
/usr/share/emacs23/site-lisp/gcl/sshell.elc Processing triggers for libcbin ...
ldconfig deferred processing now taking place
En base al resultado del Listado 2, usted puede observar que apt-get ley una lista de

paquetes de algn lado (a la brevedad, le ofreceremos ms informacin al respecto), cre un


rbol de dependencias y determin que libreadline5 es uno de los requisitos previos
obligatorios que todava no estn instalados. Tambin podr observar que se le sugiere
instalar el paquete especfico para la documentacin (gcl-doc). Luego de presentarle
informacin adicional resumida, se le consulta si desea proseguir y se instala gcl junto con
el paquete que forma parte de los requisitos previos. Generalmente, los paquetes Debian
tiene la extensin .deb. Adems, usted puede observar que dichos paquetes se descargan y
descomprimen como se puede ver a continuacin:
Unpacking gcl (from .../gcl_2.6.7-45ubuntu1_i386.deb)...

Supongamos que, en vez de instalar el paquete, usted simplemente desea ver si dicho
paquete depende de otros paquetes. En tal caso, podr usar la opcin -s (para simular) en
apt-get. Existen muchas otras opciones con una funcin equivalente (como, por ejemplo,
--just-print y --dry-run). Vea las pginas man para ms detalles. El Listado 3 le
muestra lo que ocurre en el caso de una simulacin de instalacin del paquete gcl-doc.
Listado 3. Instalacin simulada o de prctica de gcl-doc
ian@pinguino:~$ sudo apt-get install -s
gcl-doc Reading package lists... Done Building dependency tree
Reading
state information... Done The following packages were automatically
installed and
are no longer required: linux-headers-2.6.31-14 linux-headers-2.6.31-14generic Use
'apt-get autoremove' to remove them. The following NEW packages will be
installed:
gcl-doc 0 upgraded, 1 newly installed, 0 to remove and 30 not upgraded.
Inst gcl-doc
(2.6.7-45ubuntu1 Ubuntu:9.10/karmic) Conf gcl-doc (2.6.7-45ubuntu1
Ubuntu:9.10/karmic)

No sorprende ver que la documentacin no considera a ningn paquete como un requisito


previo.
Volver arriba

Ubicaciones de los paquetes


En la seccin anterior, usted aprendi a instalar un paquete Debian. Pero de dnde
provienen dichos paquetes? Cmo sabe apt-get de dnde descargar los paquetes?
Mencionamos que apt-get ley una lista de paquetes de algn lado. Este lugar suele ser
/etc/apt/sources.list. La lista le indica a apt-get dnde buscar los paquetes (incluso en un
CD-ROM, en su sistema de archivos local o en una red usando http o ftp). Usted tiene la
posibilidad de agregar fuentes adicionales en el directorio /etc/apt/sources.list.d.
El Listado 4 le muestra las primeras lneas de /etc/apt/sources.list en su sistema. Tenga en
cuenta que el CD de distribucin que figura en la primera lnea est comentado (# en la
posicin 1). Si necesita instalar muchos paquetes nuevos que no se actualizaron lo
suficiente, probablemente valga la pena eliminar el comentario y realizar la instalacin
desde su CD o DVD de distribucin. Si est conectado a Internet por banda ancha o
necesita muchas actualizaciones, probablemente sea ms eficiente descargar los paquetes
adicionales ms actualizados desde las fuentes en Internet que figuran en
/etc/apt/sources.list.
Listado 4. /etc/apt/sources.list
ian@pinguino:~$cat
/etc/apt/sources.list#deb cdrom:[Ubuntu 9.10 _Karmic Koala_ - Release
i386 (20091028.5)]/ karmic main restrict ed # See
http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
newer versions

of the distribution. deb http://us.archive.ubuntu.com/ubuntu/ karmic main


restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ karmic main restricted ##
Major bug fix
updates produced after the final release of the ## distribution. deb
http://us.archive.ubuntu.com/ubuntu/ karmic-updates main restricted debsrc
http://us.archive.ubuntu.com/ubuntu/ karmic-updates main restricted ##
N.B. software
from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also,
please
note that software in universe WILL NOT receive any ## review or updates
from the
Ubuntu security team. deb http://us.archive.ubuntu.com/ubuntu/ karmic
universe
deb-src http://us.archive.ubuntu.com/ubuntu/ karmic universe deb
http://us.archive.ubuntu.com/ubuntu/ karmic-updates universe deb-src
http://us.archive.ubuntu.com/ubuntu/ karmic-updates universe
Apt-get y herramientas similares usan una base de datos local para determinar qu

paquetes se instalan. Tambin pueden comparar los niveles instalados con los niveles
disponibles. Para hacer esto, se recupera informacin sobre los niveles disponibles desde
las fuentes que figuran en /etc/apt/sources.list y se la almacena en su sistema local. Luego
de esto, usted usa el comando apt-get update para sincronizar la informacin que figura
en su base de datos local con las fuentes especificadas en /etc/apt/sources.list. Usted debera
hacer esto antes de instalar o actualizar un paquete y luego de modificar /etc/apt/sources.list
o de agregar archivos a /etc/apt/sources.list.d.
Volver arriba

Eliminacin de paquetes Debian


Si desea eliminar un paquete, puede usar la opcin removede apt-get. El Listado 5 le
muestra una ejecucin simulada.
Listado 5. Eliminacin simulada de gcl
ian@pinguino:~$sudo apt-get remove -s gcl[[sudo]
password for ian: Reading package lists... Done Building dependency tree
Reading
state information... Done The following packages were automatically
installed and
are no longer required: linux-headers-2.6.31-14 linux-headers-2.6.31-14generic
libreadline5 Use 'apt-get autoremove' to remove them. The following
packages will be
REMOVED: gcl 0 upgraded, 0 newly installed, 1 to remove and 30 not
upgraded. Remv
gcl [2.6.7-45ubuntu1]

Tenga en cuenta que el paquete libreadline5 que instalamos como un requisito previo para
gcl no se borra de manera automtica, aunque una de las lneas que resultan de esta
ejecucin nos indica que este paquete, junto con dos paquetes de encabezado Linux, ya no
son necesarios. La funcinautoremovedeapt-get(o la funcin remove equivalente y la

opcin --auto-remove) eliminar los paquetes indicados, junto con todos los paquetes que
se hayan instalado como dependencias pero que ya no sean necesarios para los paquetes
instalados. Esto incluye a las dependencias instaladas por paquetes que no sean el / los que
usted est tratando de eliminar (como, por ejemplo, los paquetes linux-headers-2.6.31-14 y
linux-headers-2.6.31-14-generic en nuestro ejemplo). El Listado 6 le muestra cmo
eliminar gcl, su libreadline5 dependiente y los dos paquetes de encabezado Linux no
relacionados que ya no son necesarios.
Listado 6. Eliminacin de gcl y sus dependencias
ian@pinguino:~$sudo apt-get autoremove
gclReading package lists... Done Building dependency tree Reading state
information... Done The following packages will be REMOVED: gcl
libreadline5
linux-headers-2.6.31-14 linux-headers-2.6.31-14-generic 0 upgraded, 0
newly
installed, 4 to remove and 30 not upgraded. After this operation, 239MB
disk space
will be freed. Do you want to continue [Y/n]?y(Reading database ...
142327 files and directories currently installed.) Removing gcl ...
remove/gcl:
purging byte-compiled files for emacs22 remove/gcl: purging byte-compiled
files for
emacs23 Removing libreadline5 ... Removing linux-headers-2.6.31-14generic ...
Removing linux-headers-2.6.31-14 ... Processing triggers for man-db ...
Processing
triggers for libc-bin ... ldconfig deferred processing now taking place
Si usa la funcin autoremove de apt-get pero no especifica ningn nombre de paquete,

todos los paquetes que no se estn usando y que se instalaron como dependencias se
eliminarn de su sistema. Usted tambin puede usar la opcin apt-get purge para
eliminar la informacin de configuracin. Vea la pgina man para mayor informacin al
respecto.
Volver arriba

Actualizacin de paquetes Debian


Si necesita actualizar un paquete individual, use apt-get con la opcin install una vez
ms. El Listado 7 le muestra cmo actualizar el paquete tzdata ya instalado en su sistema.
Recuerde ejecutar apt-get update antes de actualizar los paquetes para asegurarse de que
su base de datos local le muestre las ltimas actualizaciones disponibles.
Listado 7. Actualizacin de un solo paquete
ian@pinguino:~$sudo apt-get install
tzdata[sudo] password for ian: Reading package lists... Done Building
dependency tree Reading state information... Done The following packages
will be
upgraded: tzdata 1 upgraded, 0 newly installed, 0 to remove and 29 not
upgraded.

Need to get 679kB of archives. After this operation, 0B of additional


disk space
will be used. Get:1 http://us.archive.ubuntu.com karmic-updates/main
tzdata
2010i-0ubuntu0.9.10 [679kB] Fetched 679kB in 1s (569kB/s) Preconfiguring
packages
... (Reading database ... 124394 files and directories currently
installed.)
Preparing to replace tzdata 2010h-0ubuntu0.9.10 (using
.../tzdata_2010i-0ubuntu0.9.10_all .deb) ... Unpacking replacement tzdata
...
Setting up tzdata (2010i-0ubuntu0.9.10) ... Current default time zone:
'America/New_York' Local time is now: Mon May 3 16:11:57 EDT 2010.
Universal Time is
now: Mon May 3 20:11:57 UTC 2010. Run 'dpkg-reconFigura tzdata' if you
wish to
change it.

Actualizacin de todos los paquetes o actualizacin a una nueva


distribucin
En vez de actualizar paquetes individuales, usted puede actualizar todos los paquetes en su
sistema usando el comando apt-get upgrade. De manera similar, apt-get distupgradelo ayudar a migrar hacia un nuevo nivel de su distribucin.
Para mayor informacin sobre otras capacidades y opciones para apt-get, vea la pgina
man.
Configuracin de la APT:El archivo apt.conf
Si busca apt-get en la pgina man, ver que existen muchas opciones. Si usa el comando
apt-get en repetidas ocasiones y las opciones predeterminadas que encuentra no son de su
agrado, usted puede configurar nuevas opciones predeterminadas en /etc/apt/apt.conf. Un
programa, apt-config, est disponible para que los scripts consulten el archivo apt.conf.
Vea las pginas man en relacin con apt.conf y apt-config para mayor informacin al
respecto.
Volver arriba

Reconfiguracin de paquetes Debian


La APT incluye una capacidad denominada debconf, que se usa para configurar paquetes
luego de su instalacin. Es posible reconfigurar los paquetes que usan esta capacidad (y no
todos lo hacen) luego de su instalacin. La forma ms fcil de hacer esto es usando el
comando dpkg-reconFigura. Por ejemplo, es posible que el comando adduser cree
directorios principales que todos los usuarios del sistema puedan leer. Es posible que usted
no desee que esto sea as por razones de privacidad. De manera similar, el paquete tzdata
que actualizamos en el Listado 7 sugera la ejecucin de dpkg-reconFigura tzdata para
modificar la zona horaria. Usted debe ejecutar dpkg-reconFigura con autoridad de usuario
raz.

La Figura 1 le muestra la primera pregunta que tendr que responder si ejecuta dpkgreconFigura tzdata. Es posible que la opcin predeterminada no sea Norteamrica y
refleje la zona horaria de su propio sistema. Navegue por esta pantalla en modo de texto
usando la tecla Tab y las teclas de movimiento de cursor.
Figura 1. Uso de dpkg-reconFigura para reconfigurar la zona horaria

Volver arriba

Informacin sobre el paquete Debian


Ahora, analicemos algunas herramientas que sirven para obtener informacin sobre los
paquetes. Algunas de estas herramientas tambin hacen otras cosas, pero ahora nos
concentraremos slo en cmo obtener informacin.
Estado del paquete con dpkg
Otra herramienta que forma parte del sistema APT es dpkg. Se trata de una herramienta de
gestin de paquetes de nivel medio que puede instalar y eliminar paquetes y visualizar la
informacin de estado correspondiente. /etc/dpkg/dpkg.cfg puede controlar la configuracin
de dpkg. Adems, es posible que usted tambin tenga un archivo .dpkg.cfg en su directorio
principal para realizar una configuracin ms avanzada.
La herramienta dpkg usa muchos archivos en el rbol /var/lib/dpkg en su sistema de
archivos. En particular, el archivo /var/lib/dpkg/status incluye informacin sobre el estado
de los paquetes que se encuentran en su sistema. El Listado 8 le muestra el uso de dpkg -s
para visualizar el estado del paquete tzdata luego de que lo actualizamos y el estado del
paquete gcl luego de que lo eliminamos. Tenga en cuenta que el paquete gcl todava incluye
algunos archivos de configuracin. Usted tambin puede usar la opcin purge para purgar
los archivos de paquetes descargados del cach y eliminar la informacin de configuracin.

Listado 8. Estado del paquete tzdata


ian@pinguino:~$dpkg -s gcl tzdataPackage: gcl
Status:
deinstall
ok
config-files
Priority:
optional
Section:
interpreters
Installed-Size: 152848 Maintainer: Ubuntu MOTU Developers
<ubuntu-motu@lists.ubuntu.com> Architecture: i386 Version:
2.6.7-45ubuntu1 Config-Version: 2.6.7-45ubuntu1 Depends: libc6 (>= 2.7),
libgmp3c2, libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3 ),
libreadline5 (>= 5.2), libsm6, libx11-6, libxaw7, libxext6, libxmu6,
libxt6,
tcl8.4 ( >= 8.4.16), tk8.4 (>= 8.4.16), debconf (>= 1.2.0),
gcc, emacs22 | emacsen Suggests: gcl-doc Conffiles: /etc/default/gcl
9301be50652f86b8d3f8b835f6dce03e /etc/emacs/site-start.d/50gcl.el
12116c8c8988326764799973a0a7d5ab Description: GNU Common Lisp compiler
GNU Common
Lisp (GCL) is a Common Lisp compiler and interpreter implemented in C,
and complying
mostly with the standard set forth in the book "Common Lisp, the Language
I". It
attempts to strike a useful middle ground in performance and portability
from its
design around C. . This package contains the Lisp system itself.
Documentation is
provided in the gcl-doc package. Original-Maintainer: Camm Maguire
<camm@enhanced.com> Package: tzdata Status: install ok installed
Priority: required Section: libs Installed-Size: 6276 Maintainer: Ubuntu
Developers
<ubuntu-devel-discuss@lists.ubuntu.com> Architecture: all Version:
2010i-0ubuntu0.9.10 Replaces: libc0.1, libc0.3, libc6, libc6.1 Provides:
tzdata-squeeze Depends: debconf (>= 0.5) | debconf-2.0 Description: time
zone
and daylight-saving time data This package contains data required for the
implementation of standard local time for many representative locations
around the
globe. It is updated periodically to reflect changes made by political
bodies to
time zone boundaries, UTC offsets, and daylight-saving rules. OriginalMaintainer:
GNU Libc Maintainers <debian-glibc@lists.debian.org>

Los paquetes y los archivos en ellos


Generalmente, usted querr saber qu hay dentro de un paquete en particular o de qu
paquete provino un archivo especfico. dpkg se encarga de estas dos tareas. El Listado 9
ilustra el uso de dpkg -L para visualizar una lista de los archivos instalados (incluyendo los
directorios) por el paquete libparted. En el caso de la mayora de los paquetes, usted
simplemente puede ponerle nombre al paquete sin preocuparse por especificar la versin.
Sin embargo, es posible que algunos paquetes estn disponibles en varias versiones. Por
ende, usted deber especificar el nombre del paquete en mayor detalle cuando use dpkgpara
consultar informacin de paquetes.
Listado 9. Qu incluye el paquete libparted?
ian@pinguino:~$dpkg -L libpartedPackage
`libparted' is not installed. Use dpkg --info (= dpkg-deb --info) to
examine archive

files, and dpkg --contents (= dpkg-deb --contents) to list their


contents.
ian@pinguino:~$dpkg -L libparted1.8-12/. /lib
/lib/libparted-1.8.so.12.0.0 /usr /usr/share /usr/share/doc
/usr/share/doc/libparted1.8-12 /usr/share/doc/libparted1.8-12/copyright
/usr/share/doc/libparted1.8-12/changelog.Debian.gz
/lib/libparted1.8.so.12
Para encontrar qu paquete incluye un archivo especfico, use la opcin -S de dpkg (como

se puede observar en el Listado 10). El nombre del paquete figura a la izquierda.


Listado 10. Qu paquete incluye un archivo?
ian@pinguino:~$dpkg -S
/lib/libparted-1.8.so.12libparted1.8-12:
/lib/libparted-1.8.so.12

A veces, es posible que d la impresin de que un archivo no pertenece a ningn paquete.


Cuando esto ocurra, usted tendr que trabajar ms para descubrir de dnde proviene el
paquete. Por ejemplo, la configuracin de la instalacin puede llegar a crear vnculos
simblicos que no figuran como parte de los contenidos del paquete. Una de las ltimas
adiciones a los sistemas Linux es el sistema de alternativas, que se gestiona usando el
comando update-alternatives. Generalmente, se crean alternativas para los
comandosjava, que pueden ser la versin openJDK, Sun o IBM, entre otras tantas
posibilidades.
El Listado 11 le muestra cmo usar el comando which para encontrar qu se invoca si
tratamos de ejecutar java. Luego de esto, usamos el comando ls para ver a qu est
simblicamente vinculado el comando java. El vnculo hacia el directorio /etc/alternatives
es una alerta que nos indica que estamos usando el sistema de alternativas. Por lo tanto,
usamos el comando update-alternatives para encontrar ms informacin y, finalmente,
usamos el comando dpkg -S para confirmar que el comando java proviene de openjdk-6jre-headless. La configuracin del sistema de alternativas la habra realizado un script
posteriormente a la instalacin que forma parte del paquete openjdk-6-jre-headless.
Listado 11. Un uso ms complejo de dpkg -S
ian@pinguino:~$which java/usr/bin/java
ian@pinguino:~$ls -l $(which java)lrwxrwxrwx 1 root root 22
2010-05-03 17:51 /usr/bin/java -> /etc/alternatives/java
ian@pinguino:~$update-alternatives --display javajava - auto
mode link currently points to /usr/lib/jvm/java-6-openjdk/jre/bin/java
/usr/lib/jvm/java-6-openjdk/jre/bin/java - priority 1061 slave java.1.gz:
/usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz Current `best' version
is
/usr/lib/jvm/java-6-openjdk/jre/bin/java. ian@pinguino:~$dpkg -S
/usr/lib/jvm/java-6-openjdk/jre/bin/javaopenjdk-6-jre-headless:
/usr/lib/jvm/java-6-openjdk/jre/bin/java

Volver arriba

Uso de "aptitude"
Con anterioridad, mencionamos que el estado de los paquetes figura en /var/lib/dpkg/status.
Tambin indicamos que dpkg podra hacer mucho ms que simplemente visualizar la
informacin del paquete. Ahora, analicemos el comando aptitude, que le ofrece una
interfaz de pantalla completa y basada en texto (usando ncurses) para las funciones de
gestin del paquete APT. Usted puede usar aptitude para instalar o eliminar paquetes y para
controlar los indicadores de estado que le muestran, por ejemplo, si los paquetes se
deberan actualizar o conservar en su estado actual. Si usted ejecuta el comando
aptitude(como usuario raz), podr observar una pantalla similar a la que puede ver en la
Figura 2.
Figura 2. Ejecucin de aptitude

Presione Enter para expandir o comprimir todas sus selecciones. Luego de esto, use ctrl-t
para acceder a la barra de men. La Figura 3 le muestra que una nueva versin del kernel
(2.6.31.20) est disponible para su sistema, junto con otras actualizaciones tambin
disponibles. La "i" en la columna izquierda indica que el estado actual hace que sea
necesario instalar el paquete. El men Help (Ayuda) le explica todas las opciones
disponibles, incluso el hecho de conservar un paquete en su estado actual en vez de
actualizarlo, el hecho de eliminarlo o el hecho de marcarlo como instalado
automticamente para que se pueda realizar su eliminacin automtica. Se acuerda de la
opcin autoremove de apt-get? Ahora, usted ya sabe cmo examinar o controlar qu
paquetes se pueden eliminar de manera automtica. Use los atajos de teclado que se
describen en Help o use el men Package (Paquetes) para modificar los indicadores.

Figura 3. Ejecucin de aptitude y anlisis de los indicadores de paquete

Usted puede usar la tecla "/" para buscar paquetes. Por ejemplo, si desease reinstalar el
paquete gcl que eliminamos con anterioridad, simplemente ingrese "/gcl" para buscarlo. Si
la bsqueda en cuestin lo lleva a otro paquete (como, por ejemplo, gcl-doc), presione la
tecla "n" para pasar al prximo resultado de la bsqueda. Luego de esto, use el men
Package para marcar el paquete para su instalacin.
Cuando termine, seleccione Actions (Acciones) -> Install/remove (Instalar /
Eliminar) paquetes (o presione la tecla "g") para aplicar sus selecciones al sistema. Usted
tambin puede seleccionar la opcin quit (salir) si no desea aplicar los cambios en cuestin.
Si necesita ayuda en cualquier momento, use la barra de men o ingrese "?" (signo de
pregunta) para obtener ayuda y, luego de esto, presione la tecla "q" para salir de la
aplicacin de ayuda.
Volver arriba

Actualizacin de Debian con otras herramientas


Usted acaba de ver que aptitude lo puede ayudar a instalar o eliminar paquetes individuales
y a actualizar todos los paquetes en su sistema hasta el ltimo nivel.
Adems de aptitude, existen varias ms interfaces interactivas de gestin de paquetes para
los sistemas Debian (entre las que podemos incluir dselect, synaptic, update-manager,
gnome-apt y wajig). Synaptic es una aplicacin grfica para usar con X Window System.

La Figura 4 le muestra la interfaz de usuario synaptic con nuestro viejo amigo, el paquete
gcl, marcado para su instalacin.
Figura 4. Instalacin de gcl usando synaptic

El botn Apply (Aplicar) instalar gcl y actualizar todos los dems paquetes que sea
necesario actualizar. El botn Reload (Recargar) actualizar la lista de paquetes. Si est
acostumbrado a usar interfaces GUI, es posible que synaptic le resulte ms fcil de usar que
apt-get, dpkg o dselect.
De manera similar, es probable que vea que su sistema incluye update-manager, una
aplicacin de X Window System especficamente diseada para ayudarlo a mantener
actualizado su sistema. Si est instalada, es probable que se ejecute de manera automtica
con regularidad para que usted no se olvide de realizar las actualizaciones correspondientes.
La Figura 5 le muestra cmo el administrador de actualizaciones visualiza el conjunto de
actualizaciones que usted pudo ver en la Figura 2. Como en el caso de aptitude, las
actualizaciones estn clasificadas para que usted sepa cules son actualizaciones de
seguridad importantes.

Figura 5. Ejemplo del administrador de actualizaciones

Volver arriba

Cmo encontrar paquetes Debian?


En el ltimo tema relativo a la gestin de paquetes Debian, analizamos las diferentes
formas de buscar paquetes. Generalmente, apt-get y las dems herramientas que discutimos
en el presente documento ya saben cules son los paquetes Debian que usted puede llegar a
necesitar de la lista completa de paquetes disponibles. Un comando que todava no hemos
usado es apt-cache, que resulta muy til al momento de buscar informacin sobre
paquetes en su sistema.apt-cache puede realizar bsquedas usando expresiones regulares
(vea Aprenda sobre Linux, 101: Bsqueda de archivos de texto usando expresiones
regulares para ms informacin sobre las expresiones regulares). Supongamos que usted
desea encontrar el nombre del paquete que incluye el cargador de Linux. El Listado 12 le
muestra cmo lograr esto.
Listado 12. Bsqueda del cargador de Linux con apt-cache
ian@pinguino:~$ apt-cache search "linux loader"
lilo - LInux LOader - The Classic OS loader can load Linux and others
lilo-doc Documentation for LILO (LInux LOader)

Como pudo ver con anterioridad, tanto aptitude como synaptic tambin le ofrecen
herramientas de bsqueda. Si usa synaptic, tenga en cuenta que, en el men de bsqueda,
tambin tiene opciones para buscar slo nombres de paquetes o descripciones de paquetes.

Si todava no puede encontrar el paquete que busca, es posible que lo encuentre en la lista
de paquetes en el sitio de Debian (vea la seccin Recursos para obtener un vnculo) o en
otro lugar en Internet.
La mayora de las herramientas de paquetes le pueden decir mucho ms sobre un paquete
instalado que sobre un paquete que todava no se instal (como, por ejemplo, la lista de
archivos dentro de un paquete). Hay varias formas de encontrar qu paquete incluye un
programa que no instal:

Puede adivinar qu paquete incluye el programa y descargar dicho


paquete sin instalarlo. Luego de descargarlo, puede consultarlo.

Puede realizar una bsqueda en Internet.

Puede probar con la capacidad command-not-found, que se describe en


"Comando no encontrado" ms adelante en este artculo.

El comandoapt-gettiene la opcin-dpara descargar un paquete y no instalarlo. Tambin


existe la opcin --print-uris para mostrar desde dnde se descargara un paquete y cul
sera su checksum. Es probable que los checksums actuales sean checksums SHA256, para
que usted pueda controlar la integridad del paquete descargado usando el comando
sha256sum. Tenga en cuenta que la informacin de URI y checksum no se visualiza si ya
descarg el paquete. Por lo tanto, usted debera obtener dicha informacin antes de
descargar el paquete en cuestin.
Supongamos que desea saber si el comando gcl est realmente incluido en el paquete gcl.
El Listado 13 le muestra cmo usar apt-get para descargar el paquete gcl sin instalarlo.
Listado 13. Uso de apt-get para descargar un paquete sin instalarlo
ian@pinguino:~$ sudo apt-get
install -d gclReading package lists... Done Building dependency tree
Reading state
information... Done The following extra packages will be installed:
libreadline5
Suggested packages: gcl-doc The following NEW packages will be installed:
gcl
libreadline5 0 upgraded, 2 newly installed, 0 to remove and 0 not
upgraded. Need to
get 47.1MB of archives. After this operation, 157MB of additional disk
space will be
used. Do you want to continue [Y/n]? Get:1 http://us.archive.ubuntu.com
karmic/main
libreadline5
5.2-6
[140kB]
Get:2
http://us.archive.ubuntu.com
karmic/universe gcl
2.6.7-45ubuntu1 [47.0MB] Fetched 47.1MB in 7s (6,475kB/s) Download
complete and in
download only mode

Luego de descargar el paquete, podr usar la opcin --info de dpkg para visualizar la
informacin del paquete, o la opcin --contents para visualizar qu archivos instala el
paquete. Generalmente, el archivo descargado estar en /var/cache/apt/archives/. El Listado
14 le muestra cmo localizar el archivo que usted descarg y conocer qu ficheros binarios
instalar (asumiendo que est instalado en un directorio .../bin/...).
Listado 14. Uso de dpkg para visualizar una lista de los contenidos de un
archivo .deb
ian@pinguino:~$ sudo find /var/cache -name "*.deb"
/var/cache/apt/archives/gcl_2.6.7-45ubuntu1_i386.deb
/var/cache/apt/archives/libreadline5_5.2-6_i386.deb ian@pinguino:~$ sudo
dpkg
--contents /var/cache/apt/archives/gcl*.deb| grep "/bin/" drwxr-xr-x
root/root 0
2008-12-06 07:42 ./usr/bin/ -rwxr-xr-x root/root 617 2008-12-06 07:42
./usr/bin/gcl
Si efectivamente encuentra y descarga un archivo.debusando algo que no sea el comando
apt-get,

usted podr instalarlo usando dpkg -i.

Si decide que no desea instalar el paquete que descarg en los archivos APT, puede ejecutar
apt-get clean para eliminar todos los archivos del paquete descargados.
Si todo lo dems fracasa, existe otra posible fuente de paquetes. Supongamos que usted
encuentra un programa que se encuentra en un RPM en vez de en un archivo .deb. Usted
tendr la posibilidad de usar el programa alien, que puede realizar la conversin entre
diferentes formatos de paquete. Siempre lea atentamente la documentacin de alien, ya que
dicho programa no puede convertir todas las funciones de los sistemas de gestin de
paquetes en otro formato.
Volver arriba

Comando no encontrado
En el Listado 1, usted pudo observar un mensaje muy til que le indicaba qu paquete deba
instalar para conseguir el comando gcl. Cmo se hace esto? Cuando el shell Bash busca
un comando y no lo encuentra, busca una funcin shell denominada
command_not_found_handle. El Listado 15 le muestra cmo esto est definido en el
sistema Ubuntu 9.10.
Listado 15. command_not_found_handle
ian@pinguino:~$ type command_not_found_handle
command_not_found_handle is a function command_not_found_handle () { if [
-x
/usr/lib/command-not-found ]; then /usr/bin/python /usr/lib/command-notfound -- $1;
return $?; else return 127; fi }
Si la funcin command_not_found_handle existe, se la invoca con el comando original y

los argumentos originales y sus argumentos y el estado de salida de la funcin pasa a ser el

estado de salida del shell. Si la funcin no est definida, el shell imprime un mensaje de
error y devuelve un estado de salida de 127. Generalmente, la funcin se suele configurar
en el archivo system/etc/bash.bashrc. En el Listado 15, usted puede observar que la funcin
controla la existencia de /usr/lib/command-not-found y lo ejecuta como un script Python si
ya existe. Si no existe, quiz porque el paquete command-not-found que lo suministra se
elimin luego de que se inici la sesin del shell, la funcin imita el comportamiento
estndar del sistema y devuelve 127.
Volver arriba

PackageKit
Para completar la discusin sobre la instalacin de paquetes, no nos podemos olvidar de
PackageKit, que es un sistema diseado para facilitar la instalacin y la actualizacin de
software. La idea es unificar todas las herramientas grficas de software que se usan en las
diferentes distribuciones. PackageKit usa un daemon activado por el sistema, lo que
significa que el daemon slo est activo cuando se lo necesita. Packagekit tiene una versin
para Gnome (gnome-packagekit) y para KDE (KPackageKit).
El sistema de gestin de paquetes Debian no se limita slo a lo que describimos en el
presente. Adems, Debian tampoco se limita slo al sistema de gestin de paquetes. Vea la
seccin Recursos para mayor informacin y vnculos para acceder a los dems artculos que
forman parte de esta serie.

También podría gustarte