在 Debian 中用 OpenRC 替换 systemd

为什么替换 systemd / 需要竞争

  • 许多人认为 systemd 已经变得过于强势,形成了一种事实上的单一文化,使替代方案难以部署。
  • 担忧包括:依赖蔓延到许多低层组件、意外的复杂性,以及维护者对兼容性问题显得轻描淡写。
  • 也有人回应说,systemd 对他们很好,解决了长期存在的 init 问题,而且真正可行的替代方案仍然不完整或只属小众。

技术比较:systemd、OpenRC 和其他 init

  • OpenRC 被描述为一个轻量级服务管理器,具备依赖排序、监督(supervise-daemon)、并行启动和 cgroup 集成。
  • 有人指出,就基本情况而言,systemd 的 unit 文件和 OpenRC 的服务文件在结构上相当相似。
  • 对于基于 shell 的 init 脚本是否天生脆弱,还是 systemd 的声明式、二进制驱动方式更可靠,存在争论。

Debian、Devuan 与发行版选择

  • 历史背景:Debian 曾评估 systemd、Upstart 和 OpenRC;在做出决定时,OpenRC 在 Debian 中被认为开发程度不足。
  • Debian 最初支持多种 init 系统,但后来由于维护负担而标准化为 systemd。
  • Devuan 被提到为“没有 systemd 的 Debian”,但它不同于在原版 Debian 上简单替换 init(有单独的仓库、补丁)。
  • 有人认为发行版应该选择一种 init;“选择”应发生在发行版层面,而不是每个发行版内部。

systemd 的范围与 “OS 化”

  • systemd 现在涵盖 init、日志、网络、引导加载器、分区自动发现、安装器、容器式功能等。
  • 支持者喜欢这种一致、集成的“OS 层”,以及能简化 Cockpit 这类工具的统一 API。
  • 批评者将其视为越界,担心锁定效应,并让组件更难替换。

不可变系统与控制

  • 讨论了基于 systemd 的不可变堆栈,以及一家专注于锁定式“amutable”系统的公司。
  • 有人认为,不可变、集中控制的系统对厂商有益(例如游戏机、消费设备)。
  • 另一些人担心,一旦这些机制在 init/OS 层标准化,可能会帮助用户锁定或排除非 systemd 发行版,尤其是在与安全启动策略结合时。

年龄验证 / 隐私担忧

  • systemd 中计划加入的年龄/出生日期字段引发了强烈反应。
  • 批评者认为这会助长“年龄嗅探”,与侵入性的法律和数据收集相呼应;将其视为为了配合法规而设计,这一点也被认为可疑。
  • 支持者指出,这只是一个可选的元数据字段,可以在编译时移除或保持未设置,并且可能避免每个服务都重新实现自己的机制。
  • 对于开发者应当遵守这类法律、忽略它们,还是作为测试案例积极抵制,存在分歧。

可用性、可靠性与漏洞

  • 有些人表示,systemd 多年来一直稳健且功能完备,尤其是与经典 SysV 相比。
  • 另一些人则讲述了严重的过往漏洞(例如通过 D-Bus 的关机竞态、journald 数据丢失、CPU 激增、监督不兼容),并将其视为设计缺陷,而不仅仅是实现错误。
  • 也有人承认,sysv 风格 init 和 systemd 都曾让生产系统出过问题;systemd 更大的代码库在一些人看来也意味着更大的漏洞“攻击面”。

碎片化 vs 标准化

  • 支持 systemd 的声音强调减少发行版碎片化、提升跨发行版一致性,以及让打包更容易。
  • 反单一文化的声音重视多样性(Gentoo、Alpine、Void、Devuan),并担心当桌面(GNOME/KDE)或工具悄悄假设 systemd 存在时会出问题。
  • 有人指出,POSIX 曾试图改善可移植性,但现代桌面和深度系统集成需要的不只是 POSIX。

替代方案与 “B 计划” 发行版

  • Gentoo + OpenRC、Alpine(使用 OpenRC)、Void 以及其他受监督系统启发的方案,都被列为可行的非 systemd 选项。
  • 据报道,Alpine 作为桌面系统运行良好(例如配合 i3 或 KDE),尤其适合低功耗硬件。
  • 虽然存在将 systemd unit 转换为其他格式的工具,但维持语义兼容性被认为并不简单。

元话题:文化、政治与法律

  • 讨论触及对企业影响力(Red Hat/IBM、大型科技公司)的不信任,以及担心其激励与隐私导向用户并不一致。
  • 人们争论应通过政治、法院,还是技术上的不合作来对抗糟糕的法律。
  • 有些人把对 systemd 的批评描述为情绪化或 شبه 部落化;也有人认为他们是在回应真实的技术和治理问题。