根据提案显示,Fedora 35 或将支持用户服务(运行在 systemd 用户实例下的单元)作为 rpm 升级的一部分进行重启。
通常来说,一个运行中的 Fedora 系统会有一个主 systemd 实例(PID 1),一些正在运行的系统服务,以及一些 systemd 的用户实例,它们是在主 systemd 实例下运行的服务。这些实例依次执行用户服务,而 systemd 的用户实例及其管理的服务是无特权的。这些都是可能需要重启的对象。
目前,Fedora 已经有 rpm 打包脚本来重新执行 systemd 并作为 rpm 更新事务的一部分重新启动系统服务,但并没有为用户管理器提供相应的服务。通过该提案,当 systemd.rpm 升级时,各个系统管理器将被重新执行,各种软件包可以将其用户服务标记为重启。用户服务的重启与系统服务的重启类似,都是在所有软件包安装完毕后,通过 transfiletrigger 来完成。
Fedora 工程和指导委员会 (FESCo) 已经批准了该提案。默认情况下,此更改不适用于所有用户服务,并需要 Fedora 软件包维护人员通过其 RPM 脚本选择重新启动的用户服务。这最终意味着像 PipeWire 这样的用户服务可以在通过 Fedora RPM 更新升级它们时无缝重启,而不需要手动执行此操作或重新启动系统以使升级生效。
更多详细内容可访问其 Wiki 页面。
本文地址:https://www.oschina.net/news/155796/redora-support-restart-user-service