리눅스 rpm과 yum 패키지 설치 차이

리눅스에서 패키지 설치는 rpm 또는 yum 명령어를 이용합니다. 두 명령어는 최종적으로 원하는 패키지 프로그램을 설치한다는 점에서 같지만 작동 방식에 차이가 있습니다.

RPM(Redhat Package Manager)

rpm은 인터넷에 연결되지 않은 상태에서도 패키지를 설치할 수 있는 명령어입니다. 다만 설치하려는 .rpm 패키지 파일이 컴퓨터에 있어야 합니다. 패키지는 서로 의존성을 갖습니다. 예를 들어 C 패키지를 설치하기 위해선 B 패키지가 필요하고 B 패키지를 설치하기 위해서는 A 패키지가 필요한 식입니다. 이런 경우 설치 순서는 A > B > C 순으로 해야 합니다.

 

rpm은 개별 패키지를 수동으로 설치하는 개념이기 때문에 이런 의존성을 사용자가 직접 고려하면서 설치해야 하는 불편함이 있습니다. 그러나 저장소에 없는 패키지 파일도 파일을 직접 가지고 있으면 설치가 가능하고 인터넷 연결이 어려운 환경에서도 패키지 설치가 가능하다는 장점이 있습니다.

 

Ex) postgresql 13버전을 다운받는 경우

1. 설치에 필요한 패키지 리눅스에 옮기기

파일질라나 cmd sftp 등을 활용하면 됩니다.

2. 순차적으로 의존성에 맞게 패키지 설치

rpm -ivh postgresql13-libs-13.1-3PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql13-13.1-3PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql13-libs-13.1-3PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql13-server-13.1-3PGDG.rhel7.x86_64.rpm

YUM(Yellodog Updater Modified)

yum은 기본적으로는 인터넷으로 연결된 저장소로 접근해서 원하는 패키지를 설치하는 명령어입니다. yum은 최종적으로 필요한 의존 패키지까지 모두 자동으로 설치해줍니다. rpm 명령어보다 아주 간편하게 원하는 패키지를 다운받을 수 있습니다.

 

그러나 저장소에 있는 rpm 패키지만 설치할 수 있다는 단점이 있습니다. 예를 들어, postgresql의 특정 버전이 저장소에서 사라지면 yum으로는 그 버전의 postgresql을 다운받을 수 없습니다.

 

Ex) postgresql 13버전을 다운받는 경우 명령어

1. 최신 레포지토리 추가

yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. postgresql 패키지 설치

yum -y install postgresql13 postgresql13-server

 

사실 이 글에선 yum을 인터넷을 연결해서 패키지를 다운받는 도구라고 간단히 설명드렸지만, 인터넷이 없는 환경에서도 yum을 사용할 수 있는 방법도 있습니다. 이 부분이 궁금하시면 아래 글을 참고해주세요.

 

https://change-words.tistory.com/entry/CentOS-Local-Repository

 

CentOS 7 Local Repository 만드는 방법 (인터넷 없이 yum 사용)

yum은 기본적으로 인터넷과 연결된 저장소(repository)를 바라보고 작업을 수행합니다. 저장소에 업로드되어 있는 패키지들을 인터넷을 통해 접근하고, 찾아서 내 리눅스에 받아오는 식입니다. 그

change-words.tistory.com

반응형

댓글

Designed by JB FACTORY