RPM 사용법
리눅스에서 흔히 볼 수 있는 *.rpm 이라는 파일은 일종의 프로그램 패키지 파일로서, 이를 실행하면 해당 프로그램이 리눅스 시스템에 설치되는 구조를 가지고 있다. 예전 UNIX 시대부터 사용되던 소스컴파일 방식은, 사용하기 까다롭고 대량 배포를 지원하는 현재의 리눅스 운영체제에서는 적절치 않은 단점을 가지고 있다.
그래서 최근에는 리눅스를 개발하는 배포판 단위로 해당 배포판에 맞도록 미리 패키징된 프로그램을 사용하여 쉽게 프로그램을 설치하는 방식을 많이 사용하고 있는데, 이 중에서 대표적인 것이 RPM 이다.
RPM 패키지 명칭의 구조
RPM은 Redhat Package Manager의 약자로서, 처음 레드헷에서 패키지의 설치 및 관리를 위해 만든 프로그램 관리자이다.
이후 RPM 방식의 유용한 특성에 따라 다른 리눅스 배포판에서도 이 RPM 방식을 채택하여 사용하기 시작하였고, 현재에는 전세계의 대부분의 리눅스 배포판들이 이 RPM 방식을 지원하고 있는 추세이다. (한글과컴퓨터 리눅스 역시 이 RPM 방식을 따르고 있다.)
RPM 파일의 패키지 명칭은 아래와 같은 구조를 가진다.
패키지 이름 - 버전 - 릴리즈 - 아키텍처 . rpm |
(예: perl-5.8.5-10.i386.rpm)
- 패키지 이름 : 해당 프로그램의 이름이다. (apache, kernel, samba, k3b, hanterm 등)
- 버전 : 패키지 개발에 따른 업데이트 시 마다 증가되는 번호이다.
일반적으로 3자리의 번호 규칙을 많이 사용하지만, 다른 규칙을 사용하는 경우도 있다.
- 릴리즈 : 해당 제품을 패키징하는 횟수이다.
패치 및 패키징 등을 수행할때마다 번호가 증가되며 앞서 패키징한 것들과의 차이를 나타낸다.
그리고 특정배포판의 이니셜을 추가하여, 배포판의 구분을 나타내기도 한다.
(예: 1hs --> Haansoft Linux에서 만든 1번째 릴리즈)
- 아키텍처 : 최근 여러 종류의 아키텍처 제품이 나옴에 따라 이를 구분하는 명칭이다.
(i386 / x86_64 / ppc / ia64 등)
RPM 명령 사용방법
- 설치 (-i)
: 신규 패키지를 설치하는 명령이다.
현재 시스템에 설치되어 있지 않은 패키지를 설치하고자 하는 경우 사용한다.
# rpm -i perl-5.8.5-10.i386.rpm
- 업그레이드 (-U)
: 패키지를 업그레이드 한다.
현재 시스템에 설치되어 있는 패키지를 상위 버전으로 업그레이드 하는 경우 사용한다.
# rpm -U perl-5.8.5-10.i386.rpm
------------------------------------------------------------------------------------
※ Tip! : 일반적으로는 설치 및 업그레이드 시에 -Uvh 옵션을 많이 사용한다.
# rpm -Uvh perl-5.8.5-10.i386.rpm
-U 옵션을 사용하여도 처음 설치하는 패키지를 설치할 수 있으며,
v(verbose) 옵션과 h(hash) 옵션을 같이 사용하여, 설치되는 모습을 자세히 보여주고,
해시마크를 사용하여 설치되는 정도를 한눈에 파악할 수 있도록 보여준다.
------------------------------------------------------------------------------------
- 제거 (-e)
: 패키지를 삭제한다. 현재 시스템에 설치되어 있는 패키지를 삭제하는 경우 사용한다.
# rpm -e perl-5.8.5-10.i386.rpm
- 질의 (-q)
: rpm 패키지의 설치 상태 및 패키지의 구성에 대한 여러가지 질의를 할 때 사용한다.
① 패키지 설치 유무 확인 (-qa)
# rpm -qa | grep perl
② 패키지에 포함된 파일 목록 (-ql)
# rpm -ql perl
③ 해당 파일이 포함되어 있던 패키지 목록 (-qf)
# rpm -qf /usr/bin/at
④ 패키지 일반 정보 (-qi)
# rpm -qi perl
⑤ 아직 설치하지 않은 패키지에 대한 정보를 알아보고자 하는 경우 p 옵션을 추가한다.
# rpm -qpl perl-5.8.5-10.i386.rpm
- 패키지 제작
: 소스를 통해 rpm 패키지를 만들때 사용한다.
# rpmbuild -ba -v perl.spec
- 기타 명령
① 테스트 (--test)
: 설치 과정을 진행하지만, 실제로 설치하지는 않고 테스트만 수행한다.
# rpm -Uvh --test perl-5.8.5-10.i386.rpm
② 의존성 무시 (--nodeps)
: 설치 과정에서 발생하는 다른 패키지들과의 의존성을 무시하고 설치를 진행한다.
# rpm -Uvh --nodeps perl-5.8.5-10.i386.rpm
③ 강제 설치 (--force)
: 설치시 발생되는 여러가지 오류를 모두 무시하고 강제로 설치를 진행한다.
# rpm -Uvh --force perl-5.8.5-10.i386.rpm
※ x86_64, PPC, IA64와 같은 아키텍처는 그 하위 아키텍처(예: i386)도 같이 지원하기 위해,
설치 시 하위 아키텍처 패키지를 같이 설치해야 하는 경우가 있으므로,
rpm 설치 시 이 점에 유의하여 같이 설치를 진행해야 한다.
'Linux > Linux 명령어' 카테고리의 다른 글
mkfs 란? (0) | 2007.09.09 |
---|---|
데비안 패키지 관리의 모든 것 (0) | 2007.08.02 |
리눅스 kill사용법 (0) | 2007.05.29 |