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

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 185.231.240.5 (обсуждение) в 14:01, 27 июня 2019 (version update). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Dandified Yum
Логотип программы Dandified Yum
Скриншот программы Dandified Yum
Работа DNF в дистрибутиве Fedora 26
Тип Система управления пакетами
Разработчик Red Hat
Написана на C, Python
Операционная система Linux
Языки интерфейса English
Первый выпуск 11 мая 2015
Последняя версия 4.2.6 (7 августа 2018; 6 лет назад (2018-08-07)[1])
Репозиторий github.com/rpm-software-…
github.com/rpm-software-…
Лицензия GPL v2
Сайт rpm-software-management.github.io
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

Использование

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

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

Зависимости

libdnf

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

libsolv

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

librepo

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

libcomps

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

Примечания

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

Ссылки