カーネルが最初に実行するプロセスである /sbin/init は、/etc/inittab ファイルのエントリを参照しながら、各ランレベルで実行するプログラムを決定しています。したがって、/etc/inittab は、init プロセスにおいて非常に重要な意味を持ちます。以下に Turbolinux 10 Server の /etc/inittab を示します。# で始まる行はコメントとして扱われます。
# # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> # Modified for RHS Linux by Marc Ewing and Donnie Barnes # Modified for TurboLinux by Christian Holtje # <docwhat@turbolinux.com> # Modified for TurboLinux by Go Taniguchi # <go@turbolinux.co.jp> # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: # System initialization. si::sysinit:/etc/rc.sysinit l0:0:wait:/etc/rc 0 l1:1:wait:/etc/rc 1 l2:2:wait:/etc/rc 2 l3:3:wait:/etc/rc 3 l4:4:wait:/etc/rc 4 l5:5:wait:/etc/rc 5 l6:6:wait:/etc/rc 6 # Things to run in every runlevel. #ud::once:/sbin/update # Trap CTRL-ALT-DELETE # ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty vc/1 2:2345:respawn:/sbin/mingetty vc/2 3:2345:respawn:/sbin/mingetty vc/3 4:2345:respawn:/sbin/mingetty vc/4 5:2345:respawn:/sbin/mingetty vc/5 6:2345:respawn:/sbin/mingetty vc/6 # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/usr/X11R6/bin/launch_xdm #EOF |
エントリは、以下の書式で記述されています。
id:runlevels:action:process |
エントリを識別するためのラベルです。任意のラベル名を指定できますが、一意である必要があります。
このエントリを実行するランレベルが指定されています。空白の場合は、すべてのランレベルで実行の対象となります。
このエントリの種別や実行方法を決める非常に重要なフィールドです。代表的な action の種類を以下に示します。
表 1-2. /etc/inittab - action フィールド
| initdefault | デフォルトのランレベルを指定します。 |
| sysinit | ブート時に必ず実行されるプログラムを指定します。よって、ランレベルの指定は意味を持ちません。Turbolinux 10 Server では、システムの初期化を行う /etc/rc.sysinit スクリプトを実行しています。 |
| wait | 実行するプログラムを指定します。ここで指定したプログラムが終了するまで init プログラムは処理を待機します。Turbolinux 10 Server では、/etc/rc スクリプトの実行に使用しています。 |
| ctrlaltdel | [Ctrl]+[Alt]+[Delete]キーが押されたときの処理を指定します。デフォルトではコメントになっています。このコメントを外すと、[Ctrl]+[Alt]+[Delete]キーでシステムの再起動が有効になります。 |
| powerfail | 電源に異常が発生したときに実行する処理を指定します。コンピュータと接続された UPS と通信しているプロセスからのシグナルを受け取り、実行されます。 |
| powerokwait | 電源が回復したときに通知されるシグナルを受け取り、実行されます。 |
| respawn | init プログラムは、process フィールドに指定されたプロセスが終了すると、このプログラムを常に再起動します。Turbolinux 10 Server では /sbin/mingetty や /usr/X11R6/bin/launch_xdm の起動に使用しています。/sbin/mingetty は仮想コンソールを起動し、テキストログイン画面を表示するプログラムです。/usr/X11R6/bin/launch_xdm は、ランレベル 5 のときに実行され、グラフィカルログイン画面を表示します。つまり、Turbolinux 10 Server からユーザーがログアウトし、これらのプログラムが終了すると、init プログラムは再び /sbin/mingetty や /usr/X11R6/bin/launch_xdm を起動し、ログイン画面を表示します。 |
実行するコマンドを指定します。