{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name                   = Dandified Yum
| logo                   = DNF logo.png
| logo caption           = 
| logo_size              = 
| logo_alt               = 
| screenshot             = Dnf updates fedora22.png
| caption                = [[페도라 (운영 체제)|페도라]] 22에서 업데이트를 설치 중인 DNF
| screenshot_size        = 
| screenshot_alt         = 
| collapsible            = 
| author                 = 
| developer              = 
| released               = {{시작 날짜와 나이|2012|01|18|df=yes/no}}<ref>{{GitHub |rpm-software-management/dnf/tags?after=dnf-0.6.4-1 |Tag 0.6.4-1 for rpm-software-management/dnf}}</ref>
| discontinued           = 
| latest release version = 4.17.0<ref name="DNF4-release">{{GitHub |rpm-software-management/dnf/tags |Tags · rpm-software-management/dnf}}</ref>&nbsp;&<br>5.1.4<ref name="DNF5-release">{{GitHub |rpm-software-management/dnf5/tags |Tags · rpm-software-management/dnf5}}</ref>
| latest release date    = {{시작 날짜와 나이|2023|09|01|df=yes}}<ref name="DNF4-release"/>&nbsp;&<br>{{시작 날짜와 나이|2023|09|18|df=yes}}<ref name="DNF5-release"/>
| latest preview version = 
| latest preview date    = <!-- {{시작 날짜와 나이|YYYY|MM|DD|df=yes/no}} -->
| frequently updated     = <!-- DO NOT include this parameter unless you know what it does -->
| status                 = 
| programming language   = [[C (프로그래밍 언어)|C]], [[파이썬]]
| operating system       = [[리눅스]]
| platform               = 
| size                   = 
| language               = 영어
| language count         = <!-- DO NOT include this parameter unless you know what it does -->
| language footnote      = 
| genre                  = [[패키지 관리 시스템]]
| license                = [[GNU 일반 공중 사용권|GPL v2]]
| website                = {{URL|https://rpm-software-management.github.io/}}
| standard               = 
| AsOf                   = 
}}
'''DNF'''(Dandified Yum)는 [[RPM 패키지 매니저|RPM]] 기반 [[리눅스 배포판]]을 위한 [[패키지 관리자|패키지 관리도구]]이다.

[[페도라 (운영 체제)|페도라]] 18에 처음 도입되었고,<ref name="DNF-Fedora">{{웹 인용|url=http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum|title=Will DNF Replace Yum?|last=Byfield|first=Bruce|website=[[:en:Linux Magazine]]|accessdate=2015-05-28}}</ref> [[페도라 (운영 체제)|페도라]] 22와 [[레드햇 엔터프라이즈 리눅스]] 8부터 기존의 [[Yum]]을 대신하여 기본 패키지 관리도구로 채택되었다.<ref name="F22_released">{{웹 인용|url=http://www.webupd8.org/2015/05/fedora-22-released-see-whats-new.html|title=Fedora 22 Released, See What`s New [Workstation]|author=Andrew|publisher=WebUpd8|date=2015-05-26|accessdate=2015-05-28}}</ref><ref name="RHEL8news">{{웹 인용|url=https://www.techrepublic.com/article/whats-new-with-red-hat-enterprise-linux-8-and-red-hat-virtualization/|title=What's new with Red Hat Enterprise Linux 8 and Red Hat Virtualization|author=Scott Matteson|publisher=TechRepublic|date=2019-03-30|accessdate=2019-09-24}}</ref>

DNF는 [[Yum]]의 낮은 성능, 많은 메모리 사용량, 비효율적인 중복 의존성 해결 메커니즘 등의 문제를 해결하기 위해 개발되었고,<ref name="lwn580223">{{웹 인용|url=https://lwn.net/Articles/580223/|title=DNF and Yum in Fedora|last=Edge|first=Jake|publisher=[[LWN.net]]|date=2014-01-15|accessdate=2015-03-29}}</ref> Yum과 달리, 외부 라이브러리인 libsolv를 통해 의존성 문제를 처리한다.<ref name="lwn580223"/>

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

처음에는 [[Yum]] 3.4를 기반으로 [[파이썬]]으로 개발되었지만, 지금은 대부분의 기능을 [[C (프로그래밍 언어)|C]]로 [[포팅]]하여 libdnf 라이브러리로 옮기는 작업이 진행 중이다.<ref name="libdnfinitiative">{{웹 인용|url=http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|title=DNF into C initiative started|last=Šilhan|first=Jan|website=DNF blog|date=2016-02-24|accessdate=2017-07-05|보존url=https://web.archive.org/web/20170702103537/http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/|보존날짜=2017-07-02|url-status=dead}}</ref>

== 의존 라이브러리 ==

=== libdnf ===
* DNF와 기반 라이브러리들의 고수준 [[API]]를 제공
* [[C (프로그래밍 언어)|C]], [[C++]], [[GNU_일반_공중_사용_허가서#GPLv2|LGPLv2+]]

=== libsolv ===
* [[충족 가능성 문제|충족 가능성]] [[알고리즘]]을 이용하여 패키지 의존성 문제를 처리하는 라이브러리
* 패키지를 관리하고 저장소를 이용할 때 사용
* [[C (프로그래밍 언어)|C]], [[BSD 허가서]]

=== librepo ===
* 리눅스 저장소에서 메타 데이터와 패키지를 내려받을 때 사용하는 [[API]]를 제공 ([[cURL|libcURL]]과 유사한 C와 [[파이썬]]용 API)
* [[C (프로그래밍 언어)|C]], [[GNU_일반_공중_사용_허가서#GPLv2|LGPLv2+]]

=== libcomps ===
* 파이썬으로 작성된 yum.comps 라이브러리를 대체하기 위해 C로 작성된 라이브러리. [[파이썬]]용 바인딩도 제공.
* [[C (프로그래밍 언어)|C]], GPLv2+

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}

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