Fedora DNF پیکیج مینیجر کو Microdnf سے تبدیل کرنے کا ارادہ رکھتی ہے۔

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

Ключевым отличием Microdnf от DNF является использование для разработки языка Си, вместо Python, что позволяет избавиться от большого числа зависимостей. Изначально Microdnf развивался как урезанный вариант DNF для использования в контейнерах Docker, не требующий установки Python. Теперь разработчики Fedora планируют довести Microdnf до уровня DNF и со временем полностью заменить DNF на Microdnf.

Основой Microdnf выступает библиотека libdnf5, развиваемая в рамках проекта DNF 5. Основная идея DNF 5 в переписывании базовых операций управления пакетами на языке С++ и их вынос в отдельную библиотеку с созданием вокруг этой библиотеки обвязки для сохранения 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 и наоборот. Кроме того, в Microdnf не планируют сохранить 100% совместимость в DNF на уровне команд и опций командной строки. Также будут наблюдаться некоторые расхождения в поведении. Например, удаление пакета не будет приводить к удалению связанных с ним зависимостей, которые не используются в других пакетах.

ماخذ: opennet.ru

نیا تبصرہ شامل کریں