例如,使用此命令:
dpkg-query -W -f '${Package} - ${Source}\n' | grep bind9
我的机器上得到以下输出:
bind9-host - bind9
bind9utils - bind9
dnsutils - bind9
libbind9-90 - bind9
libdns100 - bind9
libisc95 - bind9
libisccc90 - bind9
libisccfg90 - bind9
liblwres90 - bind9
这是否意味着所有这些包都是从单一bind9
源包编译而来的?有人能解释一下这里的更多内部工作原理吗?
答案1
该Source
字段来自debian/control
Debian 软件包档案 ( .deb
) 的文件,它被分配给包含该特定软件包源代码的软件包的名称。此字段的名称实际上取决于开发人员/维护人员,有时是deb
更大源代码的一部分(在您的示例中就是这种情况bind9
),有时会使用不同的名称,有时与deb
软件包名称相同。
从用户的角度来看,你可以使用 (假设您已启用源存储库(deb-src
)):
apt-get source <deb-package-name>
因此您只需插入正确的deb
包名称,apt
就会从中选择正确的源包名称/var/lib/dpkg/status
。