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