Распрацоўнікі 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