apt:如何使用包标签进行搜索?

14 debian dpkg deb apt

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
Run Code Online (Sandbox Code Playgroud)

但是,我找不到列出所有带有给定标签的包的方法。是否可以?

gav*_*koa 13

我想知道为什么人们还没有回答:

aptitude search '?tag(protocol::dns)'
Run Code Online (Sandbox Code Playgroud)

aptitude search 允许在不同的包描述字段和逻辑运算符上使用探针进行复杂的搜索查询:

aptitude search '?tag(game::strategy) ?installed'
aptitude search '?tag(protocol::dns) !?installed'
Run Code Online (Sandbox Code Playgroud)

请参阅检索词引用性向用户手册aptitude-doc-en包(/usr/share/doc/aptitude/html/en/index.html)。


wom*_*ble 6

您可能想查看有关 Debtags 的所有文档。这……并不像你想象的那么简单。不,我也不知道为什么。

  • 只是一句话评论 - 我选择了这个答案,因为`debtags`似乎可以满足我的需求(`debtags search "mail::user-agent && interface::web"`)而 axi-cache 在搜索时似乎有问题一次用于多个标签。 (2认同)

ste*_*tew 6

axi-cacheapt-xapian-index包装中使用。例如,您可以执行axi-cache search --all protocol::smtp. 的制表符补axi-cache全非常先进,所以经常点击制表符。例如,axi-cache search --all protocol::smtp <tab><tab>将根据您已经指定第一个标签的事实向您显示您可能需要的其他标签。


小智 5

如果您安装了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
Run Code Online (Sandbox Code Playgroud)

debtags还带有一个很好的 bash 选项卡补全功能。