Existen algunas interfaces para el APT que lo hacen más fácil de utilizar.
Pero nuestro objetivo aquí es aprender a manejar APT puro. Así que, ¿cómo podría saber el nombre de un paquete que quiere instalar?
Tenemos numerosos recursos para realizar esa tarea. Empezaremos con apt-cache. Este programa es utilizado por APT para mantener su base de datos. Nosotros sólo veremos un poco de sus aplicaciones.
Por ejemplo, supongamos que usted quiere revivir la gloria de la época dorada del Atari 2600. Quiere utilizar APT para instalar un emulador de Atari, y después bajar algunos juegos, puede hacer lo siguiente:
# apt-cache search atari
atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
circuslinux - The clowns are trying to pop balloons to score points!
madbomber - A Kaboom! clone
tcs - Character set translator.
atari800 - Atari emulator for svgalib/X/curses
stella - Atari 2600 Emulator for X windows
xmess-x - X binaries for Multi-Emulator Super System
Hemos encontrado muchos paquetes relacionados con lo que estamos buscando. Para obtener mayor información de un paquete específico, hacemos lo siguiente:
# apt-cache show stella
Package: stella
Priority: extra
Section: non-free/otherosfs
Installed-Size: 830
Maintainer: Tom Lear <tom@trap.mtview.ca.us>
Architecture: i386
version: 1.1-2
Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
Size: 483430
MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
Description: Atari 2600 Emulator for X windows
Stella is a portable emulator of the old Atari 2600 video-game console
written in C++. You can play most Atari 2600 games with it. The latest
news, code and binaries for Stella can be found at:
http://www4.ncsu.edu/~bwmott/2600
En este desplegado tiene muchos detalles sobre paquete seleccionado así como su descripcion. Si el paquete estuviera instalado y hubiera una versión más reciente, vería la información de las dos versiones, por ejemplo:
# apt-cache show lilo
Package: lilo
Priority: important
Section: base
Installed-Size: 271
Maintainer: Russell Coker <russell@coker.com.au>
Architecture: i386
version: 1:21.7-3
Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
Suggests: lilo-doc
Conflicts: manpages (<<1.29-3)
Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
Size: 143052
MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
Description: LInux LOader - The Classic OS loader can load Linux and others
This Package contains lilo (the installer) and boot-record-images to
install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
.
You can use Lilo to manage your Master Boot Record (with a simple text screen)
or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
Package: lilo
Status: install ok installed
Priority: important
Section: base
Installed-Size: 190
Maintainer: Vincent Renardias <vincent@debian.org>
version: 1:21.4.3-2
Depends: libc6 (>= 2.1.2)
Recommends: mbr
Suggests: lilo-doc
Description: LInux LOader - The Classic OS loader can load Linux and others
This Package contains lilo (the installer) and boot-record-images to
install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
.
You can use Lilo to manage your Master Boot Record (with a simple text screen)
or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
Observe que el primero en la lista es el paquete disponible y el segundo es el instalado. Para mayor información sobre un paquete puede utilizar:
# apt-cache showpkg penguin-command
Package: penguin-command
versions:
1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_b
inary-i386_Packages)(/var/lib/dpkg/status)
Reverse Depends:
Dependencies:
1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0)
libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3)
Provides:
1.4.5-1 -
Reverse Provides:
Y sólo para saber de que paquetes depende:
[root]@[/] # apt-cache depends penguin-command
penguin-command
Depends: libc6
Depends: libpng2
Depends: libsdl-mixer1.1
Depends: libsdl1.1
Depends: zlib1g
En resumen, tenemos una gran variedad de armas que podemos utilizar para averiguar el nombre del paquete que queramos.
Uno de los caminos para conocer el nombre de un paquete es saber el nombre de un archivo importante que sea contenido por ese paquete. Por ejemplo, para conocer el paquete que ofrece ciertos archivos ".h" puede ejecutar:
# dpkg -S stdio.h
libc6-dev: /usr/include/stdio.h
libc6-dev: /usr/include/bits/stdio.h
perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
o:
# dpkg -S /usr/include/stdio.h
libc6-dev: /usr/include/stdio.h
Para averiguar los nombres de paquetes instalados en su sistema, lo cual es útil por ejemplo, si planea limpiar su disco duro, ejecuta:
# dpkg -l | grep mozilla
ii mozilla-browse 0.9.6-7 Mozilla Web Browser
El problema con este comando radica en que puede "truncar" el nombre del programa. En el ejemplo anterior, el nombre completo del paquete es mozilla-browser. Para arreglar esto, puede utilizar las variables de ambiente COLUMNS de este modo:
[kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
O la descripción del paquete, o parte de ella para encontrar el nombre completo. Como se muestra a continuación:
# apt-cache search "Mozilla Web Browser"
mozilla-browser - Mozilla Web Browser
Está compilando un programa, y de repente, boom!, hay un error porque necesita
cierto archivo ".h" que no tiene. El programa
auto-apt puede salvarlo de esas situaciones. Le pregunta si
instala ciertos programas que son requeridos, deteniendo los procesos
relevantes y continuando una vez que el paquete es instalado.
Lo que hace, es básicamente ejecutar:
# auto-apt run command
Dónde "command" es el comando que al ser ejecutado, necesita ciertos archivos, por ejemplo:
# auto-apt run ./configure
Le preguntará entonces si desea instalar los paquetes necesarios y llamará automáticamente a apt-get. Si está en modo gráfico, una interfáz gráfica remplazará la interfáz de texto que aparece normalmente.
Auto-apt mantiene las bases de datos que necesitan estar al día para lograr que esto funcione. Esto se realiza con los comandos auto-apt update, auto-apt updatedb y auto-apt update-local.
Si usted quiere instalar un paquete, y no puede saber como se llama al buscarlo
con apt-cache, pero sabe el nombre de un archivo que pertenece al
paquete, entonces puede utilizar apt-file para encontrar el nombre
del paquete que busca. Esto se hace de la siguiente manera:
$ apt-file search filename
Trabaja de manera similar a dpkg -S, pero tambien le muestra
paquetes sin instalar que contengan ese archivo. Puede también ser utilizado
para saber que paquetes contiene archivos de inclusión para la compilación de
ciertos programas, aunque auto-apt es una mejor solución para
estos casos, consulte Cómo instalar programas "en
demanda", Sección 5.3.
También puede enlistar el contenido de un paquete ejecutando:
$ apt-file list packagename
apt-file mantiene una base de datos sobre que archivos tiene cada
paquete, tal como auto-apt lo hace y necesita estar al día. Esto se hace asi:
# apt-file update
Por omisión, apt-file utiliza la misma base de datos que
auto-apt utiliza, consulte Cómo instalar
programas "en demanda", Sección 5.3.
Cada paquete instala en su directorio de documentación (/usr/share/doc/packagename) un archivo llamado changelog.Debian.gz el cual contiene una lista de cambios realizados al paquete desde la última versión. Puede leer estos archivos con zless, por ejemplo, pero no es muy fácil estar buscando estos archivos después de una instalación de un sistema completo.
Existe una forma de automatizar esta tarea por medio de una herramienta llamada
apt-listchanges. Para iniciar, primero necesita instalar el
paquete apt-listchanges. Durante la instalación del paquete,
Debconf lo configurará. Conteste a las preguntas sobre la configuración como
desee.
La opción: "Apt-listchanges deberá ser automáticamente ejecutada por APT" esto es muy útil porque muestra los cambios que han sido hechos al paquete que está siendo instalado por apt durante una actualización y le deja analizarlos antes de continuar. La opción: "Debe apt-listchanges preguntar por autorización después de mostrar los cambios" es útil porque le pregunta si desea continuar la instalación después de leer los cambios. Si decide no continuar con la instalación apt-listchanges regresará con un error y apt abortará la instalación.
Después que apt-listchanges sea instalado, tan pronto como los paquetes sean descargados por apt, mostrará las listas de los cambios realizados a estos paquetes antes de instalarlos.
APT HOWTO
1.8.4 - April 2003kov@debian.orgh.mora@melix.com.mx