본문 바로가기

Programming/Linux Tip

linux 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 : 파일모드(권한과 파일형태)가 변경
  ? : 원인을 알 수 없거나 예측하지 못한 결과인 경우

'Programming > Linux Tip' 카테고리의 다른 글

linux 명령어 재 사용  (0) 2010.08.24
linux 압축 관련 명령어 모음  (0) 2010.01.14
Linux Network proxy setting 방법  (0) 2010.01.14
linux yum 명령어  (0) 2010.01.14
linux ftp 명령어  (0) 2010.01.14