Cum să construiți și să instalați cea mai recentă versiune cURL pe CentOS și Ubuntu?

Doriți să creați cel mai recent cURL din sursă?

Este posibil ca cURL livrat cu sistemul de operare să nu fie actualizat, iar dacă aveți nevoie de cea mai nouă versiune pentru o anumită cerință, atunci trebuie să construiți din sursă.

În ultimul timp, testam HTTP/3 folosind cURL cu versiunea implicită livrată pe CentOS, dar asta nu a funcționat. BTW, sunt mai multe pe care le puteți face cu cURL.

[[email protected] ~]# curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets 
[[email protected] ~]#

Cu toate acestea, cea mai recentă versiune cURL (7.67) acceptă HTTP/3. Deci, am avut o singură opțiune – construirea de la sursă. Acesta este doar un exemplu; este posibil să aveți alte cerințe.

Următorul exemplu este pentru 7.67 (cel mai recent pe care îl scriu) pe CentOS 8.x și Ubuntu 20.x. Dar procedura rămâne aceeași pentru orice altă versiune.

Condiție prealabilă

Să instalăm dependențele necesare.

  • Actualizați sistemul. Deși acest lucru este opțional, prefer să o fac. Am întotdeauna pachete instalate la zi.
yum update -y
  • Instalarea pachetelor necesare
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Extrageți fișierul gz descărcat
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Ar crea un folder nou în directorul de lucru actual

Crearea cURL pe CentOS/RHEL

După ce ați descărcat și extras cel mai recent cURL, este timpul să le construiți.

  • Intră în dosarul nou creat după extragere
cd curl-7.67.0
  • Configurați cu SSL ca mai jos
./configure --with-ssl
  • Veți vedea rezultate ca mai jos.
configure: Configured to build curl/libcurl:

  Host setup:       x86_64-pc-linux-gnu
  Install prefix:   /usr/local
  Compiler:         gcc
   CFLAGS:          -Werror-implicit-function-declaration -O2 -Wno-system-headers -pthread
   CPPFLAGS:        
   LDFLAGS:         
   LIBS:            -lssl -lcrypto -lssl -lcrypto -lz

  curl version:     7.67.0
  SSL:              enabled (OpenSSL)
  SSH:              no      (--with-libssh2)
  zlib:             enabled
  brotli:           no      (--with-brotli)
  GSS-API:          no      (--with-gssapi)
  TLS-SRP:          no      (--enable-tls-srp)
  resolver:         POSIX threaded
  IPv6:             enabled
  Unix sockets:     enabled
  IDN:              no      (--with-{libidn2,winidn})
  Build libcurl:    Shared=yes, Static=yes
  Built-in manual:  enabled
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  Code coverage:    disabled
  SSPI:             no      (--enable-sspi)
  ca cert bundle:   /etc/pki/tls/certs/ca-bundle.crt
  ca cert path:     no
  ca fallback:      no
  LDAP:             no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS:            no      (--enable-ldaps)
  RTSP:             enabled
  RTMP:             no      (--with-librtmp)
  Metalink:         no      (--with-libmetalink)
  PSL:              no      (libpsl not found)
  Alt-svc:          no      (--enable-alt-svc)
  HTTP2:            disabled (--with-nghttp2)
  HTTP3:            disabled (--with-ngtcp2, --with-quiche)
  ESNI:             no      (--enable-esni)
  Protocols:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
  Features:         SSL IPv6 UnixSockets libz AsynchDNS NTLM NTLM_WB HTTPS-proxy
make
make install

Va dura câteva secunde pentru a finaliza, iar odată terminat; puteți verifica versiunea pentru a vă asigura că s-a instalat cu succes.

  Cum să vă deconectați de la Roblox pe toate dispozitivele

Construirea cURL pe Ubuntu

Presupun că ați descărcat cea mai recentă versiune, așa cum este explicat în secțiunea de cerințe preliminare.

  • Accesați folderul de unde este extras cURL-ul descărcat
  • Instalați dependențele
apt-get install -y binutils-common binutils make
  • Dacă nu aveți instalate dependențele de mai sus (binutils), este posibil să primiți următoarea eroare.
configure: error: ar not found in PATH. Cannot continue without ar.
  • Și, este timpul să construiți acum cu comanda configure.
./configure --with-ssl
  • Dacă nu există nicio eroare de la execuția de mai sus, atunci instalați în sfârșit cu comanda make.
make 
make install

Asta e tot!

Verificare

Utilizați –version pentru a vedea detaliile versiunii.

# curl --version
curl 7.67.0 (x86_64-pc-linux-gnu) libcurl/7.67.0 OpenSSL/1.0.2k-fips zlib/1.2.7
Release-Date: 2019-11-06
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
#

Concluzie

Vedeți, este ușor când aveți pașii. Sper că acest lucru vă ajută să instalați cURL din sursă.

Ți-a plăcut să citești articolul? Ce zici de împărtășirea cu lumea?