본문 바로가기
Linux

RPM

by Yoon_estar 2023. 12. 28.
728x90
반응형

개요

rpm은 RedHat Package Manager의 약자로 패키지 관리를 할 때 사용하는 명령어입니다.
rpm은 소프트웨어의 의존성을 관리하므로 설치나 업그레이드가 용이해지고 패키지에 전자 서명을 추가할 수 있으며 패키지의 위변조 여부를 검증할 수 있으므로 해커가 악의적으로 변조한 rpm을 배포하는 걸 막을 수 있다.
명령어 full name 용도
-q --query 패키지 정보 질의
-U --upgrade 패키지 업그레이드
-i --install 패키지 설치
-e --erase 패키지 삭제
-V --verify 패키지 검증
-K --checksig 서명 검증

설치

기본 옵션

-i(install) 옵션

v, h 옵션과 함께 사용 가능
v(verbose) : 설치 시 상세 내용을 함께 출력
h(hash makrks) : 설치 시 progress를 #로 표시
# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm

추가 옵션

--nodeps : 의존성을 무시하고 설치를 진행(정상 동작하지 않을 수 있음)
--replacepkgs : 기존 설치된 동일 패키지가 있다면 패키지를 교체
--replacefiles : 기존 설치된 동일 패키지가 있다면 파일을 교체
-- force : 강제로 설치를 진행(정상 동작하지 않을 수 있음)
# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm --nodeps
# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm --replacepkgs
# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm --replacefiles
# rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm -- force

업그레이드

기본 옵션

-U(upgrade) 옵션

v, h 옵션과 함께 사용 가능
v(verbose) : 설치 시 상세 내용을 함께 출력
h(hash makrks) : 설치 시 progress를 #로 표시
# rpm -U httpd-2.4.6-95.el7.centos.x86_64.rpm​
# rpm -Uvh httpd-2.4.6-95.el7.centos.x86_64.rpm​

추가 옵션

--nodeps : 의존성을 무시하고 설치를 진행(정상 동작하지 않을 수 있음)
--replacepkgs : 기존 설치된 동일 패키지가 있다면 패키지를 교체
--replacefiles : 기존 설치된 동일 패키지가 있다면 파일을 교체
--force : 강제로 설치를 진행(정상 동작하지 않을 수 있음)
--oldpackage : 새로 설치할 패키지가 기존 설치된 패키지보다 낮은 버전의 패키지더라도 설치하는 옵션(다운 그레이드 할 때 사용 가능)
# rpm -U httpd-2.4.6-95.el7.centos.x86_64.rpm​ --nodeps
# rpm -Uvh httpd-2.4.6-95.el7.centos.x86_64.rpm​ --replacepkgs
# rpm -U httpd-2.4.6-95.el7.centos.x86_64.rpm​ --replacefiles
# rpm -Uvh httpd-2.4.6-95.el7.centos.x86_64.rpm​ --force
# rpm -Uvh httpd-2.4.6-95.el7.centos.x86_64.rpm​ --oldpackage

삭제

기본 옵션

-e(erase) 옵션

v, h 옵션과 함께 사용 가능
v(verbose) : 설치 시 상세 내용을 함께 출력
h(hash makrks) : 설치 시 progress를 #로 표시
# rpm -e httpd-2.4.6-95.el7.centos.x86_64.rpm​
# rpm -eVH httpd-2.4.6-95.el7.centos.x86_64.rpm​

추가 옵션

--nodeps : 의존성을 무시하고 설치를 진행(정상 동작하지 않을 수 있음)
--test : 실제 삭제하지 않고, 삭제 했을 경우 의존성 문제가 있는지 확인할 수 있는 옵션
# rpm -e httpd-2.4.6-95.el7.centos.x86_64.rpm​ --nodeps
# rpm -eVH httpd-2.4.6-95.el7.centos.x86_64.rpm​ --test

확인

기본 옵션

-q(query) 옵션

가장 많은 조합이 가능한 옵션
특정 패키지의 정보 뿐만 아니라 시스템에 설치된 패키지들의 정보 확인 가능
# rpm -q http

추가 옵션

a(all) : 시스템에 설치 된 전체 패키지 정보 확인
grep 명령어와 함께 특정 패키지가 설치 되었는지 확인 가능
rpm -qa | grep http


i(info) : 설치된 패키지의 정보 확인
rpm -qi httpd-​


ip : rpm 파일의 상세 정보 확인
아직 설치 되지 않은 패키지의 상세 정보 확인은 ip 옵션을 통해 수행
rpm -ip httpd-devel​


Rp : rpm 파일의 의존성 확인
설치 되지 않은 패키지의 의존성 확인을 위해 사용
rpm -qRp http-parser-devel-2.7.1-9.el7.i686.rpm​


l(list) : 설치된 패키지의 파일 경로(위치) 확인
rpm -ql http​


lp : rpm 패키지 파일 안의 파일들의 경로를 확인
rpm 파일을 통해 패키지를 설치할 경우 어떤 파일들이 설치될 지 미리 알 수 있다.
rpm -qlp http​


f : 특정 파일을 어떤 패키지가 설치했는지 확인하고 싶을 때 사용
rpm -qf http​


c : 내부 설정 파일 확인
rpm -qc http​


d : 내부 문서 파일 확인
rpm -qd http​

 

반응형

'Linux' 카테고리의 다른 글

계정 관리하기 (2)  (0) 2024.02.13
계정 관리하기(1)  (0) 2024.02.13
호스트 이름 바꾸기  (0) 2023.12.22
SSH  (0) 2023.12.22
리눅스 하드웨어 확인 명령어 정리  (0) 2023.12.11