ホーム テクノロジー LINUX 最新の cURL バージョンを CentOS および Ubuntu に構築してインストールするにはどうすればよいですか?

最新の cURL バージョンを CentOS および Ubuntu に構築してインストールするにはどうすればよいですか?


ソースから最新の cURL を構築したいですか?

OS に付属の cURL は最新ではない可能性があるため、特定の要件に対して最新バージョンが必要な場合は、ソースからビルドする必要があります。

最近、CentOS 上のデフォルトの出荷バージョンで cURL を使用して HTTP/3 をテストしていましたが、うまくいきませんでした。ところで、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://.com/tftp-servers-for-windows/">tftp</a> 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets 
[root@lab ~]#

ただし、最新の cURL バージョン (7.67) は HTTP/3 をサポートします。したがって、ソースからビルドするという選択肢は 1 つしかありませんでした。これはほんの一例です。他にもいくつかの要件があるかもしれません。

次の例は、CentOS 8.x および Ubuntu 20.x 上の 7.67 (私が書いている時点では最新) のものです。ただし、他のバージョンでも手順は同じです。

前提条件

必要な依存関係をインストールしましょう。

  • システムをアップデートします。これはオプションですが、私はそうすることを好みます。常に最新のパッケージがインストールされています。
 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 -

現在の作業ディレクトリに新しいフォルダーが作成されます

CentOS/RHEL 上での cURL の構築

最新の 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

完了するまでに数秒かかり、完了すると、バージョンを確認して、正常にインストールされたことを確認できます。

Ubuntu での cURL の構築

前提条件セクションで説明したように、最新バージョンをダウンロードしていると仮定します。

  • ダウンロードした 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

それだけです!

検証

バージョンの詳細を確認するには、 --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 をインストールするのに役立つことを願っています。

「最新の cURL バージョンを CentOS および Ubuntu に構築してインストールするにはどうすればよいですか?」についてわかりやすく解説!絶対に観るべきベスト2動画

【Linuxエンジニアになる!】VMWare Player で Ubuntuをインストールする方法を紹介 インストール方法は、他のディストロ(CentOS, Mint)でもほとんど同じです
Ubuntu デスクトップに Curl をインストールする方法