제목 rpm
이름 blue_lotus 날짜 2005-02-03 조회 12213
설치 명령어

1. RPM 패키지란?
RPM(Redhat Package Manager)은 일종의 소프트웨어 관리 프로그램입니다.
프로그램의 업그레이드, 관리 등을 쉽게 하기 위해 프로그램과 설정파일등
을 하나로 묶은 것을 패키지라고 하는데 레드햇 사에서 만든 패키지 관리
프로그램이 RPM입니다.
★ 참고 --------------------------------------------------------------
기존의 리눅스 배포판들은 단순히 tar 포맷으로 묶여 있는 실행 파일을 복
사하거나 소스 코드를 컴파일하는 방법을 사용해서 필요한 프로그램을 설치
하거나 삭제하는 방법을 사용했습니다.
그래서 시스템에는 설치된 프로그램의 수가 많아지고, 특정한 버전의 라이
브러리에 프로그램이 의존할 경우, 사용자 자신이 프로그램들을 유지하고
관리하는데 많은 문제가 있었습니다. 그리고 이미 설치되어 있던 프로그램
이더라도 실수로 다시 설치하면 기존의 프로그램이 생성한 파일들이 모두
삭제되는 일이 발생할 수도 있었습니다.
또한 하나의 프로그램을 삭제하기 위해서는 그 프로그램에 관계된 프로그램
과 관련 파일들을 사용자가 모두 알고 있어야만 완전히 삭제할 수 있다는
맹점을 가지고 있었습니다.
이처럼 설치하고자 하는 프로그램을 찾는 것부터 설치하는 것 까지 어려움
투성이었습니다.
하지만 레드햇리눅스에서는 RPM 패키지와 X윈도의 제어판을 이용해 쉽게 프
로그램을 설치할 수 있습니다.
----------------------------------------------------------------------

다음과 같은 RPM 패키지가 있다고 생각해보면,

gamejigi  -  1.0  -  1  .  i386  .  rpm

- 제일 앞쪽에 있는 gamemigi는 패키지의 이름입니다. 즉, 윈도우즈의 측면
에서 본다면 프로그램 이름이 되는 셈입니다.
- 그 다음으로 나오는 '1.0'은 패키지의 버전을 나타내는 것입니다.
- 다음 '1'이라는 것은 패키지의 릴리즈 번호입니다.패키지의 버전은 똑같
지만, 이 번호가 틀리다면 번호가 큰 것이 사소한 변화가 있어 다시 패키징
되었다고 볼 수 있습니다.
- 네번째 'i386'은 짐작할 수 있는 것과 같이 어떠한 시스템에 사용되는가
를 나타냅니다. 즉, 'i386'은 개인용 PC를 나타내는 것이고, 'sparc'이라면
스팍 리눅스용이고, 'alpha'라면 알파 리눅스 용이라고 볼 수 있습니다. 현
재는 이렇게 세개의 시스템용으로 나오고 있지만, 종종 'src'라는 것을 볼
수 있는데, 이는 소스 RPM으로 컴파일해야 사용할 수 있습니다.
- 마지막으로 나오는 'rpm'은 윈도우즈에서 나타내는 확장자와 같은 의미입
니다. 어떠한 성질의 파일인지를 나타내 주는거죠. 즉, 'rpm'은 RPM 패키지
임을 나타내는 것입니다.


2. RPM 패키지의 설치와 제거
▶ 설치
보통은 다음과 같은 명령으로 RPM 패키지를 설치하게 됩니다.

rpm -i gamejigi-1.0-1.i386.rpm
- i : install

하지만, 이렇게 입력을 했을 때에는 화면에 진행상황이 나타나지 않아 약
간 밋밋한 화면을 보게 됩니다.

이를 피하기 위해 다음과 같이 입력을 할 수 있습니다.

rpm -ivh gamejigi-1.0-1.i386.rpm
- v : 인스톨 과정을 간략하게 보여줌
- h : hash, 인스톨의 진행과정 정도를 보여줌(#로 표시됨)

하지만, -ivh 옵션보다는 -Uvh 옵션을 사용하는 것을 권합니다.
- U : Upgrade
이 옵션을 사용하게 되면 컴퓨터는 인스톨하려는 패키지의 이전 버전이 있
는가를 먼저 확인한 후에 있다면 업그레이드를, 없다면 인스톨을 하게됩니
다. 만일 -i 혹은 -ivh 옵션으로 패키지를 인스톨한다면 이전 버전의 패
키지에 대한 정보는 사라지지 않을 것이고, 또한 이전의 설정 파일도 백업
되지 않을 것입니다.

▶ 제거
패키지 제거에 앞서 먼저 내 컴퓨터에 어떠한 패키지가 인스톨 되어있는가
를 확인 해야합니다.

rpm -qa |more
- q : 버전 등의 rpm 정보표시(찾는 rpm이 설치되지 않았다면 메시지 표시)
- a : 모든 파일에 대해 적용하라는 의미
★ more 화면을 천천히 볼 수 있습니다.

이렇게 패키지에 대한 이름을 알게 되었다면 다음과 같이 간단히 입력함으
로써 패키지를 제거할 수 있습니다.

rpm -e gamejigi-1.0-1.rpm
- e :  설치된 프로그램(rpm)의 삭제

★ 참고---------------------------------------------------------------
- 간략한 정보 보기
rpm -qi (rpm패키지파일이름)
- 상세 정보 보기
rpm -ql (rpm패키지파일이름)
-  특정한 파일이 포함되어 있는 패키지를 확인해 볼 때
rpm -qf (rpm파일이름)
- 시스템에 설치된 패키지를 검증할 때
rpm -V (rpm패키지 이름)
- 시스템에 설치된 패키지들을 모두 검증할 때
rpm -Va
- 시스템에 설치할때 사용한 RPM 파일을 이용해서 해당 패키지를 검증할 때
rpm -Vp (rpm패키지파일이름)  
- 도움말을 출력하고자 할 때
rpm --help
-  설정사항을 출력하고자 할 때
rpm --showrc
- 버전을 출력하고자 할 때
rpm --version
----------------------------------------------------------------------

3. 부수적인 옵션
설치 또는 업그레이드 또는 제거 옵션뒤에 붙입니다.
단, 제거 옵션에서는 --nodeps , --noscripts , --test 만을 사용합니다.

- nodeps : 의존성을 무시하고 설치합니다.
가장 많이 겪게 되는 문제로 RPM 에서는 어떠한 패키지가 깔려 있지 않으
면, 그것에 영향을 받는 패키지는 설치하지 못하는 경우가 있습니다. 이
때 사용하는것이 --nodeps 입니다.
- test : 패키지를 실제로 설치하지는 않고 충돌이나 의존성 문제가 있는지
만을 검사합니다.
- noscripts : 스크립트를 실행하지 않습니다.
레드햇 패키지에는 설치 전후, 제거 전후 이렇게 4개의 스크립트가 들어갑
니다.
--force : 강제로 설치 합니다.
패키지 설치시 현재 패키지에 포함된 파일이 이미 다른 패키지에 의해 설
치 되어 있을때, 이들이 충돌을 할 경우 에러가 발생합니다. 하지만, 이 옵
션으로 설치가 가능합니다. 이 옵션은 이미 있는 파일은 덮어 쓰지 않습니
다. 이미 있는 파일마저 덮어 쓰려면 --replcaefiles를 사용하면 됩니다.
--oldpackage : 만약 업그레이 할 패키지가 이미 설치되어 있는 패키지보다
오래된 버전일 경우에는 업그레이드를 진행시킬 수 없습니다. 그래도 불가
피하게 설치를 진행시켜야 할 경우, 이 옵션을 이용하여 강제로 설치할 수
있습니다.
--percent : 패키지 파일을 설치하는것을 퍼센트로 표시해줍니다.
--replacepkgs : 이미 같은 패키지가 설치되 있더라도 다시 설치합니다.
--replacefiles : 이미 설치된 다른 패키지의 파일을 덮어 쓰면서라도 설치
합니다.
--root : 디렉토리 와 디렉토리를 마치 / 처럼 생각하고 설치를 합니다.
즉 "--root /tmp" 라고 한다면 /tmp 가 / 인 것으로 생각하고 그 이하로 설
치하게 될것 입니다. 한가지 문제가 있다면 이 명령을 사용하면 RPM 정보를
기록하는 파일을 지정한 디렉토리 및에서 찾게 됩니다.
--excludedocs : 문서 파일은 설치 하지 않습니다.

Copyright 2002-2025 by Induk University Gamejigi, 교수 윤형태 (yht@induk.ac.kr). All right reserved.