

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
/etc/rc.d/init.d/とは?
この場所は Linux の古い仕組みで使われてきた「サービスの起動・停止スクリプト」を格納するディレクトリです。SysV init という初期化プロセスの時代には、ここに起動スクリプトが並んでいました。
公式な位置づけとしては /etc/rc.d/init.d/ は Red Hat 系のディストリビューションでよく見られ、Debian 系では同様の役割を担う /etc/init.d/ が使われることが多かったのです。
現在の多くの Linux ディストリビューションは systemd という新しい初期化システムを使うようになりました。systemd は個別のスクリプトよりも unit ファイルと呼ばれる設定でサービスを管理します。とはいえ古いシステムや互換性のため、/etc/rc.d/init.d/ にあるスクリプトはまだ見かけることがあります。
このディレクトリの役割と仕組み
役割 は「サービスの起動順序を決めるスクリプトをまとめて置く場所」という点です。起動時に runlevel と呼ばれる段階を経て、サービスを自動的に開始したり停止したりします。
仕組みのイメージ 旧来は runlevel ごとに起動順序が決まり、/etc/rc.d/init.d/ のスクリプトを各 runlevel へリンクしていました。たとえばあるサービスを起動するときはそのスクリプトに start という引数を渡して実行します。
実際の使い方と現代の変化
スクリプトを直接実行する例としては次のようなものです。
・/etc/rc.d/init.d/httpd start これは古い Red Hat 系で見られる書き方です。
・service httpd start これは多くのディストリビューションで利用可能な共通のコマンドです。
・systemctl start httpd 現代の systemd ベースのシステムでは主な方法です。systemctl を使うと状態確認や自動起動設定も一括して管理できます。
現代の代替と互換性
現代の Linux では systemd が一般的ですが、/etc/rc.d/init.d/ のような伝統的な場所に格納されたスクリプトは依然として互換性のために残っている場合があります。新しい環境では基本的には systemd の unit ファイルを使い、旧来の script に依存するケースは少なくなっていますが、移行途中のシステムや特定のサービスでは旧来の方法がそのまま残っていることもあります。
セキュリティとベストプラクティス
サービスを管理する際には root 権限で操作すること が必要です。起動スクリプト自体の権限設定や、/etc/init.d ディレクトリの権限を厳密に管理して、改ざんを防ぐことが大切です。また、不要なサービスを起動しない、ログを監視する、設定ファイルのバックアップを取るといった基本的な運用も重要です。
コマンドの実例と表
以下はコマンドの代表例とその用途をまとめたものです。
| 用途 | サービスの起動・停止・再起動などを行うスクリプトの格納場所 |
|---|---|
| 現状 | 多くのディストリビューションは systemd を採用しているが、互換性のため /etc/rc.d/init.d/ 相当のスクリプトはまだ残っている |
| 例 | /etc/rc.d/init.d/httpd start、service httpd start、systemctl start httpd の順に使われることが多い |
補足として、chkconfig や update-rc.d などの古いツールで自動起動設定を管理していた時代もありました。現在は systemd の enable/disable を使って起動設定を管理するのが基本です。
/etc/rc.d/init.d/の同意語
- /etc/init.d/
- SysVinit 系のサービススクリプトを格納する標準ディレクトリ。各サービスの start/stop を実装するシェルスクリプトがここに置かれ、サービスの制御コマンドとして利用されます。
- init.d ディレクトリ
- SysVinit 系の「サービススクリプト」を格納するディレクトリの総称。サービスの起動・停止・再起動を行うスクリプト群が集まっています。
- /etc/rc.d/init.d/
- Red Hat 系などで使われる、SysVinit のサービススクリプト格納ディレクトリ。ランレベルごとの起動順序を制御するスクリプトが並びます。
- SysVinit のサービススクリプト格納場所
- 従来の init システム(SysVinit)において、サービスの起動・停止を制御するスクリプトを集めて置く場所の総称。
- ランレベル初期化スクリプト格納ディレクトリ
- SysVinit のランレベルに対応した起動/停止スクリプトを置くディレクトリの別名。特定のランレベルの起動順序で実行されるスクリプトが含まれます。
- サービス起動スクリプト格納ディレクトリ
- 各サービスの起動用スクリプトをまとめて置くフォルダ。起動時・再起動時の動作を定義したファイルが置かれます。
- init スクリプト格納ディレクトリ
- 起動時にサービスを制御するためのスクリプトを集めたディレクトリの概念的な名称。
- systemV init のサービススクリプト格納場所(互換用)
- System V init 互換の環境で、サービススクリプトを格納しておく場所を指す言い換え。
/etc/rc.d/init.d/の対義語・反対語
- 静的設定ディレクトリの対義語
- 動的・ランタイムデータを格納する場所を指します。代表例は /run や /var/run。ここには現在の実行状態やセッション情報、PIDファイル、ソケットなど、起動後に変化する値が格納され、再起動後には初期化されることが多い点が特徴です。
- 初期化スクリプト群の対義語
- 現在実行中のデーモン・サービスを指す概念。例として systemd のユニット管理(/run/systemd/system など)や systemctl の状態管理が挙げられ、起動時に呼ばれるスクリプト群(/etc/init.d や /etc/rc.d のようなディレクトリ)とは対照的に“走っているもの”を表します。
- rc.d/init.d の対義語としての現在実行中サービスの概念
- 起動時のスクリプト群に対して、現在動作中のサービスを指す考え方。実行中のデーモンは systemctl やサービスマネージャによって管理され、状態は running や enabled などで表現されます。
- ランタイムデータディレクトリの対義語
- 静的な設定値のみを指す /etc に対して、実行時の状態を格納する場所の対義語。例として /run のように、現在のサービス状態・セッション情報を格納します。
- 一時ファイル・キャッシュの対義語(長期保存データ)
- 一時的なデータではなく、長期的に保存されるデータを指す対義語。例として /var/lib や /home(ユーザー設定・アプリの状態保存領域)などが挙げられます。
- 停止・無効化の対義語としての運用状態
- サービスを起動・有効化して運用している状態を指します。対になるのは停止・無効化の状態で、運用中は running/enabled、停止は stopped/disabled の状態です。
- 静的構成 vs 動的実行の対義語
- 静的な構成ファイル中心の世界に対して、実行時の値・動的設定を重視する視点。具体例として /etc の静的設定と /run の動的設定の対比があります。
- プロセス情報ディレクトリの対義語
- 現在動作中のプロセス情報を中心とする /proc の対義語的概念。対義として、静的・構成ベースの情報源(設定ファイル中心の情報)を挙げる考え方があります。
/etc/rc.d/init.d/の共起語
- /etc/init.d
- 起動スクリプトを格納する標準ディレクトリ。SysVinit 時代から広く使われ、サービスの開始・停止操作の対象となるスクリプトがここに集められます。
- /etc/rc.d/init.d
- Red Hat 系などで使われる SysVinit の起動スクリプト格納ディレクトリ。
- init.d
- 起動スクリプトの集合を指すディレクトリ名で、SysVinit の実装と結びつく用語。
- SysVinit
- 従来の起動管理システム。/etc/init.d や rc?.d などの仕組みを提供します。
- rc.d
- ランレベル別に起動するスクリプトを格納するディレクトリ群の総称。
- rc.local
- 個別の起動コマンドを追加するためのファイル。多くのディストリビューションで /etc/rc.local を実行します。
- rc0.d
- ランレベル0 用の停止スクリプトを格納するディレクトリ。
- rc1.d
- ランレベル1 用の起動/停止スクリプトを格納するディレクトリ。
- rc2.d
- ランレベル2 用の起動/停止スクリプトを格納するディレクトリ。
- rc3.d
- ランレベル3 用の起動/停止スクリプトを格納するディレクトリ。
- rc4.d
- ランレベル4 用の起動/停止スクリプトを格納するディレクトリ。
- rc5.d
- ランレベル5 用の起動/停止スクリプトを格納するディレクトリ。
- rc6.d
- ランレベル6 用の停止スクリプトを格納するディレクトリ。
- runlevel
- 現在の起動ランレベルを示す概念。起動時に実行すべきスクリプトを決める基準です。
- runlevels
- 複数のランレベルの組み合わせ。異なる動作モードの集合を指します。
- LSB
- Linux Standard Base。init スクリプトのヘッダ情報で依存関係などを標準化します。
- LSB headers
- init スクリプトの先頭にあるメタ情報。依存関係や説明、実行順の指示を含みます。
- chkconfig
- Red Hat 系のサービス管理ツール。起動レベルごとのサービス有効/無効を設定します。
- update-rc.d
- Debian 系のツール。起動スクリプトをランレベルに登録・削除します。
- insserv
- 依存関係ベースの起動を実現するツール。スクリプト間の依存関係を解決します。
- service
- サービスを起動・停止・再起動する基本コマンド。SysVinit でも systemd でも使われます。
- systemd
- 現代の init システム。ユニットファイル(.service など)でサービスを管理します。
- Unitファイル
- systemd の設定ファイル形式。サービスの起動条件・依存関係を記述します。
- systemctl
- systemd の管理コマンド。サービスの状態確認や起動・停止を行います。
- Upstart
- 以前の Ubuntu などで使われた起動システム。systemd へ移行が進みました。
- daemon
- 常駐して動作するサービス(デーモン)のこと。/etc/init.d のスクリプトが起動します。
- 起動スクリプト
- システム起動時に実行されるスクリプトの総称。/etc/init.d や rc?.d に格納されます。
- 依存関係
- 起動順序を決めるための、他スクリプトやサービスへの依存情報。
- 依存関係ベースの起動
- insserv などで実現される、依存関係に基づく起動順序の設定方式。
- ランレベル
- 0〜6 などのモード。各モードごとに実行すべきスクリプトが異なります。
- シンボリックリンク
- 起動順を制御するために、rc?.d ディレクトリへリンクを作成する仕組み。
- symlink
- シンボリックリンクの英語表記。rc?.d でスクリプトの有効化/無効化に使われます。
- サービス管理
- サービスの起動・停止・再起動・自動起動設定を行う仕組み。
- systemdのユニット
- systemd の設定単位。実際には unit ファイルと呼ばれます。
/etc/rc.d/init.d/の関連用語
- /etc/init.d
- SysVinit 系のサービススクリプトを集めたディレクトリ。各サービスの start/stop などの処理を実装した実体スクリプトがここに置かれます。
- /etc/rc.d
- 一部のディストリビューションで使われる起動スクリプトの格納場所。/etc/init.d と同様の機能を提供しますが distro により呼び名が異なる場合があります。
- SysVinit
- System V Init の略。古典的な起動システムで、runlevel に基づくサービス起動を行います。
- init
- プロセスID 1 のデーモン。システム起動の中心となり、適切な runlevel のサービスを起動します。
- runlevel
- システムの実行モードを表す番号。0は停止、1は単一ユーザー、2〜5はマルチユーザ等、6は再起動を意味します(ディストリビューションにより解釈が異なることがあります)。
- inittab
- SysVinit の設定ファイル。デフォルトの runlevel や起動順序、イベントの対応を定義します。
- /etc/rc?.d
- 各 runlevel の起動・停止を制御するシンボリックリンク群。S で開始、K で終了を指示するリンク名が付けられます。
- /etc/rcS.d
- ブート直後に実行される初期処理を集めたディレクトリ。
- rc.local
- ブート後に実行したい任意のコマンドを記述するファイル。SysVinit 環境で使われます。
- LSB init script
- LSB 規格に沿った init スクリプトのヘッダ情報。依存関係やデフォルトの runlevel などを記述します。
- LSB (Linux Standard Base)
- ディストリビューション間の互換性を高める標準。init スクリプトの規約も含みます。
- insserv
- 依存関係ベースの起動順序を自動的に組み立てるツール。
- chkconfig
- Red Hat 系で使われるサービスの自動起動設定ツール。runlevel ごとの on/off を管理します。
- update-rc.d
- Debian/Ubuntu 系で init.d のスクリプトの起動リンクを /etc/rc?.d に作成・削除するツール。
- systemd
- 新しい世代の init システム。SysVinit の機能を置換・統合し、サービス依存性を厳密に管理します。
- systemctl
- systemd を操作するコマンド。サービスの起動停止、状態確認、ユニットの管理を行います。
- unit
- systemd の基本単位。サービス・ソケット・マウントなどを表す設定ファイルの集合(ユニットファイル)です。
- サービス (service コマンド)
- SysVinit 系のサービスを起動停止するためのラッパーコマンド。
- SysV 互換性
- systemd が SysVinit スクリプトを動かせるようにする互換機能。
- SXX名前/ KXX名前
- rc.d ディレクトリ内のファイル名規則。S は起動、K は終了を指し、XX は順序番号を表します。
- runlevel 0
- システムを停止またはシャットダウン状態へ移行するレベル。
- runlevel 1
- 単一ユーザーでの緊急メンテナンス等に使われるレベル。
- runlevel 3
- マルチユーザーのテキストモード(GUIなし)を想定するレベル。ディストリビューションにより解釈が異なることがあります。
- runlevel 5
- マルチユーザーの GUI 環境を想定するレベル(多くの系でグラフィカルログインを起動)。
- BSD init (rc.d)
- BSD 系の init システム用ディレクトリ。/etc/rc.d などに起動スクリプトを置く構成が多いです。
- Slackware /etc/rc.d
- Slackware などで使われる SysV 風の起動スクリプト格納場所。



















