Finit 4.0 初期化システムが利用可能

約 4.0 年の開発期間を経て、SysV init および systemd の簡単な代替として開発された初期化システム Finit XNUMX (Fast init) のリリースが公開されました。 このプロジェクトは、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 など)。 設定は、XNUMX つの構成ファイル /etc/finit.conf で定義することも、/etc/finit.d ディレクトリ内の複数のファイルに分散して定義することもできます。

管理は標準の initctl および run-parts ツールを通じて実行され、実行レベルに関連してサービスをアクティブ化および非アクティブ化したり、一部のサービスを選択的に起動したりできます。 Finit には、組み込みの getty 実装 (ターミナルとユーザーのログイン管理)、状態監視のためのウォッチドッグ、および分離されたコマンド シェルを実行するための組み込みの sulogin を使用したクラッシュ回復モードも含まれています。

Finit 4.0 初期化システムが利用可能

Finit 4.0 リリースで追加された変更には次のようなものがあります (バージョン 3.2 は下位互換性を損なう変更のためスキップされました)。

  • 別個の再起動ユーティリティは、停止、シャットダウン、パワーオフ、サスペンド ユーティリティと同様に、initctl へのシンボリック リンクに置き換えられました。
  • 操作の進捗状況の表示が実装されました。
  • 「inictl cond set|clear COND」コマンドの動作は、アクションをさまざまなイベントにバインドするように変更されました。 サービスを識別するために使用される構文は次のとおりです。 パスにバインドする代わりに。
  • inetd サーバーの組み込み実装は削除され、必要に応じて xinetd をインストールできます。
  • 個別の cgroup でサービスを実行するための cgroups v2 のサポートが追加されました。
  • 独自の suslogin を使用したクラッシュ回復モードが追加されました。
  • SysV init からの開始/停止スクリプトのサポートが追加されました。
  • サービスの開始前または開始時に実行されるアクションを指定できるようにする pre:script ハンドラーと post:script ハンドラーを追加しました。
  • 環境変数を使用した env:file のサポートが追加されました。
  • 任意の PID ファイルを追跡する機能が追加されました。
  • 相対パスを使用してタスクとサービスを起動する機能が追加されました。
  • 非対話モード (バッチ モード) でアクションを実行するための「-b」オプションを initctl に追加しました。
  • 組み込みのウ​​ォッチドッグは、別のバージョンの watchdogd に置き換えられました。
  • 動作中に接続されたデバイスのカーネルモジュールを自動的にロードするプラグインを追加しました。
  • /etc/modules-load.d/ を処理するプラグインを追加しました。
  • 設定変更後のサービスの自動再起動のサポートが追加され、「initctl reload」コマンドを手動で実行することなく実行できるようになりました。 デフォルトでは無効になっており、「./configure --enable-auto-reload」で再構築する必要があります。
  • ランレベルの変更、サービスの開始と停止、サービスの失敗など、セキュリティに影響を与える操作をログに記録する機能が追加されました。
  • /etc/network/interfaces のサポートが改善されました。

    出所: オープンネット.ru

コメントを追加します