패키지 관리 시스템, DNF (Dandified YUM)
DNF(Dandified YUM)은 Fedora, RHEL(Red Hat Enterprise Linux), CentOS 등에서 사용되는 패키지 관리 시스템이다. 기존의 YUM(Yellowdog Updater, Modified)을 대체하며 더 빠르고 효율적인 의존성 해결과 메모리 사용 최적화를 제공한다.
1. DNF의 특징
✅ YUM 대비 개선점
- 의존성 해결 향상: 보다 정교한 알고리즘을 사용하여 패키지 충돌을 줄임
- 속도 향상: 메타데이터 처리 및 캐싱 최적화로 YUM보다 빠름
- 메모리 사용 감소: 불필요한 메모리 소비를 줄여 경량화됨
- Python 3 지원: YUM은 Python 2 기반이었지만, DNF는 Python 3을 지원
- 플러그인 시스템 개선: 플러그인을 활용한 기능 확장이 용이
2. 기본 명령어
2.1. 패키지 검색 및 정보 확인
dnf search <패키지명>
특정 패키지를 검색하여 이름과 간략한 설명을 출력한다.
dnf info <패키지명>
패키지의 상세 정보를 확인할 수 있다.
2.2. 패키지 설치
dnf install <패키지명>
지정한 패키지를 설치한다.
dnf groupinstall "<그룹명>"
특정 그룹에 속하는 패키지를 한 번에 설치할 수 있다. 예를 들어, 개발 도구 설치:
dnf groupinstall "Development Tools"
2.3. 패키지 업데이트
dnf update
시스템의 모든 패키지를 최신 버전으로 업데이트한다.
dnf update <패키지명>
특정 패키지만 업데이트한다.
dnf upgrade
dnf update와 비슷하지만, 패키지를 최신 버전으로 대체하는 경우에도 사용됨.
2.4. 패키지 제거
dnf remove <패키지명>
특정 패키지를 삭제한다.
dnf autoremove
더 이상 필요하지 않은 의존성 패키지까지 자동으로 제거한다.
2.5. 캐시 및 패키지 데이터 정리
dnf clean all
패키지 메타데이터 및 캐시를 모두 삭제하여 디스크 공간을 확보한다.
dnf clean packages
다운로드된 패키지(캐시)만 삭제한다.
2.6. 저장소 관리
dnf repolist
활성화된 저장소 목록을 출력한다.
dnf repolist all
활성화 및 비활성화된 저장소 목록을 출력한다.
dnf config-manager --add-repo <저장소_URL>
새로운 저장소를 추가한다.
dnf config-manager --set-enabled <저장소_ID>
특정 저장소를 활성화한다.
dnf config-manager --set-disabled <저장소_ID>
특정 저장소를 비활성화한다.
2.7. 시스템 및 패키지 문제 해결
dnf check
시스템의 패키지 무결성을 검사하고 문제를 감지한다.
dnf list installed
설치된 모든 패키지를 나열한다.
dnf list available
설치 가능한 모든 패키지를 나열한다.
dnf history
DNF로 수행한 작업(설치, 제거, 업데이트 등) 기록을 출력한다.
dnf downgrade <패키지명>
특정 패키지를 이전 버전으로 되돌린다.
dnf reinstall <패키지명>
특정 패키지를 다시 설치한다.
3. DNF 플러그인
DNF는 여러 가지 플러그인을 지원하여 기능을 확장할 수 있다.
3.1. 플러그인 설치
dnf install dnf-plugins-core
주요 DNF 플러그인들을 포함하는 패키지를 설치한다.
3.2. 유용한 플러그인
- dnf-utils: 다양한 DNF 관련 도구 제공
- dnf-automatic: 자동 업데이트 기능 제공
- dnf-versionlock: 특정 패키지를 특정 버전에 고정할 수 있음
- dnf-download: 패키지를 다운로드만 하고 설치하지 않음
dnf download <패키지명>
- dnf-fastestmirror: 가장 빠른 미러(mirror) 서버를 자동으로 선택하여 다운로드 속도 향상
4. DNF와 RPM의 차이
**RPM(Red Hat Package Manager)**은 개별 패키지를 관리하는 도구이며, 의존성 해결 기능이 없다. 반면, DNF는 RPM을 기반으로 동작하면서 의존성 해결까지 자동으로 수행한다.
기능 DNF RPM
패키지 설치 | dnf install <패키지> | rpm -i <패키지>.rpm |
패키지 제거 | dnf remove <패키지> | rpm -e <패키지> |
패키지 업데이트 | dnf update <패키지> | rpm -U <패키지>.rpm |
의존성 자동 해결 | ✅ | ❌ |
정리
- DNF는 Fedora, RHEL, CentOS 등의 공식 패키지 관리 시스템으로 YUM을 대체.
- 빠른 속도와 효율적인 의존성 해결을 제공하며 Python 3 지원.
- 패키지 검색, 설치, 업데이트, 제거 등 다양한 기능을 제공.
- 저장소 관리 및 시스템 무결성 검사 기능 지원.
- RPM은 개별 패키지 관리 도구이며, DNF는 이를 기반으로 의존성 해결까지 자동 수행.
DNF는 Linux 시스템 관리에서 필수적인 도구로, 패키지 설치 및 유지보수를 간편하게 할 수 있도록 도와준다.
'Linux > 리눅스 시스템 관리' 카테고리의 다른 글
Rocky Linux에서 키보드 설정 방법 (5) | 2025.02.24 |
---|---|
Rocky Linux에서 Google Chrome 설치 (6) | 2025.02.23 |
셸의 종류 (54) | 2024.10.23 |
대화형 조작(Interactive Use)과 셸 스크립트(Shell Script) (28) | 2024.10.22 |
로그인 셸을 보려면 (18) | 2024.10.21 |