Bind9 共有ライブラリ: libbind と libdns の違いは?

Bind9 共有ライブラリ: libbind と libdns の違いは?

2つのパッケージがありlibbindlibdnsDebianによってパッケージ化されています。どちらも次のように説明されています。

Berkeley Internet Name Domain (BIND) は、インターネット ドメイン ネーム サーバーを実装します。BIND は、インターネットで最も広く使用されているネーム サーバー ソフトウェアであり、Internet Software Consortium (www.isc.org) によってサポートされています。このパッケージは、BIND のデーモンとクライアントによって使用される共有ライブラリ (libbind9 または libdns) を提供します。

はい、ライブラリの名前は変わりますが、それらの違いは何ですか? libbind とは何ですか、libdns とは何ですか? bind9 プロジェクトが異なるライブラリを含む 2 つのパッケージを作成するのはなぜですか? また、それらはどこに文書化されていますか?

  • 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

両方のパッケージの説明は、関連パッケージに使用される一般的な形式に従っています。共通のセクションを共有しています。

Berkeley Internet Name Domain (BIND) は、インターネット ドメイン ネーム サーバーを実装します。BIND は、インターネットで最も広く使用されているネーム サーバー ソフトウェアであり、Internet Software Consortium (www.isc.org) によってサポートされています。

パッケージ固有の段落、

このパッケージは、libdnsBIND のデーモンとクライアントによって使用される共有ライブラリを提供します。

libdns、および

このパッケージは、libbind9BIND のデーモンとクライアントによって使用される共有ライブラリを提供します。

これらは非常に似ており、両者を区別するのに十分な情報を提供しません。しかし、利用者使用方法を決定します。これらは両方とも、BIND のデーモンとクライアントによって使用される共有ライブラリです。

ライブラリを詳しく調べてみると、 はlibdns低レベルの DNS 関連機能を提供するのに対し、 はlibbind9少数の高レベルの名前解決機能を提供します。は、他の多くの BIND ライブラリと同様libbind9に に依存していますlibdns

BIND9 ソースパッケージ7 つのライブラリ パッケージと、関連するエクスポート ライブラリ パッケージおよび udeb を生成します。これは完全にパッケージ管理者次第です。ほとんどのライブラリを個別にパッケージ化するという決定は、ライブラリ パッケージ名がライブラリ soname をエンコードすることになっているという事実と、BIND9 ライブラリ パッケージの分割がそのルールに従っているという事実から少なくとも部分的に来ていると思います。

しかしこれらは、エンドユーザーの大多数にとってはあまり問題ではありません。Debianのライブラリパッケージは、一般的に、それを必要とするパッケージをインストールした際の副作用としてのみインストールされます。これはBIND9にも当てはまります。dnsutilslibbind、、、、およびも使用できるようになりますが、必要な機能はライブラリ パッケージではなく にあります。ライブラリ パッケージ自体を気にする唯一の現実的な理由は、それらを使用してソフトウェアを開発しlibdnsている場合ですが、その場合でも開発パッケージをインストールします。libisclibisccfgliblwresdnsutilslibbind-dev個々のライブラリ パッケージではありません。

関連情報