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 설치에 도움이 되었기를 바랍니다.
이 글이 유익했나요? 다른 사람들과 공유하여 더 많은 사람들이 혜택을 볼 수 있도록 해주세요!