如何找到优先级为“必需”的包列表?

如何找到优先级为“必需”的包列表?

我想查找优先级:字段设置为必需的所有软件包的列表。这些软件包通常安装在每个系统上,但是我最近发现,在使用多架构的外国架构中,它们不一定安装。找到这些软件包的最佳方法是什么?

答案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 的包。

相关内容