技術ノート 特徴 Linux システムで Systemd サービスを管理する方法

Linux システムで Systemd サービスを管理する方法

Linux システムで Systemd サービスを管理する方法

現在、Systemd は、Fedora や Red Hat から Ubuntu、Debian、openSUSE、Arch に至るまで、ほとんどの Linux ディストリビューションでデフォルトで使用されています。 systemctl コマンドを使用すると、systemd のステータスに関する情報を取得し、実行中のサービスを制御できます。

Linux システムで Systemd サービスを管理する方法

論争はあるものの、これにより少なくとも Linux ディストリビューション間での標準化が導入されます。同じコマンドを使用すると、systemd を使用するどの Linux ディストリビューションでも同じ方法でサービスを管理できます。

Linux システムで Systemd サービスを管理する方法

: sudo を使用する Ubuntu などの Linux ディストリビューションでシステム構成を変更するには、ここでコマンドの前に sudo を付ける必要があります。他の Linux ディストリビューションでは、最初に su コマンドを使用して root ユーザーになる必要があります。

Linux システムが Systemd を使用しているかどうかを確認する

Linux ディストリビューションが systemd を使用しているかどうかが不明な場合は、ターミナル ウィンドウを開いて次のコマンドを実行します。 Linux システムに systemd がインストールされている場合、これにより、Linux システム上の systemd のバージョン番号が表示されます。

systemd –バージョン

Linux システムで Systemd サービスを管理する方法

ブートプロセスを分析する

systemd-analyze コマンドを使用すると、起動プロセスにかかる時間や、どのサービス (および他のプロセス) が起動プロセスに最も多くの時間を追加したかなど、起動プロセスに関する情報を表示できます。

起動プロセス全般に関する情報を表示するには、次のコマンドを実行します。

systemd-analyze

各プロセスの開始にかかった時間を表示するには、次のコマンドを実行します。

systemd-analyze の責任

Linux システムで Systemd サービスを管理する方法

ユニットの表示

Systemd は、サービス (.service)、マウント ポイント (.mount)、デバイス (.device)、またはソケット (.socket) などの「ユニット」を使用します。同じ systemctl コマンドで、これらすべてのタイプのユニットを管理します。

システム上で利用可能なすべてのユニット ファイルを表示するには:

systemctl リストユニットファイル

実行中のすべてのユニットをリストするには:

systemctl リストユニット

失敗したすべてのユニットをリストするには:

systemctl –失敗しました

Linux システムで Systemd サービスを管理する方法

サービスの管理

有効なサービスと無効なサービスのリストを表示するには、上記と同じ systemctl コマンドを使用しますが、サービスのみをリストするように指示します。

systemctl リストユニットファイル –type=service

systemctl コマンドを使用すると、サービスを開始、停止、または再起動できます。サービスにその構成を「再ロード」するように指示することもできます。

status コマンドは、ここで印刷して端末に出力する唯一のアクションです。他のコマンドはサイレントに有効になります。

systemctl 開始名.service

systemctl 停止名.service

systemctl restart name.service

systemctl リロード名.サービス

systemctl ステータス名.service

systemctl enable コマンドを使用すると、起動時に systemd がサービス (ま​​たは他のタイプのユニット) を自動的に開始します。 systemctl disable コマンドは、サービスを無効にし、コンピュータでのサービスの自動起動を停止します。

systemctl は name.service を有効にします

systemctl は name.service を無効にします

サービスまたは他のユニットを「マスク」して、まったく起動しないようにすることができます。今後開始する前に、マスクを解除する必要があります。

systemctl マスク名.service

systemctl unmask name.service


もちろん、systemd とそのさまざまなコマンドにはこれ以外にも多くの機能があります。 Systemd は、シャットダウン、再起動、休止状態など、システムの電源状態を制御するためのさまざまな電源管理コマンドを提供します。独自のユニット ファイルを作成してサービスとマウント ポイントを作成したり、既存のユニット ファイルを編集したりできます。

Systemd は「ターゲット」も提供します。これは runlevels に似ていますが、異なります。ターゲットには番号の代わりに名前が付けられます。systemd が同時に複数のターゲット状態になる可能性があります。 Systemd は独自のシステム ジャーナルも提供しており、journalctl コマンドでアクセスできます。デフォルトでは、システム ログはバイナリ形式で保存されますが、必要に応じてプレーンテキスト形式のログに切り替えることができます。

Arch Linux wiki には systemd に関するさらに詳しい情報があり、そこにある情報のほとんどはすべての Linux ディストリビューションの systemd に当てはまります。詳細については、独自の Linux ディストリビューションの systemd ドキュメントも確認してください。

画像クレジット: Flickr の Bert Heymans

「 Linux システムで Systemd サービスを管理する方法」に関するベスト動画選定!

systemd Linux サービスを作成する方法
Linuxでウィルス対策ソフトを導入しよう01『Clamtk』