Khi tôi cố gắng cài đặt libcurl4-dev, nó nói rằng đây là một gói ảo và tôi cần cài đặt libcurl4-gnutls-dev hoặc libcurl4-nss-dev. Sự khác biệt giữa cài đặt cái này hay cái kia là gì?
Cả hai đều cung cấp cùng chức năng, chỉ cần sử dụng các thư viện khác nhau.
Lý lịch:
cURL hỗ trợ sử dụng Bảo mật lớp vận chuyển (TLS, còn gọi là SSL) để truyền dữ liệu. Vì việc triển khai TLS khá khó khăn, cURL ủy thác việc này cho một thư viện bên ngoài. cURL hỗ trợ một số thư viện khác nhau cho mục đích này và bạn cần chọn một thư viện khi xây dựng nó (xem cách cài đặt curl và libcurl , phần "Chọn phụ trợ TLS"). Các tùy chọn phổ biến nhất để sử dụng làm thư viện TLS là:
Cái nào bạn chọn phụ thuộc vào một số yếu tố (cấp phép, hiệu suất, bộ tính năng chính xác, chẳng hạn như thuật toán tiền điện tử được hỗ trợ ...), nhưng tất cả chúng đều cung cấp cùng một chức năng.
Ubuntu muốn cho phép mọi người chọn biến thể nào của cURL mà họ muốn sử dụng, vì vậy họ xây dựng cURL tạo ra các thư viện TLS khác nhau và cung cấp chúng dưới dạng các gói riêng biệt. Kể từ Ubuntu bionic (18.04LTS), các biến thể là:
- libcurl4-gnutls-dev
- libcurl4-nss-dev
- libcurl4-openssl-dev
Vì vậy, hãy cài đặt đúng biến thể cho thư viện TLS bạn muốn sử dụng. Nếu bạn không có ưu tiên cụ thể, hãy cài đặt biến thể mặc định (sử dụng OpenSSL).