Linux / 명령어 / dnf - RPM 계열에서 패키지·저장소 관리

dnf는 Fedora·RHEL 계열과 Rocky Linux·AlmaLinux에서 저장소 패키지를 검색·설치·제거·업그레이드하는 명령입니다. 배포판과 버전에 따라 DNF 구현 및 지원 옵션이 다를 수 있습니다.

dnf 명령어란?

DNF는 저장소 메타데이터를 활용해 패키지 후보와 의존성을 계산합니다. install은 필요한 의존성도 함께 설치하고, upgrade는 설치된 패키지의 업데이트를 적용합니다. 로컬 RPM 파일도 설치할 수 있지만 일반적인 작업에서는 의존성을 해결하는 DNF가 rpm 직접 설치보다 편리합니다.

기본 문법

dnf [옵션] 명령 [패키지 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man dnf으로 현재 시스템의 설명을 확인하세요.

사용 예제

패키지 검색과 정보 확인

패키지 이름·설명과 저장소 후보를 확인합니다.

dnf search nginx
dnf info nginx

패키지 설치

변경되는 의존성 목록을 검토한 뒤 설치합니다.

sudo dnf install nginx

업데이트 확인

설치 가능한 업데이트 목록을 확인합니다. 실제 설치는 하지 않습니다.

dnf check-update

패키지의 출처와 버전 확인하기

dnf info는 패키지의 버전, 아키텍처, 저장소와 설명을 보여줍니다. 설치 전 후보와 설치된 버전을 구별해 읽어야 합니다.

dnf info bash

출력에서 확인할 항목의 예:

Name         : bash
Version      : ...
Architecture : x86_64
Repository   : ...

실제 값은 배포판·활성 저장소·시점에 따라 달라집니다. dnf check-update로 업데이트 후보를 살펴볼 수 있지만 종료 코드가 일반적인 성공·실패와 다르게 업데이트 존재를 나타낼 수 있어 스크립트에서는 문서를 확인해야 합니다. 설치·제거 전에는 제안되는 의존성 변경 목록을 읽으세요.

주요 옵션과 형식

옵션·형식 설명
search / info 패키지를 찾거나 세부 정보를 표시합니다.
install / remove 패키지를 설치하거나 제거합니다.
check-update / upgrade 업데이트 가능 여부를 확인하거나 적용합니다.
repolist 활성화된 저장소를 확인합니다.
history 이전 패키지 트랜잭션을 조회합니다.

사용할 때 주의할 점

dnf upgrade는 실행 중인 서비스와 커널 등을 바꿀 수 있으므로 변경 목록과 재시작 필요성을 확인하세요. --allowerasing은 충돌 해결을 위해 기존 패키지를 제거할 수 있습니다. 저장소를 임의로 추가하거나 검증을 끄지 말고, 설치된 버전의 dnf help로 옵션 차이를 확인하세요.

자주 묻는 질문

dnf와 rpm 중 어느 명령으로 설치하나요?

저장소 의존성까지 관리하는 일반적인 설치·업데이트에는 dnf가 적합합니다. rpm은 로컬 패키지 파일과 설치 데이터베이스를 직접 다룰 때 사용합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 dnf 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux / 명령어 / nohup - 로그아웃 후에도 명령 계속 실행

Linux nohup 명령어로 로그아웃 후에도 작업을 계속 실행하는 방법을 설명합니다. 백그라운드 실행, 입출력 리디렉션, PID 확인과 종료, 로그 관리 및 systemd·tmux와의 차이를 정리합니다.

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux dig 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux parted 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux chmod 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux whereis 명령어로 프로그램의 바이너리, 소스와 매뉴얼 페이지 위치를 찾는 방법을 설명합니다. 검색 범위 제한과 which·find와의 차이도 정리합니다.

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux ip 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux / 명령어 / reboot - 시스템 안전하게 재시작

Linux reboot 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

리눅스 Bash의 ;, &&, ||, &, |, |&, ! 차이를 종료 상태와 실제 예제로 설명합니다. 조건부 실행, 백그라운드 작업, 파이프라인과 pipefail 사용법까지 정리합니다.

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux cmp 명령어로 두 파일을 바이트 단위로 비교하는 방법을 설명합니다. 첫 차이 위치, 조용한 검사, 모든 차이 출력과 종료 상태 활용법을 정리합니다.

Linux / 명령어 / clear - 터미널 화면 정리

Linux / 명령어 / clear - 터미널 화면 정리

Linux clear 명령어로 터미널 화면을 정리하는 방법을 설명합니다. 스크롤백을 보존하는 -x 옵션과 Ctrl+L·reset·tput의 차이, TERM 오류 해결법을 다룹니다.