有兩個軟體包由 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。這完全取決於包維護者;我想單獨打包大多數庫的決定至少部分是因為庫包名稱應該對庫 soname 進行編碼,並且 BIND9 庫包拆分遵循了該規則。
然而對於絕大多數最終用戶來說,這些都不重要。 Debian 中的庫包通常只是作為安裝需要它們的套件的副作用而安裝的; BIND9 也是如此。如果你安裝dnsutils
,您最終會得到libbind
、libdns
、libisc
、libisccfg
、liblwres
等,但是您關心的功能位於 中dnsutils
,而不是庫包中。關心庫包本身的唯一現實原因是,如果您正在使用它們開發軟體,即使這樣您也會安裝開發包,libbind-dev
,而不是單一庫包。