Rocky Linux / DNF 사용법

DNF(Dandified YUM)는 Rocky Linux에서 패키지를 검색·설치·업데이트·삭제하고 거래 이력을 관리하는 기본 도구입니다. 명령을 실행하기 전에 대상 패키지와 의존성 변경 목록을 확인하고, 운영 서버에서는 저장소와 업데이트 범위를 명확히 한 뒤 적용하는 것이 핵심입니다.

DNF 버전과 기본 형식

Rocky Linux 버전에 따라 DNF 구현과 출력 형식이 달라질 수 있으므로 먼저 버전을 확인합니다. 일반적인 명령 형식은 dnf [옵션] 명령 [대상]입니다.

dnf --version
dnf --help

조회 명령은 일반 사용자로 실행할 수 있지만 시스템을 변경하는 설치·삭제·업데이트에는 관리자 권한이 필요합니다.

패키지 검색과 정보 확인

이름과 설명에서 검색

dnf search nginx
dnf info nginx

search는 이름과 설명을 검색하고, info는 버전, 아키텍처, 저장소와 설명을 보여 줍니다. 동일한 이름의 여러 버전이나 아키텍처가 있으면 결과를 주의해서 확인합니다.

파일이나 명령을 제공하는 패키지 찾기

dnf provides '*/semanage'
dnf provides /usr/bin/rsync

정확한 경로를 모르겠다면 와일드카드를 사용할 수 있습니다. 셸에서 먼저 확장되지 않도록 패턴을 따옴표로 감싸는 편이 안전합니다.

패키지 설치와 재설치

sudo dnf install nginx
sudo dnf reinstall nginx

install은 필요한 의존성을 함께 해결합니다. reinstall은 패키지 파일이 손상되었을 때 같은 버전을 다시 설치하지만, 관리자가 수정한 설정 파일을 무조건 초기화하는 명령은 아닙니다.

로컬 RPM 파일도 DNF로 설치하면 저장소에서 의존성을 해결할 수 있습니다.

sudo dnf install ./example-package.rpm

업데이트 확인과 적용

업데이트 가능 항목 조회

dnf check-update
dnf updateinfo list

dnf check-update는 업데이트가 있으면 종료 코드 100을 반환할 수 있습니다. 셸 스크립트에서 이를 일반 오류 코드와 구분하지 않으면 정상적인 “업데이트 있음” 상태를 실패로 오해할 수 있습니다.

전체 또는 특정 패키지 업데이트

sudo dnf upgrade
sudo dnf upgrade openssl

커널, C 라이브러리와 핵심 서비스 업데이트는 재부팅이나 서비스 재시작이 필요할 수 있습니다. 운영 환경에서는 변경 내역, 유지보수 시간과 롤백 방법을 먼저 준비하십시오.

패키지 삭제와 불필요한 의존성 정리

sudo dnf remove nginx
sudo dnf autoremove --assumeno

remove는 대상 패키지뿐 아니라 더 이상 필요한 것으로 판단되지 않는 의존 패키지도 제안할 수 있습니다. 확인 화면에서 삭제 목록을 반드시 읽으십시오. autoremove --assumeno는 정리 후보를 실제 삭제 없이 검토하는 데 유용합니다.

설치 목록과 저장소 관리

패키지 목록 조회

dnf list --installed
dnf list --available
dnf list --upgrades

저장소 상태 확인

dnf repolist
dnf repolist --all
dnf repository-packages appstream list --available

추가 저장소를 활성화하면 공급 주체, 서명 키, 지원 범위와 기본 저장소 패키지의 대체 가능성을 확인해야 합니다. 문제 해결을 위해 특정 저장소를 한 번만 제외하거나 활성화할 수 있습니다.

sudo dnf --disablerepo='example-repo' upgrade
sudo dnf --enablerepo='example-repo' install package-name

거래 이력 확인과 되돌리기 검토

dnf history
dnf history info 거래_ID
sudo dnf history undo 거래_ID

history undo는 저장소에서 필요한 이전 버전을 더 이상 제공하지 않거나, 거래 이후 의존성이 달라졌다면 실패할 수 있습니다. 데이터베이스·설정·애플리케이션 데이터까지 되돌리는 백업 기능도 아니므로 운영 롤백 수단을 별도로 준비해야 합니다.

캐시와 메타데이터 관리

명령 용도
dnf makecache 활성 저장소의 메타데이터를 미리 내려받습니다.
dnf clean metadata 저장된 저장소 메타데이터를 지웁니다.
dnf clean packages 캐시에 남은 패키지 파일을 지웁니다.
dnf clean all 메타데이터와 패키지를 포함한 DNF 캐시를 정리합니다.

저장소 오류가 날 때마다 clean all을 습관적으로 실행할 필요는 없습니다. 먼저 네트워크, 시스템 시각, 저장소 주소와 GPG 서명 오류 메시지를 확인하는 것이 원인 파악에 도움이 됩니다.

자주 사용하는 명령 요약

목적 명령
검색 dnf search 검색어
정보 확인 dnf info 패키지명
설치 sudo dnf install 패키지명
업데이트 sudo dnf upgrade
삭제 sudo dnf remove 패키지명
파일 제공 패키지 dnf provides '*/파일명'
거래 이력 dnf history
저장소 목록 dnf repolist --all

안전하게 운영하는 방법

  • 자동 확인 옵션을 사용하기 전에 DNF가 제안하는 설치·삭제 목록을 사람이 먼저 검토합니다.
  • 중요 서버는 업데이트 전에 데이터와 설정을 백업하고 복구 절차를 시험합니다.
  • 저장소 파일과 GPG 키의 출처를 확인하고 불필요한 외부 저장소를 상시 활성화하지 않습니다.
  • 여러 서버는 동일한 저장소 스냅샷이나 검증된 자동화 절차를 사용해 버전 차이를 줄입니다.

참고 문서

세부 옵션과 명령별 종료 상태는 DNF 공식 명령 참고 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Rocky Linux / 방화벽 관리하는 방법

Rocky Linux / 방화벽 관리하는 방법

Rocky Linux firewalld에서 영역, 서비스와 포트를 확인·관리하는 방법을 설명합니다. 런타임 시험 후 영구 저장하고 원본 주소를 제한하는 안전한 절차를 정리합니다.

Rocky Linux / GUI 환경 만드는 방법

Rocky Linux / GUI 환경 만드는 방법

Rocky Linux에 GNOME GUI를 설치하고 그래픽 부팅을 설정하는 방법을 설명합니다. Rocky Linux 8·9의 XRDP와 Rocky Linux 10의 GNOME 원격 데스크톱 차이도 정리합니다.

Rocky Linux / 호스트네임 변경하는 방법

Rocky Linux / 호스트네임 변경하는 방법

Rocky Linux에서 hostnamectl로 호스트네임을 변경하고 결과를 확인하는 방법을 설명합니다. 이름 해석과 서비스 재시작이 필요한 경우도 함께 살펴봅니다.

Rocky Linux / 설치된 패키지 확인하는 방법

Rocky Linux / 설치된 패키지 확인하는 방법

Rocky Linux에서 설치된 패키지를 DNF와 RPM으로 확인하는 방법을 설명합니다. 전체 목록, 특정 파일의 소유 패키지, 설치 시각과 변경 검증 방법도 정리합니다.

Rocky Linux / PostgreSQL 설치하는 방법

Rocky Linux / PostgreSQL 설치하는 방법

Rocky Linux에 PostgreSQL을 설치하고 초기화·서비스 활성화·역할 생성·원격 접속을 구성하는 방법을 설명합니다. pg_hba.conf, SCRAM, 방화벽과 TLS 주의점도 정리합니다.

Rocky Linux / root 계정으로 ssh 접속 가능하게 설정하는 방법

Rocky Linux / root 계정으로 ssh 접속 가능하게 설정하는 방법

Rocky Linux에서 root SSH 접속이 필요할 때 공개 키로만 허용하는 안전한 절차를 설명합니다. 설정 검사, 접속 제한과 원상 복구 방법도 정리합니다.

Rocky Linux / 언어 변경하는 방법

Rocky Linux / 언어 변경하는 방법

Rocky Linux에서 localectl과 언어 팩으로 시스템 로케일을 확인·변경하는 방법을 설명합니다. 세션별 변경, LANG·LC_* 우선순위와 한글 깨짐 점검도 정리합니다.

Rocky Linux / SELinux 끄는 방법

Rocky Linux / SELinux 끄는 방법

Rocky Linux의 SELinux 상태와 모드를 확인하고 차단 원인을 해결하는 방법을 설명합니다. Permissive 전환, 정책 조정과 완전 비활성화 시 주의점도 정리합니다.

Rocky Linux / DNF 사용법

Rocky Linux / DNF 사용법

Rocky Linux의 DNF로 패키지를 검색·설치·업데이트·삭제하는 방법을 설명합니다. 저장소, 거래 이력, 캐시와 안전한 운영 요령도 함께 정리합니다.

Rocky Linux / Memo

Rocky Linux / Memo

Rocky Linux와 관련된 잡다한 정보를 정리합니다.