Amb la gran quantitat de programari a Debian, i creixent contínuament, apareix una paradoxa: Debian normalment té una eina per a la majoria de tasques, però aquesta eina pot ser molt difícil de trobar entre tants paquets. La falta de maneres adequades de buscar (i trobar) l'eina adequada ha estat durant molt de temps un problema. Afortunadament, aquest problema s'ha resolt gairebé per complet.
La cerca més trivial possible és buscar un nom exacte de paquet. Si apt show paquet
retorna un resultat, llavors el paquet existeix. Malauradament, això requereix saber o fins i tot endevinar el nom del paquet, cosa que no sempre és possible.
Un patró de cerca lleugerament més reeixit és una cerca de text simple en els noms dels paquets, però continua sent molt limitat. Generalment podeu trobar resultats cercant a les descripcions dels paquets: atès que cada paquet té una descripció més o menys detallada a més del seu nom de paquet, una cerca de paraules clau en aquestes descripcions sovint serà útil.
apt-cache
i
axi-cache
són les eines a triar per a aquest tipus de cerca (vegeu
ALTERNATIVA axi-cache
); per exemple, el
apt-cache search video
retornarà una llista de tots els paquets el nom o la descripció dels quals conté la paraula clau “video”.
Per a cerques més complexes, es requereix una eina més poderosa com l'aptitude
. L'aptitude
us permet cercar d'acord amb una expressió lògica basada en els camps de metadades del paquet. Per exemple, la següent ordre cerca paquets el nom dels quals conté kino
, la descripció del qual conté video
i el nom del mantenidor del qual conté 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.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
La cerca només retorna un paquet, kino, que satisfà els tres criteris.
Fins i tot aquestes cerques multicriteri són bastant difícils de manejar, la qual cosa explica per què no s'utilitzen tant com podrien. Per tant, s'ha desenvolupat un nou sistema d'etiquetatge i proporciona un nou enfocament per a la cerca. Als paquets se'ls assignen etiquetes que proporcionen una classificació temàtica en diversos eixos, coneguda com a "classificació basada en facetes". En el cas del kino anterior, les etiquetes del paquet indiquen que Kino és un programari basat en Gnome que funciona amb dades de vídeo i el propòsit principal del qual és l'edició.
Navegant per aquesta classificació us pot ajudar a cercar un paquet que correspongui a necessitats conegudes; fins i tot si retorna un nombre (moderat) de resultats, la resta de la cerca es pot fer manualment. Per fer-ho, podeu utilitzar el patró de cerca
~G
a l'
aptitude
, però probablement és més fàcil navegar pel lloc on les etiquetes són gestionades o utilitzar l'ordre
debtags
:
Seleccionant les etiquetes works-with::video
i use::editing
s'obtenen un grapat de paquets, incloent els editors de vídeo kino i pitivi. Aquest sistema de classificació s'utilitzarà cada vegada més a mesura que passi el temps, i els gestors de paquets proporcionaran gradualment interfícies de cerca eficients basades en ell.
Resumint, la millor eina per a aquesta tasca depèn de la complexitat de la cerca que volgueu fer:
apt-cache
només permet la cerca en noms i descripcions de paquets, que és molt convenient quan es busca un paquet en particular que coincideixi amb unes poques paraules clau com a objectiu;
quan els criteris de cerca també inclouen relacions entre paquets o altres metadades, com el nom del mantenidor, el synaptic
serà més útil;
quan es necessita una cerca basada en etiquetes, una bona eina és packagesearch
, una interfície gràfica dedicada a la cerca de paquets disponibles segons de diversos criteris (incloent els noms dels fitxers que contenen). Per a l'ús a la línia d'ordres, axi-cache
anirà perfecte.
finalment, quan les cerques impliquen expressions complexes amb operacions lògiques, l'eina a triar serà la sintaxi de patrons de cerca de l'aptitude
, que és força potent malgrat ser una mica obscura; funciona tant en la línia d'ordres com en els modes interactius.