$ filter_sections web | head
Package: apache2 Section: web
Package: awstats Section: web
Package: curl Section: web
Package: heat-api Section: web
Package: heat-api-cfn Section: web
Package: heat-api-cloudwatch Section: web
Package: heat-common Section: web
Package: heat-engine Section: web
Package: javascript-common Section: web
Package: libapache2-mod-apparmor Section: web
已经存在命令
apt-cache dumpavail
,它将列出所有启用的存储库中的所有可用包。在幕后它实际上是从存储在/var/lib/apt/lists/
目录中的文件中读取的(我已经完成strace
了命令,这就是输出显示的内容)。我的猜测是 Gnome Software 会解析这些相同的文件并将它们组织成类别。问题是实际数据的行
Package:
以包名称开头并且Section:
它们所属的行,但Section:
行的组织方式与 Gnome 软件中的不完全相同。然而,通过一点命令行魔法,我们可以接近这样的东西。我建议的是一个功能使用该功能,我们可以按部分列出所有包,例如:
代码本身相当简单:我们将每个包名存储到 varialbe 中的输出传递给 which,如果该
apt-cache dumpavail
行还包含我们匹配的字符串,我们将打印包名和部分。awk
Section:
至于列出这些部分本身,这也相当容易
这种方法的另一个好处是一些
Sections
提及包属于哪个存储库,例如universe/python
或multiverse/web
. 但是,该功能将搜索所有这些,但如果需要,我们总是可以过滤awk
更多您可能正在寻找
aptitude
. 如果您的系统中没有安装它,请继续打开终端并键入sudo apt-get install aptitude
thensudo aptitude
以启动它。如果要使用 搜索和过滤结果
grep
,可以使用sudo apt-cache search
或sudo aptitude search