Ø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.
Innholdsfortegnelse
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
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.
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
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?