我想查找优先级:字段设置为必需的所有软件包的列表。这些软件包通常安装在每个系统上,但是我最近发现,在使用多架构的外国架构中,它们不一定安装。找到这些软件包的最佳方法是什么?
答案1
利用 aptitude 您可以进行此类搜索。
aptitude search '?priority(required)'
请注意,在较新的 Ubuntu 版本中,aptitude 不再默认安装,并且其手册页不完整;您可以在此找到完整的文档/usr/share/doc/aptitude/README
答案2
(免责声明:此答案使用低级系统工具来解决所请求的问题,而不是 aptitude。但由于 aptitude 依赖于 dpkg 服务,因此它可能仍然有用。)
您可以结合dpkg-query
使用grep
:
dpkg-query -W --showformat='${Package}\t${Priority}\n' | grep "required$"
dpkg-query
当没有指定包名称时,列出所有包。- 或
-W
(--show
)允许使用指定的输出格式列出包。 - 输出格式由语法提供
--showformat='formatstring'
。字符串由以下部分组成:${Package}
显示包名称。\t
显示制表符作为字段分隔符。${Priority}
显示包裹优先级。\n
在每行末尾显示换行符。
由于没有的示例输出grep
如下所示:
klibc-utils required
kmod required
krb5-locales standard
lame optional
landscape-client-ui-install optional
language-pack-en optional
该grep
命令仅显示末尾包含“required”单词的行,即优先级为:required 的包。