У Fedora 39 намічений перехід на DNF5, позбавлений компонентів мовою Python

Бен Коттон (Ben Cotton), який займає в компанії Red Hat посаду Fedora Program Manager, оголосив про намір перевести Fedora Linux за замовчуванням на пакетний менеджер DNF5. У Fedora Linux 39 планується замінити пакети dnf, libdnf та dnf-cutomatic на інструментарій DNF5 та нову бібліотеку libdnf5. Пропозиція поки не розглянута комітетом FESCo (Fedora Engineering Steering Committee), який відповідає за технічну частину розробки дистрибутива Fedora.

Свого часу DNF прийшов на зміну Yum, який був написаний повністю мовою Python. У DNF вимогливі до продуктивності низькорівневі функції були переписані та винесені в окремі Си-бібліотеки hawkey, librepo, libsolv та libcomps, але каркас та високорівневі компонети залишилися мовою Python. Проект DNF5 націлений на уніфікацію наявних низькорівневих бібліотек, переписування мовою С++ компонентів управління пакетами, що залишаються на Python, і винесення базової функціональності в окрему бібліотеку libdnf5 зі створенням навколо цієї бібліотеки обв'язки для збереження Python API.

Використання мови С++ замість Python дозволить позбутися великої кількості залежностей, скоротити розмір інструментарію та підвищити продуктивність. Вища продуктивність досягається як завдяки застосуванню компіляції в машинний код, а й рахунок поліпшеної реалізації таблиці транзакцій, оптимізації завантаження з репозиторіїв і реструктуризації БД (розділені основи зі станом системи та історією операцій). Інструментарій DNF5 позбавлений прив'язки до PackageKit, замість якого задіяний новий фоновий процес DNF Daemon, що замінює функціональність PackageKit і надає інтерфейс для управління пакетами та оновленнями в графічних оточеннях.

Переробка також дасть можливість реалізувати деякі покращення, що підвищують зручність роботи з пакетним менеджером. Наприклад, у новому DNF реалізовано наочнішу індикацію прогресу виконання операцій; додано підтримку використання локальних RPM-пакетів для транзакцій; додано можливість показу у звітах про виконані транзакції інформації, що видається вбудованими в пакети скриптами (scriplets); запропоновано більш просунуту систему автодоповнення введення для bash.

Джерело: opennet.ru

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