Hur man bygger och installerar senaste cURL-versionen på CentOS och Ubuntu?

By rik

Hur man bygger den senaste cURL från källkoden

Behöver du den allra senaste versionen av cURL? Det kan hända att den cURL som medföljer ditt operativsystem inte är den senaste. För att dra nytta av de senaste funktionerna och fixarna, kan du behöva bygga cURL direkt från källkoden.

Jag stötte nyligen på ett problem när jag ville testa HTTP/3 med den standardinstallerade versionen av cURL på CentOS. Den stödde inte det. Men, den senaste cURL versionen har stöd för HTTP/3 och fler funktioner. Detta är bara ett exempel på varför du kan behöva bygga cURL från källan. Det kan finnas andra specifika krav.

I följande guide kommer jag att visa hur man bygger cURL 7.67 (den senaste versionen vid tidpunkten för detta skrivande) på både CentOS 8.x och Ubuntu 20.x. Stegen är dock liknande för andra versioner och distributioner.

Förberedelser

Innan vi börjar, låt oss se till att vi har alla nödvändiga verktyg och bibliotek installerade:

  • Uppdatera systemet: Det är alltid en god idé att börja med en systemuppdatering. Detta säkerställer att du har de senaste paketversionerna installerade.
yum update -y
  • Installera nödvändiga paket: Vi behöver några verktyg för att kunna bygga cURL.
yum install wget gcc openssl-devel -y
  • Ladda ner cURL källkod: Ladda ner den senaste källkoden från cURL:s officiella webbplats.
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Packa upp arkivet: Packa upp den nedladdade filen.
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Detta skapar en ny mapp med cURL-källkoden i din aktuella katalog.

Bygga cURL på CentOS/RHEL

Nu när vi har källkoden, är det dags att bygga cURL:

  • Navigera till cURL-katalogen: Gå in i den nyskapade mappen.
cd curl-7.67.0
  • Konfigurera bygget: Konfigurera med SSL-stöd.
./configure --with-ssl
  • Du kommer att se en utdata som liknar den nedan.
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
  
  • Kompilera och installera: Bygg och installera cURL.
make
make install

Detta kan ta några sekunder att slutföra. När det är klart, kan du verifiera installationen.

Bygga cURL på Ubuntu

Om du använder Ubuntu, följ dessa steg:

  • Navigera till cURL-katalogen: Gå till mappen där källkoden är uppackad.
  • Installera beroenden: Installera de nödvändiga verktygen.
apt-get install -y binutils-common binutils make
  • Om du saknar ovanstående beroenden (binutils) installerade, kan du stöta på följande fel:
configure: error: ar not found in PATH. Cannot continue without ar.
  • Konfigurera bygget: Konfigurera med SSL-stöd.
./configure --with-ssl
  • Kompilera och installera: Bygg och installera cURL.
make
make install

Det var allt! Du har nu byggt cURL från källkoden på Ubuntu.

Verifiering

För att bekräfta att cURL är korrekt installerat, använd följande kommando:

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

Slutsats

Som du ser är det inte så svårt att bygga cURL från källkoden när du vet stegen. Jag hoppas att den här guiden har hjälpt dig att installera den senaste versionen av cURL!

Tyckte du om artikeln? Dela den gärna med andra!