systemdのターゲット、サービス、ソケットは何ですか?

systemdのターゲット、サービス、ソケットは何ですか?

どちらもユニットファイルであることはわかりますが、その特別な意味を理解することはできません。ターゲットはデーモンに似ており、ソケットはソケット(IP +ポート)と同じですが、inode番号もあるようです。誰かが簡単な言葉で説明できますか?

答え1

サービスユニット:

A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.

システムサービス(5)

Systemdサービスユニットは、プログラムとデーモンを実際に実行して追跡するユニットであり、サービスが正しい順序で開始されるように依存関係を使用します。最も一般的に使用される単位のタイプ。

ソケットユニット:

A unit configuration file whose name ends in ".socket" encodes
information about an IPC or network socket or a file system FIFO
controlled and supervised by systemd, for socket-based activation.

systemd.socket(5)

一方、ソケットデバイスは実際にデーモン自体を起動しません。代わりに、彼らはIPアドレスとポートまたはUNIXドメインソケットを聞いて座って何かがここに接続されると、ソケットが属するデーモンプロセスが開始され、接続を引き継ぎます。

これは、多くのリソースを使用しているがほとんど使用されていない大規模なデーモンが常に実行され、リソースを大量に消費することなく、必要なときにのみ起動できるようにするのに役立ちます。

対象単位:

A unit configuration file whose name ends in ".target" encodes
information about a target unit of systemd, which is used for grouping
units and as well-known synchronization points during start-up.

systemd.target(5)

目標は、単位をグループ化してソートするために使用されます。異なるサービス、ソケット、およびその他のデバイスが異なるターゲットで起動されるという点で、ランレベルとほぼ同じです。実行レベルとは異なり、これはより自由な形式であり、ターゲット間の依存関係を使用してシーケンシングユニット用の独自のターゲットを簡単に作成できます。

たとえば、multi-user.targetほとんどのデーモンはグループ化されており、basic.targetアクティベーションが必要です。つまり、グループ内のすべてのサービスはbasic.targetグループ内のサービスの前に開始されますmulti-user.target

答え2

比較的新しいプロジェクトの場合、systemdのドキュメントは素晴らしいです。最初ターゲットからman systemd.target

ターゲットデバイスは、デバイスが提供する一般機能以上の追加機能を提供しません。依存関係(実行ターゲットとして使用可能)ごとにデバイスをグループ化し、デバイス間の依存関係に使用される同期ポイントの標準化された名前を設定するためにのみ存在します。さらに、ターゲットデバイスは、既存のSysV initシステムのSysVランレベルをより柔軟に置き換えます。

basic.targetこれらの「ユニットグループ」は、dbus、getty、マウントポイントからスワッピング、タイマーまで、システムの起動など、さまざまな機能をカバーしています。を使用してリスト全体を表示できますman systemd.special

提供するファイルは、systemdが制御するプロセスを実行するための基本単位です。繰り返しますが、ソースman systemd.service

名前が .service で終わるデバイス構成ファイルは、systemd が制御および管理するプロセスに関する情報をエンコードします。

これは、起動、停止、再起動、および再ロードできるデーモンプロセスを構成します。

ついに、ソケットからman systemd.socket

名前が「.socket」で終わるデバイス構成ファイルは、ソケットベースのアクティベーションのために systemd によって制御および監視される IPC、ネットワークソケット、またはファイルシステム FIFO に関する情報をエンコードします。

これには、ファイルシステムやインターネットのソケットだけでなく、転送手段としての古典的なFIFOも含まれます。各ソケットデバイスには一致するサービスデバイスがあり、最初の接続がソケットまたはFIFOに入ると開始されます。

このページに加えて、manLennartのブログ記事シリーズは読む価値があります。管理者向けシステムsystemdのアーキテクチャと実装の詳細な紹介を提供します(現在のシリーズには20の記事があります)。

関連情報