Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Linux Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Vous souhaitez compiler la dernière version de cURL à partir des sources ?

cURL livré avec le système d'exploitation peut ne pas être à jour, et si vous avez besoin de la dernière version pour un besoin particulier, alors vous devez compiler à partir des sources.

Dernièrement, j'ai testé HTTP/3 en utilisant cURL avec la version livrée par défaut sur CentOS, mais cela n'a pas fonctionné. BTW, il y a d'autres choses que vous pouvez faire avec 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
Protocoles : dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp scp sftp smtp smtps telnet <a href="https://geekflare.com/fr/tftp-servers-for-windows/">tftp</a> 
Caractéristiques : AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
[root@lab ~]#

Cependant, la dernière version de cURL (7.67) supporte HTTP/3. Je n'avais donc qu'une seule option : construire à partir des sources. Ce n'est qu'un exemple ; vous pouvez avoir d'autres exigences.

L'exemple suivant concerne la version 7.67 (la plus récente au moment où j'écris) sur CentOS 8.x et Ubuntu 20.x. Mais la procédure reste la même pour toute autre version.

Prérequis

Installez les dépendances nécessaires.

  • Mettez à jour le système. Bien que cela soit facultatif, je préfère le faire. J'ai toujours des paquets installés à jour.
yum update -y
  • Installation des paquets requis
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Extrayez le fichier gz téléchargé
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Cela créera un nouveau dossier dans le répertoire de travail actuel

Construire cURL sur CentOS/RHEL

Une fois que vous avez téléchargé et extrait les dernières versions de cURL, il est temps de les compiler.

  • Allez dans le dossier nouvellement créé après l'extraction
cd curl-7.67.0
  • Configurez SSL comme suit
./configure --with-ssl
  • Vous obtiendrez un résultat semblable à celui ci-dessous.
configure : Configuré pour construire curl/libcurl :

 Configuration de l'hôte : x86_64-pc-linux-gnu
 Préfixe d'installation :   /usr/local
 Compilateur : 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 : activé (OpenSSL)
 SSH : non (--with-libssh2)
 zlib : activé
 brotli : non (--with-brotli)
 GSS-API : non (--with-gssapi)
 TLS-SRP : non (--enable-tls-srp)
 resolver :         POSIX threaded
 IPv6 : activé
 Unix sockets : activé
 IDN : non (--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 : activé
 RTMP : no (--with-librtmp)
 Metalink :         non (--with-libmetalink)
 PSL : non (libpsl introuvable)
 Alt-svc : non (--enable-alt-svc)
 HTTP2 : désactivé (--with-nghttp2)
 HTTP3 : désactivé (--with-ngtcp2, --with-quiche)
 ESNI : non (--enable-esni)
 Protocoles :        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
 Caractéristiques :         SSL IPv6 UnixSockets libz AsynchDNS NTLM NTLM_WB HTTPS-proxy
  • Installons-les
make
make install

L'installation prendra quelques secondes, et une fois terminée, vous pouvez vérifier la version pour vous assurer qu'elle a été installée avec succès.

Construire cURL sur Ubuntu

Je suppose que vous avez téléchargé la dernière version comme expliqué dans la section des prérequis.

  • Allez dans le dossier où le cURL téléchargé est extrait
  • Installez les dépendances
apt-get install -y binutils-common binutils make
  • Si les dépendances ci-dessus (binutils) ne sont pas installées, vous risquez d'obtenir l'erreur suivante.
configure : error : ar not found in PATH. Impossible de continuer sans ar.
  • Il est temps de construire maintenant avec la commande configure.
./configure --with-ssl
  • S'il n'y a pas d'erreur lors de l'exécution ci-dessus, installez finalement avec la commande make.
make 
make install

C'est tout !

Vérification

Utilisez --version pour voir les détails de la 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
Protocoles : dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Caractéristiques : AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
#

Conclusion

Vous voyez, c'est facile quand vous avez la marche à suivre. J'espère que cela vous aidera à installer cURL à partir des sources.

  • Chandan Kumar
    Auteur
    Chandan Kumar est le fondateur de Geekflare. Il a aidé des millions de personnes à exceller dans le domaine numérique. Passionné de technologie, il s'est donné pour mission d'explorer le monde et d'amplifier la croissance des professionnels et des entreprises.
Merci à nos sponsors
D'autres bonnes lectures sur Linux
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus