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 공식 명령 참고 문서에서 확인할 수 있습니다.









