Fedora 39 está configurado para pasar a DNF5, libre de compoñentes de Python

Ben Cotton, que ocupa o cargo de xestor de programas Fedora en Red Hat, anunciou a súa intención de cambiar Fedora Linux ao xestor de paquetes DNF5 por defecto. Fedora Linux 39 planea substituír os paquetes dnf, libdnf e dnf-cutomatic polo kit de ferramentas DNF5 e a nova biblioteca libdnf5. A proposta aínda non foi considerada polo FESCo (Fedora Engineering Steering Committee), responsable da parte técnica do desenvolvemento da distribución Fedora.

Nun tempo, DNF substituíu a Yum, que estaba escrito enteiramente en Python. En DNF, as funcións de baixo nivel de alto rendemento foron reescritas e trasladadas a bibliotecas C separadas hawkey, librepo, libsolv e libcomps, pero o framework e os compoñentes de alto nivel permaneceron en Python. O proxecto DNF5 ten como obxectivo unificar as bibliotecas de baixo nivel existentes, reescribir os compoñentes de xestión de paquetes restantes en Python en C++ e mover a funcionalidade básica a unha biblioteca libdnf5 separada coa creación dun envoltorio ao redor desta biblioteca para gardar a API de Python.

Usar C++ en lugar de Python eliminará un gran número de dependencias, reducirá o tamaño do conxunto de ferramentas e mellorará o rendemento. Conséguese un maior rendemento non só mediante o uso da compilación en código máquina, senón tamén mediante a mellora da implementación da táboa de transaccións, a optimización da carga desde os repositorios e a reestruturación de bases de datos (sepáranse as bases de datos co estado do sistema e o historial de operacións). O conxunto de ferramentas DNF5 está desvinculado de PackageKit a favor dun novo proceso en segundo plano chamado DNF Daemon, que substitúe a funcionalidade de PackageKit e proporciona unha interface para xestionar paquetes e actualizacións en contornos gráficos.

A reelaboración tamén ofrecerá a oportunidade de implementar algunhas melloras que melloren a usabilidade do xestor de paquetes. Por exemplo, o novo DNF proporciona unha indicación máis visual do progreso das operacións; engadiu soporte para usar paquetes RPM locais para transaccións; engadiu a posibilidade de mostrar en informes información sobre transaccións completadas producida por scripts integrados en paquetes; Propúxose un sistema de completación de entradas máis avanzado para bash.

Fonte: opennet.ru

Engadir un comentario