Red Hat Training
A Red Hat training course is available for RHEL 8
第17章 systemd ユニットファイルでの作業
本章では、systemd ユニットファイルに関する説明が含まれています。以下のセクションでは、次の方法を紹介します。
- カスタムユニットファイルの作成
- SysV Init スクリプトのユニットファイルへの変換
- 既存のユニットファイルの変更
- インスタンス化されたユニットの使用
17.1. ユニットファイルの概要
ユニットファイルには、ユニットを説明し、その動作を定義する設定ディレクティブが含まれます。複数の systemctl
コマンドがバックグラウンドでユニットファイルと連携します。詳細な調整を行うには、システム管理者がユニットファイルを手動で編集または作成する必要があります。systemd のユニットファイルの場所 には、システムにユニットファイルが保存される 3 つの主なディレクトリーが記載されています。/etc/systemd/system/
ディレクトリーは、システム管理者が作成またはカスタマイズするユニットファイル用に予約されます。
ユニットファイル名は、以下のフォーマットを使用します。
unit_name.type_extension
unit_name はユニットの名前を表し、type_extension はユニットの種類を表します。ユニットタイプの一覧は、systemd ユニットファイル を参照してください。
たとえば、通常は、システムには sshd.service
ユニットおよび sshd.socket
ユニットがあります。
ユニットファイルには、追加の設定ファイルのディレクトリーを追加できます。たとえば、カスタム設定オプションを sshd.service
に追加するには、sshd.service.d/custom.conf
ファイルを作成し、追加のディレクティブを挿入します。設定ディレクトリーの詳細については、Modifying existing unit files を参照してください。
さらに、sshd.service.wants/
ディレクトリーおよび sshd.service.requires/
ディレクトリーを作成することもできます。このディレクトリーには、sshd
サービスの依存関係であるユニットファイルへのシンボリックリンクが含まれます。シンボリックリンクは、[Install] ユニットファイルに基づいてインストール時に、または [Unit] オプションに基づいてランタイム時に自動的に作成されます。このディレクトリーとシンボリックリンクを手動で作成することもできます。[Install] オプションおよび [Unit] オプションの詳細は、以下の表を参照してください。
多くのユニットファイルオプションは、いわゆる ユニット指定子 を使用して設定できます。これは、ユニットファイルが読み込まれる際にユニットパラメーターに動的に置き換えられるワイルドカード文字列です。これにより、インスタンス化されたユニットを生成するテンプレートとしてのロールを担う汎用ユニットファイルを作成できます。インスタンス化されたユニットの使用 を参照してください。