DNF (менеджер пакетов)
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]
Что важно знать
| Dandified Yum | |
|---|---|
| Тип | Система управления пакетами |
| Разработчик | Red Hat |
| Написана на | C, Python |
| Операционная система | Linux |
| Языки интерфейса | English |
| Первый выпуск | 11 мая 2015 |
| Последняя версия | |
| Репозиторий |
github.com/rpm-software-… github.com/rpm-software-… |
| Лицензия | GPL v2 |
| Сайт | rpm-software-management.github.io |
Использование
DNF стал менеджером пакетов по умолчанию в Fedora начиная с версии 22 от мая 2015 года. Библиотека libdnf используется в проекте PackageKit. DNF является альтернативным менеджером пакетов в Mageia Linux начиная с версии 6, и может стать основным в будущем.[13]
Часть возможностей DNF были перенесены в версию YUM 4 от 2017 года, в том числе, ускоренное разрешение зависимостей[14][15].
Зависимости
- Предоставляет API высокого уровня для DNF и базовых библиотек
- Язык Си, лицензия LGPLv2+
- Бесплатный решатель зависимостей с использованием алгоритма SAT
- Служит для решения зависимостей и чтения списков пакетов из репозиториев
- Язык Си, новая лицензия BSD
- Библиотека предоставляет интерфейсы С и Python (по аналогии с libcurl) для скачивания метаданных пакетного репозитория Linux и самих пакетов
- Язык Си, лицензия LGPLv2+
- Libcomps является альтернативой для библиотеки «yum.comps». Реализована на языке Си, имеет интерфейсы для python2 и python3.
- Язык Си, лицензия GPLv2+
Примечания
Ссылки
- rpm-software-management.github.io — официальный сайт DNF


