Πώς να δημιουργήσετε και να εγκαταστήσετε την τελευταία έκδοση cURL σε CentOS και Ubuntu;

Θέλετε να δημιουργήσετε το πιο πρόσφατο cURL από την πηγή;

Το cURL που αποστέλλεται με το λειτουργικό σύστημα ενδέχεται να μην είναι ενημερωμένο και εάν χρειάζεστε την πιο πρόσφατη έκδοση για μια συγκεκριμένη απαίτηση, τότε θα πρέπει να δημιουργήσετε από την πηγή.

Πρόσφατα, δοκίμαζα το HTTP/3 χρησιμοποιώντας cURL με την προεπιλεγμένη έκδοση που αποστέλλεται στο CentOS, αλλά αυτό δεν λειτούργησε. BTW, υπάρχουν περισσότερα που μπορείτε να κάνετε με το cURL.

[[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] ~]#

Ωστόσο, η τελευταία έκδοση cURL (7.67) υποστηρίζει HTTP/3. Έτσι, είχα μόνο μία επιλογή – δημιουργία από την πηγή. Αυτό είναι μόνο ένα παράδειγμα. μπορεί να έχετε κάποιες άλλες απαιτήσεις.

Το παρακάτω παράδειγμα είναι για το 7.67 (το πιο πρόσφατο όπως γράφω) σε CentOS 8.x και Ubuntu 20.x. Αλλά η διαδικασία παραμένει η ίδια για οποιαδήποτε άλλη έκδοση.

Προαπαιτούμενο

Ας εγκαταστήσουμε τις απαιτούμενες εξαρτήσεις.

  • Ενημερώστε το σύστημα. Αν και αυτό είναι προαιρετικό, προτιμώ να το κάνω. Έχω πάντα ενημερωμένα εγκατεστημένα πακέτα.
yum update -y
  • Εγκατάσταση των απαιτούμενων πακέτων
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • Εξαγάγετε το ληφθέν αρχείο gz
gunzip -c curl-7.67.0.tar.gz | tar xvf -

Θα δημιουργούσε έναν νέο φάκελο στον τρέχοντα κατάλογο εργασίας

  Πώς να συνδέσετε τα AirPods στο iPhone

Δημιουργία cURL στο CentOS/RHEL

Αφού κατεβάσετε και εξαγάγετε το πιο πρόσφατο cURL, ήρθε η ώρα να το δημιουργήσετε.

  • Μεταβείτε στο φάκελο που δημιουργήθηκε πρόσφατα μετά την εξαγωγή
cd curl-7.67.0
  • Ρυθμίστε τις παραμέτρους με SSL όπως παρακάτω
./configure --with-ssl
  • Θα δείτε την έξοδο κάτι σαν παρακάτω.
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

Θα χρειαστούν μερικά δευτερόλεπτα για να ολοκληρωθεί και μόλις ολοκληρωθεί. μπορείτε να επαληθεύσετε την έκδοση για να βεβαιωθείτε ότι έχει εγκατασταθεί με επιτυχία.

  Επιλέξτε ποια εικόνα θα εμφανίζεται όταν κάνετε tweet έναν σύνδεσμο

Δημιουργία cURL στο Ubuntu

Υποθέτω ότι έχετε κατεβάσει την πιο πρόσφατη έκδοση όπως εξηγείται στην ενότητα προαπαιτούμενων.

  • Μεταβείτε στο φάκελο όπου εξάγεται το ληφθέν cURL
  • Εγκαταστήστε τις εξαρτήσεις
apt-get install -y binutils-common binutils make
  • Εάν δεν έχετε εγκαταστήσει τις παραπάνω εξαρτήσεις (binutils), τότε ενδέχεται να εμφανιστεί το ακόλουθο σφάλμα.
configure: error: ar not found in PATH. Cannot continue without ar.
  • Και, ήρθε η ώρα να δημιουργήσετε τώρα με την εντολή configure.
./configure --with-ssl
  • Εάν δεν υπάρχει σφάλμα από την παραπάνω εκτέλεση, τότε τελικά εγκαταστήστε με την εντολή make.
make 
make install

Αυτό είναι όλο!

  Πώς να αντιγράψετε στιγμιότυπα οθόνης Nintendo Switch σε υπολογιστή μέσω USB

Επαλήθευση

Χρησιμοποιήστε το –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
#

συμπέρασμα

Βλέπεις, είναι εύκολο όταν έχεις τα βήματα. Ελπίζω αυτό να σας βοηθήσει να εγκαταστήσετε το cURL από την πηγή.

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;