システム起動スクリプトとランレベルの比較

システム起動スクリプトカーネルが起動した後は、まず最初に"/sbin/init"が実行されます。"/sbin/init"は、"/etc/inittab"の設定に 従って各種プロセスを起動させます。このように、システム起動時に自動的に起動されるスクリプトがシステム起動スクリプトであり、rcスクリプト

原田 真

2006年2月14日 20:00

システム起動スクリプト

カーネルが起動した後は、まず最初に"/sbin/init"が実行されます。"/sbin/init"は、"/etc/inittab"の設定に 従って各種プロセスを起動させます。このように、システム起動時に自動的に起動されるスクリプトがシステム起動スクリプトであり、rcスクリプトや initスクリプトともいわれます。

起動スクリプトだけではなく、デーモン起動スクリプトもrcスクリプトやinitスクリプトといわれる場合があり、混乱のもととなっています。その ため本連載では、すべてのランレベルで共通して必要な起動スクリプトを「システム起動スクリプト」と呼び、各ランレベルごとで自動的に実行される起動スク リプトや、システム起動後にユーザが手動で実行する起動スクリプトのことを、「デーモン起動スクリプト」と呼ぶことにします。

これらの各種起動スクリプトが配置されるディレクトリは、RHEL4とSLES9で異なります。これは、運用時に混乱する大きな原因となりますので、よく理解する必要があります。


RHEL4SLES9
/etc/init.d/デーモン起動スクリプト(手動)
(/etc/rc.d/init.d/へのリンク)
システム起動スクリプト
デーモン起動スクリプト(手動)
(ディレクトリ実体)
/etc/init.d/rc[0-6].d/(存在しません)デーモン起動スクリプト(ランレベルごと)
(ディレクトリ実体)
/etc/rc.d/システム起動スクリプトシステム起動スクリプト
デーモン起動スクリプト(手動)
(/etc/init.d/へのリンク)
/etc/rc.d/init.d/
(ディレクトリ実体)
(存在しません)
/etc/rc.d/rc[0-6].d/デーモン起動スクリプト(ランレベルごと)デーモン起動スクリプト(ランレベルごと)
(/etc/init.d/rc[0-6].d/へのリンク)
表1:各ディレクトリに配置される起動スクリプト

"/sbin/init"が実行されたあとは、すべてのランレベルに共通して以下のスクリプトが最初に起動されます。


RHEL4SLES9
最初の起動スクリプト/etc/rc.d/rc.sysinit/etc/init.d/boot
表2:"/sbin/init"が実行されたあとに最初に起動されるスクリプト

SLES9では"/etc/init.d/boot"を実行すると、さらに"/etc/init.d/boot.d/"ディレクトリ以下にあるファイル名"Sxxboot.xxx"のスクリプトが続いて起動します。

また、以下のスクリプトもランレベルにかかわらず、システム起動時に毎回必ず起動します。ユーザが起動時に実行させるコマンドなどはこのスクリプトに登録するのが一般的です。


RHEL4SLES9
ランレベル共通実行スクリプト/etc/rc.d/rc.local/etc/init.d/boot.local
表3:表2以外にシステム起動時に毎回必ず起動されるスクリプト

ランレベル

システム起動スクリプトが実装された後は、各ランレベルに対応した処理が実行されます。ここでまず、ランレベルについて解説します。

ランレベルとは、オペレーティングシステムの起動状態のモードをあらわす概念です。一般的なLinuxディストリビューションでは、0から6までの7つのシステム状態がランレベルとして定義されています。


ランレベルシステム状態
0システム停止
1シングルユーザモード
2ローカルマルチユーザモード(NFSなどはなし)
3フルマルチユーザモード(テキストコンソール)
4未使用
5フルマルチユーザモード(グラフィカル環境)
6システム再起動
表4:ランレベルの定義

RHEL4とSLES9は表4の7つのランレベルを持っています。ランレベル0および6はシステムが稼働している状態ではないので、システム起動時 に移行するランレベルは1から5のいずれかになります。通常はランレベル3かランレベル5が使用され、ランレベル3と5の違いは、デフォルトの状態が CUI(レベル3)かGUI(レベル5)かの違いです。

ただ、ランレベル3でも"startx"コマンドによりGUIを利用することが可能です。以前はGUIが不安定だったため、ランレベル5でのサーバ 運用はあまり推奨されていませんでした。現在のGUIはかなり安定していますが、システムリソースを余分に消費しますので、やはりランレベル3でのサーバ 運用を推奨します。

ランレベル1のシングルユーザモードはバックアップ時などに使用するモードです。バックアップ時に他のユーザがファイル操作をするとバックアップの 整合性を保てなくなります。また、SLES9ではランレベル1ではなく、ランレベルSというシングルユーザモード用の設定ファイルも、別途用意されていま す。



注: 初出時に、RHEL4にランレベルSがないと誤解を招く表記をしておりました。お詫びして訂正させていただきます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30