GNOME OS 是一个实验性发行版,供 GNOME 开发人员和测试人员评估桌面环境的开发状态,熟悉新兴的新功能并在开发中的 GNOME 分支中测试其应用程序的性能,GNOME OS 的开发人员宣布过渡到使用用于组织原子更新系统的 systemd-sysupdate 组件。更改的目的是希望适应 GNOME 操作系统的夜间构建,以对 GNOME 开发进行日常质量控制。
目前,OSTree 系统用于创建和更新 GNOME OS 根分区的填充,使用该系统映像可以从类似 Git 的存储库自动更新。系统分区以只读模式安装,并且更新以小部分的形式提供,其中包含相对于先前状态的更改(增量更新),例如,在 GNOME 测试过程中,如果需要,这使得它成为可能,轻松将系统回滚到以前的版本之一,并检查其中是否出现已识别的错误。
systemd-sysupdate 工具包随 systemd 251 一起提供,旨在使用原子分区、文件或目录替换机制自动检测、下载和安装更新。 Systemd-sysupdate允许您使用两个独立的分区/文件/目录,其中一个包含当前运行的资源,另一个安装下一个更新,之后分区/文件/目录被交换。
将 GNOME 操作系统从 OSTree 切换到 systemd-sysupdate 的优点之一是能够使用经过验证的引导过程,其中信任链从引导加载程序延伸到发行版的系统组件。此外,使用 systemd-sysupdate 将允许与 systemd 进行更完整的集成,并支持将预构建的系统映像作为不可分割的组件进行操作的架构。
去年秋天进行了创建支持 UEFI 安全启动的 sysupdate 映像的实验。事实上,基于 OSTree 和 systemd-sysupdate 的两个版本的 GNOME OS 构建已经可用。仍然需要确保 sysupdate 与 GNOME 集成并提供用于更新系统的图形界面。
目前,基于 sysupdate 的更新只能通过命令行进行管理,并且需要 root 权限。为了与 GNOME 集成,已经开发了 D-Bus 服务,它与 Polkit 结合使用,允许您在非特权用户下管理更新。开发的 D-Bus 服务和相关的 updatectl 实用程序旨在包含在主 systemd 中。
未来计划在 GNOME Software 应用程序中添加基于 sysupdate 的更新管理功能,为此准备了一个实验性的 gs-plugin-systemd-sysupdate 插件,该插件实现了通过 DBus 服务更新操作系统的功能系统更新。尚未解决的问题包括需要向 systemd-sysupdate 添加对增量更新的支持(当前仅加载整个映像),以及创建基于稳定分支和开发分支同时维护操作系统多个版本的工具侏儒。
来源: opennet.ru
