RedHat 계열 RPM 명령어 사용법

<패키지 설치시 명령>

(1) 설명: 새로운 패키지를 설치하거나 업그레이드시 사용한다.

(2) 관련옵션

  -i : 새로운 패키지를 설치할 때 사용한다.  (–install)

  -U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용하고 설치된 패키지가

       없을 경우 패키지를 설치를 한다.( -i 옵션과 같음)

  -F : 이전 버전이 설치되어 있는 경우에만 설치한다.(–freshen)

  -v : 메시지를 자세히 보여준다.

  -h : ‘#’기호로 표시해 준다.

  –force : 기존에 설치된 패키지와 관계없이 강제로 설치 한다.

  –nodeps : 의존성 관계를 무시하고 설치 한다.

  -vv : 메시지를 아주 자세히 보여준다.

  –oldpackage : 구버전으로 다운그레이드할 때 사용한다.

  –rebuilddb : 특정한 패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm데이

                 터베이스를 업데이트한다

(3) 정리

  -ivh : 새로운 패키지 설치

  -Uvh : 업그레이드하거나 새로운 패키지 설치

  -Fvh : 이전 버전의 패키지가 있는 경우에만 패키지 설치

(4) 예제

# rpm -Uvh proftpd-1.2.9-1.9.i386.rpm

==> proftpd 패키지를 설치하거나 업데이트 한다.

# rpm -Fvh /usr/local/src/update/*.rpm

=> /usr/local/src/i386/에 있는 패키지들중 설치되어 있는 패키지들을 업데이트 한다.

<패키지 삭제시>

(1) 설명 : 시스템에 설치된 패키지를 삭제할때 사용된다.

(2) 옵션

  -e : 설치된 패키지를 제거한다.

  –nodeps : 제거시 의존성을 무시한다.

(3) 예제

# rpm -qa | grep sendmail  (sendmail 패키지 리스트를 확인)

   sendmail-devel-8.11.6-27.73

   sendmail-8.11.6-27.73

   sendmail-cf-8.11.6-27.73

# rpm -e sendmail-devel-8.11.6-27.73

=> sendmail-devel-8.11.6-27.73 라는 rpm 패키지를 삭제 한다.

삭제시 의존성 에러 메세지로 삭제가 안될 경우 –nodeps를 붙이면 강제로 삭제를 하는데 주의를 요한다.

# rpm -e proftpd –nodeps

=> proftpd 패키지에 의존성이 있더라도 무조건 제거한다.

<패키지 검색시>

(1) 설명: 설치된 패키지와 각 패키지에 포함된 파일들을 검색하여 확인해 볼수 있다.

(2) 관련옵션

  -q : 질의시에 꼭 써야하는 옵션이다. 패키지를 찾으면 패키지이름과 버전만 표시한다.

  -i : 설치된 패키지의 정보를 보여준다. -p옵션과 사용하면 패키지 파일정보를 보여준다.

  -l : 패키지에 포함된 모든 파일을 보여준다. 역시 -p와 사용하려면 정확한 파일명을 적는다.

      (–list)

  -p 파일명: 패키지의 파일에 대한 정보를 보여준다.  정확한 이름을 입력해야 한다.

  -a : 시스템에 설치된 모든 패키지목록을 보여준다. (–all)

      패키지명을 잘 모르는 경우에는 ‘| grep 패키지명’을 붙여 사용하면 유용하다.

  -f 파일명: 지정된 파일이 포함된 패키지를 출력한다.

  -c : 해당패키지의 설정파일이나 스크립트파일을 보여준다.

  -d : 해당패키지의 문서파일을 출력한다.

  -R : 어떤 패키지에 의존하고 있는지를 보여준다. (–requires)

(3) 사용예

# rpm -q sendmail

     sendmail-8.11.6-27.73

       => 설치된 sendmail의 패키지이름과 버전을 보여준다.

# rpm -qi sendmail

       => sendmail 패키지의 많은 정보를 보여준다.

# rpm -qa

       => 현재 설치된 모든 패키지를 보여준다.

# rpm -qa |grep sendmail

   sendmail-devel-8.11.6-27.73

   sendmail-8.11.6-27.73

   sendmail-cf-8.11.6-27.73

      => sendmail관련 패키지를 보여준다.

# rpm -ql sendmail

      => sendmail이 설치되어 있는 경로를 보여준다.

# rpm -qf /etc/sendmail.cf

sendmail-8.11.6-27.73

      => sendmail.cf 파일을 사용하는(관련된) 패키지를 보여준다.

# rpm -qd proftpd

      => proftpd 관련 문서파일을 보여준다.

# rpm -qR sendmail

      => sendmail이 의존하고 있는 패키지를 보여준다.

# rpm -qlp proftpd-1.2.7-3kr.i686.rpm

       => proftpd 패키지가 설치되는 파일들을 보여준다.

<패키지 검사시>

(1) 설명: 설치된 패키지 파일들을 검증한다. 보통 보안상 침입자에 의해 실행파일들이 권한획

            득을  위해 변조되는 경우가 있는데 이러한 것을 찾아낼 때 유용하다.

(2) 관련옵션

  -V : verify의 약자로 검증할때 쓰는 기본 옵션이다.

  -a : 모든 패키지를 검사한다.

(3) 사용예

# rpm -V sendmail

   …….T c /etc/aliases

   S.5….T c /etc/mail/local-host-names

      => sendmail 패키지를 검사

# rpm -Va

      => 모든 패키지를 검사한다.

(4) RPM 검증코드

  5 : MD5체크섬을 변경

  S : 파일의크기를 변경

  L : 심볼릭 링크를 변경

  T : 파일의 수정일을 변경

  D : 장치파일을 변경

  U : 파일사용자/소유자가 변경

  G : 파일 그룹이 변경

  M : 파일모드(권한과 파일형태)가 변경

  ? : 원인을 알 수 없거나 예측하지 못한 결과인 경우

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

3 Responses

  1. autumn cozy 말해보세요:

    autumn cozy

  1. 2022년 6월 18일

    2typewritten

  2. 2023년 1월 27일

    3explode

페이스북/트위트/구글 계정으로 댓글 가능합니다.