Möchten Sie die neueste cURL aus der Quelle erstellen?
cURL, das mit dem Betriebssystem geliefert wird, ist möglicherweise nicht auf dem neuesten Stand, und wenn Sie die neueste Version für eine bestimmte Anforderung benötigen, müssen Sie aus der Quelle erstellen.
Kürzlich habe ich HTTP/3 mit cURL mit der standardmäßig ausgelieferten Version auf CentOS getestet, aber das hat nicht funktioniert. Übrigens, es gibt noch mehr, was Sie mit cURL tun können.
[[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] ~]#
Die neueste cURL-Version (7.67) unterstützt jedoch HTTP/3. Also hatte ich nur eine Option – Build aus der Quelle. Dies ist nur ein Beispiel; Möglicherweise haben Sie andere Anforderungen.
Das folgende Beispiel gilt für 7.67 (zuletzt während ich schreibe) auf CentOS 8.x und Ubuntu 20.x. Das Verfahren bleibt jedoch für jede andere Version gleich.
Inhaltsverzeichnis
Voraussetzung
Lassen Sie uns die erforderlichen Abhängigkeiten installieren.
- Aktualisieren Sie das System. Obwohl dies optional ist, bevorzuge ich dies. Ich habe immer aktuelle installierte Pakete.
yum update -y
- Installieren der erforderlichen Pakete
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
- Extrahieren Sie die heruntergeladene gz-Datei
gunzip -c curl-7.67.0.tar.gz | tar xvf -
Es würde einen neuen Ordner im aktuellen Arbeitsverzeichnis erstellen
Erstellen von cURL auf CentOS/RHEL
Nachdem Sie die neueste cURL heruntergeladen und extrahiert haben, ist es an der Zeit, sie zu erstellen.
- Gehen Sie nach der Extraktion in den neu erstellten Ordner
cd curl-7.67.0
- Konfigurieren Sie mit SSL wie unten
./configure --with-ssl
- Sie werden eine Ausgabe wie unten sehen.
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
Es dauert ein paar Sekunden, bis es fertig ist, und wenn es fertig ist; Sie können die Version überprüfen, um sicherzustellen, dass sie erfolgreich installiert wurde.
Erstellen von cURL auf Ubuntu
Ich gehe davon aus, dass Sie die neueste Version heruntergeladen haben, wie im Abschnitt „Voraussetzungen“ erläutert.
- Wechseln Sie in den Ordner, in dem 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, erhalten Sie möglicherweise die folgende Fehlermeldung.
configure: error: ar not found in PATH. Cannot continue without ar.
- Und jetzt ist es an der Zeit, mit dem Befehl configure zu bauen.
./configure --with-ssl
- Wenn bei der obigen Ausführung kein Fehler auftritt, installieren Sie schließlich mit dem Befehl make.
make make install
Das ist alles!
Überprüfung
Verwenden Sie –version, um die Versionsdetails anzuzeigen.
# 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 #
Fazit
Sie sehen, es ist einfach, wenn Sie die Schritte haben. Ich hoffe, das hilft Ihnen, cURL aus der Quelle zu installieren.
Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?