DNF (менеджер пакетов)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Dandified Yum
Логотип программы Dandified Yum
Скриншот программы Dandified Yum
Работа DNF в дистрибутиве Fedora 26
Тип Система управления пакетами
Разработчик Red Hat
Написана на C, Python
Операционная система Linux
Языки интерфейса English
Первый выпуск 11 мая 2015
Последняя версия 4.13.0 (30 мая 2022)
Лицензия GPL v2
Сайт rpm-software-management.github.io

DNF или Dandified YUM[1][2][3] — следующее поколение приложения Yum, менеджер пакетов для дистрибутивов ОС Linux на основе RPM-пакетов. DNF разрабатывался с 2011 года[4] и был представлен в Fedora 18[5] и используется как основная система управления пакетами начиная с версии Fedora 22.[6]

Предыдущий YUM имел несколько недостатков, и DNF был призван их решить. Среди них: низкая производительность, высокое потребление памяти и низкая скорость итеративного разрешения зависимостей.[7] DNF применил libsolv — внешний решатель зависимостей.

DNF управляет зависимостями RPM-пакетов и использует ряд существующих библиотек для работы с ними. Изначально проект был реализован на языке программирования Python, но ведутся работы по его переносу на язык С и C++[8][9] и перемещение большинства функций из Python в новую библиотеку libdnf.[10] libdnf уже используется в PackageKit, системе интерфейсов пакетных менеджеров для произвольных дистрибутивов Linux.[11]

Использование[править | править код]

DNF стал менеджером пакетов по умолчанию в Fedora начиная с версии 22 от мая 2015 года. Библиотека libdnf используется в проекте PackageKit. DNF является альтернативным менеджером пакетов в Mageia Linux начиная с версии 6, и может стать основным в будущем.[12]

Часть возможностей DNF были перенесены в версию YUM 4 от 2017 года, в том числе, ускоренное разрешение зависимостей[13][14].

Зависимости[править | править код]

libdnf[править | править код]

  • Предоставляет API высокого уровня для DNF и базовых библиотек
  • Язык Си, лицензия LGPLv2+

libsolv[править | править код]

  • Бесплатный решатель зависимостей с использованием алгоритма SAT
  • Служит для решения зависимостей и чтения списков пакетов из репозиториев
  • Язык Си, новая лицензия BSD

librepo[править | править код]

  • Библиотека предоставляет интерфейсы С и Python (по аналогии с libcurl) для скачивания метаданных пакетного репозитория Linux и самих пакетов
  • Язык Си, лицензия LGPLv2+

libcomps[править | править код]

  • Libcomps является альтернативой для библиотеки «yum.comps». Реализована на языке Си, имеет интерфейсы для python2 и python3.
  • Язык Си, лицензия GPLv2+

Примечания[править | править код]

  1. DNF. Fedora Project Wiki. Дата обращения: 21 мая 2018. Архивировано 14 октября 2018 года.
  2. What does DNF stand for. DNF User's FAQ. Дата обращения: 21 мая 2018. Архивировано 14 октября 2018 года.
  3. README.rst · rpm-software-management/dnf · GitHub. Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Дата обращения: 21 мая 2018. Архивировано 5 июня 2020 года.
  4. Adam Saunders Fedora and DNF Архивная копия от 14 октября 2018 на Wayback Machine, LWN July 2, 2014
  5. Byfield, Bruce Will DNF Replace Yum?. Linux Magazine (2014). Дата обращения: 28 мая 2015. Архивировано 26 сентября 2015 года.
  6. Andrew Fedora 22 Released, See What`s New [Workstation]. WebUpd8 (26 мая 2015). Дата обращения: 28 мая 2015. Архивировано 25 сентября 2015 года.
  7. Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Дата обращения: 29 марта 2015. Архивировано 30 сентября 2015 года.
  8. DNF 3: better performance and a move to C++ Архивная копия от 14 октября 2018 на Wayback Machine / LWN, March 28, 2018
  9. Announcing DNF 3 development Архивная копия от 18 сентября 2018 на Wayback Machine. Daniel Mach, Jaroslav Mracek, March 22, 2018
  10. Šilhan, Jan DNF into C initiative started (недоступная ссылка). DNF blog (24 февраля 2016). Дата обращения: 5 июля 2017. Архивировано 2 июля 2017 года.
  11. Aleksandersen, Daniel Use DNF rather than PackageKit on Fedora. Ctrl blog (5 июля 2017). Дата обращения: 7 августа 2017. Архивировано 7 августа 2017 года.
  12. Larabel, Michael Mageia To Offer DNF, But Will Keep Using URPMI By Default. Phoronix (5 сентября 2016). Дата обращения: 4 декабря 2017. Архивировано 6 декабря 2017 года.
  13. YUM 4 is available for testing – Blog.CentOS.org. Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.
  14. OpenNews: Началось тестирование пакетного менеджера YUM 4. Дата обращения: 21 октября 2018. Архивировано 21 октября 2018 года.

Ссылки[править | править код]