26 декабря 2008

Aptitude, как искать пакеты

По умолчанию пакетный менеджер aptitudе, используемый с действием search, осуществляет поиск в именах файлов. Каким образом при помощи aptitude искать в описаниях пакетов и о том какие еще варианты поиска возможны пойдет речь в этом посте.

Для расширения возможностей поиска aptitude использует поисковые шаблоны. Общий синтаксис команды для поиска с использованием поисковых шаблонов следующий:
aptitude search шаблончтоищем
где шаблон-поисковый шаблон, чтоищем-ключевое слово, по которому осуществляется поиск. Поисковый шаблон в синтаксисе не обязательный параметр, если он не используется поиск осуществляется в именах пакетов. Поисковый шаблон и ключевое слово пишутся слитно, без пробела. Возможны варианты использования aptitude с поисковым шаблоном без ключевого слова. Ниже приведу описания и примеры шаблонов которые, как мне кажется, наиболее полезны.

Поиск в описаниях пакетов. Для поиска в описаниях пакетов используется шаблон "~d". Например для поиска пакетов в описании которых есть слово browser надо выполнить следующую команду:
aptitude search ~dbrowser
Поиск в именах пакетов. Для поиска в именах пакетов используется шаблон "~n". Поиск в именах пакетов осуществляется по умолчанию, поэтому шаблон "~n" можно использовать в сложных запросах с использованием логических операторов. Чтобы найти пакет, в имени которого есть слово office, выполните:
aptitude search ~noffice
Поиск пакетов с нарушенными зависимостями. Для поиска используется шаблон "~b". Чтобы найти все пакеты с нарушенными зависимостями ключевое слово можно опустить:
aptitude search ~b
Поиск пакетов которые были удалены, но чьи конфигурационные файлы остались в системе. Для поиска используется шаблон "~c". Аналогично ключевое слово можно не использовать.
aptitude search ~c
Поиск установленных пакетов. Для поиска используется шаблон "~i". Поиск установленных пакетов осуществляется по именам пакетов. Если вы хотите найти установленные пакеты по описанию пакетов, например установленные пакеты в описании которых есть слово browser, надо выполнить команду:
aptitude search ~i~dbrowser
Обратите внимание, что шаблоны и ключевое слово пишутся слитно без пробелов. Написание шаблонов с ключевыми словами слитно эквивалентно логическому оператору И (AND).

Поиск устаревших пакетов. Для поиска используется шаблон "~o". Пакеты, которые не доступны в любой версии в любом архиве, интерпретируются как устаревшие или установленные локально (например, пакеты установленные с использованием dpkg) .
aptitude search ~o
Поиск пакетов, которые имеют более новую версию. Для поиска используется шаблон "~U". Этот шаблон можно использовать после обновления списка пакетов, например с помощью aptitude update, чтобы выяснить для каких пакетов, установленных в системе, есть обновления.
aptitude search ~U
Поиск с применением логических операторов И, ИЛИ, НЕ (AND, OR, NOT). Выше уже был привиден пример логического И, для этого поисковые шаблоны с ключевыми словами пишутся слитно. Например надо найти пакет в описании которого есть слово daemon, а имя пакета начинается со слова open:
aptitude search ~ddaemon~n^open
Для использования логического ИЛИ поисковые шаблоны с ключевыми словами необходимо писать через пробел. Например для поиска пакета в описании или в имени пакета которого есть слово editor надо выполнить:
aptitude search ~deditor ~neditor
Для логического НЕ используется символ "!". Например надо найти пакеты начинаючиеся со слова open и не содержащие в имени слова office:
aptitude search ~n^open~n\!office
Обратный слэш перед символом "!" нужен для исключения интерпретации его shell-ом. Полный список поисковых шаблонов и их описание можно посмотреть здесь.

Также можно почитать:

1 коммент.:

prospero 14 мая 2010 г., 3:15  

ок. хорошая статья. то, что надо. спасибо автору!

Отправить комментарий

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх