【Linux】systemdでの自動起動設定

Linux

systemdは、Linuxの起動プロセス管理システムであり、systemdを利用することで、各種サービスやデーモンプログラムを自動的に起動・停止することができます。これにより、システム管理者は手動で各種サービスを起動・停止する手間を省くことができ、システムの安定性やセキュリティを向上させることができます。

自動起動設定の方法

systemdを利用して、サービスやデーモンプログラムを自動的に起動するには、以下の手順を実行します。

1. 起動設定ファイルの作成

systemdでは、自動起動するサービスやデーモンプログラムの設定は、起動設定ファイルとして定義します。起動設定ファイルは、以下のディレクトリに配置されます。

/etc/systemd/system/

ここで、<servicename>.serviceという名前のファイルを作成します。<servicename>は、自動起動するサービスやデーモンプログラムの名前です。

例えば、自動起動するApache HTTP Serverの設定ファイルを作成する場合は、以下のようにします。

$ sudo vi /etc/systemd/system/httpd.service

2. 起動設定ファイルの編集

起動設定ファイルには、以下のような設定項目があります。

  • [Unit]:サービスの依存関係や説明などの設定を記述します。
  • [Service]:サービスの実行方法や環境変数などの設定を記述します。
  • [Install]:サービスの自動起動を有効にするための設定を記述します。

これらの設定項目を適宜編集して、自動起動するサービスやデーモンプログラムの設定を行います。

詳しく知りたい方はRedHatの公式ページも参照してください。

10.6. systemd のユニットファイルの作成および変更 | Red Hat Product Documentation
10.6. systemd のユニットファイルの作成および変更 | Red Hat Documentation

例えば、Apache HTTP Serverを自動起動するための設定ファイルを以下のように編集します。

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/httpd -k start
ExecReload=/usr/sbin/httpd -k graceful
ExecStop=/usr/sbin/httpd -k stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3. サービスの自動起動設定

設定ファイルの編集が完了したら、以下のコマンドを実行して、サービスの自動起動を有効にします。

$ sudo systemctl enable <servicename>.service

例えば、Apache HTTP Serverの自動起動を有効にする場合は、以下のようにします。

$ sudo systemctl enable httpd.service

これにより、システム起動時にApache HTTP Serverが自動的に起動するようになります。

4. サービスの状態確認

設定が完了したら、以下のコマンドを実行して、サービスの状態を確認します。

$ sudo systemctl status <servicename>.service

例えば、Apache HTTP Serverの状態を確認する場合は、以下のようにします。

$ sudo systemctl status httpd.service

このコマンドにより、Apache HTTP Serverが起動しているかどうかや、エラーが発生していないかなどを確認することができます。

まとめ

systemdを利用して、Linuxの各種サービスやデーモンプログラムを自動的に起動することができます。自動起動設定の手順は、起動設定ファイルの作成、編集、自動起動設定、状態確認の4つのステップから成ります。設定が正しく行われているかどうかは、systemctl statusコマンドを利用して確認することができます。

この記事を書いた人

渋谷で働くよわよわエンジニア。TypeScript(Next.js/Node.js)/Golang/AWS/Flutterなど
LINE API Expert(2023/1~)

tokkuをフォローする
オススメ記事
在宅ワークが多くなって、デスクの配線周りに困っている方は、拡張デスクの導入がおすすめです。Windows/MacOS/Linuxの複数の機器をスッキリとデスク周りに収める事ができました!リモートからサーバーメンテを行うインフラエンジニアは必見です!
Linux
tokkuをフォローする

コメント

タイトルとURLをコピーしました