non-free
根据 Debian 团队最近的公告, 我想检查我的服务器上安装了哪些组件的软件包https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split
我简单查看了一下man dpkg
,man 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...
实际上,状态文件中的所有其他字段(即用户定义字段)也可以请求。它们将按原样打印,...片段...