본문 바로가기
Develop/Server

[Linux] CentOS 에서 RPM 사용법 정리

by 코딩의성지 2020. 7. 22.

RPM은 잘 안쓰지만 일단 정리해두려고한다.

 

RPM

RPM 은 YUM 나오기 이전에 사용하던거라 최신버전에서는 YUM 을 사용하면 된다.

 

 

확장자 rpm인 파일은 윈도우에서 사용하는 setup.exe 와 비슷하게 쓸수 있는 거라고  생각하면 될듯하다.

 

rpm 파일의 기본 형식
패키지이름-버전-릴리즈번호.CentOS버전.아키텍처.rpm
EX)
mysql-connector-java-5.1.25-3.el7.noarch.rpm

mysql-connector-java 를 가지고 조금더 자세하게 살펴보면 

 

패키지이름 : mysql-connector-java
보통 하이픈(-) 으로 연결되어 있음

버전 : 5.1.25
대개 x.x.x 로 수어되어 있음 주버전, 부버전, 패치버전 순서임 숫자가 높을수록 최신임 

릴리즈번호 : 3
문제점 개선할때마다 붙여지는 번호임

CentOS버전 : el7
CentOS 에서 배포할 경우 붙여짐 el 은  Enterprise Linux의 줄임말이다. 즉 CentOS7 또는 Redhat Enterprise Linux 7용을 의미
el7은  CentOS 7 용을 의미하지만 일반적으로 다른버전의 CentOS 나 다른 리눅스에도 설치가 가능하다.

아키텍처 :noarch 
아키텍처부분에 올수 있는 내용 정리
i386, i486, i586, i686 : 인텔 또는 AMD 계열의 32비트 CPU , 구형 CPU 들
x86_64 : 인텔 또는 AMD 계열의 32비트 CPU , 가장 보편적으로 사용되는 CPU
alpha/sparc/ia64 : 미국 DEC사의 알파 프로세서, 썬 마이크로 시스템즈의 스팍 프로세서, 인텔의 아이테니엄 프로세서로 모두 cpu 명령어 개수를 줄여서 하드웨어 구조를 조금 더 간단하게 만드는 RISC(Reduced Instruction Set Computer) 설계 방식의 CPU를 의미한다. 잘사용하지는 않음
src: 소스 파일 패키지, 설치 후에 별도의 컴파일이 필요함
noarch : 모든 cpu에서 설치가능함

 

자주 사용하는 RPM 명령어 정리

-설치

rpm -Uvh 패키지이름.rpm

U(대문자) : 기존에 패키지가 설치되지 않았따면 일반적인 설치를 하고, 기존에 패키지가 설치되어 있다면 업그레이드 한다.(i 옵션은 설치가 되어 있으면 오류 발생하니 U를 쓰자.)
v : 설치과정을 확인
h : 설치 진행과정을 # 기호 옆에서 보여줌

 

-삭제

rpm -e 패키지이름

e -> erase 의 약자

 

-이미 설치된 패키지 조회

rpm -qa 패키지이름 -> 시스템에 패키지가 설치되었는지 확인
rpm -qf 파일절대경로 -> 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인
rpm -ql 패키지이름 -> 특정 패키지에 어떤 파일들이 포함되었는지 확인
rpm -qi 패키지 이름 -> 설치된 패키지의 상세 정보

 

-아직 설치되지 않은 rpm 파일 조회

rpm -qlp 패키지파일이름.rpm -> 패키지 파일에 어떤 파일들이 포함되었는지확인
rpm -qip 패키지파일이름.rpm -> 패키지 파일의 상세 정보

 

rpm 단점

rpm의 가장 큰문제는 의존성. 사전에 미리 설치되어있어야할 패키지가 설치되어 있지 않다면 추후에 설치해야할 패키지도 설치되지 않는다. 강제로 설치하는 --force 옵션과 의존성 무시하고 설치하는 --nodeps 옵션도 사용할 수 있지만 다 꼬여버릴수 있으니 조심해서 사용하자. (그냥 yum 추천)  (ex. Firefox는 X윈도에 의존성이 있음)
이러한 불편함을 해결한게 바로 yum이다. 다음 포스팅에서 yum을 정리하도록 하겠다.

 

끝!!

반응형

댓글