Mit der großen und immer weiter wachsenden Menge von Software in Debian entsteht ein Paradoxon: Debian hat normalerweise ein Werkzeug für fast jede Aufgabe, aber es kann sehr schwer sein, es unter der Unzahl anderer Pakete zu finden. Der Mangel an geeigneten Wegen das richtige Werkzeug zu suchen (und zu finden) war lange Zeit ein Problem. Glücklicherweise ist dieses Problem mittlerweile fast vollständig gelöst.
Die einfachst mögliche Suche ist die nach einem exakten Paketnamen. Wenn apt show Paket
ein Ergebnis zurückliefert, existiert das Paket. Unglücklicherweise erfordert die, den Paketnamen zu wissen oder zumindest zu erraten, was nicht immer möglich ist.
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
ALTERNATIVE axi-cache
); for instance,
apt-cache search video
will return a list of all packages whose name or description contains the keyword “video”.
Komplexere Suchen erfordern ein mächtigeres Werkzeug wie aptitude
. aptitude
erlaubt es Ihnen, nach logischen Ausdrücken, basierend auf den Metadatenfeldern der Pakete zu suchen. Beispielsweise sucht der folgende Befehl nach Paketen, deren Name kino
enthält, deren Beschreibung video
enthält und deren Betreuernamen paul
enthält:
$ 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
State: not installed
Priority: optional
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8,304 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0 (>= 0.5.3), libavcodec58 (>=
7:4.0) | libavcodec-extra58 (>= 7:4.0), libavformat58 (>= 7:4.0), libavutil56 (>= 7:4.0),
libc6 (>= 2.14), libcairo2 (>= 1.2.4), libdv4 (>= 1.0.0), libfontconfig1 (>= 2.12.6),
libfreetype6 (>= 2.2.1), libgcc1 (>= 1:3.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglade2-0
(>= 1:2.6.4-2~), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.24.32), libice6 (>= 1:1.0.0),
libiec61883-0 (>= 1.2.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0),
libpangoft2-1.0-0 (>= 1.14.0), libquicktime2 (>= 2:1.2.2), libraw1394-11, libsamplerate0
(>= 0.1.7), libsm6, libstdc++6 (>= 5.2), libswscale5 (>= 7:4.0), libx11-6, libxext6,
libxml2 (>= 2.7.4), libxv1, zlib1g (>= 1:1.1.4)
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus
Replaces: kino-dvtitler, kino-timfx, kinoplus
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
Die Suche liefert nur ein Ergebnis, kino, auf das alle drei Kriterien zutreffen.
Selbst die Mehrfachkriterien Suchen sind unhandlich, was erklärt, warum sie seltener genutzt werden, als sie eigentlich genutzt werden könnten. Aus diesem Grund wurde ein neues Markierungssystem entwickelt, das einen neuen Suchansatz zur Verfügung stellt. Pakete erhalten Markierungen aus einer thematischen Gliederung über verschiedene Anwendungsbereiche, bekannt als "Facettenklassifikation". Im Falle von kino wie oben, besagen die Markierungen, dass Kino eine Gnome-basierte Software ist, die Videodaten verarbeitet und deren Hauptzweck die Bearbeitung ist.
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:
Die Schlagworte works-with::video
and use::editing
liefern eine handvoll Pakete, unter anderem die Video-Bearbeitungsprogramme kino und pitivi. Dieses Klassifizierungssystem wird immer stärker genutzt werden und die Paket-Verantwortlichen werden nach und nach effiziente Suchen auf dieser Grundlage zur Verfügung stellen.
Zusammenfassend wird das geeignetste Werkzeug für die Aufgabe durch die Komplexität der durchzuführenden Suche bestimmt:
apt-cache
sucht nur in Paketnamen und Beschreibungen, was sehr bequem ist, wenn Sie nach bestimmten Paketen suchen, auf die wenige Schlagworte passen;
wenn die Suche ebenfalls Beziehungen zwischen Paketen und andere Metadaten wie den Betreuernamen umfasst, wird synaptic
nützlicher sein;
wenn eine Markierungs-basierte Suche nötig ist, ist packagesearch
ein gutes Werkzeug: eine grafische Oberfläche zur Suche verfügbarer Pakete neben verschiedenen anderen Kriterien (inklusive der Namen der enthaltenen Dateien). Auf der Kommandozeile erledigt axi-cache
diese Aufgabe.
schlussendlich, wenn die Suche komplexe Ausdrücke mit logischen Operatoren erfordert, wird aptitude
mit seiner etwas obskuren aber mächtigen Suchmuster-Syntax das Mittel der Wahl sein; es funktioniert auf der Kommandozeile ebenso wie im interaktiven Modus.