리눅스 RPM 설치 명령어

■ 개요

리눅스에서 일반적인 설치할 경우,
소스 파일을 통한 컴파일을 하거나 RPM 패키지 파일을 통해 설치를 하는 방법이 있습니다.

소스 컴파일 방식은 저와 같은 초급적인 지식으로 설치를 할 경우, 일부 에러를 나타내어
이것을 해결 할 방법을 찾아내어도 또 다른 문제점이 발견되어 그에 따른 시간을 많이 소비하게 합니다.

현재 다양한 리눅스의 종류에 맞게 미리 패키징된 프로그램을 다시 재배포하여 설치하는 방식을 사용하고 있습니다.
이러한 재배포 패키지 중 대표적인 적이 RPM 패키징 파일입니다.

(설치하는 법에 대해서 간단히 비교하자면 소스 컴파일과 압축되어 있는 파일을 푸는 것의 중간 정도의 개념으로 생각하시 됩니다.)

* 아래 설명은 http://www.asianux.co.kr/ 홈페이지에 있던 이전 글을 참고 하였습니다.

■ RPM 설명

RPM ( Redhat Package Manager )
처음 레드헷에서 패키지의 설치 및 관리를 위해 만든 프로그램 관리자입니다.

(구성) 패키지이름-버전-릴리즈-아키텍처.rpm
예) samba-3.0.24-1.i386.rpm

- 패키지 이름 : 해당 프로그램의 이름입니다. (예) apache, kernel, samba 등
- 버전 : 패키지 개발에 따른 업데이트 마다 증가되는 번호입니다.
- 릴리즈 : 해당 제품을 패키징하는 횟수입니다. 패치 및 패키징 등을 수행할때마다 번호가 증가되며 앞서 패키징한 것들과의 차이를 나타냅니다.
- 아키텍처 : 최근 여러 종류의 아키텍처 제품이 나옴에 따라 이를 구분하는 명칭이다. (예) i386 / x86_64 / ppc / ia64 등

■ RPM 배포

주로 패키지를 개발하는 곳의 홈페이지에서 각 리눅스 버전에 맞게 배포를 하고 있습니다.
또는 http://www.rpmfind.net 에서 검색을 통해서 구하실 수 있습니다.

■ RPM 명령 사용방법

1. RPM 설치

- 설치 (-i)
신규 패키지를 설치하는 명령입니다.
현재 시스템에 설치되어 있지 않은 패키지를 설치하고자 하는 경우 사용합니다.
[root@wind samba]# rpm -i samba-3.0.24-1.i386.rpm

- 업그레이드 (-U)
패키지를 업그레이드 합니다.
현재 시스템에 설치되어 있는 패키지를 상위 버전으로 업그레이드 하는 경우 사용합니다.
[root@wind samba]# rpm -U samba-3.0.24-1.i386.rpm

- 부가 옵션들

--nodeps : 의존성 관계에 있는 다른 패키지가 설치 되어 있지 않다고 해도 강제로 설치합니다.

--force : 버전을 무시하고 강제로 설치합니다. (하위버전으로 다운그레이드 시에 적용할 수 있습니다.)
[root@wind samba]# rpm -U --nodeps samba-3.0.24-1.i386.rpm

일반적으론 i 보다는 U 로 업그레이드 설치를 권장하며 vh 옵션으로 설치되는 모습을 자세히 보여줍니다.
[root@wind samba]# rpm -Uvh samba-3.0.24-1.i386.rpm

2. RPM 제거

- 제거 (-e)
패키지를 삭제합니다. 현재 시스템에 설치되어 있는 패키지를 삭제하는 경우 사용합니다.
[root@wind samba]# rpm -e samba-3.0.24-1.i386.rpm

- 부가 옵션들

--test : 실제로 삭제하지 않고 삭제되는지 테스트만 합니다.

--nodeps : 의존성에 관여하지 않고 지우는 옵션입니다.
         (주의! 의존성이 있는 다른 패키지의 필요한 파일들도 삭제되어 실행이 안되는 경우가 있습니다.)

--allmatches : rpm 이 중복 설치되어 있을때 해결합니다.
[root@wind samba]# rpm -e samba --allmatches

--noscript : rpm 이 스크립트 에러로 인해서 지워지지 않을때 지워줍니다.

[root@wind samba]# rpm -e samba --noscript

3. RPM 조회

- 조회 (-q)
rpm 패키지의 설치 상태 및 패키지의 구성에 대한 여러가지 조회를 할 때 사용한다.

- 패키지 설치 유무 확인 (-qa)
[root@wind samba]# rpm -qa | grep samba

- 패키지에 포함된 파일 목록 (-ql)
[root@wind samba]# rpm -ql samba

- 해당 파일이 포함되어 있던 패키지 목록 (-qf)
[root@wind samba]# rpm -qf /usr/bin

- /etc/ 밑에 설치 되는 설정파일만 알아 봅니다. (-qc)
[root@wind samba]# rpm -qc samba

- 패키지 일반 정보 (-qi)
[root@wind samba]# rpm -qi samba

- 아직 설치하지 않은 패키지에 대한 정보를 알아보고자 하는 경우 p 옵션을 추가합니다.
[root@wind samba]# rpm -qpl samba-3.0.24-1.i386.rpm

- 패키지 목록에 대해서 자세한 정보를 봅니다. (-qlv)
[root@wind samba]# rpm -qlv samba-3.0.24-1.i386.rpm

- 패키지 목록에 대해서 자세한 정보를 봅니다. (-qcf)
[root@wind samba]## rpm -qcf samba-3.0.24-1.i386.rpm

- 부가 옵션

-q --requires : 패키지가 필요한 모듈 알아봅니다.

-q --whatrequires : 의존성 걸린 패키지를 알아봅니다.

-q --whatprovides module-info : 모듈이 설치 되어 있는 패키지 인지 알아봅니다.

-q --script : 패키지가 설치되기 전/후에 실행되는 스크립트를 알아봅니다.

-q --queryformat : 패키지의 정보는 알아볼떄 문자열을 출력해줍니다.

 

태그 : *rpm *패키지 *리눅스