매일 업데이트
2022-08-13 04:28 6 min

CentOS 및 Ubuntu에서 최신 cURL 버전을 빌드하고 설치하는 방법은 무엇입니까?

최신 cURL을 소스에서 빌드하는 방법

운영체제에 기본으로 제공되는 cURL 버전이 최신이 아닐 수 있으며, 특정 기능이나 최신 버전을 사용해야 할 경우 소스 코드로부터 직접 빌드하는 것이 필요할 수 있습니다. 예를 들어, HTTP/3과 같은 최신 프로토콜을 테스트하려 할 때 기본 제공 버전이 지원하지 않는 경우가 있습니다.

이 가이드에서는 CentOS 8.x와 Ubuntu 20.x 환경에서 cURL 7.67 버전을 소스에서 빌드하는 방법을 설명합니다. (작성 시점 기준 최신 버전). 물론, 다른 버전에서도 동일한 절차를 따를 수 있습니다.

cURL은 단순히 웹 페이지를 다운로드하는 도구 이상의 다양한 기능을 제공합니다. 이 글을 통해 여러분의 환경에 맞는 최신 cURL을 구축하고 활용하는 데 도움이 되기를 바랍니다.

사전 준비 사항

cURL 빌드에 필요한 몇 가지 필수 단계를 따르겠습니다.

  • 시스템 업데이트: 최신 패키지 설치를 위해 시스템을 업데이트하는 것을 권장합니다 (선택 사항).
yum update -y
  • 필수 패키지 설치: cURL 빌드에 필요한 컴파일러와 라이브러리를 설치합니다.
yum install wget gcc openssl-devel -y
wget https://curl.haxx.se/download/curl-7.67.0.tar.gz
  • 다운로드한 압축 파일 압축 해제: 다운로드한 cURL 소스 코드 압축 파일을 해제합니다.
gunzip -c curl-7.67.0.tar.gz | tar xvf -

압축 해제 후 현재 작업 디렉토리에 새 폴더가 생성됩니다.

CentOS/RHEL에서 cURL 빌드

최신 cURL 소스를 다운로드하고 압축을 풀었으므로, 이제 빌드 단계를 진행합니다.

  • 소스 코드 폴더로 이동: 압축 해제 후 생성된 폴더로 이동합니다.
cd curl-7.67.0
  • SSL 지원을 포함하여 구성: OpenSSL 라이브러리를 사용하여 cURL을 구성합니다.
./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 소스를 다운로드했다고 가정합니다.

  • 소스 코드 폴더로 이동: 다운로드하여 압축 해제한 cURL 소스 코드 폴더로 이동합니다.
  • 필수 종속성 설치: cURL 빌드에 필요한 필수 종속성 패키지를 설치합니다.
apt-get install -y binutils-common binutils make
  • binutils 미설치 시 발생 가능한 오류: 필요한 binutils 패키지가 설치되지 않은 경우 다음과 같은 오류가 발생할 수 있습니다.
configure: error: ar not found in PATH. Cannot continue without ar.
  • cURL 구성: 이제 SSL을 활성화하여 cURL을 구성합니다.
./configure --with-ssl
  • 빌드 및 설치: 구성 오류가 없으면 다음 명령을 사용하여 cURL을 빌드하고 설치합니다.
make
make install

이것으로 cURL 빌드 및 설치가 완료되었습니다.

설치 확인

다음 명령어를 사용하여 cURL 버전 정보를 확인합니다.

# 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 설치에 도움이 되었기를 바랍니다.

이 글이 유익했나요? 다른 사람들과 공유하여 더 많은 사람들이 혜택을 볼 수 있도록 해주세요!

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.