Product SiteDocumentation Site

6.10. Поиск пакетов

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.
Большинство банальных поисков возможно просматривая, и извлекая информацию, имя пакета. Если apt show пакет возвращает результат, тогда пакет существует (то есть установлен в вашей системе). К сожаленью, для этого нужно знать или точно угадать имя пакета, что не всегда бывает возможно.
Несколько более успешным шаблон поиска - поиск по простому тексту в именах пакетов, но он остаётся очень ограниченным. Обычно результаты можно найти, выполнив поиск по описаниям пакетов: поскольку каждый пакет помимо имени пакета имеет более или менее подробное описание, часто бывает полезен поиск по ключевым словам в этих описаниях. Команды apt-cache и axi-cache являются инструментами выбора для этих разновидностей поиска (см. АЛЬТЕРНАТИВА axi-cache); к примеру, apt-cache search video вернёт список всех пакетов, имя или описание которых содержит ключевое слово “video”.
Для более комплексного поиска нужны более мощные инструменты, такие как aptitude. Программа aptitude позволит вам искать логическим выражением, которое базируется на метаданных заголовков пакетов. К примеру следующая команда ищет пакеты, имя которого содержит kino, описание которого содержит video и имя сопровождающего которого содержит 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
Поиск вернёт название только одного пакета, kino, который удовлетворяет всем трём критериям.
Даже такие многокритериальные поиски довольно громоздки, что объясняет, почему они не используются так часто, как могли бы. Поэтому была разработана новая система тегов, обеспечивающая новый подход к поиску. Пакетам присваиваются теги, которые обеспечивают тематическую классификацию по нескольким направлениям, известную как «классификация на основе фасетов». В случае с kino выше теги пакета указывают, что Kino — это программное обеспечение на базе Gnome, которое работает с видеоданными и основной целью которого является редактирование.
Просмотр этой классификации может помочь вам найти пакет, соответствующий известным потребностям; даже если он возвращает (умеренное) количество совпадений, остальную часть поиска можно выполнить вручную. Для этого вы можете использовать шаблон поиска ~G в команде aptitude, но, возможно, проще просто посетить сайт, на котором (разработчики) управляют тегами, или использовать команду debtags:
$ debtags search "works-with::video && use::editing"
Выполняя выбор по меткам works-with::video и use::editing вы получите небольшое количество пакетов, включая kino и pitivi - видео-редакторы. Эта система классифицикации будет использоваться и в дальнейшем, а управляюшие пакетами будут и дальше последовательно поддерживать эффективный поисковый интерфейс, базирующийся на этом.
Подводя итоги, можно сделать вывод - наилучшее средство для поиска зависит от сложности запроса, смотря что вы желаете найти: