본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

RPM 기반 배포판에서 패키지를 설치·업데이트·삭제하고 저장소를 관리한다.

  • yum의 후속 도구로, RHEL/Rocky Linux 8부터 기본 패키지 관리자이다. (yum 명령은 dnf로 연결됨)
  • 패키지 의존성을 자동으로 해결한다.
  • 경로 : /usr/bin/dnf
  • 설정 파일 : /etc/dnf/dnf.conf
  • 저장소 설정 : /etc/yum.repos.d/*.repo
# dnf [옵션] [명령] [패키지...]
  • install : 패키지를 설치한다. 로컬 RPM 파일 경로를 지정할 수도 있다.
  • remove (erase) : 패키지를 삭제한다.
  • reinstall : 패키지를 다시 설치한다.
  • update (upgrade) : 패키지를 최신 버전으로 업데이트한다. 패키지를 지정하지 않으면 전체를 업데이트한다.
  • check-update : 업데이트 가능한 패키지 목록을 출력한다.
  • downgrade : 패키지를 이전 버전으로 되돌린다.
  • autoremove : 더 이상 필요하지 않은 의존성 패키지를 삭제한다.
  • search : 패키지 이름과 요약에서 키워드를 검색한다.
  • info : 패키지의 상세 정보를 출력한다.
  • list [installed|available|updates] : 패키지 목록을 출력한다.
  • provides (whatprovides) : 지정한 파일이나 기능을 제공하는 패키지를 찾는다.
  • repolist [all|enabled|disabled] : 저장소 목록을 출력한다.
  • group list / group install / group remove : 패키지 그룹을 조회·설치·삭제한다.
  • module list / module enable / module install : 모듈(AppStream 스트림)을 조회·활성화·설치한다.
  • history : 트랜잭션 기록을 출력한다. history undo 번호로 작업을 되돌릴 수 있다.
  • clean all : 캐시된 메타데이터와 패키지를 삭제한다.
  • makecache : 저장소 메타데이터 캐시를 생성한다.
  • -y, --assumeyes : 모든 질문에 yes로 응답한다.
  • -q, --quiet : 출력을 최소화한다.
  • --enablerepo=저장소 / --disablerepo=저장소 : 해당 실행에서만 저장소를 활성화/비활성화한다.
  • --downloadonly : 설치하지 않고 패키지만 내려받는다.
  • --nogpgcheck : GPG 서명 검사를 하지 않는다.
  • --refresh : 명령 실행 전에 메타데이터를 강제로 갱신한다.
# httpd 패키지를 확인 질문 없이 설치한다.
# dnf -y install httpd

# 업데이트 가능한 패키지를 확인한 뒤 전체를 업데이트한다.
# dnf check-update
# dnf update

# /etc/httpd/conf/httpd.conf 파일을 제공하는 패키지를 찾는다.
# dnf provides /etc/httpd/conf/httpd.conf

# 활성화된 저장소 목록을 출력한다.
# dnf repolist

# "Server with GUI" 그룹을 설치한다.
# dnf group install "Server with GUI"

# 트랜잭션 기록을 확인하고 7번 작업을 되돌린다.
# dnf history
# dnf history undo 7
  • 설치(install), 삭제(remove), 전체 업데이트(update), 검색(search), 파일로 패키지 찾기(provides) 명령의 이름을 묻는 문제가 자주 나온다.
  • 저장소 정의 파일은 /etc/yum.repos.d/ 디렉터리의 .repo 파일이며, dnf 전역 설정은 /etc/dnf/dnf.conf이다.
  • rpm과 달리 의존성을 자동으로 처리한다는 점이 비교 문제로 출제된다.