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!