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ías saber el nombre de un paquete que quieres 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 solo veremos un poco de sus aplicaciones.
Por ejemplo, supongamos que tu quieres revivir la gloria de la época dorada del Atari 2600. Quieres utilizar APT para instalar un emulador de Atari, y después bajar algunos juegos, puedes hacer lo siguiente:
[root]@[/] # 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:
[root]@[/] # 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 tienes muchos detalles sobre paquete seleccionado asi como su descripcion. Si el paquete estuviera instalado y hubiera una versión más reciente, verías la información de las 2 versiones, por ejemplo:
[root]@[/] # 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.
Observa que el primero en la lista es el paquete disponible y el segundo es el instalado. Para mayor información de sobre un paquete puedes utilizar:
[root]@[/] # 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 solo 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 concoer 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" puedes ejecutar:
[root]@[/] # 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:
[root]@[/] # dpkg -S /usr/include/stdio.h
libc6-dev: /usr/include/stdio.h
Para averiguar los nombres de paquetes instalados en tu sistema, lo cual es útil por ejemplo, si planeas limpiar tu disco duro, ejecuta:
[root]@[/] # dpkg -l | grep mozilla
ii mozilla-browse 0.8-0.1 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, puedes utilizar la descripción del paquete, o parte de ella para encontrar el nombre completo. Como se muestra a continuación:
[root]@[/] # apt-cache search "Mozilla Web Browser"
mozilla-browser - Mozilla Web Browser
Estás compilando un programa, y de repente, boom!, hay un error porque necesita
cierto archivo ".h" que no tienes. El programa
auto-apt puede salvarte de esas situaciones. Te pregunta si
instala ciertos programas que son requeridos, deteniendo los procesos
relevantes y continuando una vez que el paquete es instalado.
Lo que haces, 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
Te preguntará entonces si instalar los paquetes necesarios y llamara automáticamente a apt-get. Si estás en modo gráfico, una interfaz gráfica remplazara la interfaz 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.
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. Puedes 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 necesitas instalar el
paquete apt-listchanges. Durante la instalación del paquete,
Debconf lo configurara. Contesta a las preguntas sobre la configuración como
desees.
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 te deja analizarlos antes de continuar. La opción: "Debe apt-listchanges preguntar por autorización después de mostrar los cambios" es útil porque te pregunta si deseas continuar la instalación después de leer los cambios. Si decides no continuar con la instalación apt-listchanges regresara con un error y apt abortara 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.7.3 - September 2001kov@debian.org