hann-blume
Linux - RPM(Redhat Package Management) 본문
RPM은 우리가 리눅스를 사용할 때 필요한 패키지가 있을 경우
해당 패키지를 설치하기 위해 사용한다.
기본적인 사용방법을 알아보자
패키지 설치
# rpm -ivh [패키지 전체 이름]
이 세가지 옵션은 공식으로 다같이 쓴다고 알고있자.
옵션
-i | install 설치한다 |
-v | verbose 설치과정을 보여준다 |
-h | hash마크로 진행현황을 보여준다 |
패키지 삭제
# rpm -e [패키지 명]
옵션
e | erase 삭제 |
패지키 삭제시 [패키지 명]은
패키지 설치 시 [패키지 전체 이름] 과는 다르다.
패키지의 이름은 기본적으로
패키지명, 패키지버전, 시스템아키텍쳐, 확장명
으로 이루어져있는데( 이 부분은 아래서 다시 설명하겠다)
설치 시에는 말그대로 전체이름(Full Name)을 입력해야하고
삭제시에는 패키지명 부분만 입력하면 된다.
설치된 패키지 확인
# rpm -qa | grep [패키지명]
옵션
q | query 요청 |
a | all |
패키지 작업의 명령어를 알았으니
패키지 이름의 풀네임을 쪼개서 살펴보도록 하자.
예를 들어
vim-enhanced-7.4.160-6.el7_6.x86_64.rpm
이라는 패키지가 있고
vim-enhanced | 대표 패키지이름 |
-7.4.160-6.el7_6 | 패키지 버전 |
x86_64 | 시스템 아키텍쳐 |
rpm | 확장명 |
으로 이루어져있다.
좀더 세부적으로 알아보자.
vim | 대표패키지이름 |
enhanced | 패키지이름(보조) |
7 | major 버전 |
4 | miner 버전 |
160 | 패치버전(update) |
6 | release(몇 번째 배포인지를 의미) |
el7_6 | enterprise Linux 7_6 (= CentOS 7.6을 의미) |
x86_64 | 64bit를 의미 |
rpm | rpm = 확장자 |
여기서 중요한 포인트가 있다.
x86_64는 64비트를 의미한다.
즉, 64비트 운영체제 전용이라는 말이다.
하지만 pc에도 32비트 운영체제가 있듯 리눅스에도 있다.
각 운영체제의 비트에 맞는 것을 설치해야한다.
x86_64 | 64비트 |
i686 | 32비트 |
noarch | 64비트, 32비트 모두 사용가능 |
rpm으로 패키지를 설치할 때는 이 비트를 꼭 확인해서 자신의 운영체제와
맞는 것을 설치해야한다.
만약 64비트 운영체제에
x86_64 와 noarch가 아닌 i686 패키지를설치하면
심각한 문제가 발생할 수 있고, 해당 패키지가 설치는 되지만
삭제가 되지않을 수도 있다.
추가내용.
upgrade 와 update의 차이.
upgrade = 윈도우7 -> 윈도우10
즉 major버전이 바뀌는 것을 upgrade 라고 한다.
update = 윈도우7.1.1 -> 윈도우7.1.2
즉, miner버전이 바뀌는 것을 update 라고 한다
rpm을 이용하여 패키지를 설치하는 과정은
리눅스 20일차 [mariadb 패키지 설치]
안녕하세요. 19일차에 이어 바로 mariadb 패키지 파일을 rpm 명령어를 통해 설치를 해보도록 하겠습니다. ...
blog.naver.com
이 블로그 포스팅을 통해 확인해보길 바란다.
왜 직접 하는 모습을 올리지 못한 건지 단번에 알 수있다.
위 블로그의 포스팅은 mariaDB를 rpm을 이용해 설치하는 모습과
rpm의 단점을 적나라하게 아주 잘 보여주고 있다.
패키지를 설치할 때는 이처럼 rpm을 이용해서 하나하나 의존성 문제를 해결하는 방법과
yum 이라는 것을 이용해 한번에 알아서 설치가 되는 방법이 있다.
후에 yum에 대해 포스팅하겠다.
위 블로그에 들어가서 꼭 끝까지 읽어보길 추천한다.
그래야 yum을 왜 사용하는지 확실하게 알 수 있다.
참고로 의존성은
1을 설치하기 위해 2가 필요하고
반대로 3을 삭제할 때 4를 먼저 삭제해주어야 하는
말그대로 의존하는 것을 말한다.
위에서 추천한 블로그 포스팅을 꼭 보라고 한 이유는
한 번쯤은 rpm을 이용해 설치해보는 경험이 중요하다.
현업에서 인터넷이 된다면 yum을 사용하면 되지만
인터넷이 안될경우, 또는 그외의 어떤 변수로인해
yum을 사용하지 못하게되면 rpm을 직접 설치해주어야한다.
-rpm을 이용해 패키지를 설치할 때의 공식-
1. 의존성 오류를 '절대' 무시하지 말아야한다.
2. 의존성 오류를 제기한 패키지부터 작업한다.
3. 디렉터리로 구성된 것들은 '패키지'가 아니므로 의존성 오류를 무시한다.
4. 'lib'로 시작하고 중간에 'so'라는 것으로 명시된 것들은 의존성 오류를 무시해도된다.
5. 관련있는 패키지들은 '동일한 버전' 이어야한다.
6. 패키지 작업은 '대표 패키지'부터 적업한다.
7. 나머지 패키지들은 보이는 순서대로 작업을 진행한다.
8. 가급적 의존성을 무시하는 명령어 --nodeps를 쓰지 않도록 한다
이 공식은 4번을 제외하고는 기억하는 것이 좋다.
4번은 항상 절대적인 것이 아니기 때문이다.
이걸로 RPM에 대한 설명이 끝났다.
'Linux' 카테고리의 다른 글
Linux - 부팅오류 복구 / root계정 암호 재설정 (0) | 2020.02.25 |
---|---|
Linux - Partition (0) | 2020.02.25 |
Linux - Umask (0) | 2020.02.25 |
Linux - 특수권한 (SetUID, SetGID, StickyBit) (0) | 2020.02.25 |
Linux - 데이터 압축 유틸리티 (0) | 2020.02.23 |