第1章 systemd ユニットファイルでの作業
systemd
ユニットファイルはシステムリソースを表します。システム管理者は、次の高度なタスクを実行できます。
- カスタムユニットファイルの作成
- 既存のユニットファイルの変更
- インスタンス化されたユニットの使用
1.1. ユニットファイルの概要
ユニットファイルには、ユニットを説明し、その動作を定義する設定ディレクティブが含まれます。複数の systemctl
コマンドがバックグラウンドでユニットファイルと連携します。より細かく調整するには、ユニットファイルを手動で編集または作成します。システムにユニットファイルが保存される 3 つのメインディレクトリーが存在します。/etc/systemd/system/
ディレクトリーは、システム管理者が作成またはカスタマイズするユニットファイル用に予約されます。
ユニットファイル名は、以下のフォーマットを使用します。
<unit_name>.<type_extension>
unit_name はユニットの名前を表し、type_extension はユニットの種類を表します。
たとえば、システム上には sshd.service
と sshd.socket
ユニットが存在します。
ユニットファイルには、追加の設定ファイルのディレクトリーを追加できます。たとえば、カスタム設定オプションを sshd.service
に追加するには、sshd.service.d/custom.conf
ファイルを作成し、追加のディレクティブを挿入します。設定ディレクトリーの詳細は、既存のユニットファイルの変更 を参照してください。
systemd
システムおよびサービスマネージャーは、sshd.service.wants/
ディレクトリーと sshd.service.requires/
ディレクトリーを作成することもできます。このディレクトリーには、sshd
サービスの依存関係であるユニットファイルへのシンボリックリンクが含まれます。systemd
は、シンボリックリンクを、[Install] ユニットファイルに基づいてインストール時に、または [Unit] オプションに基づいてランタイム時に自動的に作成します。これらのディレクトリーとシンボリックリンクを手動で作成することもできます。
さらに、sshd.service.wants/
ディレクトリーおよび sshd.service.requires/
ディレクトリーを作成することもできます。このディレクトリーには、sshd
サービスの依存関係であるユニットファイルへのシンボリックリンクが含まれます。シンボリックリンクは、[Install] ユニットファイルに基づいてインストール時に、または [Unit] オプションに基づいてランタイム時に自動的に作成されます。このディレクトリーとシンボリックリンクを手動で作成することもできます。[Install] オプションおよび [Unit] オプションの詳細は、以下の表を参照してください。
多くのユニットファイルオプションは、いわゆる ユニット指定子 を使用して設定できます。これは、ユニットファイルが読み込まれる際にユニットパラメーターに動的に置き換えられるワイルドカード文字列です。これにより、インスタンス化されたユニットを生成するテンプレートとしてのロールを担う汎用ユニットファイルを作成できます。インスタンス化されたユニットの使用 を参照してください。