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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Dandified Yum
DNF logo.png
Работа DNF в дистрибутиве Fedora 26
Работа DNF в дистрибутиве Fedora 26
Тип Система управления пакетами
Разработчик Red Hat
Написана на C, Python
Операционная система Linux
Языки интерфейса English
Первый выпуск 11 мая 2015
Последняя версия 4.2.23 (2 июня 2020)
Лицензия 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.
  2. What does DNF stand for. DNF User's FAQ. Дата обращения 21 мая 2018.
  3. README.rst · rpm-software-management/dnf · GitHub. Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Дата обращения 21 мая 2018.
  4. Adam Saunders Fedora and DNF, LWN July 2, 2014
  5. Byfield, Bruce Will DNF Replace Yum?. Linux Magazine (2014). Дата обращения 28 мая 2015.
  6. Andrew Fedora 22 Released, See What`s New [Workstation]. WebUpd8 (26 мая 2015). Дата обращения 28 мая 2015.
  7. Edge, Jake DNF and Yum in Fedora. LWN.net (15 января 2014). Дата обращения 29 марта 2015.
  8. DNF 3: better performance and a move to C++ / LWN, March 28, 2018
  9. Announcing DNF 3 development. 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.
  12. Larabel, Michael Mageia To Offer DNF, But Will Keep Using URPMI By Default. Phoronix (5 сентября 2016). Дата обращения 4 декабря 2017.
  13. YUM 4 is available for testing – Blog.CentOS.org
  14. OpenNews: Началось тестирование пакетного менеджера YUM 4

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