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.
Eine etwas erfolgreicheres Suchschema ist die Volltextsuche über die Paketnamen, wenn auch immer noch stark beschränkt. Im Allgemeinen lassen sich Resultate durch die Suche in den Paketbeschreibungen erzielen: Da jedes Paket über eine mehr oder weniger detailierte Beschreibung verfügt, wird eine Schlagwortsuche in diesen Beschreibungen oftmals erfolgreich sein. apt-cache
und axi-cache
sind das Mittel der Wahl für diese Art der Suche; beispielsweise liefert apt-cache search video
eine Liste aller Pakete deren Name oder Beschreibung das Schlagwort "video" enthält.
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-2.2+b2
State: not installed
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8300 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0
(>= 0.5.3), libavcodec57 (>= 7:3.2.4) | libavcodec-extra57 (>=
7:3.2.4), libavformat57 (>= 7:3.2.4), libavutil55 (>= 7:3.2.4), libc6
(>= 2.14), libcairo2 (>= 1.2.4), libdv4 (>= 1.0.0), libfontconfig1
(>= 2.11), 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.0), 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), libswscale4 (>= 7:3.2.4), 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, 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
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.