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


35

すべてがユニットファイルであることは知っていますが、それらの特別な意味を理解することはできません。ターゲットはデーモンに似ており、ソケットはソケット(IP +ポート)と同じですが、iノード番号もあると思います。誰でも簡単な言葉で説明してもらえますか?


3
systemd manページは模範的なものです:ご覧になりましたman systemd.{service,socket,target}か?
jasonwryan

@jasonwryan実際に私は見て、完全な答えを持っていません。私も学ぶことができるように、このスレッドを見つめています。私はサービスとは何か、ソケットを知っていますが、ターゲットに関してはギャップがあります。私はまだ調査中であり、それが十分に明確になったら質問に答えます。
LDジェームズ

回答:


40

サービス単位:

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

systemd.service(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ます。


11

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で開始された場合に開始されます。

additonではmanページは、ブログの記事の読み取りレナートのシリーズ、価値がある管理者のためにsystemdにsystemdのアーキテクチャと実装での綿密な外観を提供し、(シリーズの20件の記事は現在ありません)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.