有两个软件包由 Debianlibbind
打包libdns
,它们都被描述为,
伯克利互联网名称域 (BIND) 实现了互联网域名服务器。 BIND 是 Internet 上使用最广泛的名称服务器软件,并得到 Internet 软件联盟 www.isc.org 的支持。该软件包提供了 BIND 守护进程和客户端使用的(libbind9 或 libdns)共享库。
是的,图书馆的名字变了,但是它们之间有什么区别呢?什么是 libbind,什么是 libdns?为什么 bin9 项目会生成两个具有不同库的包以及它们的文档记录在哪里?
libbind9-161:amd64
BIND 使用的共享库libdns1104:amd64
BIND 使用的 DNS 共享库
答案1
正如 Stephen Kitt 所写,这些包有不同的描述:
- libbind9-161:此软件包提供 BIND 守护进程和客户端使用的 libbind9 共享库。
- libdns1104:这个包提供了 BIND 守护进程和客户端使用的 libdns 共享库。
您可以随时重新检查 deb 包中的内容。
libbind9-161软件包附带 libbind9.so.161 共享库,并且libdns1104- libdns-pkcs11.so.1104 和 libdns.so.1104 库。
$ apt-get download libdns1104 libbind9-161
$ dpkg -c libbind9-161_1%3a9.11.5.P4+dfsg-5_amd64.deb
drwxr-xr-x root/root 0 2019-05-03 20:44 ./
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/lib/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/
-rw-r--r-- root/root 71616 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libbind9.so.161.0.0
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/doc/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/doc/libbind9-161/
-rw-r--r-- root/root 26678 2019-05-03 20:44 ./usr/share/doc/libbind9-161/changelog.Debian.gz
-rw-r--r-- root/root 189777 2019-02-05 02:06 ./usr/share/doc/libbind9-161/changelog.gz
-rw-r--r-- root/root 6973 2019-05-03 20:44 ./usr/share/doc/libbind9-161/copyright
lrwxrwxrwx root/root 0 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libbind9.so.161 -> libbind9.so.161.0.0
$ dpkg -c libdns1104_1%3a9.11.5.P4+dfsg-5_amd64.deb
drwxr-xr-x root/root 0 2019-05-03 20:44 ./
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/lib/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/
-rw-r--r-- root/root 2355984 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libdns-pkcs11.so.1104.0.2
-rw-r--r-- root/root 2339312 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libdns.so.1104.0.2
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/doc/
drwxr-xr-x root/root 0 2019-05-03 20:44 ./usr/share/doc/libdns1104/
-rw-r--r-- root/root 26678 2019-05-03 20:44 ./usr/share/doc/libdns1104/changelog.Debian.gz
-rw-r--r-- root/root 189777 2019-02-05 02:06 ./usr/share/doc/libdns1104/changelog.gz
-rw-r--r-- root/root 6973 2019-05-03 20:44 ./usr/share/doc/libdns1104/copyright
lrwxrwxrwx root/root 0 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libdns-pkcs11.so.1104 -> libdns-pkcs11.so.1104.0.2
lrwxrwxrwx root/root 0 2019-05-03 20:44 ./usr/lib/x86_64-linux-gnu/libdns.so.1104 -> libdns.so.1104.0.2
答案2
两个包的描述都遵循相关包的典型格式:它们共享一个公共部分,
伯克利互联网名称域 (BIND) 实现了互联网域名服务器。 BIND 是 Internet 上使用最广泛的名称服务器软件,并得到 Internet 软件联盟 www.isc.org 的支持。
和特定于包的段落,
该包提供了
libdns
BIND 守护进程和客户端使用的共享库。
对于libdns
, 和
该包提供了
libbind9
BIND 守护进程和客户端使用的共享库。
它们非常相似,并且没有提供太多信息来区分两者。然而,他们确实有帮助终端用户确定它们的用途:它们都是 BIND 守护进程和客户端使用的共享库。
更详细地研究这些库,libdns
提供了低级 DNS 相关功能,而libbind9
提供了少量高级名称解析功能。libbind9
取决于libdns
,以及许多其他 BIND 库。
BIND9源码包生成七个库包,以及相关的导出库包和 udeb。这完全取决于包维护者;我想单独打包大多数库的决定至少部分是因为库包名称应该对库 sonames 进行编码,并且 BIND9 库包拆分遵循该规则。
然而对于绝大多数最终用户来说,这些都不重要。 Debian 中的库包通常只是作为安装需要它们的包的副作用而安装的; BIND9 也是如此。如果你安装dnsutils
,您最终会得到libbind
、libdns
、libisc
、libisccfg
、liblwres
等,但是您关心的功能位于 中dnsutils
,而不是库包中。关心库包本身的唯一现实原因是,如果您正在使用它们开发软件,即使这样您也会安装开发包,libbind-dev
,而不是单个库包。