ホーム > パッケージ・システム管理 > systemctl

systemctl コマンドガイド: systemd サービス管理の中心

`systemctl` コマンドは systemd システムおよびサービスマネージャの中心的なツールです。systemd は最新の Linux ディストリビューションでシステムの起動プロセス、サービス、マウントポイント、ソケットなどを管理する標準として使用されます。`systemctl` を通じてサービスの状態を確認し、開始/停止/再起動し、システム起動時の自動実行の有無を設定するなど、システム全体を効率的に制御できます。このガイドを通じて `systemctl` のさまざまな活用法を学びましょう。

systemctl 概要

systemd はシステムの起動プロセスを管理し、システム起動後にバックグラウンドで実行されるすべてのサービス(デーモン)を制御する init システムです。`systemctl` はこの systemd の機能をコマンドラインで操作できるインターフェースです。過去の `service`、`chkconfig`、`reboot`、`shutdown` などのいくつかのコマンドが `systemctl` 一つに統合されました。

systemd ユニット(Unit)の理解

systemd は管理するすべてを「ユニット(Unit)」という概念で抽象化します。各ユニットは特定のサービス、マウントポイント、デバイスなどを表します。最も一般的に扱うユニットタイプは `サービスユニット(.service)`、`ソケットユニット(.socket)`、`マウントユニット(.mount)`、`デバイスユニット(.device)`、`ターゲットユニット(.target)` などです。通常、`.service` 拡張子は省略して使用されます。

systemctl の主要役割

  • サービス状態確認: 実行中のサービス、アクティブなサービス、失敗したサービスなどを把握します。
  • サービス制御: サービスを開始、停止、再起動、リロード(設定を再読み込み)します。
  • サービス自動実行設定: システム起動時にサービスが自動的に開始されるように設定または解除します。
  • システム電源管理: システムを再起動、シャットダウン、スリープモードに切り替えます。
  • ユニットファイル管理: ユニットファイルの位置、依存関係などを確認し、修正します。

主要 systemctl コマンドオプション

`systemctl` コマンドはサービス管理、システム電源制御、ユニットファイル管理など、さまざまな機能のために豊富なオプションを提供します。ほとんどのサービス関連のコマンドは `sudo` 権限が必要です。

1. サービス状態および制御

2. サービス自動実行設定

3. システム電源管理

4. ユニットファイルおよびリスト

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`systemctl` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

`systemctl` コマンドのさまざまな活用例を通じて systemd ベースのシステムでサービスを効果的に管理する方法を学びましょう。

ウェブサーバー (Nginx) サービス状態確認

systemctl status nginx.service

Nginx ウェブサーバーが現在実行中か、非アクティブか、エラーが発生しているかなどの詳細情報を確認します。

MySQL サービス開始

sudo systemctl start mysql.service

MySQL データベースサービスを開始します。

SSH サービス再起動

sudo systemctl restart sshd.service

SSH(Secure Shell) サービスを再起動します。設定ファイル変更後に適用する際に便利です。

Apache ウェブサーバー自動開始設定

sudo systemctl enable apache2.service

システム起動時に Apache ウェブサーバーが自動的に開始されるように設定します。

すべてのアクティブサービスリスト確認

systemctl list-units --type=service --state=active

現在のシステムで 'active' 状態(実行中または準備完了)のすべてのサービスユニットを列挙します。

systemd を通じたシステム再起動

sudo systemctl reboot

最も推奨される方法でシステムを安全に再起動します。

特定サービスユニットファイル内容表示

systemctl cat redis-server.service

Redis サービスの systemd ユニットファイル(例: `/etc/systemd/system/redis.service`)の内容を確認してサービスの動作方法を理解します。


同じカテゴリのコマンド