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