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

'시스템 > linux' 카테고리의 다른 글

리눅스 패널 복구  (0) 2010.10.19
[스크랩]페도라12 기본설정  (0) 2010.10.18
lex 와 bison  (0) 2010.10.17
[스크랩]ssh  (0) 2010.10.12
Redhat 9.0 vmare network config  (0) 2010.10.04

+ Recent posts