* RPM 파일 설치 전 파일로 압축 해제 방법
rpm2cpio [rpm 파일 이름] | cpio -idv
rpm -qip 패키지.rpm
rpm -Va : 설치되어 있는 rpm 정보
rpm -qf 파일 절대 경로 : 이미 설치되어 있는 rpm의 버젼 정보
rpm -qRp 패키지.rpm : 해당 파일과 의존성을 갖는 파일들 출력
rpm -qip 패키지.rpm : 해당 파일에 대한 파일 목록 표시 spec파일에 쓰인 정보 출력
rpm -ql 패키지.rpm : 설치된 RPM 파일의 목록 표시
rpm -qlp 패키지.rpm : 설치할 RPM 파일의 목록 표시
rpm2cpio 패키지.rpm | cpio -i --make-directories -E 패키지
RPM 명령
1. 설치모드
-i (--install) : 패키지 최초설치 시 사용, 이전버전 있으면 설치안됨
-U(--upgrade) : 기존 패키지를 업그레이드 할 때 사용
이미 설치 된 패키지 없을 시에도 가능함(위 i옵션과 같아짐)
-F(--freshen) : 이전 버전이 설치된 경우에만 설치, 업데이트라고 볼 수 있음
--force : 기존에 설치된 패키지와 그 파일을 강제로 다시 설치하도록 함
--nodeps : 의존성 문제 일으켜 설치 안될 경우에 무시해버리는 옵션(no dependancy)
*설치 시 같이 사용하는 옵션
-v : 메시지를 자세히 보여준다(verbos)
-h : #기호 표시해 준다 (hash)
#rpm -ivh kernel-2.6.21-15.EL.i386.rpm
2. 제거모드
-e : 패키지를 제거할 때 사용 (eliminate)
--nodeps : 의존성 문제 일으켜 설치 안될 경우에 무시해버리는 옵션(no dependancy)
--allmatches : 중복되어 있는 경우 모두 지우는 옵션
#rpm -e httpd --nodeps
3. 질의모드
-q : 질의시 꼭 써야하는 옵션, 단독으로 쓰일경우 패키지가 설치되어 있는지 확인(--query)
-i : 설치된 패키지의 정보를 보여줌(--info)
-v : 패키지 버전 정보 확인
-l : 패키지에 포함된 모든 파일을 보여줌, 어디 설치되었는지 경로확인(--list)
-qa : 현재 설치된 모든 패키지 목록을 찾는데 사용, 보통 grep명령과 같이 사용
-qs : 설치된 패키지 정상 여부 확인
-qc : 설정 파일 확인
#rpm -qa | grep sendmail
-c : 해당 패키지의 설정파일이나 스크립트 파일을 보여줌
-f 파일명 : 지정된 파일이 포함된 패키지를 출력
-R : 어떤 패키지에 의존하고 있는지를 보여줌(--requires)
4. 검증모드
-V : verify 약자로 검증할 때 쓰는 기본 옵션
-a : 모든 패키지를 검사
#rpm -Va
* RPM 검증코드
5 : MD5 체크섬을 변경
S : 파일의 크기를 변경
L : 심볼릭 링크를 변경
D : 장치 파일을 변경
U : 파일 사용자/소유자가 변경
G : 파일 그룹이 변경
M : 파일모드(권한과 파일형태)가 변경
? : 원인을 알 수 없거나 예측하지 못한 결과인 경우
일반적 옵션
-v : 아주 자세하게 디버깅 정보를 출력한다.
--keep-temps : 임시 화일을 지우지 않는다. (/tmp/rpm-*). rpm 을 디버깅할 때만주로 사용한다.
--quiet : 최대한 출력을 자제하며 오로지 에러 메세지만 출력한다.
--help : 좀 더 긴 사용법 설명서를 출력한다.
--version : 사용 중인 rpm 의 버전을 한 줄로 표시한다.
--rcfile <화일> : /etc/rpmrc 또는 $HOME/.rpmrc 을 사용하지 않고 <file> 을 사용하도록 한다.
--root <dir> : 모든 동작에 대하여 최상위 디렉토리를 주어진 디렉토리로 설정하고 작업한다.
예를 들어 설치시 주어진 디렉토리를 / 라고 생각하고 그것을 기준으로설치해나간다.
설치 옵션
rpm -i [설치옵션들] <패키지화일>+
--force : --replacepkgs, --replacefiles, --oldpackage 를 모두 사용한 것과같다.
-h, --hash : 패키지를 풀 때 해쉬마크(#)를 표시한다. 총 갯수는 50 개이다. 좀 더 나은 출력을 위해서는 -v 를 함께 사용
--oldpackage : 새로운 패키지를 지우고 더 예전 패키지로 교체할 때 사용한다.
--percent : 패키지 화일을 풀 때 퍼센트 표시를 한다. 다른 도구로부터 rpm 을 이용할 때사용할 목적으로 만들어졌다.
--replacefiles : 이미 설치된 다른 패키지의 화일을 덮어쓰면서라도 패키지를 강제로 설치한다.
--replacepkgs : 패키지가 이미 설치되어 있다 하더라도 다시 설치한다
--root <디렉토리> : <디렉토리>를 루트로 하는 시스템에 설치를 수행한다. 데이터베이스는 <디렉토리> 밑에서 갱신되고 pre 또는 post
스크립트는 <디렉토리>로 chroot() 한 후 실행됨을 의미한다.
--noscripts : preinstall, postinstall 스크립트를 실행하지 않는다.
--excludedocs : 문서라고 표시되어 있는 화일(맨 페이지와 texinfo 문서)은 설치하지 않는다.
--includedocs : 문서 화일을 포함한다. 이 옵션은 rpmrc 화일에 excludedocs: 1 이라는 것이 명시되어 있을 때만 필요하다.
--nodeps : 패키지를 설치하기 전에 의존성을 검사하지 않는다.
--test : 패키지를 실제로 설치하지는 않고 충돌 사항이 있는지 점검하고 보고한다.
-U, --upgrade : 현재 설치되어 있는 패키지를 새로운 버전의 RPM으로 업그레이드하라.
인스톨과 같지만 예전 버전의 것이 자동으로 지워진다는 것이 다르다.
질문 옵션
rpm -q [질문옵션]
-a : 모든 패키지에 대하여 질문를 수행한다.
-whatrequires <기능> : 제대로 작동하기 위해서는 <기능> 을 필요로 하는 모든 패키지에 대하여질문을 수행한다.
-whatprovides <가상> : <virtual> 기능을 제공하는 모든 패키지에 대하여 질문을 수행한다
-f <화일> : <화일>를 포함하는 패키지에 대하여 질문을 수행한다.
-F : -f 와 같지만 화일명을 표준 입력에서 읽는다.
-p <패키지화일> : 설치된 또는 설치되지 않은 <패키지화일> 에 대하여 질문을 수행한다.
-P : -p 와 같지만 패키지 화일명을 표준 입력에서 읽는다.
정보 선택 옵션
-i : 패키지 이름, 버전, 설명 등의 정보를 출력한다. 만약 --queryformat 이 주어져 있다면 그것을 이용하여 출력한다
-R : 현재 패키지지가 의존하고 있는 패키지 목록을 보여준다. (--requires 과 같음)
--provides : 패키지가 제공하는 기능을 보여준다.
-l : 패키지 안의 화일을 보여준다.
-s : 패키지 안에 든 화일의 상태를 보여준다.(-l은 포함) 각 화일의 상태는 normal(정상),
not installed(설치되 지 않음), replaced¤른 것으로 교체됨)의 값을 갖는다.
-d : 문서 화일만 보여준다.(-l은 포함)
-c : 설정 화일만 보여준다.(-l은 포함)
--scripts : 설치, 제거 과정에 사용되는 쉘 스크립트가 있다면 그 내용을 출력한다.
--dump 다음과 같은 화일 정보를 덤프한다: 경로 크기 수정일, MD5 체크섬, 모드, 소유자, 그룹, 설정
제거 옵션
rpm -e <패키지화일>+
--noscripts : preunistall, postuninstall 스크립트를 실행하지 않는다.
--nodeps : 패키지 제거시 의존성을 검사하지 않는다.
--test : 실제로 패키지를 제거하는 것은 아니고 테스트해본다. -vv 옵션.
RPM(Kernel) Changelog 확인법
rpm -qp --changelog kernel-2.6.32-573.8.1.el6.x86_64.rpm
'Linux > CentOS & RHEL' 카테고리의 다른 글
[Bonding] CentOS / RHEL bonding 구성 (0) | 2020.08.20 |
---|---|
[Tip] 서버 hostid 변경 방법 (0) | 2020.08.18 |
[Tip] ssh만 되는 계정과 sftp만 되는 계정 생성(특정제한계정) (0) | 2020.08.10 |
[Tip] RHEL7.x / CentOS7.x 관련(Command) (0) | 2020.07.31 |
[SNMP] snmpwalk로 MIB 값 및 설명 확인 (0) | 2020.07.23 |