관리 메뉴

JIE0025

리눅스 소프트웨어의 설치 방법 : Archive tar / RPM 비교 본문

Infra/Linux

리눅스 소프트웨어의 설치 방법 : Archive tar / RPM 비교

sdoaolo 2025. 2. 22. 09:53
728x90

 

 

✅ Archive 

아카이브란 여러 파일과 디렉터리를 담고 있는 하나의 파일이다. 

 

모든 파일과 디렉터리가  아카이브 파일로 들어가져서 관리 및 추적이 쉽다. 

>> 리눅스의 압축 형식이라고 보면된다. 

 

구성 요소

  • 소스 코드 (Java, Python등)
  • README, INSTALL  등의 설명해주는 파일 
  • Makefile, configure 등  빌드 스크립트

\ recipes4dev 블로그

 

 

 

오픈소스를 설치할 때 아카이브 파일을 다운받아서 설치하게 될 경우 관련 의존성을 처리 해줘야 한다. 

-> 오픈소스가 필요로 하는 다른 라이브러리/패키지도 다운받아야한다. 

-> 의존성이나 오픈소스의 버전을 원하는것을 선택할 수 있다는 장점이 있다. (유연한 서버 환경 구성)

 

그러나 아카이브 파일의 경우엔 컴파일 과정도 거쳐야 하기 때문에 설치가 복잡하다.

 

 

설치를 끝마치고 나면  소스코드, 설명, 빌드 스크립트가 존재해

이를 이용해 바로 기동할 수 있다. 

 

 


*️⃣ Archive  설치 예 

# 설치 전 필요한 패키지 설치
dnf install -y gcc make apr-devel apr-util-devel pcre-devel

# 소스 다운로드 및 압축 해제
wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz
tar -xvzf httpd-2.4.57.tar.gz
cd httpd-2.4.57

# 컴파일 및 설치
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
make & make install

# 아파치 실행
sudo /usr/local/apache2/bin/apachectl start

 

 

 

 

✅ RPM 패키지 

RedHat Package Manager

레드햇 계열의 리눅스 배포판에서 사용하는 패키지 설치 관리 도구이다.

 

 

⏺ RPM은 왜 사용할까?

 

초기 리눅스에선 모든 패키지를 tar/ gzip으로 묶인 소스파일을 갖고 직접 컴파일 한 후 수동 설치해야했는데

의존성이 너무 많은 경우 설치하는게 너무 복잡했다.  그래서 RPM이 만들어졌다. 

 

 

소스코드가 미리 컴파일 되어있는것으로  지정된 경로에  누구나 쉽게 설치할 수 있다!

 

 

구성요소

 

  • 바이너리 실행 파일 (pre-compiled)
  • 설정 파일
  • 스크립트 (설치/제거 후 실행할 명령어)
  • 종속성 정보 (어떤 패키지가 필요한지 정의)

 

 

 

>> 패키지 사이 의존하고 있는 패키지까지 자동으로 설치되지는 않아서

     이 경우엔 yum을 사용한다.  

 

 

 

*️⃣  RPM 설치  예

# 패키지 의존성을 추가하여 아파치 설치
yum -y install httpd

-------------------------------------------- 중략

Installed:
  httpd.x86_64 0:2.2.15-69.el6.centos                 //아파치 패키지 설치
Dependency Installed:                                 //관련 패키지 자동 설치
  httpd-tools.x86_64 0:2.2.15-69.el6.centos
Complete!


# 서비스 기동
service httpd start

 

 


 

 

결론 

RPM : 사용자 편의성을 목적으로한 패키지 설치 방식 

아카이브 파일 : 개발자 및 커스텀 빌드를 위한 설치방식

 

 

 

 


References

https://nyyang.tistory.com/12

https://blog.naver.com/okaysungnam/221313305872