Desde el desarrollo de Fedora 39 se tenía contemplado el uso de DNF5 como predeterminado, pero por diversas cuestiones este cambio se ha venido retrasando y ahora en un esfuerzo por mejorar la experiencia del usuario y optimizar el rendimiento del sistema, los desarrolladores Fedora han dado a conocer la noticia de un cambio significativo en su administrador de paquetes dnf y es que hace poco el FESCo (Fedora Engineering Steering Committee) ha aprobado el uso predeterminado del administrador de paquetes DNF5 en la próxima versión de otoño de Fedora 41.
Esta propuesta busca cambiar el administrador de paquetes DNF actual a DNF5, con el objetivo de ofrecer una serie de mejoras y beneficios a los usuarios de Fedora. Con este cambio se pretende cambiar no solo el enlace simbólico /usr/bin/dnf que apunta a dnf-3, si no que también se pretende implementar todo el trabajo que se ha realizado en el desarrollo de DNF lo que supone una mejora significativa en la gestión de paquetes en Fedora.
Se menciona que en Fedora 41 los paquetes dnf, libdnf y dnf-cutomatic serán reemplazados por DNF5 y una nueva biblioteca libdnf5. Además, el enlace simbólico /usr/bin/dnf apuntará al archivo ejecutable dnf5.
Aunque aún no se ha logrado la paridad total en funcionalidad con las herramientas antiguas, los desarrolladores consideran que la distribución está lista para la migración y que las funciones faltantes se pueden implementar más adelante.
Por ejemplo, la funcionalidad de gestión del historial de transacciones detrás del comando «dnf History» aún no está disponible. También se está trabajando en la integración del soporte para el proceso en segundo plano dnf5daemon en el administrador de aplicaciones del software GNOME. Se necesitan pruebas adicionales para el mecanismo de actualización del sistema a la siguiente versión (comando de actualización del sistema).
Inicialmente, DNF reemplazó a Yum, que estaba escrito completamente en Python. Con DNF, las funciones de bajo nivel se reescribieron en bibliotecas C separadas como librepo, libcomps, entre otras, mientras que el marco y los componentes de alto nivel permanecieron en Python.
Sin embargo, el proyecto DNF5 busca una unificación más profunda al reescribir los componentes restantes de administración de paquetes en C++ y mover la funcionalidad básica a una biblioteca separada llamada libdnf5, con una API de Python encapsulada por un contenedor alrededor de esta biblioteca.
La adopción de C++ sobre Python permitió reducir dependencias, optimizar el rendimiento mediante la compilación en código de máquina y mejorar la estructura interna del sistema. DNF5 está desacoplado de PackageKit en favor de DNF Daemon, un nuevo proceso en segundo plano que reemplaza la funcionalidad de PackageKit y proporciona una interfaz más eficiente para administrar paquetes y actualizaciones, especialmente en entornos gráficos.
Ademas de ello, se menciona que se está trabajando en la implementación de complementos para dnf5 para igualar el conjunto de características del paquete dnf-plugins-core. Entre los complementos planificados se encuentran el complemento de instalación de información de depuración y el complemento de reposync. DNF5 actualmente implementa un conjunto básico de características para la gestión de módulos, tras el retiro del soporte para la modularidad en Fedora 39.
DNF5 también ha introducido mejoras en la usabilidad del administrador de paquetes, como una indicación visual más clara del progreso de las operaciones, el soporte para el uso de paquetes RPM locales, la capacidad de mostrar información de transacciones completadas y un sistema de finalización de entradas mejorado para bash. Estas mejoras contribuyen a una experiencia más eficiente y amigable para los usuarios de Fedora.
Finalmente, se menciona que para garantizar una transición sin problemas, se está preparando cuidadosamente la ruta de actualización para los usuarios existentes de dnf. Una vez que dnf5 esté disponible, reemplazará al paquete dnf a partir de Fedora 41. Además, se proporcionará compatibilidad con versiones anteriores a través de un enlace simbólico /usr/bin/yum y el nuevo complemento dnf5 y se está desarrollando un nuevo servicio demonizado llamado dnf5daemon, utilizando la interfaz D-Bus, como una alternativa al uso de PackageKit. La integración con la interfaz de usuario GNOME está en progreso.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.