Общие библиотеки Bind9: libbind против libdns?

Общие библиотеки Bind9: libbind против libdns?

Есть два пакета libbind, libdnsупакованных Debian, они оба описаны как,

Berkeley Internet Name Domain (BIND) реализует сервер доменных имен Интернета. BIND — наиболее широко используемое программное обеспечение сервера имен в Интернете, поддерживаемое Internet Software Consortium, www.isc.org. Этот пакет предоставляет разделяемую библиотеку (libbind9 или libdns), используемую демонами и клиентами BIND.

Да, название библиотеки меняется, но в чем разница между ними? Что такое libbind, что такое libdns? Почему проект bind9 производит два пакета с разными библиотеками и где они документированы?

  • libbind9-161:amd64Общая библиотека, используемая BIND
  • libdns1104:amd64Общая библиотека DNS, используемая BIND

решение1

Как писал Стивен Китт, эти пакеты имеют разные описания:

  • libbind9-161: Этот пакет предоставляет общую библиотеку libbind9, используемую демонами и клиентами BIND.
  • libdns1104: Этот пакет предоставляет общую библиотеку libdns, используемую демонами и клиентами BIND.

Вы всегда можете перепроверить, что находится внутри 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.

и параграф, относящийся к конкретному пакету,

Этот пакет предоставляет 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, а не отдельные пакеты библиотек.

Связанный контент