
Para un software que estoy instalando en un servidor Ubuntu, necesita los paquetes curl deb. Cuando intento instalarlo, libcurl4-dev
dice que se trata de un paquete virtual y necesito instalar libcurl4-gnutls-dev
o libcurl4-nss-dev
. ¿Cuál es la diferencia entre instalar uno u otro?
PD: ¿Existe alguna gran diferencia entre instalar libcurl3 o libcurl4?
Respuesta1
Cuando intento instalar libcurl4-dev, dice que se trata de un paquete virtual y que necesito instalar libcurl4-gnutls-dev o libcurl4-nss-dev. ¿Cuál es la diferencia entre instalar uno u otro?
Ambos proporcionan la misma funcionalidad, solo que utilizan bibliotecas diferentes.
Fondo:
rizoapoya el uso deTransport Layer Security(TLS, también conocido como SSL) para transferencias de datos. Dado que implementar TLS es bastante complicado, cURL lo delega en una biblioteca externa. cURL admite varias bibliotecas diferentes para este propósito y debe seleccionar una al crearla (consultecómo instalar curl y libcurl, sección "Seleccionar backend TLS"). Las opciones más populares para usar como biblioteca TLS son:
- AbiertoSSL(el valor predeterminado para cURL)
- Servicios de seguridad de red(NSS)
- GnuTLS
Cuál elija depende de varios factores (licencia, rendimiento, conjunto exacto de características, como algoritmos criptográficos admitidos...), pero todos brindan en su mayoría la misma funcionalidad.
Ubuntu quiere permitir que las personas elijan qué variante de cURL quieren usar, por lo que construyen cURL contra diferentes bibliotecas TLS y las ofrecen como paquetes separados. A partir de Ubuntu bionic (18.04LTS), las variantes son:
- libcurl4-gnutls-dev
- libcurl4-nss-dev
- libcurl4-openssl-dev
Por lo tanto, instale la variante correcta para la biblioteca TLS que desea utilizar. Si no tiene ninguna preferencia particular, instale la variante predeterminada (que usa OpenSSL).