【保存版】CentOS Streamで使えるサービス関連コマンド一覧|systemctlでサービスを自在に管理しよう

CentOS

「CentOS Streamでサービスの状態を確認したいけど、何を使えばいいの?」

Linuxサーバー管理に欠かせないのが”サービス(デーモン)”の制御です。

CentOS Streamでは、systemdを採用しており、systemctlコマンドでほぼすべてのサービス操作が可能です。

この記事では、CentOS Streamでよく使われるサービス管理コマンド一覧を紹介し、初心者でも確実に操作できるように解説します。

スポンサーリンク

CentOS Streamでのサービスとは?

サービス(デーモン)の基本知識

サービス(デーモン)とは、バックグラウンドで常に動き続けるプログラムのことです。

例として、以下のようなものがあります:

  • sshd:リモート接続を可能にするサービス
  • httpd:Webサーバーとして動作するApacheサービス
  • firewalld:ファイアウォール機能を提供するサービス
  • mysqld:データベースサーバーとして動作するMySQLサービス

これらのサービスは、OSの起動時に自動で開始されたり、ユーザーが手動で操作したりできます。

systemctlコマンドの役割

CentOS Streamではsystemdが標準のサービス管理システムです。

従来のLinuxで使われていたserviceコマンドやchkconfigコマンドに代わり、現在はsystemctlコマンドですべてのサービス制御を行います。

systemctlコマンドの主な特徴:

  • サービスの起動・停止・再起動が簡単
  • 自動起動の設定・解除も一括管理
  • サービスの詳細状態やログも確認可能
  • 依存関係も自動で処理

systemctlの基本的な役割を理解したら、次は具体的なコマンドを見ていきましょう。

サービスの状態を確認するコマンド一覧

サーバー管理では、まず現在の状況を把握することが重要です。

以下のコマンドを使って、サービスの動作状況を確認できます。

コマンド説明使用場面
systemctl list-units --type=service現在実行中のサービスを一覧表示動いているサービスを確認したい時
systemctl list-unit-files --type=serviceすべてのサービスと起動設定を一覧表示自動起動の設定状況を把握したい時
systemctl status <サービス名>特定サービスの詳細状態を確認問題があるサービスを詳しく調べたい時
systemctl is-active <サービス名>現在アクティブかを判定スクリプトで状態をチェックしたい時
systemctl is-enabled <サービス名>自動起動設定されているかを確認起動時の動作を確認したい時

実際の使用例

SSHサービスの詳細状態を確認する場合:

systemctl status sshd

このコマンドを実行すると、以下のような情報が表示されます:

  • サービスの現在状態(active、inactive、failed など)
  • プロセスID(PID)
  • メモリ使用量
  • 最近のログメッセージ

実行中のWebサーバー関連サービスを探す場合:

systemctl list-units --type=service | grep -i web

サービスの操作コマンド一覧

サービスの状態確認ができたら、次は実際にサービスを操作してみましょう。以下のコマンドが基本的な操作です。

操作内容コマンド例注意点
サービス起動sudo systemctl start nginx管理者権限が必要
サービス停止sudo systemctl stop nginx接続中のユーザーに影響あり
サービス再起動sudo systemctl restart nginx設定変更後によく使用
設定の再読み込みsudo systemctl reload nginxサービスを止めずに設定を反映
自動起動を有効sudo systemctl enable nginx次回起動時から自動で開始
自動起動を無効sudo systemctl disable nginx手動起動が必要になる

便利な組み合わせコマンド

自動起動を有効にしながら、すぐにサービスを開始する場合:

sudo systemctl enable --now nginx

現在有効になっている(自動起動設定の)サービス一覧を確認:

systemctl list-unit-files --type=service | grep enabled

特定のキーワードでサービスを検索:

systemctl list-units --type=service | grep http

実践的な使用例

Webサーバー(Apache)をセットアップする典型的な流れ:

# 1. サービスを起動
sudo systemctl start httpd

# 2. 状態を確認
systemctl status httpd

# 3. 自動起動を有効化
sudo systemctl enable httpd

# 4. 設定変更後の再起動
sudo systemctl restart httpd

基本操作をマスターしたら、次はトラブル時に役立つテクニックを学びましょう。

トラブル対処と応用テクニック

よくあるエラーとその対策

サービスが起動しない場合

まずはエラーログを確認しましょう:

journalctl -xe

特定のサービスのログだけを確認したい場合:

journalctl -u nginx -n 20

「Unit file not found」エラーが出る場合

システムにサービス定義を再読み込みさせます:

sudo systemctl daemon-reload

権限エラーが発生する場合

ほとんどのサービス操作には管理者権限が必要です。sudoを忘れずに付けましょう:

sudo systemctl start サービス名

応用テクニック

サービスの依存関係を確認

あるサービスが他のどのサービスに依存しているかを確認:

systemctl list-dependencies nginx

失敗したサービスだけを一覧表示

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

サービスの設定ファイル場所を確認

systemctl show nginx -p FragmentPath

カスタムサービスの作成

独自のアプリケーションをサービス化したい場合、/etc/systemd/system/ディレクトリに.serviceファイルを作成します:

sudo nano /etc/systemd/system/myapp.service

パフォーマンス監視

サービスのリソース使用状況を確認:

systemctl show nginx -p CPUUsageNSec,MemoryCurrent

まとめ

CentOS Streamでのサービス管理は、以下のコマンドを覚えることで効率的に行えます:

状態確認の基本コマンド

  • systemctl status – 詳細状態の確認
  • systemctl list-units --type=service – 実行中サービス一覧
  • systemctl is-active – アクティブ状態の確認

操作の基本コマンド

  • systemctl start/stop/restart – サービスの開始・停止・再起動
  • systemctl enable/disable – 自動起動の設定・解除
  • systemctl reload – 設定の再読み込み

トラブル時の対応

  • journalctl -xe – エラーログの確認
  • systemctl daemon-reload – システム定義の再読み込み

コメント

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