Debian:“dpkg -l”名称字段有时包含 arch/abi,有时不包含。为什么?

jai*_*met 6 debian dpkg

dpkg -l最近的 Debian bullseye (v11.3) 机器上的(已修剪)输出:

SE  Name              Version             Arch  Description
ii  bind9-host        1:9.16.27-1~deb11u1 amd64 DNS Lookup Utility
ii  bind9-libs:amd64  1:9.16.27-1~deb11u1 amd64 Shared Libraries used by BIND 9
               ^^^^^
Run Code Online (Sandbox Code Playgroud)

问题:为什么bind9-libs包的名称字段显示架构/abi,而bind9-host的名称字段不显示架构/abi?

前言:

$ dpkg --print-architecture
amd64


$ grep -A6 "Package: bind9-host" /var/lib/dpkg/status
Package: bind9-host
Status: install ok installed
Priority: standard
Section: net
Installed-Size: 376
Maintainer: Debian DNS Team <team+dns@tracker.debian.org>
Architecture: amd64


$ grep -A6 "Package: bind9-libs" /var/lib/dpkg/status
Package: bind9-libs
Status: install ok installed
Priority: standard
Section: libs
Installed-Size: 3734
Maintainer: Debian DNS Team <team+dns@tracker.debian.org>
Architecture: amd64
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 9

再添加一行将显示相关字段:

\n
$ grep -A7 "Package: bind9-libs" /var/lib/dpkg/status\nPackage: bind9-libs\nStatus: install ok installed\nPriority: standard\nSection: libs\nInstalled-Size: 3734\nMaintainer: Debian DNS Team <team+dns@tracker.debian.org>\nArchitecture: amd64\nMulti-Arch: same\n
Run Code Online (Sandbox Code Playgroud)\n

bind9-libs标记为 \xe2\x80\x9cMulti-Arch: same\xe2\x80\x9d,这意味着它可以为多个架构共同安装例如 amd64i386)。对于具有此属性的包,dpkg显示体系结构以及包名称。

\n

bind9-hosts没有\xe2\x80\x99t 标记为这样,因此它\xe2\x80\x99t 不可共同安装,并且只能存在于一种体系结构中。

\n