Hvordan bygger og installeres den seneste cURL-version på CentOS og Ubuntu?

Ønsker du at bygge den seneste cURL fra kilden?

cURL, der leveres med operativsystemet, er muligvis ikke opdateret, og hvis du har brug for den nyeste version til et bestemt krav, skal du bygge fra kilden.

For nylig testede jeg HTTP/3 ved hjælp af cURL med standardversionen afsendt på CentOS, men det virkede ikke. BTW, der er mere du kan gø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 seneste cURL-version (7.67) understøtter dog HTTP/3. Så jeg havde kun én mulighed – byg fra kilden. Dette er blot ét eksempel; du har muligvis nogle andre krav.

Følgende eksempel er til 7.67 (senest som jeg skriver) på CentOS 8.x og Ubuntu 20.x. Men proceduren forbliver den samme for enhver anden version.

Forudsætning

Lad os få de nødvendige afhængigheder installeret.

  • Opdater systemet. Selvom dette er valgfrit, foretrækker jeg at gøre det. Jeg har altid opdaterede installerede pakker.
yum update -y
  • Installation af de nødvendige pakker
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Udpak den downloadede gz-fil
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Det ville oprette en ny mappe i den nuværende arbejdsmappe

  15 fantastiske Mac OS X-terminalkommandoer, som du måske ikke kender

Opbygning af cURL på CentOS/RHEL

Når du har downloadet og udtrukket den seneste cURL, er det tid til at bygge dem.

  • Gå ind i den nyoprettede mappe efter udpakning
cd curl-7.67.0
  • Konfigurer med SSL som nedenfor
./configure --with-ssl
  • Du vil se output noget 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 tage et par sekunder at fuldføre, og når det er gjort; du kan bekræfte versionen for at sikre, at den er installeret korrekt.

  Sådan bruger du Siri til at oprette en note i Evernote

Opbygning af cURL på Ubuntu

Jeg antager, at du har downloadet den seneste version som forklaret i forudsætningsafsnittet.

  • Gå til mappen, hvor den downloadede cURL er udtrukket
  • Installer afhængighederne
apt-get install -y binutils-common binutils make
  • Hvis du ikke har ovenstående afhængigheder (binutils) installeret, kan du få følgende fejl.
configure: error: ar not found in PATH. Cannot continue without ar.
  • Og det er tid til at bygge nu med kommandoen configure.
./configure --with-ssl
  • Hvis ingen fejl fra ovenstående udførelse, så installer endelig med kommandoen make.
make 
make install

Det er alt!

Verifikation

Brug –version for at se versionsdetaljerne.

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

Konklusion

  Sådan slår du rumlig lyd til for AirPods på iPhone eller iPad

Ser du, det er nemt, når du har trinene. Jeg håber, at dette hjælper dig med at installere cURL fra kilden.

Nydt at læse artiklen? Hvad med at dele med verden?