みなさん、こんにちは。このコラムでは、RHEL7/CentOS7のLinuxサーバー管理に役立つ情報をお届けします。
今回は、systemdによるサービス管理の方法を学びます。RHEL6/CentOS6では、chkconfig/serviceコマンドが定番でしたが、RHEL7/CentOS7では、systemctlコマンドを利用してサービス管理を行ないます。サービスの状態やログ出力など、従来よりもきめ細かな情報を確認することができます。
■systemdの仕組み
はじめに、systemdの全体の仕組みを簡単に説明しておきます。systemdは、Linuxを起動すると、一番最初に実行を開始する「PID(プロセスID)=1」のデーモンプロセスです。systemdの環境では、Linuxの起動時に必要となるさまざまな処理が個別の「Unit」として定義されており、systemdは、それぞれのUnitの設定ファイルにしたがって、起動処理を進めます。この時、systemdは、複数のUnitをできるだけ並列に処理していくことで、起動時間の短縮を図ります。
これにより、RHEL7/CentOS7の起動処理は、RHEL6/CentOS6に比べて高速になっています。また、Unitには、いくつかの種類がありますが、特にアプリケーションの起動に関わるUnitは、「サービス」と呼ばれます。定義済みのサービスの一覧は、次のコマンドで確認することができます。
# systemctl list-unit-files -t service
UNIT FILE STATE
auditd.service enabled
autovt@.service disabled
brandbot.service static
…中略…
httpd.service disabled
…以下省略…
結果はページャー(lessコマンド)で表示されます。[j][k]で上下にスクロールして、[q]で終了します。
これが不要な場合は、「–no-pager」オプションを付けてください。「STATE」列の「enabled/disabled」は、システム起動時に該当のサービスを自動起動するかどうかを表します。現在、起動中のサービスは、次のコマンドで確認します。
# systemctl -t service
■systemctlコマンドによるサービスの操作
先ほど確認したサービスの中に「httpd.service」というサービスがあります。これは、前回インストールしたWebサーバー機能を提供するサービスです。現在、自動起動は無効化されているので、このサービスは起動していません。自動起動の有効化(enable)と無効化(diable)は、次のコマンドで設定します。これは、従来のchkconfigコマンドに相当するものです。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。