Finit 4.0初始化系統可用

經過大約三年的開發,初始化系統 Finit 4.0(Fast init)發布,作為 SysV init 和 systemd 的簡單替代品。該專案基於對 EeePC 上網本 Linux 韌體中使用的 fastinit 初始化系統進行逆向工程開發,並以其非常快速的啟動過程而聞名。該系統主要旨在啟動緊湊型和嵌入式系統,但也可用於傳統的桌面和伺服器環境。已經為 Void Linux、Alpine Linux 和 Debian GNU/Linux 準備了範例實作腳本。該專案代碼是用 C 語言編寫的,並根據 MIT 許可證分發。

Finit 支援SysV init 風格的運作等級、監視後台程序的運作狀況(在發生故障時自動重新啟動服務)、執行一次性處理程序、考慮依賴性和任意條件啟動服務、附加額外的處理程序以在之前或之後運行服務執行。例如,您可以將某項服務設定為僅在網路存取可用後或某些其他服務(例如 syslogd)啟動後啟動。 Cgroups v2 用於設定限制。

為了擴展功能並適應您的需求,可以使用插件,為此提供了一個鉤子系統,讓您可以將處理程序附加到載入和執行服務的各個階段,並提供與外部事件的綁定。例如,已經準備了插件來支援D-Bus、ALSA、netlink、resolvconf、設備熱插拔、檢查內核模組的可用性和載入、處理PID檔案以及為X伺服器設定環境。

支援使用標準腳​​本來啟動為 SysV init 建立的服務(不使用 /etc/rc.d 和 /etc/init.d,但可以透過外掛程式實現對 /etc/inittab 的支援),以及rc.local 腳本,帶有環境和網路設定變數的檔案/etc/network/interfaces,如Debian 和BusyBox 中。設定可以在一個設定檔 /etc/finit.conf 中定義,也可以分佈在 /etc/finit.d 目錄中的多個檔案中。

管理是透過標準的 initctl 和 run-parts 工具進行的,這些工具可讓您啟動和停用與運行等級相關的服務,以及選擇性地啟動某些服務。 Finit 還包括一個內建的 getty 實作(終端和使用者登入管理)、一個用於健康監控的看門狗,以及一個帶有內建 sulogin 的崩潰復原模式,用於運行獨立的命令 shell。

Finit 4.0初始化系統可用

Finit 4.0 版本中新增的變更包括(由於變更破壞了向後相容性,因此跳過了 3.2 版):

  • 單獨的重新啟動實用程式已被替換為 initctl 的符號鏈接,類似於暫停、關閉、斷電和掛起實用程式。
  • 指示業務進展已實施。
  • “inictl cond set|clear COND”命令的操作已更改為將操作綁定到各種事件。為了識別服務,使用語法 而不是綁定到路徑 。
  • inetd 伺服器的內建實作已被刪除,如有必要,可以在其中安裝 xinetd。
  • 新增了對 cgroups v2 的支持,以便在單獨的 cgroup 中執行服務。
  • 新增了帶有自己的 suslogin 的崩潰復原模式。
  • 新增了對 SysV init 中的啟動/停止腳本的支援。
  • 新增了 pre:script 和 post:script 處理程序,可讓您指定在服務啟動之前或啟動時執行的操作。
  • 新增了對帶有環境變數的 env:file 的支援。
  • 新增了追蹤任意 PID 檔案的功能。
  • 新增了使用相對路徑啟動任務和服務的功能。
  • 向 initctl 新增了“-b”選項,以在非互動模式(批次模式)下執行操作。
  • 內建看門狗已替換為單獨版本的 watchdogd。
  • 新增了一個插件,可以為運行期間連接的設備自動載入內核模組。
  • 新增了插件來處理/etc/modules-load.d/。
  • 新增了對更改設定後自動重新啟動服務的支持,使您無需手動執行“initctl reload”命令。預設情況下停用,需要使用“./configure --enable-auto-reload”進行重建。
  • 新增了記錄影響安全性的操作的功能,例如更改運行等級、啟動和停止服務以及服務故障。
  • 改進了對 /etc/network/interfaces 的支援。

    來源: opennet.ru

添加評論