GNOME OS promete actualizaciones rápidas y seguras con systemd-sysupdate
Con el lanzamiento de systemd 251, que se realizó en mayo de 2022, se marcó la introducción de systemd-sysupdate, un nuevo sistema de actualización que promete una mayor integración con systemd, soporte para diseños basados en imágenes y una cadena de confianza completa desde el inicio del sistema, tanto en línea como fuera de línea.
Este enfoque de systemd-sysupdate llamo la atención de los desarrolladores de GNOME OS (la distribucion experimental que introduce lo último en desarrollo del escritorio), los cuales han anunciado la transición al uso del componente systemd-sysupdate para organizar sistemas de actualizaciones atómicas.
Los desarrolladores mencionan que este cambio tiene como objetivo adaptar las compilaciones nightly de GNOME OS para realizar un control de calidad diario del desarrollo de GNOME. Como parte del proyecto, la migración implica el proceso de arranque y el sistema de archivos, así como la integración de systemd-sysupdate con GNOME a través de un servicio D-Bus y polkit para permitir la gestión de actualizaciones por parte de software no privilegiado.
Se menciona que actualmente, el sistema OSTree se utiliza para crear y actualizar el contenido de la partición root de GNOME OS, actualizando la imagen del sistema de manera atómica desde un repositorio similar a Git.
La partición del sistema se monta en modo de solo lectura, y las actualizaciones se entregan en forma de pequeñas porciones que contienen cambios relacionados con el estado anterior (actualizaciones delta). Esto permite, por ejemplo, durante el proceso de prueba de GNOME, revertir fácilmente el sistema a versiones anteriores y comprobar si un error identificado aparece en ellas.
Una de las ventajas de cambiar GNOME OS de OSTree a systemd-sysupdate es la capacidad de utilizar un proceso de inicio verificado, donde la cadena de confianza se extiende desde el gestor de arranque hasta los componentes del sistema de la distribución. Además, el uso de systemd-sysupdate permitirá una integración más completa con systemd y una arquitectura que manipule imágenes del sistema prediseñadas como componentes indivisibles.
Ahora bien, para completar esta migración, hay dos trabajos principales involucrados.
El primero es migrar el proceso de arranque y el sistema de archivos root … La segunda parte es la integración de sysupdate con GNOME. Actualmente, las actualizaciones del sistema sólo se pueden gestionar con una herramienta de línea de comandos, que debe ejecutarse como root.
En el último trimestre del año pasado se llevaron a cabo experimentos para crear imágenes de sysupdate con soporte para UEFI Secure Boot. Actualmente, hay disponibles dos versiones de compilaciones de GNOME OS: una basada en OSTree y otra en systemd-sysupdate. Queda por garantizar que sysupdate se integre completamente con GNOME y proporcione una interfaz gráfica para actualizar el sistema.
En este momento, las actualizaciones basadas en sysupdate solo se pueden gestionar desde la línea de comandos y requieren privilegios de root. Para la integración con GNOME, ya se ha desarrollado un servicio D-Bus que, en combinación con Polkit, permite gestionar las actualizaciones con un usuario sin privilegios. El servicio D-Bus desarrollado y la utilidad updatectl asociada están destinados a incluirse en la versión principal de systemd.
Entre los problemas aun sin resolver está la necesidad de agregar soporte para actualizaciones delta a systemd-sysupdate (actualmente, las imágenes se cargan en su totalidad) y la creación de herramientas para mantener simultáneamente varias versiones del sistema operativo basadas en las ramas estable y en desarrollo de GNOME. Además, se ha comenzado a trabajar en un nuevo instalador para GNOME OS, que aún se encuentra en una etapa inicial y cuyo repositorio aún no se ha creado.
Finalmente se menciona que a futuro está previsto agregar la funcionalidad de gestión de actualizaciones basada en sysupdate a la aplicación de software GNOME. Para ello, se ha preparado un complemento experimental llamado gs-plugin-systemd-sysupdate, que implementa la capacidad de actualizar el sistema operativo a través del servicio D-Bus para la actualización del sistema.
Según el anuncio oficial, Gnome OS también verá una integración más estrecha con systemd y soporte avanzado para el diseño basado en imágenes, lo que brinda inmutabilidad, actualizaciones automáticas, restablecimientos de fábrica y más.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.