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

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Francuaza (обсуждение | вклад) в 14:43, 1 февраля 2020. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Dandified Yum
Логотип программы Dandified Yum
Скриншот программы Dandified Yum
Работа DNF в дистрибутиве Fedora 26
Тип Система управления пакетами
Разработчик Red Hat
Написана на C, Python
Операционная система Linux
Языки интерфейса English
Первый выпуск 11 мая 2015
Последняя версия
Репозиторий github.com/rpm-software-…
github.com/rpm-software-…
Лицензия GPL v2
Сайт rpm-software-management.github.io
Логотип Викисклада Медиафайлы на Викискладе

DNF или Dandified YUM[2][3][4] — следующее поколение приложения 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. Release 5.2.8.1 — 2024.
  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

Ссылки