Debian init系統投票結果已總結

已發表 結果 全體投票 (GR,通用決議) Debian 專案開發人員在參與軟體包維護和基礎設施維護時,就支援多個 init 系統的問題進行了研究。 清單中的第二項(“B”)獲勝 - systemd 仍然是首選,但維護替代初始化系統的可能性仍然存在。 投票採用以下方法進行 孔多塞,其中每個選民按偏好順序對所有選項進行排名,並且在計算結果時,會考慮有多少選民更喜歡一種選項而不是另一種選項。

獲勝的提案承認 systemd 服務單元是配置守護程序和服務運行的首選方式,但也承認在某些環境中開發人員和用戶可以創建和使用替代 init 系統以及 systemd 功能的替代功能。 替代解決方案的開發人員需要資源來進行工作並格式化其套件。 用於運行綁定到特定於 systemd 的介面的應用程式的替代解決方案(例如 elogind)對於該專案仍然很重要。 支持此類措施需要在開發替代技術與專案其他部分交叉的領域提供援助,例如推遲補丁審查和討論。

套件可以包含 systemd 單元檔案和用於啟動服務的 init 腳本。 軟體包可以使用軟體包維護者想要的任何 systemd 功能,只要這些功能符合 Debian 規則並且不與其他軟體包中的實驗性或不受支援的 Debian 功能相關聯。 除了 systemd 之外,軟體包還可能包括對替代 init 系統的支持,並提供元件來替換特定於 systemd 的介面。 關於包含補丁的決定由維護者作為標準程序的一部分做出。 Debian 致力於與選擇使用其他 init 系統的衍生發行版合作,但交互是在維護者級別構建的,維護者級別決定第三方發行版準備的哪些功能被接受到主要 Debian 組合中以及哪些被保留在導數分佈中。

讓我們回顧一下2014年技術委員會 得到正式認可的 過渡 systemd 上的預設分發,但不是 解決了 關於支持多種供應系統的決定(表明委員會不願意就此問題做出決定的項目贏得了投票)。 委員會領導建議軟體包維護者繼續支持 sysvinit 作為替代 init 系統,但表示他不能強加自己的觀點,並且應根據每種情況獨立做出決定。

此後,一些開發人員嘗試 嘗試進行 全體投票,但初步投票表明,無需就使用多個初始化系統的問題做出決定。 幾個月前,之後 проблем 由於與 libsystemd 衝突,在測試分支中包含了 elogind 套件(在沒有 systemd 的情況下運行 GNOME 所必需的),Debian 專案負責人再次提出了這個問題,因為開發人員無法達成一致,他們的溝通變成了對抗並進入了死胡同。

考慮的選項:

  • 主要關注點是systemd。 提供對替代 init 系統的支援不是優先事項,但維護人員可以選擇在套件中包含此類系統的 init 腳本。
  • systemd 仍然是首選,但保留了維護替代初始化系統的可能性。 諸如 elogind 之類的技術被認為非常重要,這些技術允許綁定到 systemd 的應用程式在替代環境中運行。 軟體包可能包含替代系統的初始化檔案。
  • 支援各種 init 系統,並能夠使用 systemd 以外的 init 系統啟動 Debian。
    要執行服務,套件必須包含 init 腳本;僅提供 systemd 單元檔案而不提供 sysv init 腳本是不可接受的。

  • 支援不使用 systemd 的系統,但不進行會阻礙開發的變更。 開發人員同意在可預見的未來支援多個 init 系統,但也認為有必要努力改進 systemd 支援。 具體解決方案的開發和維護應該留給對這些解決方案感興趣的社區,但其他維護者應該在需要時積極幫助和貢獻問題解決。 理想情況下,套件應該使用任何 init 系統來運行,這可以透過提供傳統的 init 腳本或使用允許它們在沒有 systemd 的情況下工作的其他機制來實現。 無法在沒有 systemd 的情況下工作被認為是一個 bug,但不是一個發布阻塞的 bug,除非有一個現成的解決方案可以在沒有 systemd 的情況下工作,但它被拒絕保存(例如,當問題是由刪除先前提供的初始化腳本)。
  • 支援可移植性,而不引入阻礙開發的變更。 Debian 繼續被視為整合提供相同或相似功能的不同軟體的橋樑。 硬體平台和軟體堆疊之間的可移植性是一個重要目標,並且鼓勵替代技術的集成,即使其創建者的世界觀與普遍共識不同。 關於systemd和其他初始化系統的位置與第4點完全一致。
  • 強制支援多個初始化系統。 提供使用 systemd 以外的 init 系統運行 Debian 的能力對於該專案仍然很重要。 每個軟體包必須與systemd 以外的pid1 處理程序配合使用,除非該軟體包中包含的軟體最初打算僅與systemd 配合使用,並且不支援在沒有systemd 的情況下運行(缺少init 腳本並不算作僅適用於systemd) 。
  • 支援可移植性和多種實現。 整體原則與第 5 點完全相同,但對 systemd 和 init 系統沒有具體要求,也不對開發人員強加任何義務。 鼓勵開發者考慮彼此利益,做出妥協,找到各方都滿意的共同解決方案。
  • 繼續討論。 此項目可用於降級不可接受的選項。
  • 來源: opennet.ru

    添加評論