(trimmed) dpkg -l
output on a recent debian bullseye (v11.3) machine:
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
^^^^^
Question: why does the name field for the bind9-libs package show the architecture/abi whereas the name field for the bind9-host does not show the architecture/abi?
FWIW:
$ 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
dpkg -s bind9-libs
would be less error-prone for getting that inormation. Or, if you insist on manually parsing/var/lib/dpkg/status
, then something likeawk '/Package: bind9-libs/, /^$/ { print }' /var/lib/dpkg/status
would show correct number of lines, instead of arbirary (and wrong)grep -A6
.