aptitude
позволяет удобно показывать, какие программы в поиске вы уже установили в системе (с помощью grep
):
aptitude search flash | grep ^i
На самом деле, aptitude
поиск гораздо более мощный, чем то, через что вы проходите grep
, так как он поддерживает контекстный поиск:
например, это находит все пакеты с 'flash' в имени пакета, которые установлены:
aptitude search '~iflash'
Эквивалентная «длинная форма» «короткой формы» ~i
:
aptitude search '?installed(flash)'
Обратите внимание, что шаблоны поиска по умолчанию бесплатны. Чтобы привязать их, вам нужно использовать шаблоны привязки ' ^
' (начало строки) и / или ' $
' (конец строки).
Чтобы найти все пакеты, имена которых начинаются с «ttf» или «font»:
aptitude search '(^ttf|^font)'
(Примечание: это обходной путь для ошибки aptitude
, поскольку правильное регулярное выражение '^(ttf|font)'
не работает должным образом - он находит пакеты, имена которых начинаются с 'ttf' или содержат 'font'.)
Другие отличные aptitude
особенности:
Показать все пакеты с «firmware» в их названии, которые также имеют «wireless» в их описании:
aptitude search 'firmware ~dwireless'
или длинная форма:
aptitude search '?and(?name(firmware),?description(wireless))'
(Примечание: в краткой форме аргументы, разделенные пробелом, заключаются в кавычки AND; если они передаются как отдельные аргументы командной строки argv [], они ORed.)
p atmel-firmware - Firmware for Atmel at76c50x wireless networking chips. p firmware-atheros - Binary firmware for Atheros wireless cards ... p libertas-firmware - Firmware for Marvell's libertas wireless chip series p zd1211-firmware - Firmware images for the zd1211rw wireless driver
~U
показывает все пакеты, которые можно обновить с их текущих версий новыми версиями:
# aptitude update ; aptitude versions '~U' Package virtualbox-4.1: i 4.1.18-78361~Debian~squeeze 100 p 4.1.20-80170~Debian~squeeze <NULL> 500
Показать пакеты, которые рекомендуют gcc-multilib
$ aptitude search '~DRecommends:gcc-multilib' i libc6-dev-i386 - Embedded GNU C Library: 32-bit development libraries for AMD64
Объясните, почему может потребоваться установка 'fuse-utils'
$ aptitude why fuse-utils i xorg Depends xterm | x-terminal-emulator pi gnome-terminal Provides x-terminal-emulator pi gnome-terminal Recommends gvfs pi gvfs Depends libgdu0 (>= 2.29.90) pi libgdu0 Depends udisks (< 1.1.0) pi udisks Recommends ntfsprogs pi ntfsprogs Depends fuse-utils (> 2.5.0)
(Этот пример демонстрирует некоторые сумасшествия, возникающие из-за того, что по умолчанию Squeeze (?) Устанавливает все пакеты «Recommended». Установка gnome-терминала заканчивается установкой ntfsprogs и fuse-utils, например, egad! Я думаю, что большинство людей просто хотят перспективу терминала и не встроенная интеграция NTFS, которая является необязательной, если они не указали это.)
Найдите все пакеты, которые предоставляют сервис «mail-transport-agent»:
$ aptitude search '?provides(mail-transport-agent)' p citadel-mta - complete and feature-rich groupware server (mail transport agent) ... p nullmailer - simple relay-only mail transport agent p postfix - High-performance mail transport agent i sendmail-bin - powerful, efficient, and scalable Mail Transport Agent p ssmtp - extremely simple MTA to get mail off the system to a mail hub p xmail - advanced, fast and reliable ESMTP/POP3 mail server
Показать все установленные имена пакетов, которые не являются обязательными или автоматически устанавливаемыми по зависимостям:
$ aptitude search '~i!(~E|~M)' -F '%p'
К сожалению, этот материал плохо документирован и его трудно найти, но вот лучшая ссылка (от сопровождающего aptitude).