
【Linux】プロセス制御システム(SysVinit)/etc/rc.dの中身
プロセス制御システム(SysVinit)は、以下の5部に分けて解説しています。
- プロセス制御システム(SysVinit)起動の概要
- プロセス制御システム(SysVinit)/etc/inittabファイル
- プロセス制御システム(SysVinit)ランレベル
- プロセス制御システム(SysVinit)/etc/rc.dの中身
- プロセス制御システム(SysVinit)サービスの起動と停止
/etc/rc.dの中身
/etc/rc.dディレクトリには、各ランレベルで起動/停止するサービスを管理するためのファイルが格納されています。このディレクトリには、以下のサブディレクトリが含まれています。

| ディレクトリ | 説明 |
|---|---|
/etc/rc.d/rc[N].d | 各ランレベルに対応するディレクトリ。Nはランレベルの値(0〜6)。 |
/etc/rc.d/init.d | 実際のサービススクリプトが格納されているディレクトリ。 |
rc[N].dディレクトリの内容
各ランレベルに対応するディレクトリ(例:/etc/rc.d/rc3.d)には、Sから始まるファイルとKから始まるファイルが含まれています。

| ファイル名の形式 | 説明 |
|---|---|
| SXXサービス名 | システム起動時にサービスを開始(Start)するスクリプトへのシンボリックリンク。 |
| KXXサービス名 | システム停止時にサービスを終了(Kill)するスクリプトへのシンボリックリンク。 |
| XX | スクリプトの実行順序を決定する2桁の番号。 |
ls /etc/rc.d/rc3.dの出力例と解説
$ ls /etc/rc.d/rc3.d
(略) K01atd -> ../init.d/atd
(略) K01netfs -> ../init.d/netfs
(略) S10network -> ../init.d/network
(略) S55sshd -> ../init.d/sshd
(略) S99local -> ../init.d/local出力結果の解説
| ファイル名 | 説明 |
|---|---|
| K01atd | ランレベル3でatdサービスを停止するスクリプト。 |
| K01netfs | ランレベル3でnetfsサービスを停止するスクリプト。 |
| S10network | ランレベル3でnetworkサービスを開始するスクリプト。 |
| S55sshd | ランレベル3でsshdサービスを開始するスクリプト。 |
| S99local | ランレベル3でlocalサービスを開始するスクリプト。 |
rc[N].dディレクトリのファイルの書式
| 要素 | 説明 |
|---|---|
| S | サービスを開始(Start)するスクリプト。 |
| K | サービスを停止(Kill)するスクリプト。 |
| XX | スクリプトの実行順序を決定する2桁の番号。 |
| サービス名 | サービスの名前。 |
ファイル名の具体例と解説
例:S55sshdサービス
| 要素 | 説明 |
|---|---|
| S | サービスを開始するスクリプト。 |
| 55 | 実行順序番号。55はこのサービスが他のサービスよりも後に実行されることを示す。 |
| sshd | SSHデーモン(Secure Shell Daemon)のサービス名。 |
sshdの解説
sshdは、SSH(Secure Shell)プロトコルを使用してリモートログインを提供するデーモンです。これにより、セキュアな通信を確保しながら、リモートのサーバーにアクセスできます。
chkconfigコマンド
chkconfigコマンドは、サービスの起動設定を簡単に管理するためのツールです。このコマンドを使用することで、特定のランレベルでのサービスの起動や停止を設定できます。
chkconfigコマンドの例
# chkconfig --list sshdこのコマンドは、sshdサービスがどのランレベルで有効になっているかを表示します。
まとめ
/etc/rc.dディレクトリには、各ランレベルで起動/停止するサービスを管理するファイルが格納されています。rc[N].dディレクトリには、Sから始まるファイルとKから始まるファイルがあり、それぞれサービスの開始と停止を制御するシンボリックリンクです。サービス管理にはchkconfigコマンドを使用することで、簡単に設定を確認および変更できます。
