Fedora 41 planlægger at flytte til DNF5-pakkeadministratoren

В выпуске Fedora 41 предложено перевести дистрибутив по умолчанию на пакетный менеджер DNF5. Изначально, переход на DNF5 планировалось произвести в выпуске Fedora 39, но миграция была отложена из-за неготовности инструментария. Несмотря на то, что полный паритет в функциональности со старым инструментарием всё ещё не достигнут, разработчики считают, что дистрибутив готов к миграции, а недостающие возможности можно реализовать позднее. Предложение пока не рассмотрено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora. В случае принятия предложения пакеты dnf, libdnf и dnf-cutomatic будут заменены на инструментарий DNF5 и новую библиотеку libdnf5, а символическая ссылка /usr/bin/dnf начнёт указывать на исполняемый файл dnf5.

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

Ved at bruge C++ i stedet for Python kunne vi slippe af med et stort antal afhængigheder, reducere størrelsen af ​​værktøjssættet og forbedre produktiviteten. Højere ydeevne opnås ikke kun ved brug af kompilering til maskinkode, men også gennem forbedret implementering af transaktionstabellen, optimering af indlæsning fra repositories og databaseomstrukturering (databaser med systemtilstand og driftshistorik er adskilt). DNF5-værktøjssættet er afkoblet fra PackageKit til fordel for en ny baggrundsproces kaldet DNF Daemon, som erstatter PackageKit-funktionalitet og giver en grænseflade til håndtering af pakker og opdateringer i grafiske miljøer.

Omarbejdet gjorde det også muligt at implementere nogle forbedringer, der forbedrer brugervenligheden af ​​pakkehåndteringen. For eksempel giver den nye DNF en mere visuel indikation af operationernes fremskridt; tilføjet support til brug af lokale RPM-pakker til transaktioner; tilføjet muligheden for at vise i rapporter om gennemførte transaktioner information produceret af scripts indbygget i pakker; Et mere avanceret indtastningssystem til bash er blevet foreslået.

Kilde: opennet.ru

Tilføj en kommentar