Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment créer et installer la dernière version de cURL sur CentOS et Ubuntu?

boucle
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Vous cherchez à créer la dernière cURL à partir de la source?

cURL fourni avec le système d'exploitation peut ne pas être à jour, et si vous avez besoin de la version la plus récente pour une exigence particulière, vous devez alors compiler à partir de la source.

Dernièrement, je testais HTTP / 3 en utilisant cURL avec la version livrée par défaut sur CentOS, mais cela n'a pas fonctionné. BTW, vous pouvez faire plus 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
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 ~]#

Cependant, la dernière version de cURL (7.67) prend en charge HTTP / 3. Donc, je n'avais qu'une seule option - construire à partir de la source. Ceci n'est qu'un exemple; vous pouvez avoir d'autres exigences.

L'exemple suivant est pour 7.67 (le plus récent 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.

Prerequisite

Obtenons les dépendances requises installées.

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

Cela créerait un nouveau dossier sur le répertoire de travail actuel

Building cURL on CentOS/RHEL

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

  • Allez dans le dossier nouvellement créé après l'extraction
cd curl-7.67.0
  • Configurez avec SSL comme ci-dessous
./configure --with-ssl
  • Vous verrez une sortie comme ci-dessous.
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
  • Installons-les
make
make install

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

Building cURL on 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ù la cURL téléchargée est extraite
  • Installez les dépendances
apt-get install -y binutils-common binutils make
  • Si vous n'avez pas les dépendances ci-dessus (binutils) installées, vous pouvez obtenir l'erreur suivante.
configure: error: ar not found in PATH. Cannot continue without ar.
  • Et il est temps de construire maintenant avec le configure commander.
./configure --with-ssl
  • Si aucune erreur de l'exécution ci-dessus, installez enfin avec la commande make.
make 
make install

C'est tout!

Verification

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
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

Vous voyez, c'est facile quand vous avez les étapes. J'espère que cela vous aidera à installer cURL à partir de la source.

Merci à nos commanditaires
Plus de bonnes lectures sur Linux
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise 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, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder