GNU Shepherd 0.9 init システムのリリース

前回のメジャーリリースから2年を経て、GNU Shepherd 0.9(旧dmd)がリリースされました。これは、依存関係を処理するSysV-init初期化システムの代替として、GNU Guix Systemディストリビューションの開発者によって開発されています。Shepherdの制御デーモンとユーティリティはGuile(Scheme言語の実装)で記述されており、サービス構成や起動パラメータの定義にも使用されています。Shepherdは既にGuixSD GNUディストリビューションで使用されています。Linux また、GNU/Hurdでの使用を想定しているが、Guile言語が利用可能なPOSIX準拠のOSであればどれでも動作させることができる。

Shepherd は、サービス間の関係を考慮して、選択したサービスが依存するサービスを動的に識別して開始することによって、サービスの開始と停止の作業を実行します。 Shepherd は、サービス間の競合の検出と、サービスの同時実行の防止もサポートしています。 プロジェクトは、メインの初期化システム (PID 1 の init) として、また、権限を使用して実行して個々のユーザーのバックグラウンド プロセス (たとえば、tor、privoxy、mcron などを実行するため) を管理するための別の形式で使用できます。これらのユーザーの。

主な革新:

  • 一時サービス (一時的) の概念が実装されており、プロセスの終了または「stop」メソッドの呼び出しにより完了後に自動的に無効になります。これは、シャットダウン後に再起動できない合成サービスに必要になる場合があります。
  • inetd のようなサービスを作成するために、「make-inetd-constructor」プロシージャが追加されました。
  • ネットワーク アクティビティ中にアクティブ化されるサービス (systemd ソケット アクティブ化スタイル) を作成するために、「make-systemd-constructor」プロシージャが追加されました。
  • バックグラウンドでサービスを開始する手順「start-in-the-background」を追加しました。
  • 「make-forkexec-constructor」ルーチンにパラメータ「:supplementary-groups」、「#:create-session」、および「#:resource-limits」を追加しました。
  • PIDファイルの待機中にブロックせずに動作できるようにしました。
  • 「#:log-file」パラメータのないサービスの場合は、syslog への出力が提供され、#:log-file パラメータのあるサービスの場合、ログは記録時刻を示す別のファイルに書き込まれます。 非特権シェパードプロセスからのログは、$XDG_DATA_DIR ディレクトリに保存されます。
  • Guile 2.0 でのビルドのサポートは終了しました。 Guile バージョン 3.0.5 ~ 3.0.7 を使用する際の問題は解決されました。
  • 動作するには、Fibers ライブラリ 1.1.0 以降が必要です。

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

DDoS 保護機能を備えた信頼性の高いサイト用ホスティング、VPS VDS サーバーを購入する 🔥 DDoS攻撃対策付きの信頼性の高いウェブサイトホスティング、VPS/VDSサーバーを購入しましょう | ProHoster