Product SiteDocumentation Site

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

В Debian имеется большое количество программ и оно неуклонно растет. И появляется парадокс: Debian имеет много различных инструментов (программ) для большинства задач, однако среди несметного числа других пакетов часто бывает очень трудно эти инструменты отыскать. Недостаток подходящих способов поиска инструментов, необходимых пользователям, долгое время было проблемой. К счастью, эта проблема была почти полностью решена.
Большинство банальных поисков возможно просматривая, и извлекая информацию, имя пакета. Если apt show пакет возвращает результат, тогда пакет существует (то есть установлен в вашей системе). К сожаленью, для этого нужно знать или точно угадать имя пакета, что не всегда бывает возможно.
Немного более успешный поисковый шаблон - это простой поиск в именах пакетов, но такой вид поиска является очень ограниченным. Обычно вы можете найти результаты поиска в (кратком) описании пакета: поскольку каждый пакет имеет более или менее детальное описание в дополнении к его имени пакета, искомое слово будет часто успешно найдено в тех описаниях. Команды apt-cache и axi-cache являются инструментами выбора для этих разновидностей поиска; для примера, apt-cache search видео будет возвращать перечень всех пакетов, чье имя или описание содержит слово “видео”.
Для более комплексного поиска нужны более мощные инструменты, такие как aptitude. Программа aptitude позволит вам искать последовательным выражением, которое базируется на meta-данных заголовков пакетов. Для примера, следующая команда ищет пакеты, чье имя содержит kino, чье описание содержит video и чье имя сопровождающего содержит paul:
$ aptitude search kino~dvideo~mpaul
p   kino  - Non-linear editor for Digital Video data
$ aptitude show kino
Пакет: kino
Состояние: не установлен
Версия: 1.3.4-2.1+b1
Приоритет: необязательный
Раздел: video
Сопровождающий: Paul Brossier <piem@debian.org>
Архитектура: amd64
Размер в распакованном виде: 8,472 k
Зависит: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0 (>=
         0.5.3), libavcodec56 (>= 6:11~beta1) | libavcodec-extra-56 (>=
         6:11~beta1), libavformat56 (>= 6:11~beta1), libavutil54 (>=
         6:11~beta1), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libdv4,
         libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>=
         1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglade2-0 (>= 1:2.6.4-2~),
         libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.24.0), 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 (>= 4.9), libswscale3 (>= 6:11~beta1), libx11-6,
         libxext6, libxml2 (>= 2.7.4), libxv1, zlib1g (>= 1:1.1.4)
Рекомендует: ffmpeg, curl
Предлагает: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Конфликтует: kino-dvtitler, kino-timfx, kinoplus
Заменяет: kino-dvtitler, kino-timfx, kinoplus
Предоставляет: kino-dvtitler, kino-timfx, kinoplus
Описание: 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.
Домашняя страница: http://www.kinodv.org/

Метки: field::arts, hardware::camera, implemented-in::c, implemented-in::c++,
      interface::x11, role::program, scope::application, suite::gnome,
      uitoolkit::gtk, use::editing, use::learning, works-with::video,
      x11::application
Поиск вернет название только одного пакета, kino, который удовлетворяет трем критериям.
Точно такие (как использованы были чуть выше) поиски со многими критериями сейчас скорее громоздки, и это объясняет - почему они не используются так часто как могли бы. Поэтому была разработана новая система снабжения пакетов ярлыком (меткой, тэгом), и это дало возможность по новому организовать процесс поиска. Пакеты теперь имеют метки, которые организованы в соответствии с тематической классификацией по всей линии отдельных особенностей, известной как “facet-based classification” (классификация, базирующаяся на гранях чего-то) . В случае, описанном выше kino, метки пакетов показывают что Kino - это Gnome-базирующаяся программа, которая работает с видео-данными и чье главное предназначение - редактирование.
Просмотр этой классификации поможет вам в поисках пакета, который вам нужен; и даже если будет возвращено много (или средне) результатов, остаток поиска всегда можно доделать вручную. Чтобы сделать это, вы можете использовать шаблон поиска ~G в aptitude, но возможно быстрее просто посетить сайт, где управляют метками (тэгами) (их разработчики):
Выполняя выбор по меткам works-with::video и use::editing вы получите небольшое количество пакетов, включая kino и pitivi - видео-редакторы. Эта система классифицикации будет использоваться и в дальнейшем, а управляюшие пакетами будут и дальше последовательно поддерживать эффективный поисковый интерфейс, базирующийся на этом.
Подводя итоги, можно сделать вывод - наилучшее средство для поиска зависит от сложности запроса, смотря что вы желаете найти: