DNF (소프트웨어)

DNF(Dandified Yum)는 RPM 기반 리눅스 배포판을 위한 패키지 관리도구이다.

페도라 18에 처음 도입되었고, 페도라 22와 레드햇 엔터프라이즈 리눅스 8부터 기존의 Yum을 대신하여 기본 패키지 관리도구로 채택되었다.

DNF는 Yum의 낮은 성능, 많은 메모리 사용량, 비효율적인 중복 의존성 해결 메커니즘 등의 문제를 해결하기 위해 개발되었고, Yum과 달리, 외부 라이브러리인 libsolv를 통해 의존성 문제를 처리한다.

DNF는 RPM 패키지 매니저와 여러 지원 라이브러리를 이용하여 패키지 관리 작업을 수행한다.

처음에는 Yum 3.4를 기반으로 파이썬으로 개발되었지만, 지금은 대부분의 기능을 C로 포팅하여 libdnf 라이브러리로 옮기는 작업이 진행 중이다.

의존 라이브러리

libdnf 
 DNF와 기반 라이브러리들의 고수준 API를 제공
 C, C++, LGPLv2+

libsolv 
 충족 가능성 알고리즘을 이용하여 패키지 의존성 문제를 처리하는 라이브러리
 패키지를 관리하고 저장소를 이용할 때 사용
 C, BSD 허가서

librepo 
 리눅스 저장소에서 메타 데이터와 패키지를 내려받을 때 사용하는 API를 제공 (libcURL과 유사한 C와 파이썬용 API)
 C, LGPLv2+

libcomps 
 파이썬으로 작성된 yum.comps 라이브러리를 대체하기 위해 C로 작성된 라이브러리. 파이썬용 바인딩도 제공.
 C, GPLv2+

각주

외부 링크 
 

페도라 프로젝트
리눅스 패키지 관리 관련 소프트웨어
레드햇 소프트웨어