Jak zbudować i zainstalować najnowszą wersję cURL na CentOS i Ubuntu?

Udostępnij teraz w social media:

Chcesz zbudować najnowszy cURL ze źródła?

cURL dostarczany z systemem operacyjnym może nie być aktualny, a jeśli potrzebujesz najnowszej wersji dla określonego wymagania, musisz skompilować ze źródła.

Ostatnio testowałem HTTP/3 używając cURL z domyślną wersją dostarczoną na CentOS, ale to nie zadziałało. BTW, z cURL można zrobić więcej.

[[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] ~]#

Jednak najnowsza wersja cURL (7.67) obsługuje HTTP/3. Miałem więc tylko jedną opcję – budować ze źródła. To tylko przykład; możesz mieć inne wymagania.

Poniższy przykład dotyczy 7.67 (najnowszy jak piszę) na CentOS 8.xi Ubuntu 20.x. Ale procedura pozostaje taka sama dla każdej innej wersji.

Warunek wstępny

Zainstalujmy wymagane zależności.

  • Zaktualizuj system. Chociaż jest to opcjonalne, wolę to robić. Zawsze mam zainstalowane aktualne pakiety.
yum update -y
  • Instalowanie wymaganych pakietów
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Rozpakuj pobrany plik gz
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Utworzyłby nowy folder w obecnym katalogu roboczym

  Ukryj / odkryj wyszukiwanie Spotlight z paska menu w systemie OS X

Budowanie cURL na CentOS/RHEL

Po pobraniu i rozpakowaniu najnowszych cURL nadszedł czas, aby je zbudować.

  • Wejdź do nowo utworzonego folderu po ekstrakcji
cd curl-7.67.0
  • Skonfiguruj z SSL jak poniżej
./configure --with-ssl
  • Zobaczysz coś takiego jak poniżej.
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

Ukończenie zajmie kilka sekund, a po zakończeniu; możesz zweryfikować wersję, aby upewnić się, że została pomyślnie zainstalowana.

  Jak chronić i przywracać oleofobową powłokę smartfona

Budowanie cURL na Ubuntu

Zakładam, że pobrałeś najnowszą wersję, jak wyjaśniono w sekcji wymagań wstępnych.

  • Przejdź do folderu, w którym wyodrębniono pobrany cURL
  • Zainstaluj zależności
apt-get install -y binutils-common binutils make
  • Jeśli nie masz zainstalowanych powyższych zależności (binutils), możesz otrzymać następujący błąd.
configure: error: ar not found in PATH. Cannot continue without ar.
  • A teraz nadszedł czas na kompilację za pomocą polecenia configure.
./configure --with-ssl
  • Jeśli nie ma błędu z powyższego wykonania, w końcu zainstaluj za pomocą polecenia make.
make 
make install

To wszystko!

Weryfikacja

Użyj opcji –version, aby zobaczyć szczegóły wersji.

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

Wniosek

  Jak skonfigurować pakiet biznesowy Odoo na Ubuntu Server

Widzisz, to łatwe, gdy masz kroki. Mam nadzieję, że to pomoże ci zainstalować cURL ze źródła.

Podobał Ci się artykuł? Co powiesz na dzielenie się ze światem?

x