Manpages

이 름

rpm - 레 드 햇 패 키 지 관 리 자

개 요

rpm [옵 션 들 ]

설 명

rpm 은 강 력 한 패 키 지 관 리 자 로 서 각 각 의 소 프 트 웨 어 패 키 지 를 만 들 고 설 치 하 고 질 문 하 고 검 증 하 고 갱 신 하 며 제 거 할 수 있 다 . 패 키 지 란 설 치 할 화 일 들 과 이 름 , 버 전 , 설 명 등 을 포 함 하 는 패 키 지 정 보 를 지 닌 저 장 화 일 이 다 .

기 본 적 인 7 가 지 동 작 모 드 가 있 으 며 각 각 다 른 옵 션 들 을 갖 는 다 . 설 치 , 질 문 , 검 증 , 서 명 확 인 , 제 거 , 제 작 , 그 리 고 데 이 터 베 이 스 재 건 설 이 바 로 그 것 이 다 .

설 치 모 드 :
rpm -i [설 치 옵 션 ] <패 키 지 화 일 >+

질 문 모 드 :
rpm -q [질 문 옵 션 ]

검 증 모 드 :
rpm -V|-y|--verify [검 증 옵 션 ]

서 명 확 인 모 드 :
rpm --checksig <패 키 지 화 일 >+

제 거 모 드 :
rpm -e <패 키 지 명 >+

제 작 모 드 :
rpm -b
O [제 작 옵 션 ] <패 키 지 스 펙 >+

일 반 적 옵 션

다 음 옵 션 들 은 각 기 다 른 모 드 에 서 도 사 용 가 능 하 다 .

-vv

아 주 자 세 하 게 디 버 깅 정 보 를 출 력 한 다 .

--keep-temps

임 시 화 일 을 지 우 지 않 는 다 . (/tmp/rpm-*). rpm 을 디 버 깅 할 때 만 주 로 사 용 한 다 .

--quiet

최 대 한 출 력 을 자 제 하 며 오 로 지 에 러 메 세 지 만 출 력 한 다 .

--help

좀 더 긴 사 용 법 설 명 서 를 출 력 한 다 .

--version

사 용 중 인 rpm 의 버 전 을 한 줄 로 표 시 한 다 .

--rcfile <화 일 >

/etc/rpmrc 또 는 $HOME/.rpmrc 을 사 용 하 지 않 고 <file> 을 사 용 하 도 록 한 다 .

--root <dir>

모 든 동 작 에 대 하 여 최 상 위 디 렉 토 리 를 주 어 진 디 렉 토 리 로 설 정 하 고 작 업 한 다 . 예 를 들 어 설 치 시 주 어 진 디 렉 토 리 를 / 라 고 생 각 하 고 그 것 을 기 준 으 로 설 치 해 나 간 다 .

설 치 옵 션

rpm 설 치 명 령 의 일 반 적 인 형 태 는 다 음 과 같 다 .

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 질 문 옵 션 의 일 반 적 인 형 식 은 다 음 과 같 다 .

rpm -q [질 문 옵 션 ]

여 러 분 은 패 키 지 정 보 가 표 시 될 형 식 을 결 정 해 주 어 야 한 다 . --queryformat 옵 션 뒤 에 형 식 문 자 열 을 적 어 주 면 된 다 .

질 문 형 식 은 표 준 printf(3) 형 식 을 약 간 변 형 한 것 이 다 . 형 식 은 정 적 문 자 열 과 ( 개 행 문 자 , 탭 , 그 리 고 다 른 특 수 문 자 에 대 한 표 준 C 문 자 이 스 케 이 프 표 기 ) printf(3) 형 식 지 정 자 로 구 성 되 어 있 다 . rpm은 이 미 출 력 형 태 를 알 고 있 으 므 로 타 입 지 정 자 는 생 략 하 고 {} 문 자 로 묶 어 서 헤 더 태 그 의 이 름 으 로 바 꾸 어 주 어 야 한 다 . 태 그 명 중 RPMTAG_ 부 분 은 생 략 해 야 하 며 태 그 명 앞 에 는 - 문 자 를 적 어 주 어 야 한 다 .

예 를 들 어 질 문 대 상 패 키 지 의 이 름 만 출 력 하 고 자 하 는 경 우 여 러 분 은 %{NAME} 을 형 식 문 자 열 로 사 용 해 야 한 다 . 패 키 지 명 과 배 포 판 정 보 를 두 개 의 칼 럼 으 로 표 시 하 고 자 할 때 는 %-30{NAME}%{DISTRIBUTION} 라 고 적 는 다 .

rpm--querytags 옵 션 을 주 면 인 식 하 고 있 는 모 든 태 그 의 목 록 을 보 여 준 다 .

질 문 옵 션 에 는 2 가 지 세 트 가 있 다 : 패 키 지 선 택 과 정 보 선 택

패 키 지 선 택 옵 션 :
<패 키 지 명 >

<package_name>라 는 이 름 의 패 키 지 에 대 한 질 문 를 수 행 한 다 .

-a

모 든 패 키 지 에 대 하 여 질 문 를 수 행 한 다 .

-whatrequires <기 능 >

제 대 로 작 동 하 기 위 해 서 는 <기 능 > 을 필 요 로 하 는 모 든 패 키 지 에 대 하 여 질 문 을 수 행 한 다 .

-whatprovides <가 상 >

<virtual> 기 능 을 제 공 하 는 모 든 패 키 지 에 대 하 여 질 문 을 수 행 한 다 .

-f <화 일 >

<화 일 >를 포 함 하 는 패 키 지 에 대 하 여 질 문 을 수 행 한 다 .

-F

-f 와 같 지 만 화 일 명 을 표 준 입 력 에 서 읽 는 다 .

-p <패 키 지 화 일 >

설 치 된 또 는 설 치 되 지 않 은 <패 키 지 화 일 > 에 대 하 여 질 문 을 수 행 한 다 .

-P

-p 와 같 지 만 패 키 지 화 일 명 을 표 준 입 력 에 서 읽 는 다 .

정 보 선 택 옵 션 :

-i

패 키 지 이 름 , 버 전 , 설 명 등 의 정 보 를 출 력 한 다 . 만 약 --queryformat 이 주 어 져 있 다 면 그 것 을 이 용 하 여 출 력 한 다 .

-R

현 재 패 키 지 지 가 의 존 하 고 있 는 패 키 지 목 록 을 보 여 준 다 . (--requires 과 같 음 )

--provides

패 키 지 가 제 공 하 는 기 능 을 보 여 준 다 .

-l

패 키 지 안 의 화 일 을 보 여 준 다 .

-s

패 키 지 안 에 든 화 일 의 상 태 를 보 여 준 다 .(-l은 포 함 ) 각 화 일 의 상 태 는 normal(정 상 ), not installed(설 치 되 지 않 음 ), replaceduB2E4]른 것 으 로 교 체 됨 )의 값 을 갖 는 다 .

-d

문 서 화 일 만 보 여 준 다 .(-l은 포 함 )

-c

설 정 화 일 만 보 여 준 다 .(-l은 포 함 )

--scripts

설 치 , 제 거 과 정 에 사 용 되 는 쉘 스 크 립 트 가 있 다 면 그 내 용 을 출 력 한 다 .

--dump

다 음 과 같 은 화 일 정 보 를 덤 프 한 다 : 경 로 크 기 수 정 일 , MD5 체 크 섬 , 모 드 , 소 유 자 , 그 룹 , 설 정 화 일 여 부 , 문 서 화 일 여 부 , rdev, 심 볼 릭 링 크 여 부 . 최 소 한 -l, -c, -d 이 들 옵 션 중 하 나 가 사 용 되 어 야 한 다 .

검 증 옵 션

rpm 검 증 옵 션 의 일 반 적 인 형 태 는 다 음 과 같 다 .

rpm -V|-y|--verify [검 증 옵 션 ]

설 치 되 어 있 는 화 일 들 에 대 하 여 rpm 데 이 터 베 이 스 에 저 장 된 내 용 과 오 리 지 널 패 키 지 의 내 용 을 비 교 한 다 . 검 증 내 용 은 크 기 , MD5 체 크 섬 , 퍼 미 션 , 타 입 , 소 유 자 , 그 룹 등 이 다 . 차 이 점 이 발 견 되 면 출 력 한 다 . 패 키 지 지 시 옵 션 은 패 키 지 질 문 옵 션 에 서 와 같 다 .

출 력 형 식 은 9 자 의 문 자 열 이 다 . "c"은 설 정 화 일 을 의 미 하 며 그 리 고 화 일 명 이 나 타 난 다 . 각 각 의 . 개 문 자 는 RPM 데 이 터 베 이 스 에 저 장 된 속 성 과 비 교 한 결 과 를 나 타 낸 다 . "." (피 리 어 드 ) 문 자 는 이 상 없 음 을 나 타 낸 다 . 비 교 결 과 문 제 점 이 발 견 되 면 다 음 과 같 은 문 자 가 나 타 난 다 .

5

MD5 체 크 섬

S

화 일 크 기

L

심 볼 릭 링 크

T

갱 신 일

D

장 치

U

사 용 자

G

그 룹

M

퍼 미 션 과 화 일 타 입 을 포 함 한 모 드

서 명 확 인

rpm 서 명 확 인 명 령 은 다 음 과 같 다 .

rpm --checksig <패 키 지 화 일 >+

패 키 지 의 오 리 지 널 여 부 를 가 려 내 기 위 하 여 패 키 지 안 에 든 PGP 서 명 을 점 검 한 다 . PGP 설 정 정 보 는 /etc/rpmrc 에 서 읽 어 온 다 . 세 부 사 항 은 "PGP 서 명 " 섹 션 을 보 기 바 란 다 .

제 거 옵 션

rpm 제 거 명 령 의 일 반 적 인 형 태 는 다 음 과 같 다 .

rpm -e <패 키 지 화 일 >+
--noscripts

preunistall, postuninstall 스 크 립 트 를 실 행 하 지 않 는 다 .

--nodeps

패 키 지 제 거 시 의 존 성 을 검 사 하 지 않 는 다 .

--test

실 제 로 패 키 지 를 제 거 하 는 것 은 아 니 고 테 스 트 해 본 다 . -vv 옵 션 .

제 작 옵 션

rpm 제 작 명 령 의 일 반 적 형 식 은 다 음 과 같 다 .

rpm -bO [제 작 옵 션 ] <패 키 지 스 펙 >+

-bO 은 제 작 단 계 와 제 작 할 패 키 지 를 나 타 내 는 것 으 로 서 다 음 중 하 나 의 값 을 갖 는 다 :

-bp

스 펙 화 일 의 "%prep" 단 계 를 실 행 한 다 . 보 통 소 스 를 풀 고 패 치 를 가 하 는 작 업 이 다 .

-bl

"목 록 점 검 "을 한 다 . "%files" 섹 션 은 확 장 매 크 로 이 다 . 이 화 일 들 이 존 재 하 는 지 여 부 를 알 아 본 다 .

-bc

"%build" 단 계 를 수 행 한 다 .( prep 단 계 를 한 후 ) 보 통 make 에 해 당 하 는 일 을 해 낸 다 .

-bi

"%install" 단 계 를 수 행 한 다 .( prep, build 단 계 를 거 친 후 ) 보 통 make install 에 해 당 하 는 일 을 한 다 .

-bb

바 이 너 리 패 키 지 를 만 든 다 .( prep, build, install 단 계 를 수 행 한 후 )

-ba

바 이 너 리 와 소 스 패 키 지 를 만 든 다 .( prep, build, install 단 계 를 수 행 한 후 )

다 음 옵 션 도 사 용 가 능 하 다 :
--short-circuit

중 간 단 계 를 거 치 지 않 고 지 정 한 단 계 로 직 접 이 동 한 다 . -bc-bi하 고 만 쓸 수 있 다 .

--timecheck

"시 간 점 검 "을 0 ( 불 가 능 )으 로 설 정 한 다 . 이 값 은 rpmrc 에 서 "timecheck:" 로 설 정 할 수 있 다 . 시 간 점 검 값 은 초 로 표 시 되 는 데 화 일 이 패 키 징 되 는 걸 리 는 최 대 시 간 을 정 한 다 . 시 간 을 초 과 하 는 화 일 들 에 대 하 여 경 고 메 시 지 가 출 력 된 다 .

--clean

패 키 지 를 만 든 후 build 디 렉 토 리 를 지 운 다 .

--test

어 떠 한 build 단 계 를 거 치 지 않 는 다 . 스 펙 화 일 을 테 스 트 할 때 유 용 하 다 .

--sign

패 키 지 안 에 PGP 서 명 을 넣 는 다 . 패 키 지 를 누 가 만 들 었 는 지 확 인 할 수 있 다 . /etc/rpmrc 에 대 한 설 명 은 PGP 서 명 섹 션 을 읽 어 보 라 .

재 제 작 , 재 컴 파 일 옵 션

단 두 가 지 만 있 을 뿐 이 다 :

rpm --recompile <소 스 패 키 지 화 일 >+

rpm --rebuild <소 스 패 키 지 화 일 >+

rpm 은 주 어 진 소 스 패 키 지 를 설 치 하 고 prep, 컴 파 일 , 설 치 를 해 준 다 . --rebuild는 새 로 운 바 이 너 리 패 키 지 도 만 들 어 준 다 . 제 작 을 마 치 면 build 디 렉 토 리 는 --clean 옵 션 에 서 와 마 찬 가 지 로 지 워 진 다 . 패 키 지 로 부 터 나 온 소 스 와 스 펙 화 일 은 삭 제 된 다 .

기 존 의 RPM에 서 명 하 기

rpm --resign <바 이 너 리 패 키 지 화 일 >+

패 키 지 화 일 에 새 로 운 서 명 을 한 다 . 기 존 의 서 명 은 삭 제 된 다 .

PGP 서 명

서 명 기 능 을 사 용 하 기 위 해 서 는 PGP 를 사 용 할 수 있 어 야 한 다 .( 여 러 분 의 패 스 걸 린 디 렉 토 리 설 치 되 어 있 어 야 한 다 ) 그 리 고 RPM 공 개 키 를 포 함 하 는 공 개 키 링 을 찾 을 수 있 어 야 한 다 . 기 본 적 으 로 RPM은 PGPPATH에 서 지 시 하 는 PGP 기 본 설 정 을 사 용 한 다 . PGP가 기 본 적 으 로 사 용 하 는 키 링 을 갖 고 있 지 않 을 때 는 /etc/rpmrc 화 일 에 다 음 과 같 이 설 정 해 두 어 야 한 다 .
pgp_path

/usr/lib/rpm 대 신 쓰 일 경 로 명 . 여 러 분 의 키 링 을 포 함 해 야 한 다 .

여 러 분 이 만 든 패 키 지 에 서 명 을 하 려 면 , 여 러 분 은 자 신 의 공 개 키 와 비 밀 키 한 쌍 을 만 들 어 두 어 야 한 다 .( PGP 매 뉴 얼 참 고 ) /etc/rpmrc 에 적 는 것 말 고 도 다 음 사 항 을 추 가 해 야 한 다 :
signature

서 명 유 형 . 현 재 로 서 는 pgp 만 지 원 된 다 .

pgp_name

여 러 분 의 패 키 지 에 서 명 할 user 명 을 적 는 다 .

패 키 지 제 작 시 --sign 옵 션 을 추 가 한 다 . 여 러 분 의 입 력 을 받 고 나 면 패 키 지 가 만 들 어 지 고 동 시 에 서 명 된 다 .

데 이 터 베 이 스 재 생 성 옵 션

rpm 데 이 터 베 이 스 를 다 시 만 드 는 명 령 은 다 음 과 같 다 .

rpm --rebuilddb

이 모 드 와 사 용 되 는 옵 션 으 로 는 --dbpath--root 둘 뿐 이 다 .

관 련 화 일

/etc/rpmrc
~/.rpmrc
/var/lib/rpm/packages
/var/lib/rpm/pathidx
/var/lib/rpm/nameidx
/tmp/rpm*

참 고

glint(8), rpm2cpio(8), http://www.redhat.com/rpm

저 자

Marc Ewing <marc [AT] redhat.com>
Erik Troan <ewt [AT] redhat.com>

번 역 자

이 만 용 <geoman [AT] nownuri.kr>
<freeyong [AT] soback.kr>