Product SiteDocumentation Site

6.10. Ricercare pacchetti

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.
La ricerca più banale possibile è la ricerca con il nome esatto di un pacchetto. Se apt show pacchetto restituisce un risultato, allora quel pacchetto esiste. Sfortunatamente, questo richiede di conoscere o anche di indovinare il nome del pacchetto, e ciò non è sempre possibile.
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”.
Per ricerche più complesse, è necessario uno strumento più potente come aptitude. aptitude permette di cercare usando un'espressione logica basata sui campi dei metadati dei pacchetti. Per esempio, il seguente comando cerca i pacchetti il cui nome contiene kino, la cui descrizione contiene video e il cui nome del manutentore contiene 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
Il risultato mostra solo un pacchetto, kino, che soddisfa tutti e tre i criteri.
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:
$ debtags search "works-with::video && use::editing"
Se si selezionano le etichette works-with::video e use::editing, si ottengono una manciata di pacchetti, inclusi gli editor video kino e pitivi. Questo sistema di classificazione è destinato ad essere usato sempre di più col passare del tempo, e i gestori dei pacchetti forniranno gradualmente interfacce di ricerca efficienti basate su di esso.
Per riassumere, il migliore strumento per il lavoro dipende dalla complessità della ricerca che si desidera fare: