6.10. Vyhledávání balíčků
S velkých a stále se rozrůstajícím počtem softwaru v Debianu, se vynořil paradox: Debian obvykle má nástroj pro většinu úkolů, ale tento nástroj může být velice obtížné nalézt mezi spoustou jiných balíčků. Chybějící vhodné způsoby k vyhledávání (a nalezení) správného nástroje byl dlouho problém. Tento problém byl naštěstí téměř úplně vyřešen.
Nejtriviálnějším možným vyhledáváním je hledání přesného jména balíčku. Pokud apt show balíček
vrátí výsledek, potom balíček existuje. Naneštěstí, toto vyžaduje znalost nebo alespoň odhad jména balíčku, což není vždy možné.
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
ALTERNATIVA axi-cache
); for instance,
apt-cache search video
will return a list of all packages whose name or description contains the keyword “video”.
Pro komplexnější hledání potřeba mocnějšího nástroje jako je aptitude
. aptitude
vám umožňuje vyhledávání podle logického výrazu založeném v polích metadat balíčku. Například, následující příkaz hledá balíčky, jejichž jméno obsahuje kino
, popis obsahuje video
a správcovo jméno obsahuje paul
:
$ 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
Vyhledávání vrátí jeden balíček, kino, který vyhovuje všem třem kritériím.
Tato multikriteriální vyhledávání jsou, dá se říci, těžkopádná, což vysvětluje proč nejsou tak moc využívána, jak by mohla být. Proto byl vyvinut nový systém štítků (tagů) co poskytuje nový přístup k vyhledávání. Balíčkům se dají štítky, které poskytují tématické zařazení zároveň s několika standardy známými jako “facet-based classification”. V případu kino popsaného výše, štítky balíčku značí, že Kino je software založený na softwaru Gnome, který pracuje na video datech a jehož hlavním účelem je střih.
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:
Vybráním štítků works-with::video
a use::editing
vyplodí pár balíčků, včetně video editorů kino a pitivi. Tento systém třídění je stále více upřednostňován a správci balíčků budou stále více poskytovat efektivní vyhledávací rozhraní na něm založených.
Abychom to shrnuli, nejlepší nástroj pro takový úkol závisí na komplexnosti vyhledávání, které si přejete provést:
apt-cache
umožňuje pouze prohledávání jmen balíčků a popisů, což je velmi pohodlné, když vyhledáváte určitý balíček, který odpovídá málu cílovým klíčovým slovům.
Pokud vyhledávající kritérium také zahrnuje vztahy mezi balíčky nebo jiná metadata jako je jméno správce, synaptic
bude užitečnější.
Pokud je zapotřebí vyhledávání za pomoci štítků, dobrým nástrojem je packagesearch
, grafické rozhraní k vyhledávání balíčků podle různých kritérií (včetně jmen souborů, které jej obsahují). Pro použití příkazové řádky, axi-cache
plně vyhovuje.
nakonec, pokud vyhledávání zahrnuje komplexní výrazy s logickými operacemi, bude vaší volbou vyhledávací řetězcový syntax aptitude
, který je opravdu výkonný navzdory tomu, že je poněkud zastaralý; pracuje jak v příkazové řádce, tak v interaktivním módu.