Product SiteDocumentation Site

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

В Debian - большое количество программ и оно неуклонно растёт. И появляется парадокс: в Debian - много различных инструментов (программ) для большинства задач, однако среди несметного числа других пакетов часто бывает очень трудно эти инструменты отыскать. Недостаток подходящих способов поиска инструментов, необходимых пользователям, долгое время было проблемой. К счастью, эта проблема была почти полностью решена.
Самый простой из возможных способов поиска - это поиск точного названия пакета. Если apt show пакет возвращает результат, тогда пакет существует (то есть установлен в вашей системе). К сожалению, для этого нужно знать или точно угадать имя пакета, что не всегда бывает возможно.
Несколько более успешный шаблон поиска - поиск по простому тексту в именах пакетов, но он остаётся очень ограниченным. Обычно результаты можно найти, выполнив поиск по описаниям пакетов: поскольку каждый пакет помимо имени пакета имеет более или менее подробное описание, ещё часто бывает полезен поиск по ключевым словам в этих описаниях. Команды apt-cache и axi-cache - это инструментами выбора для таких разновидностей поиска (см. АЛЬТЕРНАТИВА axi-cache); к примеру, apt-cache search video вернёт список всех пакетов, имя или описание которых содержит ключевое слово “video”.
Для более комплексного поиска нужны более мощные инструменты, такие как aptitude. Программа aptitude позволит вам искать логическим выражением, основанным на метаданных заголовков пакетов. К примеру следующая команда ищет пакеты, имя которого содержит iso, описание которого содержит cd и имя сопровождающего которого содержит joerg:
$ aptitude search iso~dcd~mjoerg
p   genisoimage  - Creates ISO-9660 CD-ROM filesystem images
$ aptitude show evince
Package: genisoimage              
Version: 9:1.1.11-3.4
State: not installed
Priority: optional
Section: otherosfs
Maintainer: Joerg Jaspert <joerg@debian.org>
Architecture: amd64
Uncompressed Size: 1698 k
Depends: libbz2-1.0, libc6 (>= 2.33), libmagic1 (>= 5.12), zlib1g (>= 1:1.1.4)
Suggests: wodim, cdrkit-doc
Conflicts: mkhybrid, mkisofs
Replaces: mkisofs
Provides: mkisofs
Description: Creates ISO-9660 CD-ROM filesystem images
 genisoimage is a pre-mastering program for creating ISO-9660 CD-ROM filesystem
 images, which can then be written to CD or DVD media using the wodim program.
 genisoimage includes support for making bootable "El Torito" CDs, as well as
 CDs with support for the Macintosh HFS filesystem. 
 
 The package also includes extra tools useful for working with ISO images: 
 * mkzftree - create ISO-9660 image with compressed contents 
 * dirsplit - easily separate large directory contents into disks of predefined size 
 * geteltorito - extract an El Torito boot image from a CD image 
   
 Please install cdrkit-doc if you want most of the documentation and README files.
Tags: hardware::storage, hardware::storage:cd, hardware::storage:dvd,
      interface::commandline, role::program, scope::utility, use::storing,
      works-with-format::iso9660, works-with::archive
Поиск вернёт название только одного пакета, genisoimage, который удовлетворяет всем трём критериям.
Даже такие многокритериальные поиски довольно громоздки, что объясняет, почему они не используются так часто, как могли бы. Поэтому была разработана новая система тегов, обеспечивающая новый подход к поиску. Пакетам присваиваются теги, которые обеспечивают тематическую классификацию по нескольким направлениям, известную как «классификация на основе фасетов». В случае с genisoimage выше теги пакета указывают, что это - утилита командной строки, связанная с хранилищем, а точнее с CD- и DVD-дисками, для работы с файловыми системами ISO9660.
Просмотр этой классификации может помочь вам найти пакет, соответствующий известным потребностям; даже если он возвращает (умеренное) количество совпадений, остальную часть поиска можно выполнить вручную. Для этого вы можете использовать шаблон поиска ~G в команде aptitude, но, возможно, проще просто посетить сайт, на котором (разработчики) управляют тегами, или использовать команду debtags:
$ debtags search "works-with::video && use::editing"
Selecting the works-with::video and use::editing tags yields a handful of packages, including the shotcut and pitivi video editors. This system of classification is bound to be used more and more as time goes on, and package managers will gradually provide efficient search interfaces based on it.
Подводя итоги, можно сделать вывод - наилучшее средство для поиска зависит от сложности запроса, смотря что вы желаете найти: