이 글에서 사용된 명령어와 예시는 CentOS8을 기준으로 작성된 것입니다.
RPM (Redhat Package Manager)
Redhat, RHEL, Fedora, CentOS 등의 운영체제는 Redhat 계열의 리눅스들이다.
rpm, yum, dnf는 모두 Redhat사에서 패키지를 좀 더 쉽게 설치하고 관리하기 위해 만든 패키지 관리 프로그램이다.
그렇다면 이것들은 무슨 차이점을 가지고 있으며 어느 상황에 사용하는게 맞을까?
늘 그렇듯 우리들이 원하는 핵심적인 부분만 정리해보고자 한다.
rpm
확장자명은 *.rpm이며 이러한 파일들을 패키지라고 부르기도 한다.
로컬상에 패키지가 있어야지 설치를 할 수 있으며, 이러한 패키지를 다운로드 받는 방법은 크게 CD와 같은 물리적인 디스크로 내려받거나 혹은 인터넷상에 직접 패키지를 다운로드 받는 방법이 있다.
- 복잡한 컴파일 과정 없이 간단하게 패키지를 설치할 수 있는 장점
- 사용자에게 맞는 다양한 옵션들은 설정할 수 없고 패키지를 따로 다운로드 받아야 된다는 것이 단점
***주로 사용되는 명령어***
# rpm -Uvh [패키지 파일(*.rpm)] // 패키지 파일을 설치시(패키지 없으면 설치, 있으면 업데이트)
# rpm -e [패키지 이름] // 패키지 파일을 삭제시
# rpm -qa ( | grep [패키지 이름]) // 전체 패키지 목록에서 패키지 설치 유무 확인
# rpm -qi [패키지 이름] // 설치된 패키지의 자세한 정보 확인
# rpm -qf [패키지 이름] // 지정된 파일이 포함된 패키지 이름 확인
yum
어렵게 생각할 것 없이 rpm에서 더 발전된 패키지 관리 명령어라고 생각하는게 좋을 것이다.
인터넷이 된다는 가정하게 우리가 원하는 파일, 프로그램들을 자동으로 설치받을 수 있으며, rpm에서 패키지를 가지고 있어야 설치가 가능했던 부분을 yum은 웹에서 알아서 다운받아와서 설치해주므로 사용자들이 접근하기 편하다.
- rpm의 패키지 의존성 문제를 완전하게 해결
- 웹을 통해서 필요한 파일을 저장소에서 다운로드해서 설치할 수 있음
※ yum 설정 파일
- /etc/yum.conf : 특별히 조작할 것이 없는 파일
- /etc/yum.repos.d/(디렉토리) : yum 명령으로 찾게되는 패키지들의 저장소 서버 정보(네트워크 주소)가 첨부되어 있음
*** 주로 사용되는 명령어 ***
# yum install [패키지 명] // 패키지 설치시
# yum -y install [패키지 명] // 패키지 설치시 옵션 상황에 대한 답변을 yes로 하겠다는 뜻
# yum check-update // 업데이트 가능한 패키지 목록 보기
# yum update [패키지 명] // 패키지 업데이트시 ( 패키지 이름이 없으면 전부 삭제)
# yum remove [패키지 명] // 패키지 삭제시
# yum list [패키지 명] // 패키지 리스트 확인
# yum provides [파일 명] // 특정 파일이 속한 패키지 명 확인
dnf
yum의 단점을 보완한 패키지 관리자로 느린 속도, 과다한 메모리 사용, 의존성 결정이 느린 문제들을 개선하였다.
RHEL/CentOS 8에 정식 도입되었고, 기존의 사용자들을 위한 yum 유틸리티를 제공하므로(dnf 백엔드로 사용) yum과 명령어, 옵션 등과 같은 조작법이 거의 비슷하다.
쉽게 말하면, CentOS8에서부터 도입된 yum 단점을 보완한 패키지 매니저라고 생각하면 된다.
'운영체제 > Linux' 카테고리의 다른 글
[Linux_개념] 서버 방화벽 (Server Firewall) (0) | 2023.03.03 |
---|---|
[Linux_개념] 마운트(Mount) (0) | 2023.02.24 |
[Linux_개념] 파일 시스템(File System) (0) | 2023.02.22 |
[Linux_개념] 쉘 변수(지역변수), 환경 변수(전역변수) (0) | 2023.02.21 |
[Linux_개념] 쉘 (Shell) (0) | 2023.02.21 |
댓글