В чем разница между установкой libcurl4-gnutls-dev или libcurl4-nss-dev в Ubuntu 11.10?
Для программного обеспечения, которое я устанавливаю на сервере Ubuntu, ему нужны пакеты curl deb. Когда я пытаюсь установить libcurl4-dev
он говорит, что это виртуальный пакет, и мне нужно установить libcurl4-gnutls-dev
или же libcurl4-nss-dev
, В чем разница между установкой одного или другого?
PS: Есть ли большая разница между установкой libcurl3 или libcurl4?
1 ответ
Когда я пытаюсь установить libcurl4-dev, он говорит, что это виртуальный пакет, и мне нужно установить libcurl4-gnutls-dev или libcurl4-nss-dev. В чем разница между установкой одного или другого?
Оба предоставляют одинаковую функциональность, просто используя разные библиотеки.
Фон:
cURL поддерживает использование безопасности транспортного уровня (TLS, иначе SSL) для передачи данных. Поскольку реализация TLS довольно сложна, cURL делегирует это внешней библиотеке. Для этой цели cURL поддерживает несколько разных библиотек, и вам нужно выбрать одну из них при сборке (см. как установить curl и libcurl, раздел "Выбор TLS-сервера"). Наиболее популярные варианты использования в качестве библиотеки TLS:
- OpenSSL (по умолчанию для cURL)
- Службы сетевой безопасности (NSS)
- GnuTLS
Какой из них вы выберете, зависит от нескольких факторов (лицензирование, производительность, точный набор функций, таких как поддерживаемые алгоритмы шифрования...), но все они в основном предоставляют одинаковую функциональность.
Ubuntu хочет позволить людям выбирать, какой вариант cURL они хотят использовать, поэтому они создают cURL-копии для разных библиотек TLS и предлагают их в виде отдельных пакетов. Начиная с Ubuntu Bionic (18.04LTS), варианты:
- libcurl4-GnuTLS-DEV
- libcurl4-NSS-DEV
- libcurl4-OpenSSL-DEV
Итак, установите правильный вариант для библиотеки TLS, которую вы хотите использовать. Если у вас нет особых предпочтений, установите вариант по умолчанию (который использует OpenSSL).