Bind9 共享庫:libbind 與 libdns?

Bind9 共享庫:libbind 與 libdns?

有兩個軟體包由 Debianlibbind打包libdns,它們都被描述為,

伯克利互聯網名稱域 (BIND) 實現了網際網路網域名稱伺服器。 BIND 是 Internet 上使用最廣泛的名稱伺服器軟體,並得到 Internet 軟體聯盟 www.isc.org 的支援。該軟體包提供了 BIND 守護程序和用戶端使用的(libbind9 或 libdns)共享庫。

是的,圖書館的名字改變了,但是它們之間有什麼差別呢?什麼是 libbind,什麼是 libdns?為什麼 bin9 專案會產生兩個具有不同庫的套件以及它們的文檔記錄在哪裡?

  • libbind9-161:amd64BIND 使用的共享庫
  • libdns1104:amd64BIND 使用的 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 的支援。

和特定於包的段落,

該套件提供了libdnsBIND 守護程式和用戶端使用的共用程式庫。

對於libdns, 和

該套件提供了libbind9BIND 守護程式和用戶端使用的共用程式庫。

它們非常相似,並且沒有提供太多資訊來區分兩者。然而,他們確實有幫助終端用戶確定它們的用途:它們都是 BIND 守護程式和用戶端使用的共用程式庫。

更詳細地研究這些函式庫,libdns提供了低階 DNS 相關功能,而libbind9提供了少量進階名稱解析功能。libbind9取決於libdns,以及許多其他 BIND 庫。

BIND9源碼包產生七個庫包,以及相關的匯出庫包和 udeb。這完全取決於包維護者;我想單獨打包大多數庫的決定至少部分是因為庫包名稱應該對庫 soname 進行編碼,並且 BIND9 庫包拆分遵循了該規則。

然而對於絕大多數最終用戶來說,這些都不重要。 Debian 中的庫包通常只是作為安裝需要它們的套件的副作用而安裝的; BIND9 也是如此。如果你安裝dnsutils,您最終會得到libbindlibdnslibisclibisccfgliblwres等,但是您關心的功能位於 中dnsutils,而不是庫包中。關心庫包本身的唯一現實原因是,如果您正在使用它們開發軟體,即使這樣您也會安裝開發包,libbind-dev,而不是單一庫包。

相關內容