6.10. Búsqueda de paquetes
Con la enorme y creciente cantidad de software en Debian surge una paradoja: Debian generalmente tiene una herramienta para la mayoría de las tareas, pero dicha herramienta puede ser difícil de encontrar entre tantos paquetes. La falta de forma adecuada de buscar (y encontrar) la herramienta oportuna ha sido un problema durante cierto tiempo. Afortunadamente este problema casi se ha solucionado.
La búsqueda más trivial posible es buscar el nombre exacto de un paquete. Si apt show paquete
devuelve un resultado entonces el paquete existe. Desafortunadamante esto necesita saber o adiviar el nombre del paquete, lo que no es siempre posible.
Un patrón de búsqueda ligeramente más exitoso es una búsqueda en texto plano de los nombres de los paquetes, pero es aún muy limitada. Generalmente puede encontrar resultados buscando en la descripción de los paquetes: dado que cada paquete tiene una descripción más o menos detallada además de su nombre, una búsqueda de palabras clave en estas descripciones generalmente será útil.
apt-cache
y
axi-cache
son las herramientas más utilizadas para este tipo de búsqueda (véase
ALTERNATIVA axi-cache
); por ejemplo,
apt-cache search video
devolverá una lista de todos los paquetes cuyos nombres o descripciones contengan la palabra clave «video».
Para búsquedas más complejas necesita herramientas más poderosas como aptitude
. aptitude
permite buscar según expresiones lógicas basadas en los campos de metadatos de los paquetes. Por ejemplo, la siguiente orden busca aquellos paquetes cuyo nombre contenga iso
, cuya descripción contenga cd
y cuyo nombre de encargado contenga joerg
:
$ aptitude search iso~dcd~mjoerg
p genisoimage - Creates ISO-9660 CD-ROM filesystem images
$ aptitude show evince
Package: genisoimage
Version: 9:1.1.11-3.4
State: not installed
Priority: optional
Section: otherosfs
Maintainer: Joerg Jaspert <joerg@debian.org>
Architecture: amd64
Uncompressed Size: 1698 k
Depends: libbz2-1.0, libc6 (>= 2.33), libmagic1 (>= 5.12), zlib1g (>= 1:1.1.4)
Suggests: wodim, cdrkit-doc
Conflicts: mkhybrid, mkisofs
Replaces: mkisofs
Provides: mkisofs
Description: Creates ISO-9660 CD-ROM filesystem images
genisoimage is a pre-mastering program for creating ISO-9660 CD-ROM filesystem
images, which can then be written to CD or DVD media using the wodim program.
genisoimage includes support for making bootable "El Torito" CDs, as well as
CDs with support for the Macintosh HFS filesystem.
The package also includes extra tools useful for working with ISO images:
* mkzftree - create ISO-9660 image with compressed contents
* dirsplit - easily separate large directory contents into disks of predefined size
* geteltorito - extract an El Torito boot image from a CD image
Please install cdrkit-doc if you want most of the documentation and README files.
Tags: hardware::storage, hardware::storage:cd, hardware::storage:dvd,
interface::commandline, role::program, scope::utility, use::storing,
works-with-format::iso9660, works-with::archive
The search only returns one package, genisoimage, which satisfies all three criteria.
Incluso estas búsquedas multicriterio son bastante difíciles de manejar, lo que explica por qué no se usan tanto como podrían. Por lo tanto, se ha desarrollado un nuevo sistema de etiquetado que proporciona un nuevo enfoque para la búsqueda. Los paquetes reciben etiquetas que proporcionan una clasificación temática a lo largo de varias líneas, conocida como "clasificación basada en facetas". En el caso degenisoimage anterior, las etiquetas del paquete indican que se trata de una utilidad de línea de comandos relacionada con el almacenamiento y, más precisamente, con CD y DVD para trabajar con sistemas de archivos ISO9660.
Navegar esta clasificación puede ayudarle a buscar un paquete que se corresponda con necesidades conocidas; aún si devuelve una cantidad (moderada) de elementos, el resto de la búsqueda puede realizarse de forma manual. Para hacerlo, puede utilizar el patrón de búsqueda
~G
en
aptitude
, pero probablemente sea más sencillo simplemente navegar hacia donde se administran las etiquetas o usar el comando
debtags
:
Seleccionar las etiquetas works-with::video
y use::editing
sólo devuelve unos pocos paquetes que incluyen los editores de vídeo shotcut y pitivi. El sistema de clasificación será utilizado más y más con el paso del tiempo y los encargados de los paquetes gradualmente proveerán interfaces de búsqueda eficientes sobre él.
Resumiendo, la mejor herramienta depende de la complejidad de la búsqueda que desee hacer:
apt-cache
sólo permite buscar en el nombre y la descripción de los paquetes, lo que es muy conveniente cuando busque un paquete particular que coincida con unas pocas palabras clave;
cuando el criterio de búsqueda incluya también relaciones entre paquetes u otros metadatos como por ejemplo el nombre del encargado, será más útil synaptic
;
cuando necesita una búsqueda sobre etiquetas packagesearch
es una buena herramienta, una interfaz gráfica dedicada a buscar paquetes disponibles según varios criterios (incluyendo el nombre de los archivos que contiene). Si desea utilizar la línea de órdenes, axi-cache
es su mejor opción.
finalmente, cuando la búsqueda implique expresiones complejas con operaciones lógicas, la herramienta a elegir será la sintaxis de patrones de búsqueda de aptitude
que es bastante potente aunque esté relativamente escondida; se puede utilizar tanto en el modo de línea de órdenes como en el modo interactivo.