본문 바로가기

Study/Ubuntu 공부

[Ubuntu] curl 최신 패키지 수동 설치 방법

반응형

최근 Ubuntu 버전에 따라서 curl 명령 수행 시의 동작이 달라서 애를 좀 먹었습니다. Ubuntu 20.04 버전에서는 잘 동작하던 curl 명령이 Ubuntu 16.04 버전에서는 제대로 동작하지 않더군요. 자세히 살펴봤더니 Ubuntu 버전별로 curl 버전이 다르고, curl 버전별로 동작이 다르더군요. 

 

[Ubuntu 16.04 버전]

Ubuntu_16.04_버전
Ubuntu 16.04 버전

Ubuntu 16.04 버전에서 제공하는 최신 curl 버전은 V7.47.0입니다. 이 버전은 TLS 1.3을 지원하지 않기 때문에 TLS 1.3을 이용하는 HTTPS 서버와의 통신 시에 에러를 유발하더군요. 아무리 sudo apt-get update를 수행해도 V7.47.0 버전 이상은 자동 설치하실 수 없습니다. 관련 내용은 제가 며칠 전에 작성한 frankler.tistory.com/43에 접속하시면 확인하실 수 있습니다. 

 

[Ubuntu 20.04 버전]

Ubuntu_20.04_버전
Ubuntu 20.04 버전

반면 Ubuntu 20.04 버전에서는 2021년 2월 5일 기준으로 V7.68.0 버전의 curl 패키지를 자동으로 설치하실 수 있습니다. 물론, TLS 1.3을 지원하는 버전입니다. 그럼 TLS 1.3을 지원하는 curl 패키지를 받으려면 OS를 업그레이드해야 할까요? 그건 좀 리스크가 있으므로 기존의 Ubuntu 16.04 버전에서 수동으로 curl 패키지를 설치하시면 됩니다. 

 

 

[curl 패키지 수동 설치 방법]

Ubuntu 16.04에서 TLS 1.3을 지원하는 curl 버전을 수동으로 설치하는 방법에 대해서 설명드리겠습니다. 

 

1. curl 홈페이지에 접속하셔서 소스 코드를 다운로드합니다.

2021년 2월 5일 기준으로 최신 버전은 V7.75.0입니다. 최신 버전이 무조건 좋은 것만은 아니지만 써보니 특별한 문제점 없이 잘 동작하더군요.

소스코드_다운로드
소스 코드 다운로드

 

2. 컴파일을 위한 패키지를 설치합니다.

# 패키지 설치
$ sudo apt-get update
$ sudo apt-get install autoconfig make libtool libssl-dev

3. 소스 코드를 /usr/local/src에 복사하시고 압축을 해제합니다. 

 

# 소스 코드를 /usr/local/src에 복사
$ sudo cp curl-7.75.0.zip /usr/local/src
$ cd /usr/local/src
$ sudo rm -rf curl*
$ sudo unzip curl-7.75.0.zip

 

4. 컴파일 및 설치를 진행합니다.

#빌드 설정 및 컴파일을 수행합니다.
$ cd curl-7.75.0
$ sudo ./buildconf
$ sudo ./configure --with-ssl
$ sudo make && sudo make install
$ sudo cp /usr/local/bin /usr/bin/curl

 

 

[끝맺음 말]

위와 같이 수동으로 설치가 완료되면 curl --version 입력 시에 아래와 같이 출력이 됩니다.

수동설치완료
수동 설치 완료

잘 동작하기는 아래는 아래와 같이 "curl: symbol lockup error: curl: undefined symbnol: curl_mime_free"라는 에러 메시지가 나오는 게 조금 꺼림칙하네요.

 

검색을 해봐도 잘 나오지 않네요. curl 홈페이지에서 살펴보니 V7.56.0 버전부터 추가된 함수이고 도움을 받을만한 정보를 찾을 수 없어서 좀 아쉽네요.

 

이상으로 Ubuntu 16.04에서 최신 curl 패키지를 수동으로 설치하는 방법에 대한 설명을 모두 마칩니다. 부디 유용한 정보였기를 바랍니다. 

 

감사합니다.

반응형