
第10回 Linux起動の仕組みを理解しよう[init/inittab編]
関野史朗
2002/4/27
ランレベルによる動作状態の変更
Windowsには、「ランレベル」に相当する概念がないので、ちょっと分かりにくいかもしれません。これは、Linuxがどんな状態で動作するのかを指定します。一般的には、
|
ランレベル
|
意味
|
|
|
0
|
システム停止処理中 | |
|
1
|
シングルユーザーモード | |
|
2
|
マルチユーザーモード | |
|
3
|
マルチユーザーモード | |
|
4
|
マルチユーザーモード | |
|
5
|
マルチユーザーモード | |
|
6
|
リブート中 |
になります。マルチユーザーモードが複数あるのは、例えばグラフィカルログインとテキストログインを使い分けるためです。Red Hat Linux 7.2だと、
|
ランレベル
|
意味
|
|
|
0
|
システム停止処理中 | |
|
1
|
シングルユーザーモード | |
|
2
|
NFSを使わないマルチユーザーモード | |
|
3
|
フルマルチユーザーモード | |
|
4
|
未使用 | |
|
5
|
グラフィカルログイン | |
|
6
|
リブート中 |
になっています。
これを設定しているのは、/etc/inittabの、
id:3:initdefault: |
という行です。この場合、ランレベル3、フルマルチユーザーモードで動作することになります。「3」を「5」に置き換えると、ログイン画面がX Window Systemを使った画面になります。
なお、ランレベル0と6は自動的に設定されるので、inittabのid行で指定してはいけません。うっかり「6」を指定したりすると、延々とリブートするハメになったりします。こうした場合は、起動時にカーネルパラメータとして「single」を渡してやればOKです。指定されているランモードに関係なく、シングルユーザーモードの状態で起動します。このときはネットワークも動いておらず、コンソールに直接プロンプトが出ます。そこで、すかさず/etc/inittabを編集して再起動すればいいわけです。
また、ファイルシステムをumountせずにいきなりリセットしたりすると、場合によってはfsckでも修復し切れないエラーが生じます。このようなときは、自動的にシングルユーザーモードで起動します。
■シングルユーザーモード
シングルユーザーモードは、Windowsのセーフモードに相当すると考えていいでしょう。マルチユーザーモードでshutdownコマンドを実行してもシングルユーザーモードになります。このときは、/etc/rc1.d内のスクリプトが実行されます。起動時にカーネルパラメータとしてsingleを指定したりfsckなどでエラーが起きた場合、/etc/rc1.d内のスクリプトは実行されません。
このモードは文字通り、1人のユーザーだけが使う状態です。デーモンやプロセスも最小限のものしか動いていないので、メンテナンスがやりやすくなっています。
例えばハードディスクのバックアップを取るとき、ほかのユーザーが使っていたり、さまざまなデーモンが動いていると、いつデータを書き換えられるか分かりません。まさにバックアップを取っている最中のファイルを書き換えられると、ちょっと厄介なことになります。
その点、シングルユーザーモードでは/(ルート)に割り当てたパーティションをマウントするだけでよいので、/usrや/homeを別パーティションにしておくと確実にバックアップが取れます。もちろん、/パーティション自身をバックアップするときも、シングルユーザーモードならばファイルが勝手に書き換わることが少ないので安心です。
シングルユーザーモードではネットワーク関係の機能も止まっていますから、コンソールからの作業が前提となります。シリアルポートを経由して別の端末で操作することもできますが、それなりの設定が必要になります。設定についてはhttp://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/serial-console.txt.htmlなどを参照してください。
シングルユーザーモードからログアウトすると、マルチユーザーモードに移行します。
■マルチユーザーモード
マルチユーザーモードは、ごく一般的な動作モードです。Red Hat Linux 7.2ならば、ランレベル3か5のいずれかでしょう。3ならばテキストベース、5ならX Window Systemベースのグラフィカルなログイン画面になります。
どちらもネットワークなどが使えるようになり、さまざまなデーモンが動いています。普段使うのは、このモードになります。前述したように、ランレベルに応じたrcスクリプト(ランレベル3なら/etc/rc3.d以下、ランレベル5なら/etc/rc5.d以下)を実行した後、ようやくログインプロンプトが出てきます。
| 次回予告 |
| 次回はいよいよ最終回です。今回紹介し切れなかったrcスクリプトの機能や書き方を取り上げます。 |
|
2/2
|
|
| Index | |
| Windowsユーザーに教えるLinuxの常識 | |
| Linux起動の流れ デバイスなどの初期化 initプログラムなどの起動 initは何をしているのか? initの動作を定義するinittab ブート時の処理 起動後の仕事 |
|
| ランレベルによる動作状態の変更 シングルユーザーモード マルチユーザーモード |
|
| 連載 Windowsユーザーに教える Linuxの常識 |
| Linux Squareフォーラム Linux/システム学習関連記事 |
| 連載:Windowsユーザーに教えるLinuxの常識(全12回) Windowsのセオリーが通用しないLinux。Linux初心者向けに、LinuxというOSの考え方/常識をゼロから伝授! |
|
| 連載:LFSで作って学ぶLinuxの仕組み(全4回) 管理者(root)は、何をしなければならないのか? 管理に際して検討すべきことは? 管理のための技術とは? など、駆け出し管理者のための考え方や方法論を検討する |
|
| 連載:Linux管理者への道(全8回) 「Linux From Scratch」というシンプルなLinuxをインストール&環境構築する作業を通して、LinuxがOSとして機能するための仕組みや設定を見直そう |
|
| Linux Squareフォーラム全記事インデックス |
|
TechTargetジャパン
- OSSライセンスの採用傾向に「変化」あり (2012/5/21)
OSS普及の一翼を担ってきたライセンス、GPLファミリー採用の割合が減少傾向にあるそうです。いったいどうして? - ここからFirefoxの反撃が始まる (2012/3/12)
2月のLinux SquareのランキングではFirefoxの記事がダントツのページビューを集め、トップに立ちました - CMakeでMySQLをビルドしてみる (2012/3/8)
ここまでの作業でCMakeを使う準備が整いました。今回はひとまずMySQLをビルドしてみます - MySQLのビルドに欠かせないCMakeを準備する (2012/3/2)
今回は、MySQLをビルドするために欠かせないツール「CMake」をインストールし、使う準備をします
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
