Apt:列出从特定“组件”(main/contrib/non-free)安装的软件包

Apt:列出从特定“组件”(main/contrib/non-free)安装的软件包

non-free根据 Debian 团队最近的公告, 我想检查我的服务器上安装了哪些组件的软件包https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split

我简单查看了一下man dpkgman apt-cache但找不到问题的快速答案。有人可以建议一个命令或一行代码吗?

(我甚至不知道main//contrib字段non-free被称为“组件”:https://wiki.debian.org/SourcesList#Component

答案1

$ dpkg-query --show -f '${Package} ${Version} ${Section}\n' | grep -E ' non-free/\w+$'
amd64-microcode 3.20220411.1 non-free/admin
bluez-firmware 1.2-8 non-free/kernel
firmware-amd-graphics 20221214-3 non-free/kernel
firmware-linux 20221214-3 non-free/metapackages
...snip...

我不确定这是否有任何地方记录,显然该Section字段由“组件”限定,因此通过打印出来${Section}我们可以按组件过滤条目。

https://manpages.debian.org/bullseye/dpkg/dpkg-query.1.en.html#f

此选项用于指定--show将产生的输出格式...snip...

实际上,状态文件中的所有其他字段(即用户定义字段)也可以请求。它们将按原样打印,...片段...

相关内容