У 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

Додати коментар або відгук