В Fedora планируют заменить пакетный менеджер DNF на Microdnf

Разработчики Fedora Linux намерены перевести дистрибутив на новый пакетный менеджер Microdnf вместо ныне используемого DNF. Первым шагом на пути к миграции станет планируемое в выпуске Fedora Linux 38 значительное обновление Microdnf, который будет приближен по функциональности к DNF, а в некоторых областях даже станет его превосходить. Отмечается, что новая версия Microdnf будет поддерживать все основные возможности DNF, но при этом сохранит высокую производительность и компактность.

Ключевым отличием Microdnf от DNF является использование для разработки языка Си, вместо Python, что позволяет избавиться от большого числа зависимостей. В своё время DNF пришёл на смену Yum, который был написан целиком на языке Python, а в DNF требовательные к производительности низкоуровневые функции были переписаны и вынесены в отдельные Си-библиотеки hawkey, librepo, libsolv и libcomps, но каркас и высокоуровневые компонеты оставались на языке Python. Изначально Microdnf развивался как урезанный вариант DNF для использования в контейнерах Docker, не требующий установки Python. Теперь разработчики Fedora планируют довести Microdnf до уровня функциональности DNF и со временем полностью заменить DNF на Microdnf.

Основой Microdnf выступает библиотека libdnf5, развиваемая в рамках проекта DNF 5. DNF 5 нацелен на унификацию имеющихся низкоуровневых библиотек, переписывание на языке С++ остающихся на Python операций управления пакетами и вынос базовой функциональности в отдельную библиотеку с созданием вокруг этой библиотеки обвязки для сохранения Python API.

Новая версия Microdnf также будет использовать фоновый процесс DNF Daemon, заменяющий функциональность PackageKit и предоставляющий интерфейс для управления пакетами и обновлениями в графических окружениях. В отличие от PackageKit в DNF Daemon будет предоставляться поддержка только формата RPM.

Microdnf, libdnf5 и DNF Daemon на первой стадии внедрения планируют поставлять параллельно с традиционным инструментарием DNF. После доведения проекта до полной готовности новая связка заменит собой такие пакеты, как dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora, и python3-dnfdaemon.

Из областей, в которых Microdnf превосходит DNF, отмечается: более наглядная индикация прогресса выполнения операций; улучшенная реализация таблицы транзакций; возможность вывода в отчётах о выполненных транзакциях информации, выдаваемой встроенными в пакеты скриптами (scriplets); поддержка использования локальных RPM-пакетов для транзакций; более продвинутая система автодополнения ввода для bash; поддержка выполнения команды builddep без установки Python в системе.

Среди минусов перехода дистрибутива на Microdnf упоминается изменение структуры внутренних БД и раздельная от DNF обработка БД, что не позволит видеть в Microdnf транзакции с пакетами, выполненные в DNF и наоборот. Ранее установленные при помощи DNF пакеты после перехода на Microdnf будут обрабатываться как установленные пользователем ("dnf history userinstalled"), а удаление пакета, установленного другим пакетным менеджером, не будет приводить к удалению связанных с ним неиспользуемых зависимостей. Кроме того, в Microdnf не планируют сохранить 100% совместимость в DNF на уровне команд и опций командной строки.

В Fedora планируют заменить пакетный менеджер DNF на Microdnf

Источник: opennet

66
9 комментариев

Не слышал раньше про microdnf, но это звучит очень любопытно. Чем меньше Питона, тем лучше.

2

За что вы змей ненавидите? Вы что, нацист?

Комментарий недоступен

А шо там? Я просто не вкурсе

Комментарий недоступен