Engineering/Linux

소스 컴파일 ↔ 바이너리 패키지 설치방식의 차이점 (Source Compile vs Binary Package)

[앙금빵] 2021. 12. 3.

소스 컴파일 설치

 

소스 패키지

  • 소스 패키지에는 일반적으로 여러 파일이 포함되어 있으며 릴리스를 용이하게 하기 위해 소스 패키지가 일반적으로 패키지 및 압축되어있다.
  • Linux에서 가장 일반적으로 사용되는 패키지 압축 형식은 "tar.gz" 이며 소스 패키지를 Tarball 이라고도 한다.
  • Tarball은 Linux 시스템 용 패키징 도구로, 소스 패키지를 패키징 및 압축 할 수 있으며, 결과로 압축 된 압축 파일을 Tarball 파일이라고 한다.

 

소스컴파일 설치방식의 장점

  • RPM 파일 없이 소스코드 파일만 제공하는 경우도 많다.
  • 소스코드로 직접 설치하면 더 세밀한 설정이 가능하며 기능을 자유롭게 선택할 수 있다.
  • 소프트웨어가 컴파일 및 설치되기 때문에 시스템에 보다 적합하고 더 안정적이고 효율적이다.

 

소스컴파일 설치방식의 단점

  • 컴파일 시간이 길기에 설치 시간이 Binary 설치 방식보다 오래 걸린다.
  • 설치 과정에서 오류가 보고되면 초보자가 문제를 해결하기가 어렵다.
 💡 Compile은 컴퓨터(or VM)에 의해 직접 실행되는 객체 코드로의 변환 프로세스를 의미한다. 컴파일러의 기능은 소스코드를 컴퓨터가 인식하고 실행할 수 있도록 이진 코드로 변환한다.

 


바이너리 설치

바이너리 패키지 (RPM, YUM)

  • 프로그램 설치와 관리가 용이하게 하기 위해 개발된 패키지 형태로 소스 패키지가 성공적으로 컴파일 된 후에 생성된 패키지이다.
  • 비슷한 환경에서 컴파일 되어 설치한 프로그램들이 전부(실행파일, 설정파일, 라이브러리 등)을 묶어 그대로 풀어서 설치한다.
  • YUM 설치 방식은 RPM 패키지 의존성 문제를 해결한 방식으로 인터넷을 통해 필요한 파일들을 저장소(Repository)에서 의존성이 있는 다른 패키지까지 다운로드 해서 설치하는 방식이다.

 

바이너리 설치방식의 장점

  • 몇가지 명령만으로 패키지 설치, 업그레이드, 쿼리 및 제거를 구현할 수 있다.
  • 설치 속도 측면에서 소스컴파일 설치방식보다 훨씬 빠르다.

 

바이너리 설치방식의 단점

  • 컴파일 후에는 소스 코드를 볼 수 없다.
  • 기능 선택은 소스패키지만큼 유연하지 않다.
💡 RPM 설치방식은 패키지 의존성에 따라 관련 패키지가 먼저 설치되어 있지 않으면 설치가 진행되지 않는다. 즉, 패키지 설치를 위해서 패키지 필요요소들을 사전에 전부 다운로드 해야 한다.

참조

linux - 소프트웨어 추가 설치하기(RPM, SOURCE CODE, YUM)

https://linuxism.ustd.ip.or.kr/479?category=340926

What is the difference between building from source and using an install package?

https://unix.stackexchange.com/questions/152346/what-is-the-difference-between-building-from-source-and-using-an-install-package

linux에서 소스 받아서 설치하기 (linux 폴더 구조)

https://jusunglee.tistory.com/entry/linux에서-소스-받아서-설치하기#바이너리-받아서-설치-하기

(★) 리눅스 패키지 (소스 패키지와 바이너리 패키지)

https://spiralwind7.tistory.com/170

댓글