Möchten Sie die neueste cURL aus der Quelle erstellen?
Die mit dem Betriebssystem gelieferte cURL ist möglicherweise nicht auf dem neuesten Stand. Wenn Sie die neueste Version für eine bestimmte Anforderung benötigen, müssen Sie aus der Quelle erstellen.
In letzter Zeit habe ich getestet HTTP / 3 Verwenden von cURL mit der Standardversion unter CentOS, aber das hat nicht funktioniert. Übrigens können Sie noch mehr tun cURL.
[root@lab ~]# 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 <a href="https://geekflare.com/tftp-servers-for-windows/">tftp</a>
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
[root@lab ~]#
Die neueste cURL-Version (7.67) unterstützt jedoch HTTP / 3. Ich hatte also nur eine Option - aus der Quelle erstellen. Dies ist nur ein Beispiel; Möglicherweise haben Sie andere Anforderungen.
Das folgende Beispiel ist für 7.67 (spätestens während ich schreibe) unter CentOS 8.x und Ubuntu 20.x. Das Verfahren bleibt jedoch für jede andere Version gleich.
Prerequisite
Lassen Sie uns die erforderlichen Abhängigkeiten installieren.
- Aktualisieren Sie das System. Obwohl dies optional ist, bevorzuge ich dies. Ich habe immer aktuelle Pakete installiert.
yum update -y
- Installieren der erforderlichen Pakete
yum install wget gcc openssl-devel -y
- Laden Sie die neueste cURL-Quelle herunter - Sie können sich auf deren beziehen offizielle Download-Seite um die neueste Version zu kennen.
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
- Extrahieren Sie die heruntergeladenen
gz
Datei
gunzip -c curl-7.67.0.tar.gz | tar xvf -
Es würde einen neuen Ordner im aktuellen Arbeitsverzeichnis erstellen
Building cURL on CentOS/RHEL
Sobald Sie die neueste cURL heruntergeladen und extrahiert haben, ist es Zeit, sie zu erstellen.
- Gehen Sie nach dem Extrahieren in den neu erstellten Ordner
cd curl-7.67.0
- Konfigurieren Sie mit SSL wie folgt
./configure --with-ssl
- Sie sehen eine Ausgabe wie unten.
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
- Lassen Sie uns sie installieren
make
make install
Es dauert einige Sekunden, bis der Vorgang abgeschlossen ist. Sie können die Version überprüfen, um sicherzustellen, dass sie erfolgreich installiert wurde.
Building cURL on Ubuntu
Ich gehe davon aus, dass Sie die neueste Version heruntergeladen haben, wie im Abschnitt "Voraussetzungen" erläutert.
- Wechseln Sie in den Ordner, in den die heruntergeladene cURL extrahiert wird
- Installieren Sie die Abhängigkeiten
apt-get install -y binutils-common binutils make
- Wenn Sie die oben genannten Abhängigkeiten (binutils) nicht installiert haben, wird möglicherweise der folgende Fehler angezeigt.
configure: error: ar not found in PATH. Cannot continue without ar.
- Und es ist Zeit, jetzt mit dem zu bauen
configure
Befehl.
./configure --with-ssl
- Wenn bei der obigen Ausführung kein Fehler aufgetreten ist, installieren Sie ihn schließlich mit dem Befehl make.
make
make install
Das ist alles!
Verification
Nutzen Sie den --version
um die Versionsdetails zu sehen.
# 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
#
Conclusion
Sie sehen, es ist einfach, wenn Sie die Schritte haben. Ich hoffe, dies hilft Ihnen bei der Installation von cURL von der Quelle.