postmarketOS 项目引入了基于 systemd 的程序集

postmarketOS 项目开发了一个基于 Alpine Linux 软件包基础、标准 Musl C 库和 BusyBox 实用程序集的智能手机 Linux 发行版,该项目的开发人员宣布了使用 systemd 系统管理器的可能性。经过大约一年的实施 systemd 支持工作,原型组件已经准备就绪并可供测试,其中使用 systemd 代替 OpenRC 初始化系统。

至少只要该系统在 Alpine Linux 中使用,对创建基于 OpenRC 的构建的支持就会保留。构建 postmarketOS 映像时,会保留在 pmbootstrap 中选择 OpenRC 的选项。除此之外,OpenRC 计划继续由基于 Sway 复合管理器的 Sxmo (Simple X Mobile) 图形 shell 的程序集开发人员使用。

使用 systemd 进行的构建将继续构建在 Alpine Linux 软件包基础上,尽管该发行版不支持 systemd 并使用 Musl C 库。 Systemd 官方仅支持 Glibc C 库,postmarketOS 开发人员必须使用额外的补丁,他们计划随着时间的推移将其集成到主 systemd 中(正在与 systemd 开发人员一起工作以简化集成)。

实现 systemd 支持的原因是,面对 GNOME 和 KDE 对 systemd 组件的依赖性不断增加,维护基于 OpenRC 的初始化堆栈很困难。为了确保基于 systemd 的 GNOME 和 KDE 的功能,需要使用各个层,而没有 systemd 工作的代价是需要以适当的形式维护这些层并与 GNOME 和 KDE 的开发同步,在没有 systemd 的情况下层中一些必要的功能以及持续维护开发人员的不可预测性。

例如,为了与hostnamed、localed和timedated服务兼容,使用了openrc-settingsd层,使用eudev包而不是udev,使用elogind而不是logind,使用logbookd而不是journald,使用superd包提供“systemd -user”功能,并作为 systemd.timer 的替代品被唤醒。

postmarketOS 项目引入了基于 systemd 的程序集

在所使用的层中,仅在 openrc-settingsd 和 eudev 中提供对所需功能的适当维护和支持级别。 elogind、logbookd 和 superd 项目继续维护,但需要改进,因为它们缺乏一些必要的功能,并且唤醒大约有一年没有维护。此外,KDE Plasma Mobile 开发人员希望使用 systemd-coredumpd 服务来简化调试,但其替代 corecollector 截至 2020 年仍未得到维护。

至于使用这些服务的需要,GNOME 中使用 hostnamed、localed 和 timedated 提供的 D-Bus API 来更改语言环境、系统设置和时区;需要 udev 来管理连接的设备; logind、“systemd --user”和journald参与管理gnome-session中的用户会话; systemd.timer 由 GNOME 时钟使用。

在基于 systemd 的程序集中可以实现的新功能中,有细粒度的权限管理、使用高级功能来确保安全性和管理服务之间的依赖关系、与 cgroup 的完全集成、套接字激活的使用(例如,CUPS 可以仅在访问网络端口时启动),存在用于分析启动过程的内置工具。

来源: opennet.ru

添加评论