DNF (менеджер пакетов)
DNF или Dandified YUM[1][2][3] — следующее поколение приложения Yum, менеджер пакетов для дистрибутивов ОС Linux на основе RPM-пакетов. DNF разрабатывался с 2011 года[4] и был представлен в Fedora 18[5] и используется как основная система управления пакетами начиная с версии Fedora 22.[6]
Dandified Yum | |
---|---|
| |
Тип | Система управления пакетами |
Разработчик | Red Hat |
Написана на | C, Python |
Операционная система | Linux |
Языки интерфейса | English |
Первый выпуск | 11 мая 2015 |
Последняя версия | 4.2.23 (2 июня 2020) |
Лицензия | GPL v2 |
Сайт | rpm-software-management.github.io |
Предыдущий 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
libcomps
- Libcomps является альтернативой для библиотеки «yum.comps». Реализована на языке Си, имеет интерфейсы для python2 и python3.
- Язык Си, лицензия GPLv2+
Примечания
- DNF . Fedora Project Wiki. Дата обращения: 21 мая 2018.
- What does DNF stand for . DNF User's FAQ. Дата обращения: 21 мая 2018.
- README.rst · rpm-software-management/dnf · GitHub . Github DNF Repository, commit 8174427421b995265c6297ebd64024ded099ecf0. Дата обращения: 21 мая 2018.
- Adam Saunders Fedora and DNF, LWN July 2, 2014
- Byfield, Bruce Will DNF Replace Yum? . Linux Magazine (2014). Дата обращения: 28 мая 2015.
- Andrew Fedora 22 Released, See What`s New [Workstation] . WebUpd8 (26 мая 2015). Дата обращения: 28 мая 2015.
- Edge, Jake DNF and Yum in Fedora . LWN.net (15 января 2014). Дата обращения: 29 марта 2015.
- DNF 3: better performance and a move to C++ / LWN, March 28, 2018
- Announcing DNF 3 development. Daniel Mach, Jaroslav Mracek, March 22, 2018
- Šilhan, Jan DNF into C initiative started (недоступная ссылка). DNF blog (24 февраля 2016). Дата обращения: 5 июля 2017. Архивировано 2 июля 2017 года.
- Aleksandersen, Daniel Use DNF rather than PackageKit on Fedora . Ctrl blog (5 июля 2017). Дата обращения: 7 августа 2017.
- Larabel, Michael Mageia To Offer DNF, But Will Keep Using URPMI By Default . Phoronix (5 сентября 2016). Дата обращения: 4 декабря 2017.
- YUM 4 is available for testing – Blog.CentOS.org
- OpenNews: Началось тестирование пакетного менеджера YUM 4
Ссылки
- rpm-software-management.github.io — официальный сайт DNF