1.4. 設定ファイル(/etc/inittab)

カーネルが最初に実行するプロセスである /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

id

エントリを識別するためのラベルです。任意のラベル名を指定できますが、一意である必要があります。

runlevels

このエントリを実行するランレベルが指定されています。空白の場合は、すべてのランレベルで実行の対象となります。

action

このエントリの種別や実行方法を決める非常に重要なフィールドです。代表的な 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電源が回復したときに通知されるシグナルを受け取り、実行されます。
respawninit プログラムは、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 を起動し、ログイン画面を表示します。

process

実行するコマンドを指定します。