正如标题所示,我想获取提供某个虚拟包的所有包的列表。这样做的一种方法是编写一个解析所有输出的shell脚本
apt-cache search -f .*
并输出在提供部分中具有虚拟包的所有包。这种方法的问题在于它需要非常长的时间来执行。我想应该有一个简单的命令可以有效地执行此操作,但我无法找到。
如果您安装了 aptitude,它会提供许多可用于搜索的模式。
特别是,对于查找提供给定虚拟包名称的包的情况,您可以使用以下命令:
$ aptitude search '?provides(pattern)'
其中 pattern 可以设置为您要查找的虚拟包名称。
例如:
$ aptitude search -F %p '?provides(mail-reader)'
balsa
bsd-mailx
claws-mail
cone
emacs
emacs23
emacs23-lucid
emacs23-nox
evolution
gnus
im
jed
kmail
kmail-mobile
mailutils
mailutils-mh
mew
mew-beta
mew-beta-bin
mew-bin
mutt
nmh
opera
opera-next
seamonkey-mailnews
sylpheed
thunderbird
tkrat
vm
wl
wl-beta
xemacs21-mule
xemacs21-mule-canna-wnn
xemacs21-nomule
xjed
xul-ext-lightning
看看是否dpkg-query
能满足您的需求。