본문 바로가기
리눅스

CentOS 패키지 설치 시 사용하는 RPM과 DNF

by 햇병아리엔지니어 2022. 2. 4.
반응형

1. CentOS 패키지 프로그램 설치를 위한 RPM

CentOS에서 패키지를 설치하는 데 가장 많이 사용하는 것은 RPM과 DNF입니다. DNF가 나오기 이전에는 주로 RPM이 사용되었습니다. DNF는 RPM의 기능 및 개념을 모두 포함하고 있기 때문에 최신 버전의 CentOS에서 DNF를 사용하면 됩니다.

 

RPM

초창기 리눅스가 시작되었을 때 새로운 프로그램을 설치하기 매우 어려웠습니다. 설치를 보다 쉽게하기 위해 레드헷에서 windows의 셋업, 실행파일과 같은 프로그램 설치 후 바로 실행할 수 있는 설치 파일을 제작했습니다. 설치 파일의 확장명은 ***.rpm으로 이를 패키지라고 부릅니다.

 

RPM 파일의 형식

예를 들어 rpm 파일의 이름이 다음과 같습니다.

happyzip-2.3-5.el8.x84_64.rpm

파일이름을 각각 나열하면 패키지이름-버전-릴리즈번호.centOS버전.아키텍쳐.rpm 입니다.

 

1) 패키지 이름: happyzip / 다음과 같이 심플할 수 있으나 하이픈으로 연결된 긴 이름도 존재할 수 있습니다. 

2) 버전 : 2.3 대부분 2자리 또는 3자리 수로 구성된다. 주 버전, 부 버전, 패치 버전 순서대로 나열되며 숫자가 높을 수록             최신버전입니다.

3) 릴리즈 번호: 5 : 문제점을 개선 시 붙여지는 번호입니다. 1.2.3.4.5.6.7.8.9 등등 다양합니다.

4) CentOS 버전: el8 : CentOS 8에서 배포한 경우 붙여지며 el8은 레드헷 엔터프라이즈 리눅스8을 의미합니다.

5) 아키텍쳐 : x86_64 : x86 계열의 64bit CPU를 의미합니다. 

2.자주 사용하는 rpm 명령어 옵션

# 설치

rpm -Uvh 패키지파일이름. rpm 

 

U(대문자) : 기존에 패키지가 설치되어 있지 않았다면 일반적인 설치를 진행합니다. 패키지가 설치되어 있다면 업그레이드를 합니다. 이때 설치되어 있을 경우 i 옵션은 오류가 발생하기 때문에 U 옵션이 설치 시에는 더 편리합니다. 

v : 설치 과정 확인

h : 설치 과정을 기호 #으로 화면에 출력해줍니다.

 

# 삭제

rpm -e 패키지이름

e : erase(지움)의 약자로 패키지이름 삭제 시 사용합니다.

 

# 이미 설치된 패키지 조회방법

rpm -qa 패키지 이름 : 시스템에 패키지가 설치되어있는 지 확인하는 명령어입니다.

rpm -ql 패키지이름 : 특정 패키지에 어떤 파일들이 포함되어있는 지 확인해주는 명령어입니다.

rpm -qi 패키지이름 : 설치된 패키지의 상세 정보를 확인 할 수 있는 명령어입니다.

rpm -qf 파일의절대경로 : 이미 설치된 파일이 어느 패키지에 포함되어 있는 것인지 확인해주는 명령어입니다.

 

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

rpm -qlp 패키지파일이름.rpm : 패키지 파일에 어떤 파일들이 포함되어있는지 확인합니다.

rpm -qip 패키지파일이름.rpm : 패키지 파일의 상세정보를 확인합니다.

 

특히 rpm -qip 패키지파일이름.rpm 명령어는 패키지를 설치하기 이전에 rpm 파일 안에 해당 기능이 포함되어있는 지 미리 확인할 수 있기에 아주 유용하게 사용할 수 있습니다. 

 

# RPM 명령의 단점 

RPM 명령어에는 의존성이라는 큰 문제점이 있습니다. CentOS의 기본 웹 브라우저는 Firefox는 X 윈도우에서 가동됩니다. 그러나 X 윈도우가 설치되어 있지 않은 환경에서 Firefox를 설치한다면 Firefox는 X 윈도우에 의존성이 있어 설치되지 않습니다. 이러한 단점을 해결한 명령어가 dnf입니다. 

 

3. 편리하게 패키지를 설치하는 DNF

RPM 명령어는 설치하려는 rpm 파일이 DVD에 있거나 인터넷에서 미리 다운로드 한 후 설치해야합니다. 그러나 dnf의 경우 CentOS 프로젝트가 제공하는 rpm 파일 저장소에서 설치할 rpm 파일과 해당 파일과 의존성이 있는 다른 rpm 파일 까지 인터넷을 통해 모두 알아서 다운로드 한 후 자동으로 설치해줍니다. 

 그렇기에 사용자는 rpm 패키지 설치 시 의존성 문제를 고민하지 않아도 됩니다. 단 인터넷을 통한 다운로드 후 설치해야하기 때문에 인터넷이 정상적으로 연결된 상태에서만 사용이 가능합니다.

 

DNF의 기본 사용법 

 

# 기본 설치 방법

dnf -y install 패키지이름 

dnf install은 패키지 다운로드 후 사용자에게 설치여부를 묻습니다. 여기서 -y 옵션을 써주면 사용자에게 설치 여부를 물어보지 않고 자동으로 yes를 입력한 것으로 보고 자동으로 설치됩니다. 

 

# rpm 파일 설치 방법

dnf install rpm파일이름.rpm

rpm 파일 설치를 하고자 한다면 rpm -Uvh rpm파일이름.rpm 명령 대신 dnf install rpm파일이름.rpm 명령을 사용하여 패키지를 설치할 수 있습니다. 

 

#업데이트 가능한 목록 보기

dnf check-update 

시스템에 설치된 패키지 중 업데이트가 가능한 패키지 목록을 출력합니다. 이 명령을 실행 전에 dnf clean all 명령을 실행하여 기존의 dnf 관련 임시 파일을 지워주는 것이 좋습니다. 

 

# 업데이트

dnf update 패키지이름

dnf install 패키지이름 명령 실행 시 기존에 설치되어 있지 않은 패키지는 새로 설치하며 이미 설치되어 있으면 업데이트를 하게 됩니다. 물론 설치가 되어 있고 업데이트 할 내용이 없다면 그냥 실행을 끝냅니다. 

또한 아무 옵션도 없이 dnf update 명령을 실행할 경우 업데이트 가능한 모든 패키지를 업데이트하기 때문에 시간이 엄청 걸릴 수 있으니 꼭 옵션 값을 넣어서 업데이트를 해야합니다. 

 

# 삭제

dnf remove 패키지이름

기존에 설치한 패키지를 제거합니다. 

 

# 정보확인

dnf info 패키지이름

패키지의 요약 정보를 보여줍니다. 

반응형

댓글