Product SiteDocumentation Site

6.10. Wyszukiwanie Pakietów

W ogromnej, ciągle rosnącej bazie oprogramowania dla Debiana powstaje pewien paradoks: Debian zazwyczaj ma narzędzie do wykonywania większości zadań, ale to narzędzie może być bardzo trudne do znalezienia pośród niezliczonej liczby innych pakietów. Przez długi czas brak odpowiednich sposobów wyszukiwania (i znajdowania) właściwego narzędzia był problemem. Na szczęście ten problem został niemal w całości rozwiązany.
The most trivial search possible is looking up an exact package name. If apt show package returns a result, then the package exists. Unfortunately, this requires knowing or even guessing the package name, which isn't always possible.
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 ALTERNATYWA axi-cache); for instance, apt-cache search video will return a list of all packages whose name or description contains the keyword “video”.
Do bardziej złożonych wyszukiwań potrzebne jest potężniejsze narzędzie takie jak aptitude. aptitude pozwala na wyszukiwanie według wyrażeń logicznych bazujących na polach metadanych pakietu. Na przykład następująca komenda wyszukuje pakiety, których nazwy zawierają kino, opisy zawierają video, a imię opiekuna zawiera 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
Wspomniane wyszukiwanie zwraca jeden pakiet, kino, który spełnia wszystkie trzy kryteria.
Niemniej jednak wyszukiwania zawierające wiele kryteriów są dość niewygodne, co tłumaczy fakt dlaczego nie są tak często używane. Niejako w odpowiedzi został stworzony nowy system znakowania, który dostarcza nowy sposób wyszukiwania. Pakietom przypisane są znaczniki o charakterze tematycznym oraz inne powiązania, znane jako "klasyfikacja fasetowa". W przypadku powyższego kino, znaczniki pakietu wskazują, że Kino jest oprogramowaniem bazującym na Gnome, pracuje z danymi wideo, a jego głównym celem jest montaż.
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:
Wybranie znaczników works-with::video i use::editing zwraca ledwie kilka pakietów, włączając w to edytory wideo kino i pitivi. Ta klasyfikacja z upływem czasu ma być coraz częściej stosowana, a zarządcy pakietów będą dostarczać bazujące na niej, efektywne interfejsy wyszukiwania.
Podsumowując, najlepsze narzędzie do wykonania zadania zależy od stopnia komplikacji danego wyszukiwania: