Розробники 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