正如标题所示,我想获得提供特定虚拟包的所有包的列表。 一个这样做的方法是编写一个shell脚本来parsing所有的输出
apt-cache search -f .*
并输出在提供部分中具有虚拟包的所有包。 这种方法的问题是执行需要很长的时间。 我想应该有一个简单的命令,以有效的方式做到这一点,但我无法find。
如果你已经安装了aptitude,它提供了很多可用于搜索的模式。
特别是对于查找提供给定虚拟包名称的包的情况,可以使用以下命令:
$ aptitude search '?provides(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
是否适合你的需要。