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

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

目次

サンプル rcスクリプト*1とランレベル毎のシンボリックリンク*2の図
  1.rcスクリプト
2.rcスクリプトへのシンボリックリンク
  シンボリックリンクの先頭のSとK
  3.etc配下のシンボリックリンク

rcスクリプト*1とランレベル毎のシンボリックリンク*2の図

RedHat系のrcスクリプトとランレベル毎のシンボリックリンクの図です。

青がディレクトリ、緑がスクリプト①、水色がシンボリックリンク②③です。

 

1.rcスクリプト

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

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

 

2.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のあとの数字は実行順を示し、数字の小さい順に実行されます。

 

K15httpd

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

 

S85httpd

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

 

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

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

関連の記事

Linux サービスの自動起動とランレベル(chkconfig)
Linux シンボリックリンクとは (処理の切替)/p>

△上に戻る