Vill du bygga den senaste cURL från källan?
cURL som levereras med operativsystemet kanske inte är uppdaterad, och om du behöver den senaste versionen för ett visst krav måste du bygga från källan.
På sistone testade jag HTTP/3 med cURL med standardversionen på CentOS, men det fungerade inte. BTW, det finns mer du kan göra 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 senaste cURL-versionen (7.67) stöder dock HTTP/3. Så jag hade bara ett alternativ – bygga från källan. Detta är bara ett exempel; du kanske har några andra krav.
Följande exempel är för 7.67 (senast som jag skriver) på CentOS 8.x och Ubuntu 20.x. Men proceduren förblir densamma för alla andra versioner.
Innehållsförteckning
Nödvändig förutsättning
Låt oss installera de nödvändiga beroenden.
- Uppdatera systemet. Även om detta är valfritt, föredrar jag att göra det. Jag har alltid uppdaterade installerade paket.
yum update -y
- Installera de nödvändiga paketen
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
- Extrahera den nedladdade gz-filen
gunzip -c curl-7.67.0.tar.gz | tar xvf -
Det skulle skapa en ny mapp i den nuvarande arbetskatalogen
Bygger cURL på CentOS/RHEL
När du har laddat ner och extraherat den senaste cURL är det dags att bygga dem.
- Gå in i den nyskapade mappen efter extrahering
cd curl-7.67.0
- Konfigurera med SSL enligt nedan
./configure --with-ssl
- Du kommer att se utdata något liknande 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
make make install
Det tar några sekunder att slutföra, och när det är klart; du kan verifiera versionen för att säkerställa att den har installerats framgångsrikt.
Bygger cURL på Ubuntu
Jag antar att du har laddat ner den senaste versionen enligt beskrivningen i förutsättningsavsnittet.
- Gå till mappen där den nedladdade cURL är extraherad
- Installera beroenden
apt-get install -y binutils-common binutils make
- Om du inte har ovanstående beroenden (binutils) installerade kan du få följande fel.
configure: error: ar not found in PATH. Cannot continue without ar.
- Och det är dags att bygga nu med kommandot configure.
./configure --with-ssl
- Om inget fel från exekveringen ovan, installera slutligen med kommandot make.
make make install
Det är allt!
Verifiering
Använd –version för att se versionsdetaljerna.
# 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
Du förstår, det är lätt när du har stegen. Jag hoppas att detta hjälper dig att installera cURL från källan.
Gillade du att läsa artikeln? Vad sägs om att dela med världen?