В 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
:
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.
Подводя итоги, можно сделать вывод - наилучшее средство для поиска зависит от сложности запроса, смотря что вы желаете найти:
apt-cache
позволяет делать поиск только в имени пакета и описаниях, и этот вариант очень подходит для случаев просмотра особенного (специфичного) пакета с подбором по нескольким целевым словам;
когда поиск критерия касается также отношений между пакетами или других метаданных (описания внутри меток пакета), такие как имя сопровождающего, synaptic
будет в данном случае более полезен;
когда нужен поиск по тегам, хорошим инструментом будет выбор packagesearch
, графический интерфейс предназначен для поиска доступных пакетов по нескольким критериям (включая имена файлов, которые содержатся в пакете). Для использования в командной строке подойдёт программа axi-cache
.
наконец, когда поиск включает в себя сложные выражения с логическими операциями, предпочтительным инструментом будет синтаксис шаблона поиска aptitude
, довольно мощный, несмотря на то, что он несколько неясен; он работает как в командной строке, так и в интерактивном режиме.