Por qué DNF es mejor que PackageKit en Fedora
Fedora Workstation incluye por defecto dos gestores de paquetes: DNF, que en un principio se usa desde consola, y PackageKit, que ofrece una gestión gráfica y está presente en GNOME Software, Discover de KDE y en el nuevo panel de actualización de software incluido en Cockpit (una nueva interfaz de administración web web), característica que veremos a partir de Fedora 26. Ante esta bicefalia, ¿cuál es el gestor es más recomendable? Para los usuarios de Fedora DNF es la elección más inteligente, y no faltan razones.
La idea de PackageKit es la de ofrecer un frontend “multigestor” y una API para las operaciones comunes realizadas por los distintos gestores de paquetes existentes para GNU/Linux, pudiéndose nombrar a aquí a APT (Debian y Ubuntu), DNF (Fedora y RHEL), Zypper (SUSE y openSUSE) y Pacman (Arch Linux y derivadas). Esto permite gestionar los paquetes de forma gráfica y de forma independiente de la distribución.
Sin embargo, PackageKit necesita madurar en Fedora debido a que se apoya en la librería libdnf, todavía en desarrollo dentro del proceso para portar DNF de Python a C. Esto quiere decir que tanto GNOME Software como Discover se apoyan para funcionar en un componente que no está terminado. Por contra, actualmente PackageKit se integra perfectamente tanto en APT como en Pacman.
Los problemas de PackageKit en Fedora se pueden demostrar fácilmente comparando los comandos dnf y pkcon (este último correspondiente a PackageKit):
- DNF puede identificar y eliminar de forma automática los paquetes huérfanos cada vez que se actualiza el sistema, mientras que PackageKit mantiene los paquetes huérfanos instalados y hasta los actualiza a pesar de no ser necesarios.
- PackageKit, apoyado en libdnf, aún no soporta delta RPM, dando como resultado la descarga de una mayor cantidad de datos en los procesos de actualización frente a DNF, que sí hace uso los paquetes delta RPM para actualizar solo los componentes necesarios y no los programas y librerías completos.
- PackageKit en Fedora ignora la configuración establecida en “/etc/dnf/dnf.conf“, que permite a los usuarios habilitar características de DNF como la selección automática de los servidores más rápidos, la exclusión de paquetes y el control de la utilización de la red. Como consecuencia, el uso de PackageKit en Fedora puede terminar hasta por romper el flujo de trabajo del usuario.
- Otro inconveniente presente en PackageKit es que carece de las salvaguardas que impiden la desinstalación de paquetes críticos y básicos como glibc, libdnf e incluso el propio PackageKit. DNF se encarga de proteger ciertos paquetes de ser desinstalados para mantener el sistema funcional.
Como se puede apreciar, el uso de gestores de software que utilicen PackageKit no resulta fiable en Fedora, y esto parece que se extenderá a la próxima versión, Fedora 26. Por eso recomendamos a los usuarios de la distribución comunitaria de Red Hat gestionar los paquetes desde la consola.