Есть два пакета libbind
, libdns
упакованных Debian, они оба описаны как,
Berkeley Internet Name Domain (BIND) реализует сервер доменных имен Интернета. BIND — наиболее широко используемое программное обеспечение сервера имен в Интернете, поддерживаемое Internet Software Consortium, www.isc.org. Этот пакет предоставляет разделяемую библиотеку (libbind9 или libdns), используемую демонами и клиентами BIND.
Да, название библиотеки меняется, но в чем разница между ними? Что такое libbind, что такое libdns? Почему проект bind9 производит два пакета с разными библиотеками и где они документированы?
libbind9-161:amd64
Общая библиотека, используемая BINDlibdns1104: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
, а не отдельные пакеты библиотек.