En Fedora planean reemplazar DNF con Microdnf

Hace poco los desarrolladores de Fedora dieron a conocer sus intenciones de migrar la distribución al nuevo administrador de paquetes llamado «Microdnf» en lugar del administrador de paquetes «DNF» que se usa actualmente.

El primer paso en el camino hacia la migración serÔ una actualización importante de Microdnf, planificada para Fedora 38, que se acercarÔ en funcionalidad a DNF e incluso lo superarÔ en algunas Ôreas.

Se menciona que las intenciones de realizar dicha migración se debe a la diferencia clave entre Microdnf y DNF es el uso de C en lugar de Python para el desarrollo, lo que permite deshacerse de una gran cantidad de dependencias.

En un momento, DNF reemplazó a Yum, que estaba escrito completamente en Python, y en DNF, las funciones de bajo nivel que demandaban rendimiento se reescribieron y se trasladaron a bibliotecas separadas hawkey, librepo, libsolv y libcomps C, pero el marco y el alto nivel los componentes permanecieron en el lenguaje Python.

Microdnf se desarrolló originalmente como una versión simplificada de DNF para su uso en contenedores Docker que no requerían la instalación de Python. Ahora, los desarrolladores de Fedora planean llevar Microdnf al nivel de funcionalidad DNF y eventualmente reemplazar completamente DNF con Microdnf.

Una importante actualización de Microdnf es el primer paso en la evolución de la gestión de paquetes en Fedora. El nuevo microdnf tiene la ambición de proporcionar todas las funciones principales de DNF sin perder su huella mínima.

Microdnf se basa en la biblioteca libdnf5, desarrollada como parte del proyecto DNF 5. DNF 5 tiene como objetivo unificar las bibliotecas de bajo nivel existentes, reescribir en C ++ las operaciones de administración de paquetes restantes en Python y mover la funcionalidad bÔsica a una biblioteca separada con la creación de un enlace alrededor de esta biblioteca para preservar la API de Python.

MICRODNF mejora significativamente la experiencia del usuario y en el futuro proporcionarƔ todas las funciones importantes de DNF. TambiƩn mantendrƔ todas las ventajas del MICRODNF original, como el tamaƱo mƭnimo requerido por los contenedores.

La nueva versión de Microdnf también utilizarÔ el proceso en segundo plano DNF Daemon, reemplazando la funcionalidad PackageKit y brindando una interfaz para administrar paquetes y actualizaciones en entornos grÔficos. A diferencia de PackageKit, DNF Daemon solo admitirÔ el formato RPM.

EstÔ previsto que Microdnf, libdnf5 y DNF Daemon se envíen junto con el kit de herramientas DNF tradicional en la primera fase de implementación. Una vez que se complete el proyecto, el nuevo paquete reemplazarÔ paquetes como dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora y python3-dnfdaemon.

De las Ôreas en las que Microdnf es superior a DNF, se destaca: una indicación mÔs visual del progreso de las operaciones; implementación mejorada de la tabla de transacciones; la capacidad de mostrar información en informes sobre transacciones completadas que se emite mediante scripts integrados en paquetes (scriptlets); soporte para usar paquetes RPM locales para transacciones; sistema de finalización de entrada mÔs avanzado para bash; soporte para ejecutar el comando builddep sin instalar Python en el sistema.

Entre las desventajas de cambiar el administrador de paquetes de la distribución a Microdnf esta el cambio en la estructura de las bases de datos internas y el procesamiento de la base de datos separada de DNF, lo que no le permitirÔ ver transacciones con paquetes realizados en DNF en Microdnf y viceversa.

Los paquetes instalados previamente con DNF se tratarÔn como «instalados por el usuario del historial de dnf» después de migrar a Microdnf, y la desinstalación de un paquete instalado por otro administrador de paquetes no eliminarÔ las dependencias no utilizadas asociadas con él. AdemÔs, Microdnf no tiene previsto mantener al 100% la compatibilidad DNF a nivel de comandos y opciones de línea de comandos.

Se observa que la nueva versión de Microdnf admitirÔ todas las funciones principales de DNF, pero al mismo tiempo conservarÔ un alto rendimiento y compacidad.

Finalmente si estƔs interesado en poder conocer mƔs al respecto, puedes consultar los detalles en el siguiente enlace.