[Linux]

[Linux] 리눅스 RPM

UtakerS 2022. 5. 25. 14:20
반응형

RPM

RedHat Package Manager

초창기 리눅스에는 없었던 패키지 개념을 도입하여 설치와 삭제, 업그레이드 등을 편히 하도록 만들어, 리눅스를 성장 시키는데 큰 도움을 제공

 

패키지파일도 리눅스 계열마다 다 다르다.

레드햇 - .rpm

데비안 - .deb

 

Vim-enhanced-7.0.109-3.i386.rpm

Vim-enhanced : 패키지명

7.0.109-3(major.minor.patch-release) : 버전

i386 : 아키텍쳐

rpm : 확장자

패키지 설치

하나의 프로그램을 설치하기위해서 여러개의 패키지를 설치해야 할 수 있다. 

 

설치할때 혹은 기존 패키지를 업그레이드 할때

의존성 문제 발생

패키지들 사이에서 의존관계를 형성

 

ex) C패키지 기능은 B패키지 기능이 있어서 사용할 수 있음

     >> B패키지 먼저 설치해야함

 

ex) B패키지를 먼저 설치해도 C가 설치 안될때가 있음

     C가 요구하는 B의 버전이 안맞음 / 설치한 B버전이 요구되는 버전보다 높음

     >> 1. 다운그레이드

     >> 2. 의존성 무시(--nodeps) / 문제가 생길 수 있으니 메모

 

 

 

 


RPM -option

install

rpm -i [rpm_file]

 

upgrade 

rpm -U [rpm_file]

 

freshen

rpm -F [rpm_file]

 

erase

rpm -e [rpm_package]                         -vh 보통 같이 사용

 

 

 

 

많이 쓰는 구문

rpm -ihv : 설치

rpm -Uhv : 업그레이드

rpm -qa | grep [패키지] : 설치 되어있는 패키지 이름 검색

 


http://mirror.centos.org/centos/7/os/x86_64/Packages/

 

CentOS Mirror

 

mirror.centos.org

여기서 필요한 패키지들 다운받아가면서

mariadb-*

설치

 

tips

 

귀찮더라도 설치하기전에 이미 설치된 패키지가 있나 확인

(이미 설치가 되어있을경우 버전차이) 

>> 새로운 버전으로 업그레이드 하거나 --nodeps 하거나

 

업그레이드 할때 이전 패키지을 삭제하고 새로운 패키지를 설치하는 방식인데

기존 패키지를 삭제할때 삭제될 패키지가 필요한 다른 패키지들과 의존성 이슈가 발생할 수 있다.

--nodeps를 사용하거나 제될 패키지가 필요한 다른 패키지들 또한 업그레이드 해주어야한다.

 

서로 의존하고 있는경우 동시에 업그레이드해주면 된다.

 

libs : 프로그램에서 필요한 라이브러리들을 모아놓은 패키지

프로그램을 설치할때 libs 먼서 설치해주는게 좋다

 

devel : 의존성 많이 발생함

 

내가 하고있는게 맞나 의문이 들때가 있는데

맞음 원래 그런거임

rpm은 노가다임

메모장 켜놓고 적어가면서 하나씩 하나씩 천천히 해결해나가면 됨

 

 

반응형