どちらもユニットファイルであることはわかりますが、その特別な意味を理解することはできません。ターゲットはデーモンに似ており、ソケットはソケット(IP +ポート)と同じですが、inode番号もあるようです。誰かが簡単な言葉で説明できますか?
答え1
サービスユニット:
A unit configuration file whose name ends in .service encodes information about a process controlled and supervised by systemd.
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.
一方、ソケットデバイスは実際にデーモン自体を起動しません。代わりに、彼らは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.
目標は、単位をグループ化してソートするために使用されます。異なるサービス、ソケット、およびその他のデバイスが異なるターゲットで起動されるという点で、ランレベルとほぼ同じです。実行レベルとは異なり、これはより自由な形式であり、ターゲット間の依存関係を使用してシーケンシングユニット用の独自のターゲットを簡単に作成できます。
たとえば、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に入ると開始されます。
このページに加えて、man
Lennartのブログ記事シリーズは読む価値があります。管理者向けシステムsystemdのアーキテクチャと実装の詳細な紹介を提供します(現在のシリーズには20の記事があります)。