はじめに

システムサービスの管理に関するチャレンジへようこそ。サービス(デーモンとも呼ばれます)は、バックグラウンドで動作して不可欠な機能を提供するプログラムです。このチャレンジでは、systemd サービスマネージャーを使用して、サービスの起動、停止、有効化といった基本的なスキルを習得します。これらは Linux システム管理者にとって不可欠なコアコンピテンシーです。

サービスの起動と停止

最初のタスクは、Apache HTTP サーバーサービスである httpd を管理することです。サービスの起動、ステータスの確認、そして停止の操作を練習します。

タスク

  • httpd サービスを起動してください。
  • httpd サービスのステータスを確認し、実行中であることを確認してください。
  • httpd サービスを停止してください。

要件

  • システムの状態を変更するすべてのコマンドは sudo を使用して実行する必要があります。
  • すべてのサービス管理操作には systemctl コマンドを使用してください。
  • このステップの最後には、httpd サービスが停止状態(stopped)である必要があります。

httpd サービスを起動した後、sudo systemctl status httpd を実行すると、active (running) 状態が表示されるはずです。

● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-05-20 10:00:00 UTC; 5s ago
   Main PID: 1234 (httpd)
      Tasks: 4 (limit: 11079)
     Memory: 9.8M
        CPU: 55ms
     CGroup: /system.slice/httpd.service
             ├─1234 /usr/sbin/httpd -DFOREGROUND
             ├─1235 /usr/sbin/httpd -DFOREGROUND
             └─1236 /usr/sbin/httpd -DFOREGROUND

サービスを停止すると、ステータスは inactive (dead) に変わります。

● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
     Active: inactive (dead)

サービスの自動起動設定

単にサービスを起動しただけでは、システムを再起動した後にそのサービスが実行される保証はありません。システム起動時にサービスを自動的に開始させるには、サービスを「有効化(enable)」する必要があります。このステップでは、httpd サービスを有効化します。

タスク

  • システム起動時に httpd サービスが自動的に開始されるように設定してください。
  • 現在のセッションでアクティブにするために、httpd サービスを起動してください。
  • サービスが「有効化(enabled)」されており、かつ「実行中(running)」であることを確認してください。

要件

  • システムの状態を変更するすべてのコマンドは sudo を使用して実行する必要があります。
  • サービスの有効化には systemctl コマンドを使用してください。
  • このステップの最後には、httpd サービスが有効化され、かつ実行中の状態である必要があります。

サービスを有効化して起動した後、sudo systemctl status httpd の出力結果には、active (running) と、Loaded 行に enabled の両方が表示されます。

● httpd.service - The Apache HTTP Server
     Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-05-20 10:05:00 UTC; 10s ago
   Main PID: 5678 (httpd)
      Tasks: 4 (limit: 11079)
     Memory: 9.9M
        CPU: 50ms
     CGroup: /system.slice/httpd.service
             ├─5678 /usr/sbin/httpd -DFOREGROUND
             ├─5679 /usr/sbin/httpd -DFOREGROUND
             └─5680 /usr/sbin/httpd -DFOREGROUND

Loaded 行にある enabled という単語に注目してください。これにより、サービスがブート時に開始されるように設定されていることが確認できます。

まとめ

このチャレンジでは、Red Hat Enterprise Linux システムでサービスを管理するための重要な systemd コマンドを学びました。sudo systemctl start によるサービスのアクティブ化、sudo systemctl stop による停止、そして sudo systemctl enable を使用してブート時に自動起動させる方法を実践しました。また、sudo systemctl status でサービスの現在の状態を確認する方法も習得しました。これらのコマンドを使いこなすことは、熟練したシステム管理者への重要なステップです。

✨ 解答を確認して練習✨ 解答を確認して練習