Chcete vytvořit nejnovější cURL ze zdroje?
cURL dodávaný s OS nemusí být aktuální, a pokud potřebujete nejnovější verzi pro konkrétní požadavek, musíte sestavit ze zdroje.
V poslední době jsem testoval HTTP/3 pomocí cURL s výchozí dodávanou verzí na CentOS, ale nefungovalo to. BTW, s cURL můžete dělat více.
[[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] ~]#
Nejnovější verze cURL (7.67) však podporuje HTTP/3. Měl jsem tedy jedinou možnost – stavět od zdroje. Toto je jen jeden příklad; můžete mít nějaké další požadavky.
Následující příklad je pro 7.67 (nejnovější, jak píšu) na CentOS 8.xa Ubuntu 20.x. Ale postup zůstává stejný pro jakoukoli jinou verzi.
Table of Contents
Předpoklad
Pojďme si nainstalovat požadované závislosti.
- Aktualizujte systém. I když je to volitelné, preferuji to. Vždy mám nainstalované aktuální balíčky.
yum update -y
- Instalace požadovaných balíčků
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
- Rozbalte stažený soubor gz
gunzip -c curl-7.67.0.tar.gz | tar xvf -
Vytvoří novou složku v aktuálním pracovním adresáři
Vytváření cURL na CentOS/RHEL
Jakmile si stáhnete a rozbalíte nejnovější cURL, je čas je sestavit.
- Po extrakci přejděte do nově vytvořené složky
cd curl-7.67.0
- Nakonfigurujte pomocí SSL, jak je uvedeno níže
./configure --with-ssl
- Uvidíte výstup něco jako níže.
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
Dokončení bude trvat několik sekund a jakmile bude hotovo; můžete ověřit verzi a ujistit se, že byla úspěšně nainstalována.
Vytváření cURL na Ubuntu
Předpokládám, že jste si stáhli nejnovější verzi, jak je vysvětleno v části předpokladů.
- Přejděte do složky, kde je stažené cURL extrahováno
- Nainstalujte závislosti
apt-get install -y binutils-common binutils make
- Pokud nemáte nainstalované výše uvedené závislosti (binutils), může se zobrazit následující chyba.
configure: error: ar not found in PATH. Cannot continue without ar.
- A nyní je čas sestavit pomocí příkazu configure.
./configure --with-ssl
- Pokud ve výše uvedeném provedení nedošlo k chybě, nainstalujte nakonec pomocí příkazu make.
make make install
To je vše!
Ověření
Chcete-li zobrazit podrobnosti o verzi, použijte –version.
# 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 #
Závěr
Vidíte, je to snadné, když máte kroky. Doufám, že vám to pomůže nainstalovat cURL ze zdroje.
Užili jste si čtení článku? Co takhle sdílet se světem?