본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Red Hat Package Manager
  • -i : 설치
  • -e : 제거
    • --nodeps : 설치·제거 시 의존도를 고려하지 않고 진행한다.
    • --force : 강제로 진행한다. 설치·업그레이드 때 이미 설치된 패키지나 파일 충돌을 무시하고 덮어쓴다(--replacepkgs, --replacefiles, --oldpackage 를 합친 것).
  • -U : 업그레이드
  • -q : 쿼리(조회)
  • -p : 대상 패키지 파일 지정
  • -v : 작업 내용 상세 출력
  • -V : 패키지 검증

rpm 은 첫 옵션으로 무슨 일을 할지(모드)를 정하고, 그 뒤 옵션으로 세부 동작을 고른다.

모드 옵션 하는 일
설치 -i 새 패키지를 설치한다
갱신 -U, -F 업그레이드한다(-F 는 이미 설치된 것만)
제거 -e 패키지를 지운다
질의 -q 패키지 정보를 조회한다
검증 -V 설치된 파일이 패키지와 같은지 검사한다
  • 질의 모드 세부 옵션 : -a(설치된 모든 패키지, rpm -qa), -i(정보), -l(파일 목록), -c(설정 파일), -f 파일(그 파일이 속한 패키지), -R(--requires, 이 패키지가 설치·동작하는 데 필요한 패키지·기능 목록), --provides(이 패키지가 제공하는 기능)
  • -p 는 조회 대상을 설치된 패키지 이름이 아니라 패키지 파일(.rpm)로 바꾸는 옵션이다(rpm -qip 파일.rpm). 필요한 패키지 목록을 보는 옵션은 -R 이다
  • 패키지 설치
    • rpm -ivh [패키지명]
    • 패키지 파일 자리에 FTP·HTTP URL 을 그대로 주어 원격 서버의 패키지를 받아 설치할 수 있다.
      • rpm -ivh ftp://192.168.10.1/pub/vsftpd-2.0.5-28.el5.i386.rpm
    • -a(모든 패키지), -f(파일이 속한 패키지)는 -q 와 함께 쓰는 조회 옵션이라 설치에 쓰지 않는다. -ftp 같은 옵션은 없다.
  • 패키지 제거
    • rpm -ev [패키지명]
    • 다른 패키지가 의존하는 패키지를 강제로 지우기 : rpm -e 패키지명 --nodeps. 의존성 검사를 건너뛴다
    • --force 는 설치 쪽의 충돌을 무시하는 옵션이라 제거할 때 의존성 문제를 풀어 주지 않는다. 제거 모드는 -e(--erase)이고 -r 은 제거 옵션이 아니다
  • 업그레이드
    • rpm -Uvh 패키지명
  • 패키지 설치 확인
    • rpm -qa | grep [패키지명]
  • 파일이 속한 패키지 찾기
    • rpm -qf [파일]
  • 패키지에 포함된 파일 목록
    • rpm -ql [패키지명]
  • 설치된 패키지 정보 출력
    • rpm -qi [패키지명]
  • 설치되지 않은 패키지파일 정보 출력
    • rpm -qip [패키지파일명]
  • 패키지 검증
    • rpm -V [패키지명]
# rpm -V net-tools
S.5...T. /bin/netstat
  • -S : 파일의 크기가 변경되었다.
  • -M : 파일의 퍼미션이 변경되었다.
  • -5 : MD5 체크섬이 변경되었다.
  • -D : 장치 정보가 변경되었다.
  • -L : 심볼릭 링크가 변경되었다.
  • -U : 소유자 정보가 변경되었다.
  • -G : 소유그룹 정보가 변경되었다.
  • -T : 파일 수정 시간이 변경되었다.
  • RPM 데이터베이스 복구
    • rpm --rebuilddb

소스 RPM(SRPM)을 받아 spec 파일을 빌드할 때는 rpm 이 아니라 rpmbuild 명령을 쓴다.

  • -bp : prep 단계까지 수행한다 (압축 해제, 패치 적용)
  • -bc : build 단계까지 수행한다 (컴파일)
  • -bi : install 단계까지 수행한다
  • -bl : 파일 목록을 검사한다
  • -bb : 바이너리 패키지만 만든다
  • -bs : 소스 패키지만 만든다
  • -ba : prep, build, install 을 모두 수행한 뒤 바이너리와 소스 패키지를 함께 만든다
# rpm -Uvh vsftpd-2.4.0-2.src.rpm
# cd /root/rpmbuild/SPECS
# rpmbuild -ba vsftpd.spec