728x90
RPM 패키지
RPM 패키지의 특징과 구조
RPM
: 리눅스 회사인 Redhat에서 만든 패키지 관리 도구로 파일을 쉽게 설치할 수 있음
- RPM의 특징
- 바이너리 파일로 구성되어 있어 컴파일이 필요 없음
- 패키지의 파일들이 관련 디렉터리로 바로 설치
- 한 번에 설치된 패키지의 파일을 일괄적으로 삭제할 수 있음
- 기존에 설치된 패키지를 삭제하지 않고 바로 업그레이드할 수 있음
- 단점: 패키지 의존성에 따라 관련 패키지가 먼저 설치되어 있지 않으면 설치할 수 없음
- RPM의 단점을 해결하기 위해 dnf 등장
YUM (Yellowdog Updater Modified)
- Red Hat 계열 리눅스 시스템에서 사용하는 전통적인 패키지 관리자
- YUM은 대부분의 Red Hat 계열 배포판에서 제공
- .rpm 파일 형식으로 소프트웨어 패키지를 관리하는 RPM 패키지 관리자의 프론트엔드 역할
- 소프트웨어 저장소를 통해 동작하며, 저장소는 소프트웨어 패키지의 모음을 담고 있는 특별한 디렉터리
- YUM을 사용하면 시스템 업데이트, 의존성 분석 및 레파지토리 메타데이터를 기반으로 한 오래된 패키지 처리 등 시스템 업데이트를 자동으로 수행할 수 있다.
- YUMM은 패키지를 설치, 업데이트, 삭제 및 관리하는데 사용된다.
- 형식: yum [옵션] [커맨드] [패키지 이름]
- -y : -y 옵션은 설치하려는 패키지와 해당 패키지의 의존성 패키지들을 확인하고, 확인 메시지 없이 자동으로 설치
- history : yum의 이전 작업 내역을 조회하고, 이전에 수행한 작업을 취소할 수 있는 기능을 제공
- -yumplugin : 플러그인을 사용하여 패키지를 설치, 업데이트 또는 제거하는데 사용
- -exclude : 패키지를 제외하고 업데이트
- -downloadonly : 패키지를 다운로드만 하고 설치하지 않음
dnf의 특징
- dnf : ‘dandified yum’의 약자
- : RPM 기반의 리눅스 패키지 관리자로 기존의 패키지 관리자인 yum을 대체
$ man yum $ ls -l /usr/bin/yum lrwxrwxrwx. 1 root root 5 Apr 14 2024 /usr/bin/yum -> dnf-3
- dnf는 페도라 22부터 정식으로 도입되었으며, CentOS는 버전 8에서 dnf를 도입함
- dnf의 사용법은 yum과 거의 비슷하여 쉽게 적응할 수 있음
- 패키지 의존성 문제를 자동으로 해결했다는 점이 최대 장점
- dnf의 두드러지는 특징
- 패키지의 의존성을 자동으로 해결하여 설치•업그레이드•삭제할 수 있음
- 설치 가능한 패키지에 대한 정보가 담긴 저장소 repository를 가지고 있음
- 저장소의 정보에 따라 패키지를 관리
- dnf
- 기능: RPM 기반의 패키지를 관리
- 형식: $ dnf [옵션] [명령] [패키지명]
- 옵션
- -h : 도움말을 출력
- -y : 설치 과정의 모든 질문에 yes로 대답
- -v : 자세한 메시지를 출력
- 명령
- install : 패키지를 설치
- upgrade : 패키지를 업데이트
- check-update : 패키지를 확인
- search : 패키지를 검색
- remove : 패키지를 삭제
- list : 패키지의 목록을 확인
- info : 패키지의 정보를 확인
- 사용 예
- $ dnf list all
- $ dnf install xterm
패키지 목록 확인
dnf list 명령의 출력 형식
| 패키지명.아키텍처 | 버전-릴리즈 | 저장소 또는 @설치한 저장소 |
$ dnf list | more
Installed Packages
Installed Packages
NetworkManager.x86_64 1:1.46.0-19.el9_4
@baseos
NetworkManager-libnm.x86_64 1:1.46.0-19.el9_4
@baseos
NetworkManager-team.x86_64 1:1.46.0-19.el9_4
@baseos
NetworkManager-tui.x86_64 1:1.46.0-19.el9_4
@baseos
acl.x86_64 2.3.1-4.el9
@minimal
alternatives.x86_64 1.24-1.el9
@minimal
dnf list 명령의 옵션
형식 | 기능 |
dnf list --all | 이미 설치되었거나 설치 가능한 모든 패키지 목록을 출력 |
dnf list --available | dnf 저장소에서 설치 가능한 모든 패키지 목록을 출력 |
dnf list --upgrades | dnf 저장소에서 업그레이드가 가능한 패키지 목록을 출력 |
df list --installed | 이미 설치된 패키지 목록을 출력 |
dnf list --installed <패키지명> | 지정한 패키지가 설치되어 있는지 확인 |
- dnf list --available
- dnf 저장소에서 설치 가능한 패키지들의 목록을 보려면 available 옵션을 지정
- AppStream과 BaseOS는 저장소를 의미
- BaseOS 저장소는 운영체제의 핵심 기능과 관련된 패키지를 가짐
- AppStream 저장소는 부가적인 패키지와 모듈을 가지고 있음
- dnf list --upgrades
- dnf 저장소의 패키지 중에서 업그레이드가 가능한 패키지의 목록을 보려면 upgrades 옵션을 지정
- dnf check-update 명령과 같은 기능을 수행
- dnf list --installed
- 현재 시스템에 설치되어 있는 패키지의 목록을 출력할 때는 --installed 옵션을 지정
패키지 설치
- dnf로 패키지를 설치할 때는 ‘dnf install 패키지명’의 형식을 사용
- 패키지를 설치할 때 의존성이 있는 패키지는 자동으로 함께 설치
- EXAMPLE. 패키지의 존재 여부를 확인하고 함께 설치해야 할 패키지 목록을 보여주며 내려 받을 파일의 크기와 실제로 설치되었을 때 필요한 디스크 용량을 알려주고 계속 진행할 것인지 물어봄
- N이라고 대답하면 설치가 종료되고, y라고 대답하면 설치가 진행
패키지 삭제
- 특정 패키지의 정보를 dnf로 확인하려면 ‘dnf info 패키지명’을 입력
- 패키지 이름, 버전, 릴리즈, 아키텍처, 패키지 파일 크기, 저장소(리포지터리, 레포에서), 요약, URL, 라이선스, 설명 등의 정보를 출력
- dnf로 패키지를 삭제하려면 ‘dnf remove 패키지명’을 사용
- 패키지를 삭제할 때도 의존성을 확인한 후 해당 패키지와 더 이상 사용하지 않는 의존성 패키지도 삭제
728x90
'02. Linux & AWS' 카테고리의 다른 글
07. 데이터베이스 서버 (0) | 2024.10.27 |
---|---|
06. FTP (0) | 2024.10.27 |
04. 프로세스 관리 (1) | 2024.10.27 |
03. 링크 & 셸 (0) | 2024.10.20 |
02. AWS EC2 설정, Linux 기본 명령어, 사용자&그룹 (0) | 2024.10.20 |