CentOS rcスクリプトとランレベル毎のシンボリックリンク

rcスクリプトとランレベル毎のシンボリックリンクについてです。
rcとはrun commandの略で、rcスクリプトとは起動スクリプトのことです。

概念図

RedHat系のrcスクリプトとランレベル毎のシンボリックリンクの概念図です。
青がディレクトリ、緑がスクリプト、水色がシンボリックリンクです。
以下の図にある数値ごとに説明します。

rcスクリプト

概念図の1の/etc/rc.d/init.d/配下には、サービスの起動や停止を行うrcスクリプトが置かれています。

例えば、/etc/rc.d/init.d/httpdは、
apacheのサービスの起動や停止等を行うrcスクリプトです。

rcスクリプトへのシンボリックリンク

概念図の2の/etc/rc.d/配下にはrc0.dからrc6.dまでのランレベルごとのディレクトリがあります。
下の図の青字はディレクトリです。

 

rc0.dからrc6.dまでのそれぞれのディレクトリの中に、/etc/rc.d/init.d配下のrcスクリプトへのシンボリックリンクがあります。
以下の図は、/etc/rc.d/rc3.d配下を表示しています。水色の文字はシンボリックリンクです。
/etc/rc.d/init.d/httpdの修正を行うとランレベル毎のそれぞれのシンボリックリンクにも反映されます。

シンボリックリンクの先頭のSとKについて

rcスクリプトへのシンボリックリンクの名称はSから始まるものとKから始まるものがあります。
Sで始まるものは起動です。引数にstartを与えて実行します。
Kで始まるものは停止です。引数にstopを与えて実行します。
S、Kのあとの数字は実行順を示し、数字の小さい順に実行されます。

 

コマンドの「chkconfig --list httpd」を実行して値が全てoffの場合(下の図参照)、/etc/rc.d/rc0.d~rc6.d/配下はK15httpdというシンボリックリンクになります。chkconfigは、ランレベル毎のサービスの自動起動の設定を参照/変更するコマンドです。

 

「chkconfig --list httpd」を実行して3と5がonの場合(下の図参照)、/etc/rc.d/rc3.dとrc5.d配下はS85httpd、それ以外の配下にはK15httpdというシンボリックリンクになります。

etc配下のシンボリックリンク

概念図の3のinit.dとrc0.dからrc6.dまでは、シンボリックリンクです。
RedHat系以外では、/etc/init.d/にrcスクリプトがあります。

関連の記事

CentOS bashの設定ファイル
CentOS ランレベルとサービスの自動起動の設定
CentOS シンボリックリンク
CentOS bashの機能
CentOS OpenSSHサーバの設定ファイル(sshd_config)
CentOS コマンド一覧
CentOS viの操作とコマンドの一覧



△上に戻る