Коли я намагаюся встановити libcurl4-dev, він говорить, що це віртуальний пакет, і мені потрібно встановити libcurl4-gnutls-dev або libcurl4-nss-dev. Яка різниця між встановленням того чи іншого?
Обидва забезпечують однаковий функціонал, просто використовуючи різні бібліотеки.
Фон:
cURL підтримує захист транспортного рівня (TLS, він же SSL) для передачі даних. Оскільки реалізація TLS є досить складною, CURL делегує це зовнішній бібліотеці. Для цієї мети cURL підтримує декілька різних бібліотек, і вам потрібно вибрати його під час створення (див. як встановити curl та libcurl , розділ "Вибір резервного файлу TLS"). Найпопулярніші варіанти використання як бібліотеки TLS:
Який із них ви обираєте, залежить від кількох факторів (ліцензування, продуктивність, точний набір функцій, таких як підтримувані крипто алгоритми ...), але всі вони в основному забезпечують однаковий функціонал.
Ubuntu хоче дозволити людям вибирати, який варіант CURL вони хочуть використовувати, тому вони будують cURL againts різні бібліотеки TLS та пропонують їх як окремі пакети. Що стосується Ubuntu bionic (18.04LTS), то такі варіанти:
- libcurl4-gnutls-dev
- libcurl4-nss-dev
- libcurl4-openssl-dev
Отже, встановіть правильний варіант для бібліотеки TLS, яку ви хочете використовувати. Якщо у вас немає особливих уподобань, встановіть варіант за замовчуванням (для якого використовується OpenSSL).