Hvordan bygge og installere den nyeste cURL-versjonen på CentOS og Ubuntu?

Ønsker du å bygge den nyeste cURL fra kilden?

cURL som leveres med operativsystemet er kanskje ikke oppdatert, og hvis du trenger den nyeste versjonen for et bestemt krav, må du bygge fra kilden.

I det siste testet jeg HTTP/3 med cURL med standardversjonen som ble levert på CentOS, men det fungerte ikke. BTW, det er mer du kan gjøre med 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] ~]#

Den siste cURL-versjonen (7.67) støtter imidlertid HTTP/3. Så jeg hadde bare ett alternativ – bygg fra kilden. Dette er bare ett eksempel; du kan ha noen andre krav.

Følgende eksempel er for 7.67 (siste som jeg skriver) på CentOS 8.x og Ubuntu 20.x. Men prosedyren forblir den samme for alle andre versjoner.

Forutsetning

La oss få de nødvendige avhengighetene installert.

  • Oppdater systemet. Selv om dette er valgfritt, foretrekker jeg å gjøre det. Jeg har alltid oppdaterte installerte pakker.
yum update -y
  • Installere de nødvendige pakkene
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Pakk ut den nedlastede gz-filen
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Det ville opprette en ny mappe i den nåværende arbeidskatalogen

  7 beste programvare for kravhåndtering for alle bedriftsstørrelser

Bygger cURL på CentOS/RHEL

Når du har lastet ned og trukket ut den nyeste cURLen, er det på tide å bygge dem.

  • Gå inn i den nyopprettede mappen etter utpakking
cd curl-7.67.0
  • Konfigurer med SSL som nedenfor
./configure --with-ssl
  • Du vil se utgang noe som nedenfor.
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

Det vil ta noen sekunder å fullføre, og når det er gjort; du kan bekrefte versjonen for å sikre at den er installert.

  Hvordan lage en glassflaske Minecraft

Bygger cURL på Ubuntu

Jeg antar at du har lastet ned den nyeste versjonen som forklart i forutsetningsdelen.

  • Gå til mappen der den nedlastede cURL-en er pakket ut
  • Installer avhengighetene
apt-get install -y binutils-common binutils make
  • Hvis du ikke har de ovennevnte avhengighetene (binutils) installert, kan du få følgende feilmelding.
configure: error: ar not found in PATH. Cannot continue without ar.
  • Og det er på tide å bygge nå med kommandoen configure.
./configure --with-ssl
  • Hvis ingen feil fra utførelsen ovenfor, installer til slutt med make-kommandoen.
make 
make install

Det er alt!

Bekreftelse

Bruk –version for å se versjonsdetaljene.

# 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
#

Konklusjon

  Hvordan lære soliditet i 2022 – 11 kurs/ressurser

Du skjønner, det er enkelt når du har trinnene. Jeg håper dette hjelper deg med å installere cURL fra kilden.

Likte du å lese artikkelen? Hva med å dele med verden?