6.10. Recherche de paquets
With the large and ever-growing amount of software in Debian, there emerges a paradox: Debian usually has a tool for most tasks, but that tool can be very difficult to find among the myriad other packages. The lack of appropriate ways to search for (and to find) the right tool has long been a problem. Fortunately, this problem has almost entirely been solved.
La recherche la plus triviale correspond à une recherche sur le nom exact d'un paquet. Si apt show paquet
renvoie un résultat, c'est que le paquet existe. Malheureusement, il n'est pas toujours facile de deviner le nom du paquet.
Un modèle de recherche un peu plus performant est la recherche en texte brut dans les noms de paquet, mais il reste très limité. Vous pouvez généralement trouver des résultats en cherchant dans les descriptions des paquets : comme chaque paquet possède une description plus ou moins détaillée en plus de son nom, une recherche par mot-clé dans ces descriptions sera souvent utile.
apt-cache
et
axi-cache
sont les outils de choix pour ce type de recherche (consulter
ALTERNATIVE axi-cache
. Par exemple,
apt-cache search video
renverra une liste de tous les paquets dont le nom ou la description contient le mot-clé « video ».
For more complex searches, a more powerful tool such as aptitude
is required. aptitude
allows you to search according to a logical expression based on the package's meta-data fields. For instance, the following command searches for packages whose name contains iso
, whose description contains cd
and whose maintainer's name contains 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.
Even these multi-criteria searches are rather unwieldy, which explains why they are not used as much as they could. A new tagging system has therefore been developed, and it provides a new approach to searching. Packages are given tags that provide a thematic classification along several strands, known as a “facet-based classification”. In the case of genisoimage above, the package's tags indicate that it is a storage- and more precisely CD- and DVD-related command-line utility to work with ISO9660 file-systems.
Naviguer dans cette classification peut vous aider à rechercher un paquet qui correspond à des besoins connus. Même si un nombre (modéré) de résultats est renvoyé, la suite de la recherche peut être effectuée manuellement. Pour ce faire, vous pouvez utiliser le motif de recherche
~G
dans
aptitude
, mais il est probablement plus facile de simplement naviguer dans le site où les balises sont gérées ou d’utiliser la commande
debtags
:
Selecting the works-with::video
and use::editing
tags yields a handful of packages, including the shotcut and pitivi video editors. This system of classification is bound to be used more and more as time goes on, and package managers will gradually provide efficient search interfaces based on it.
En résumé, selon la complexité des recherches que l'on souhaite mener, on utilisera un programme adapté :
apt-cache
ne permet que les recherches textuelles dans le nom et la description des paquets, il est très pratique pour retrouver rapidement le nom précis d'un paquet qu'on peut facilement décrire avec quelques mots-clés bien ciblés ;
pour des recherches portant également sur les relations entre paquets et d’autres métadonnées telles que le nom du responsable, synaptic
sera plus utile ;
si l'on souhaite ajouter une recherche par étiquettes, on se dirigera vers packagesearch
, une interface graphique dont le seul but est de mener des recherches dans la liste des paquets disponibles, selon plusieurs critères ; on peut même chercher des paquets d'après le nom des fichiers qu'ils contiennent. Pour un usage en ligne de commande, on se tournera vers axi-cache
;
Enfin, si l'on a besoin de construire des requêtes complexes avec des opérateurs logiques, on utilisera la très puissante (mais relativement obscure) syntaxe des motifs de recherche d'aptitude
, aussi bien en ligne de commande qu'en mode interactif.