發布服務管理員 s6-rc 0.5.3.0 和初始化系統 s6-linux-init 1.0.7

服務管理員 s6-rc 0.5.3.0 的重要版本已準備就緒,旨在管理初始化腳本和服務的啟動,同時考慮依賴性。 s6-rc 工具包既可用於初始化系統,也可用於組織與反映系統狀態變化的事件相關的任意服務的啟動。 提供完整的依賴關係樹追蹤以及服務的自動啟動或關閉以達到指定的狀態。 該程式碼是用 C 語言編寫的,並根據 ISC 許可證分發。

s6-rc 服務管理員可以被視為 sysv-rc 或 OpenRC 的類似物,包括一組用於啟動和停止長時間運行的程序(守護程序)或立即終止的初始化腳本的實用程式。 在工作過程中,考慮到元件之間的依賴關係,確保腳本和服務的並行啟動不交叉,並保證腳本執行的順序在不同的啟動之間重複。 所有狀態變更的處理都會考慮依賴關係,確保不違反依賴關係(例如,當服務啟動時,其操作所需的依賴關係將自動啟動,而當停止時,依賴的服務也將停止)。

s6-rc 提供了更通用的捆綁概念,而不是運行級別,它允許您根據任意特徵和要解決的任務對服務進行分組。 為了提高工作效率,使用了編譯的依賴關係資料庫,該資料庫是由 s6-rc-compile 實用程式根據包含用於啟動/停止服務的檔案的目錄內容建立的。 s6-rc-db 和 s6-rc-update 實用程式用於解析和操作資料庫。 系統支援sysv-init相容的init腳本,並且可以從sysv-rc或OpenRC匯入依賴資訊。

s6-rc 的優點之一是緊湊的實現,除了用於解決直接問題的元件之外不包含任何多餘的內容,並且消耗最少的資源。 與其他服務管理員不同,s6-rc 支援為現有服務集主動(離線)建立依賴關係圖,這允許您單獨執行資源密集型依賴關係分析,而不是在載入或狀態變更期間執行。 同時,系統並不是單一的,而是分為一系列獨立的、可替換的模組,每個模組根據 Unix 哲學,只解決一個特定的任務。

與監視進程操作的 s6 實用程式(類似於 daemontools 和 runit)結合使用,該工具包允許您同時監視長時間運行的服務的操作,例如,在異常終止的情況下重新啟動它們,並確保順序命令以可重複的形式啟動,在不同的新創公司中重複。 支援的功能包括存取套接字時啟動服務(存取網路連接埠時啟動處理程序)、記錄進程事件(取代 syslogd)以及受控授予附加權限(類似於 sudo)。

同時發布了 s6-linux-init 1.0.7.0 軟體包,提供了 init 進程的實現,為基於 Linux 核心的作業系統建立現成的 init 系統,其中 s6 和 s6 -rc 實用程式用於管理服務和初始化腳本。 同時,s6 和 s6-rc 不依賴 s6-linux-init,如果需要,可以與任何初始化系統一起使用。

此外,該項目還提供:

  • s6-networking 是一組用於建立網路服務的實用程序,類似於 ucspi。
  • s6-frontend - 用於在 s6 之上重新建立 daemontools 和 runit 功能的框架。
  • s6-portable-utils 是一組標準 Unix 實用程序,例如 cut、chmod、ls、sort 和 grep,針對最小資源消耗進行了最佳化,並在 ISC 許可證下提供。
  • s6-linux-utils - 一組特定於 Linux 的實用程序,例如 chroot、freeramdisk、logwatch、mount 和 swapon。
  • s6-dns 是一組用戶端程式庫和實用程序,用於取代 BIND 和 djbdns 中的標準 DNS 實用程式。

在新版本的 s6-rc 中,s6-rc-compile 實用程式實作從目錄(而不是檔案)讀取有關依賴項和服務集的資料。 透過套件管理器安裝程式時,使用目錄可以簡化向資料庫新增服務以及有關依賴項資訊的過程,因為它允許您無需更改檔案即可完成操作。 保留了對舊的基於文件的格式的支援以確保相容性。 在新版本的 s6-linux-init 中,s6-linux-init-maker 公用程式中新增了「-S」選項,用於同步容器中的資料。

來源: opennet.ru

添加評論