【初心者向け】Fedoraでサービス一覧を確認する方法|systemctlの基本と応用

Fedora

Fedoraをつかっていて、こんなことを思ったことはありませんか?

  • このパソコンでどんなサービスが動いているのかしりたい
  • SSHやWebサーバーが自動で起動しているか確認したい
  • いらないサービスを止めてメモリを節約したい
  • サーバーでトラブルが起きたとき、原因をさがしたい

そんなときにつかうのが「systemctl」コマンドです。

この記事では、Fedoraでサービスの一覧を確認する方法を、基本から応用まで説明します。

スポンサーリンク

サービスってなに?

サービスとは、パソコンの裏で動いている常駐プログラムのことです。

例えば:

  • SSH(リモート接続)
  • Apache(Webサーバー)
  • MySQL(データベース)
  • NetworkManager(ネットワーク管理)

これらは、パソコンを起動すると自動で動きはじめたり、手動でオン・オフができたりします。

Fedoraのサービス管理は「systemd」

Fedoraは「systemd」(システムディー)というシステムでサービスを管理しています。

そのため、サービスの状態を確認したり、起動・停止するには「systemctl」コマンドをつかいます。

基本:サービス一覧を確認する方法

今動いているサービスをみる

systemctl list-units --type=service

このコマンドで、今動いているサービスが一覧で表示されます。

出力例:

sshd.service          loaded active running OpenSSH server daemon
NetworkManager.service loaded active running Network Manager
firewalld.service     loaded active running firewalld - dynamic firewall daemon

表示される情報:

  • サービス名(例:sshd.service)
  • 状態(loaded active running = 正常に動作中)
  • 説明(そのサービスが何をするものか)

止まっているサービスも含めてみる

systemctl list-units --type=service --all

このコマンドで、止まっているサービス(inactive)やエラーになっているサービス(failed)もみることができます。

詳細:インストール済みのすべてのサービスをみる

systemctl list-unit-files --type=service

これで「パソコンにインストールされているすべてのサービスとその設定」がわかります。

サービスの状態の意味

状態意味
enabled起動時に自動で有効になる
disabled手動で起動する必要がある
static他のサービスに依存して起動する
masked完全に無効化されている(安全のため)

よくつかうsystemctlコマンド

コマンド説明
systemctl status サービス名サービスの詳しい状態を確認
systemctl start サービス名今すぐ起動
systemctl stop サービス名今すぐ停止
systemctl restart サービス名再起動
systemctl enable サービス名起動時に自動起動するよう設定
systemctl disable サービス名自動起動を無効にする
systemctl is-enabled サービス名自動起動の設定を確認

つかい方の例

SSHサービスの状態を確認

systemctl status sshd

Apacheを起動

sudo systemctl start httpd

Apacheを自動起動に設定

sudo systemctl enable httpd

応用:特定のサービスをさがす

キーワードでサービスを検索

例:「ssh」に関連するサービスだけをみたい場合

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

例:「network」に関連するサービスをさがす場合

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

失敗したサービスだけをみる

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

エラーになっているサービスだけが表示されるので、トラブルの原因をみつけやすくなります。

GUIでも確認できます

コマンドがにがてな人は、グラフィカルなツールもつかえます。

システムモニター

  1. 「アクティビティ」から「システムモニター」を起動
  2. 「プロセス」タブでサービスの状態を確認

Cockpit(Webベースの管理ツール)

Cockpitをインストールすると、ブラウザでサービス管理ができます。

# Cockpitをインストール
sudo dnf install cockpit

# Cockpitを起動
sudo systemctl enable --now cockpit.socket

インストール後、ブラウザで「https://localhost:9090」にアクセスすると、GUIでサービス管理ができます。

実際の例:よくつかうサービス

Webサーバー関連

  • httpd:Apache Webサーバー
  • nginx:Nginx Webサーバー

データベース関連

  • mariadb:MariaDB(MySQL互換)
  • postgresql:PostgreSQL

セキュリティ関連

  • firewalld:ファイアウォール
  • sshd:SSH接続サービス

システム関連

  • NetworkManager:ネットワーク管理
  • chronyd:時刻同期

よくある質問

Q:maskedってなに?

「masked」は、完全に起動できないようにしてあるサービスです。間違ってつかわないようにする安全装置のようなものです。

Q:serviceコマンドとはちがうの?

「service」コマンドは古いシステム(SysVinit)で使われていたコマンドです。今は「systemctl」をつかうのが推奨されています。

Q:サービスを間違って止めてしまったら?

重要なサービスを止めてしまった場合は、以下のコマンドで再起動できます:

sudo systemctl start サービス名

Q:どのサービスが重要?

以下のサービスは止めない方がよいです:

  • NetworkManager(ネットワーク接続)
  • systemd関連(システムの基本機能)
  • firewalld(セキュリティ)

トラブルシューティング

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

  1. 状態を詳しく確認 systemctl status サービス名
  2. ログを確認 journalctl -u サービス名
  3. 設定ファイルを確認 systemctl cat サービス名

まとめ

Fedoraでは、「systemctl」をつかってサービスの一覧表示や管理が簡単にできます。

まずは「どんなサービスが動いているのか」を確認するだけでも、トラブル対応やシステム管理にとても役立ちます。

目的別コマンドまとめ

目的コマンド
動いているサービスを確認systemctl list-units --type=service
すべてのサービスを表示systemctl list-unit-files --type=service
詳しい状態を確認systemctl status サービス名
特定のサービスを検索grep キーワード で絞り込み
失敗したサービスを確認systemctl list-units --type=service --failed
GUI管理Cockpitを活用

コメント

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