apt: как искать, используя теги пакетов?

14

Некоторые (большинство?) Пакеты в Debian имеют теги. Например:

=# apt-cache show squirrelmail | perl -lne 'print if /^Tag:/.../^\S/'
Tag: implemented-in::php, interface::web, mail::imap, mail::smtp,
 mail::user-agent, network::server, protocol::http, protocol::imap,
 protocol::smtp, role::program, scope::application, use::browsing,
 use::editing, use::searching, use::transmission, use::viewing,
 web::TODO, web::application, works-with::mail
Section: web

Но я не могу найти способ, чтобы перечислить все пакеты с данным тегом. Является ли это возможным?


источник

Ответы:

6

Возможно, вы захотите взглянуть на всю документацию, связанную с Debtags . Это ... не так просто, как вы думаете. Нет, я тоже не знаю почему.

ombble
источник
2
Просто слово комментария - я выбрал этот ответ, потому что, debtagsкажется, делает то, что мне нужно ( debtags search "mail::user-agent && interface::web"), в то время как у axi-cache, похоже, возникают проблемы при поиске сразу нескольких тегов.
12

Интересно, почему люди не ответили:

aptitude search '?tag(protocol::dns)'

aptitude search позволяет сложные поисковые запросы с зондами на различных полях описания пакета и логических операторов:

aptitude search '?tag(game::strategy) ?installed'
aptitude search '?tag(protocol::dns) !?installed'

См. Справочник по поисковым терминам в Руководстве пользователя Aptitude из aptitude-doc-enпакета ( /usr/share/doc/aptitude/html/en/index.html).

gavenkoa
источник
это делает это очень хорошо
Оливер Декант
aptitude search '?tag(section::games)' chessкажется, перечисляет все шахматные игры на Ubuntu ... причина, по которой я привел этот пример, заключается в том, что apt-cache showперечисляет раздел пакета Ubuntu. Команда, которую вы только что здесь указали, позволяет искать с использованием этих разделов (я думаю ... (?)) :)
polynomial_donut
5

Используйте axi-cacheиз apt-xapian-indexпакета. Вы можете, например, сделать axi-cache search --all protocol::smtp. Завершение вкладки для axi-cacheчрезвычайно продвинутый, поэтому часто нажимайте вкладку. Например, axi-cache search --all protocol::smtp <tab><tab>покажет вам, какие другие теги вы можете захотеть, основываясь на том факте, что вы уже указали первый.

тушеное мясо
источник
3

Если вы установили debtags, вы можете использовать его для поиска таких тегов:

debtags search made-of::icons
debtags search "made-of::icons && x11::theme"
debtags tagcat               # Shows all tags and their description
debtags tagshow x11::TODO    # Shows a single tag plus description

debtags также поставляется с хорошим завершением вкладки bash.

quazgar
источник