GNOME OS Developers Transition to systemd-sysupdate for Atomic System Update
Developers of GNOME OS, an experimental distribution for developers and GNOME testers, have announced a transition to using the component systemd-sysupdate for organizing an atomic system update. This move allows users to evaluate the development of the desktop environment, familiarize themselves with emerging features, and test their applications in the development branches of GNOME.
The purpose of this shift is to adapt GNOME OS nightly builds for daily quality control of GNOME. Currently, the OSTREE system is involved in forming and updating the root section of GNOME OS, enabling the atomar update of the system image from a GIT-like storage. Updates are delivered in small portions containing changes from the previous state, allowing for easy rollback to previous versions to troubleshoot any issues.
Systemd-sysupdate tools, introduced with Systemd 251, automate the process of determining, loading, and installing updates using an atomic mechanism to replace sections, files, or directories. By utilizing two independent sections/files/directories, the current working resource and the next update can be installed separately, then switched for better security and integration with Systemd.
One significant advantage of the GNOME OS transition to systemd-sysupdate is the ability to use a verified boot process that extends from the bootloader to the distribution’s systemic components. Integration with systemd allows for a more comprehensive approach to handling system images as indivisible components.
Experiments have been conducted on creating Sysupdate-images with support for UEFI Secure Boot, and two GNOME OS assemblies utilizing OSTREE and SystemD-Sysupdate are already available. The next steps involve integrating Sysupdate with GNOME and developing a user-friendly graphical interface for system updates.
Currently, Sysupdate updates are accessed via the command line and require root privileges. The development of a D-Bus service, in conjunction with Polkit, will enable non-root users to manage updates. The D-Bus service and Updatectl utility are set to be included in the main composition of Systemd for improved usability.