6.10. Zoeken naar Pakketten
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.
De meeste triviale manier van opzoeken is het zoeken naar een exacte naam van een pakket. Als apt show pakket
een resultaat geeft, bestaat het pakket. Helaas vereist dit het weten of zelfs gokken naar de naam van het pakket, wat niet altijd mogelijk is.
A slightly more successful searching pattern is a plain-text search in package names, but it remains very limited. You can generally find results by searching package descriptions: since each package has a more or less detailed description in addition to its package name, a keyword search in these descriptions will often be useful.
apt-cache
and
axi-cache
are the tools of choice for this kind of search (see
ALTERNATIEF axi-cache
); for instance,
apt-cache search video
will return a list of all packages whose name or description contains the keyword “video”.
Voor complexere zoekopdrachten, is een krachtiger gereedschap zoals aptitude
nodig. aptitude
laat toe om te zoeken volgens logische uitdrukkingen gebaseerd op de meta-gegevens van het pakket. Bijvoorbeeld, het volgende commando zoekt naar pakketten waarvan de naam kino
bevat, waarvan de omschrijving video
bevat en waarvan de beheerders naam paul
bevat:
$ aptitude search kino~dvideo~mpaul
p kino - Non-linear editor for Digital Video data
$ aptitude show kino
Package: kino
Version: 1.3.4+dfsg0-1.1
State: not installed
Priority: optional
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8,316 k
Depends: libasound2 (>= 1.0.16), libavc1394-0 (>= 0.5.3), libavcodec58 (>= 7:4.2),
libavformat58 (>= 7:4.2), libavutil56 (>= 7:4.0), libc6 (>= 2.29), libdv4
(>= 1.0.0), libgcc-s1 (>= 3.0), libgdk-pixbuf-2.0-0 (>= 2.22.0),
libglade2-0 (>= 1:2.6.4-2~), libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>=
2.24.0), libiec61883-0 (>= 1.2.0), libpango-1.0-0 (>= 1.14.0),
libpangoft2-1.0-0 (>= 1.14.0), libquicktime2 (>= 2:1.2.2), libraw1394-11
(>= 2.1.2), libsamplerate0 (>= 0.1.7), libstdc++6 (>= 9), libswscale5 (>=
7:4.0), libx11-6, libxext6, libxml2 (>= 2.7.4), libxv1
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus, kino-dvtitler:i386,
kino-timfx:i386, kinoplus:i386, kino:i386
Replaces: kino-dvtitler, kino-timfx, kinoplus, kino-dvtitler:i386,
kino-timfx:i386, kinoplus:i386
Provides: kino-dvtitler, kino-timfx, kinoplus
Description: Non-linear editor for Digital Video data
Kino allows you to record, create, edit, and play movies recorded with DV
camcorders. This program uses many keyboard commands for fast navigating and
editing inside the movie.
The kino-timfx, kino-dvtitler and kinoplus sets of plugins, formerly distributed
as separate packages, are now provided with Kino.
Homepage: http://www.kinodv.org/
Tags: field::arts, hardware::camera, implemented-in::c, implemented-in::c++,
interface::graphical, interface::x11, role::program, scope::application,
suite::gnome, uitoolkit::gtk, use::editing, use::learning,
works-with::video, x11::application
De zoekopdracht zal één pakket weergeven, kino, welke aan al de drie criteria voldoet.
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 kino above, the package's tags indicate that Kino is a Gnome-based software that works on video data and whose main purpose is editing.
Browsing this classification can help you to search for a package which corresponds to known needs; even if it returns a (moderate) number of hits, the rest of the search can be done manually. To do that, you can use the
~G
search pattern in
aptitude
, but it is probably easier to simply navigate the site where tags are managed or use the
debtags
command:
Het selecteren van de works-with::video
en use::editing
labels geeft een handvol pakketten, inclusief de kino en pitivi videobewerkers. Dit systeem van classificatie zal naarmate de tijd vordert meer en meer gebruikt worden, en pakketbeheerders zullen geleidelijk aan efficiënte zoek interfaces die hierop hierop gebaseerd zijn aanbieden.
Samenvattend, het beste gereedschap voor het werk hangt af van de complexiteit van de zoekopdracht die je wilt uitvoeren:
apt-cache
laat enkel toe om te zoeken in pakket namen en omschrijvingen, wat heel handig is wanneer je zoekt naar een specifiek pakket dat overeenkomt met enkele zoekwoorden;
Wanneer de zoekcriteria ook relaties tussen pakketten of andere meta-gegevens zoals de naam van de onderhouder bevat, zal synaptic
bruikbaarder zijn;
Wanneer het zoeken met labels nodig is, is packagesearch
, een grafische interface toegewijd aan het zoeken over verschillende criteria (inclusief de naam van de bestanden die ze bevatten) een goed gereedschap. Voor gebruik op de commando-regel, zal axi-cache
geschikt zijn.
Tenslotte, wanneer het zoeken complexe expressies met logische operaties vereist, is het gereedschap naar keuze de patroon zoek syntaxis van aptitude
, welke krachtig is hoewel een beetje obscuur, het gereedschap naar keuze zijn; het werk in zowel de commando-regel als de interactieve modus.