Увидел свет пакетный менеджер DNF 1.0, пришедший на смену Yum
Анонсирован релиз пакетного менеджера DNF 1.0, ознаменовавший стабилизацию кодовой базы и готовность для использования в качестве основного пакетного менеджера в дистрибутиве Fedora 22. Новый выпуск также примечателен поддержкой работы с репозиториями, использующими HTTP basic-аутентификацию. DNF является ответвлением от Yum 3.4, созданным для развития некоторых новых идей, таких как использование библиотеки hawkey в качестве бэкенда для разрешения зависимостей. В качестве основных проблем Yum, которые побудили к созданию DNF, называют некачественную документацию на API, проблемный алгоритм разрешения зависимостей и невозможность рефакторинга внутренних функций. По сравнению с Yum, DNF обладает заметно более высокой скоростью работы, низким потреблением памяти и более качественным управлением зависимостями. Кроме того, DNF может выполняться как при помощи Python 2, так и Python 3, что позволяет реализовать план по поставке Python 3 в Fedora по умолчанию.
Для разрешения зависимостей в DNF задействован SAT solver, реализованный в библиотеке libsolv (hawkey выступает в роли надстройки над libsolv), созданной в рамках проекта openSUSE. Обработки метаданных и загрузка пакетов выполняется через librepo. Для расширения функциональности DNF предоставляет новый, не совместимый с Yum, API для плагинов и интеграции с другими приложениями, такими как инсталлятор Anaconda.
C точки зрения опций командной строки и файлов конфигурации, DNF почти полностью совместим с YUM. Из наиболее заметных отличий можно отметить: идентичность команд update и upgrade, прекращение поддержки опции »--skip-broken», прекращение поддержки команд «resolvedep» и «deplist» вместо которых следует использовать «dnf provides» и «dnf repoquery --requires», возможностью фильтрации по маске для всех команд, прекращение поддержки некоторых опций конфигурации и изменение настроек по умолчанию. Несмотря на то, что Yum ещё будет поддерживаться некоторое время, данный проект официально объявлен завершившим свой жизненный цикл. Для автоматизации перехода с Yum на DNF и конвертации имеющихся метаданных подготовлен специальный плагин migrate.
© OpenNet