Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Linux Zuletzt aktualisiert: September 23, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Möchten Sie die neueste cURL-Version aus dem Quellcode erstellen?

das mit dem Betriebssystem ausgelieferte cURL ist möglicherweise nicht auf dem neuesten Stand, und wenn Sie die neueste Version für eine bestimmte Anforderung benötigen, müssen Sie sie aus dem Quellcode erstellen.

Kürzlich habe ich HTTP/3 mit cURL in der standardmäßig ausgelieferten Version unter CentOS getestet, aber das hat nicht funktioniert. Übrigens gibt es noch mehr, was Sie mit cURL machen können.

[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
Protokolle: 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> 
Merkmale: 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 Möglichkeit – aus dem Quellcode bauen. Dies ist nur ein Beispiel; vielleicht haben Sie andere Anforderungen.

Das folgende Beispiel gilt für 7.67 (die neueste Version, die ich gerade schreibe) auf CentOS 8.x und Ubuntu 20.x. Die Vorgehensweise bleibt jedoch für jede andere Version gleich.

Voraussetzung

Lassen Sie uns die erforderlichen Abhängigkeiten installieren.

  • Aktualisieren Sie das System. Obwohl dies optional ist, ziehe ich es vor, dies zu tun. Ich habe immer aktuelle Pakete installiert.
yum update -y
  • Installieren Sie die erforderlichen Pakete
yum install wget gcc openssl-devel -y
  • Laden Sie den neuesten cURL-Quellcode herunter – Sie können die offizielle Download-Seite besuchen, um die neueste Version zu erfahren.
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Entpacken Sie die heruntergeladene gz-Datei
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Es wird ein neuer Ordner im aktuellen Arbeitsverzeichnis erstellt

CURL auf CentOS/RHEL erstellen

Nachdem Sie das neueste cURL heruntergeladen und extrahiert haben, ist es an der Zeit, es zu bauen.

  • Gehen Sie nach dem Entpacken in den neu erstellten Ordner
cd curl-7.67.0
  • Konfigurieren Sie mit SSL wie folgt
./konfigurieren --mit-ssl
  • Sie werden eine Ausgabe wie die folgende sehen.
configure: Konfiguriert, um curl/libcurl zu bauen:

 Host-Setup: x86_64-pc-linux-gnu
 Installationspräfix:   /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: aktiviert (OpenSSL)
 SSH: no (--with-libssh2)
 zlib: aktiviert
 brotli: no (--with-brotli)
 GSS-API: no (--with-gssapi)
 TLS-SRP: no (--enable-tls-srp)
 resolver:         POSIX threaded
 IPv6: aktiviert
 Unix-Sockets: aktiviert
 IDN: nein (--with-{libidn2,winidn})
 Build libcurl: Shared=yes, Static=yes
 Built-in manual:  aktiviert
 --libcurl Option: aktiviert (--disable-libcurl-option)
 Verbose errors: aktiviert (--disable-verbose)
 Code coverage: deaktiviert
 SSPI: nein (--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: aktiviert
 RTMP: no (--with-librtmp)
 Metalink:         nein (--mit-libmetalink)
 PSL: nein (libpsl nicht gefunden)
 Alt-svc: nein (--enable-alt-svc)
 HTTP2: deaktiviert (--with-nghttp2)
 HTTP3: deaktiviert (--with-ngtcp2, --with-quiche)
 ESNI: nein (--enable-esni)
 Protokolle:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
 Funktionen:         SSL IPv6 UnixSockets libz AsynchDNS NTLM NTLM_WB HTTPS-Proxy
  • Installieren wir sie
make
make install

Es dauert ein paar Sekunden, bis der Vorgang abgeschlossen ist. Danach können Sie die Version überprüfen, um sicherzustellen, dass sie erfolgreich installiert wurde.

CURL auf Ubuntu erstellen

Ich gehe davon aus, dass Sie die neueste Version, wie im Abschnitt Voraussetzungen beschrieben, heruntergeladen haben.

  • Gehen Sie in den Ordner, in den das heruntergeladene cURL extrahiert wurde
  • 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: Fehler: ar nicht in PATH gefunden. Kann ohne ar nicht fortfahren.
  • Und jetzt ist es an der Zeit, mit dem Befehl configure zu bauen.
./configure --mit-ssl
  • Wenn bei der obigen Ausführung kein Fehler auftritt, installieren Sie abschließend mit dem make-Befehl.
make 
make install

Das war’s schon!

Überprüfung

Verwenden Sie --version, um die Versionsangaben 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
Protokolle: 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 ganz einfach, wenn Sie die Schritte kennen. Ich hoffe, dies hilft Ihnen bei der Installation von cURL aus dem Quellcode.

  • Chandan Kumar
    Autor
    Chandan Kumar ist der Gründer von Geekflare. Er hat Millionen von Menschen geholfen, sich im digitalen Bereich zu verbessern. Er hat eine Leidenschaft für Technologie und ist auf einer Mission, die Welt zu erforschen und das Wachstum von Fachleuten und Unternehmen zu steigern.
Dank an unsere Sponsoren
Weitere gute Lektüre zu Linux
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder