본문으로 바로가기

과거 초기 리눅스는 프로그램 설치가 상당히 어려웠다. 이를 개선하기 위해 리눅스의 각종 배포판에서는 마치 윈도우의 셋업 파일과 같이 손쉽게 프로그램을 설치할 수 있는 설치파일을 제작하게 된다. 이를 "패키지" 라고 하는데, 대표적으로 RedHat 계열의 rpm 파일, 우분투 등 Debian계열의 deb 파일이 있다.


리눅스에서 간단한 명령어 만으로 파일을 설치하고 삭제할 수 있어서 매우 편리하지만, 파일의 의존성 문제로 최근에는 'yum' 과 같은 더 개선된 형태의 설치 명령어를 사용한다.


하지만, 간혹 제공된 하나의 패키지만 설치/제거 해야 하거나 이미 설치된 패키지의 정보를 확인하는 등의 상황에 종종 쓰이기 때문에 알아 두는 것이 좋다.



RPM 패키지 정보


RPM 파일의 형식은 일반적으로 다음과 같다.



패키지명-버전-릴리즈번호.OS버전.CPU아키텍처.rpm

(ex. zip-3.0-10.el7.x86_64.rpm)

 

- 패키지명(zip) : 해당 패키지(프로그램)의 이름이다.

- 버전(3.0) : 패키지의 버전 정보이다. x.y.z 형태에서 x가 주 버전 y가 부 버전 z가 패치버전 순서이다.

- 릴리즈번호(10) : 해당 버전에서 문제가 개선될 때마다 올라가는 번호이다.

- OS버전(el7) : OS의 버전 정보이다. el은 Enterprise Linux의 약자로, Redhat 계열의 리눅스를 나타낸다. 하지만 꼭 해당 버전에 맞는 OS에만 설치가 가능한 것은 아니다. 타 계열의 OS에도 설치가 가능하다.

- CPU아키텍쳐(x86_64) : 이 파일을 설치할 수 있는 CPU정보를 보여준다. x86_64면 x86계열의 64비트 CPU를 의미한다.


RPM 명령어


- 설치


rpm -Uvh 패키지파일.rpm


U : 패키지가 존재하지 않는다면 설치를 진행하고, 이미 존재하는 패키지라면 업그레이드를 한다.

v : 설치 과정을 보여준다.

h : 설치 과정을 # 기호로 화면에 출력해준다.


- 삭제


rpm -e 패키지명


여기서 주의할 점은 rpm 파일명이 아니라 패키지명을 적어야 한다는 점이다.


- 설치된 패키지 조회


rpm -qa 패키지명 : 패키지 설치 확인 

rpm -qf 파일경로(절대경로) : 설치된 파일이 어느 패키지에 포함된 것인지 확인

rpm -ql 패키지명 : 특정 패키지에 포함된 파일을 확인

rpm -qi 패키지명 : 설치된 패키지 상세정보 보기


- rpm파일 조회


rpm -qlp 패키지파일.rpm : 패키지 파일에 포함된 파일들을 확인

rpm -qip 패키지파일.rpm : 패키지 파일의 상세정보 보기



RPM 예제


1. 설치할 rpm 파일을 확인한다.

2. rpm -qa 명령어로 해당 패키지의 설치 여부를 확인한다.

3. rpm -Uvh 명령어로 패키지를 설치한다.

4. rpm -qa 명령어로 패키지가 설치 되었는지를 확인하고, rpm -qi 명령어로 설치한 패키지의 상세 정보를 확인한다.

5. rpm -e 명령어로 해당 패키지를 삭제한다.(rpm파일명이 아닌 설치한 패키지 이름으로 삭제해야 한다.)


RPM의 단점 


리눅스는 파일의 '의존성'이 매우 중요하다.

A파일을 사용하는데 있어서 B파일이 무조건 필요한 경우가 많기 때문이다. 이를 'A파일은 B파일에 의존적' 이라고 한다. RPM 명령어는 의존성을 고려하지 않기 때문에 정상적인 설치가 안되는 경우가 매우 많다. 의존성이 있는 패키지들을 하나하나 순서대로 설치해 주면 되긴 하지만 이는 매우 귀찮다.

CentOS 리눅스에서 이러한 불편한 점을 해결하고, 설치파일 조차도 필요없게 만들어준 명령어가 'yum' 이다. 

다음번 포스팅에서 'yum'에 대한 사용법과 명령어 옵션들에 대해 알아보겠다.

 Other Contents 

댓글을 달아 주세요

티스토리 툴바