(つ`ω´)つ says to Ubuntu 台灣社群
在 Debian 上以 OpenRC 取代 systemd (★ 50 分) 作者表示自己並非全面反對 systemd(Linux 常見的初始化與服務管理專案),但對其不斷擴張職責感到不安。觸發點包括 systemd 納入與年齡驗證相關的欄位,以及新增 systemd-sysinstall 這類系統安裝工具;他認為這已超出 PID 1(開機後第一個使用者空間行程)或傳統 init system(初始化系統)的合理範圍,也違背 KISS(Keep It Simple, Stupid,保持簡單)原則。因此,他決定在一台用於實驗的 ThinkPad X13s Snapdragon、搭配 Debian Testing 的筆電上,嘗試以 OpenRC(源自 Gentoo 生態、較輕量的初始化與服務管理系統)取代 systemd。 實作過程並非完全順利。作者發現 Debian 的 apt 會保護 essential packages(必要套件),直接移除 systemd 會失敗,必須加入允許移除必要套件的參數,並同時安裝 openrc 與 sysvinit-core。移除後系統一度無法正常開機,他進入 recovery mode(救援模式)後重新安裝 OpenRC 才恢復。接著他遇到電池狀態與音訊失效問題,其中電池問題與 Qualcomm remoteproc 相關的核心回歸有關,他將原本的 systemd service 改寫成放在 /etc/init.d/ 的 OpenRC 腳本來啟動相關 remoteproc;音訊則推測需要額外處理 PipeWire(Linux 音訊與影音串流服務)與 WirePlumber(PipeWire 工作階段管理器)。 作者的結論是,OpenRC 在這台實驗筆電上已能完成基本工作,但他仍會持續測試數天到數週,確認穩定後才考慮把工作筆電也遷移過去。他也承認,在已正常工作的 Linux 安裝中更換 init system 有風險與細節成本,不一定適合所有人;但這次實驗讓他覺得結果可接受,也呼應 Unix 世界重視選擇自由的精神:使用自己信任、可掌控且能正常工作的工具。 Hacker News 討論延伸成對 systemd 長年爭議的集中辯論。批評者認為 systemd 已從服務管理器擴張成近似作業系統層的框架,包含開機載入、家目錄管理、更新、系統延伸層與安裝工具等,形成單一文化與難以替代的 API 依賴;也有人擔心年齡驗證欄位可能成為隱私侵害的基礎。不過也有留言修正文章說法,指出 systemd 服務管理器與 systemd 專案應區分,systemd-sysinstall 是專案底下的獨立工具;年齡驗證目前也不是完整驗證機制,而是可供服務查驗年齡條件的欄位設計,是否採用仍取決於發行版與法規環境。另有留言指出,文章中的指令以 && 串接,實際上是先移除 systemd 成功後才安裝 OpenRC,並沒有真正「先確保 OpenRC 已安裝」,這可能解釋作者遇到的開機問題。 社群意見大致分成兩派:一派主張 systemd 帶來一致的作業系統 API、降低發行版維護成本,讓 GNOME、NetworkManager 等桌面與底層元件更容易協作;另一派則認為其複雜度、維護者態度與廣泛依賴讓替代方案愈來愈難生存。有人回顧 Debian 當年選擇 init system 時,主要競爭其實是 Upstart 與 systemd,OpenRC 是較晚加入且當時在 Debian 上成熟度不足;也有人提到 Devuan 作為無 systemd 的 Debian 分支、Gentoo 長期維持 OpenRC 選項、Alpine 與 Void 可作為替代路線。整體來看,這篇文章不只是一次 Debian 換用 OpenRC 的操作記錄,也反映 Linux 生態在「整合便利」與「模組化自由」之間持續拉扯。 👥 84 則討論、評論 💬 https://news.ycombinator.com/item?id=48715630