前回のリリースからほぼ XNUMX 年後、サービス マネージャーの新しいバージョンがリリースされました GNUシェパード0.10 (以前はdmdとして知られていました) GNUGuixディストリビューションの開発者によって開発されました システム依存関係を意識したSysV-init初期化の代替として。
この新しいリリースの GNU Shepherd 0.10 は 132 コミットを表します 加えて、欠点を解決し、新機能を提供するため、リリースとみなされます。
これらはシステムの状態を理解するのに役立ちます。
GNU Shepherd は、Guile で書かれたサービス マネージャーで、システム上で実行される "herd" デーモンを管理します。ユーザーランド機能をサービスとして非同期に提供します これは、システム初期化 (PID 1) として使用できるほか、特権のないユーザーがユーザーごとのデーモン (tor、privoxy、mcron など) を管理するために使用することもできます。
inetd や systemd スタイルのトリガー ソケットを含む、いくつかのデーモン起動メカニズムをサポートしていることに注意してください。 GNU Shepherd は Guile Scheme で構成されており、同じ言語で拡張できます。 これは、シンプルなメモリセーフでコールバックのないプログラミング モデルに基づいています。
ユーザー空間初期化の Shepherd モデルの中核となるのは、拡張の概念です。これは、サービスが他のサービスと重複するように設計され、必要に応じて、より複雑または特殊な動作でサービスを拡張する構成可能性の形式です。
GNUShepherd0.10の主な新機能
今回発表された GNU Shepherd 0.10 の新バージョンでは、次のことが際立っています。 新しい中間サービスの状態: 「始める」と「止まる」これらは、「herd status」コマンドを実行し、サービスが開始中か停止中かを判断することによって表示されます (以前は、herd status のみがサポートされていました) 「実行中」と「停止中」)。
新しいバージョンで際立っているもうXNUMXつの変更点は、 オペレーションの再実行のブロックが提供されます 「スタート」と「ストップ」 サービスがすでに開始されているか停止されているか (以前は「群れスタートサービス» その結果、サービスの XNUMX 番目のインスタンスを開始しようとしました)。
これに加えて、次のことも強調されています 依存関係の起動の並列化が提供されます « のモードで開始されたサービスバックグラウンドで開始« だけでなく、障害発生時の記録や各サービスの状態の変化も記録されます。 「herd status」コマンドを実行すると、蓄積された統計情報が表示されます。
また、イベントの概要ログとサービスの状態のすべての変更のリストを表示する「herd log」コマンドが追加されていることもわかります。
の その他の変更 目立つ:
- Graphviz (「herd chart | xdot -」) を使用して依存関係の視覚的なグラフを表示できるデータを生成する「herd chart」コマンドを追加しました。
- herd コマンド出力のカラーハイライトが実装されました。
- 新しいサービスが追加されました。プロセスのリソース消費を監視する「monitoring」と、REPL (読み取り-評価-印刷サイクル) デバッグ インターフェイスを実行する「repl」です。
- GOOPS (Guile Object Oriented Programming System) インターフェイスは非推奨になりました。
最後に、さらに詳しく知りたい方は、次のページで詳細を参照してください。 次のリンク。
GNU シェパードをインストールするにはどうすればよいですか?
GNU Shepherd を試すことに興味がある方のために説明します。すでに述べたように、Shepherd は GNU Guix プロジェクトと連携して開発され、Guix スタートアップ システムとして使用されます。
また、Shepherd を Linux ディストリビューションにインストールすることはできません。 という人たちの場合は ArchLinuxユーザー AUR リポジトリを有効にし、次のコマンドを入力するだけです。
yay -S shepherd
他のすべてのディストリビューションの場合 インストールはソースコードをコンパイルすることで実行できます このためには、ターミナルを開いて入力するだけで十分です。
wget https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.0.tar.gz
次のように抽出します。
tar -xvf shepherd/shepherd-0.10.0.tar.gz
次のコマンドでディレクトリに入ります。
cd shepherd-0.10.0
そして、次のようにコンパイルします。
./configure --prefix=/some/where
make
make check
make install