[Linux] 리눅스 RPM
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은 노가다임
메모장 켜놓고 적어가면서 하나씩 하나씩 천천히 해결해나가면 됨