【4】initがランレベルに対応して起動するrcスクリプトとサービスの仕組みを把握しておく
カーネルがinitを起動した後のシーケンスは次のようになります。
init |
initは起動すると/etc/inittabを読む | |
↓ |
||
/etc/inittab
|
システムのランレベルは第3フィールド(アクションフィールド)がinitdefaultと指定のあるエントリの第2フィールドで指定する。この例ではシステムのランレベルとして3が指定されている | |
↓ |
||
/etc/rc.d/rc.sysinit |
最初にrc.sysinitが実行される | |
/etc/rc.d/rc 3 |
ランレベル3が指定された場合、3を第2フィールドに含むエントリの第4フィールドのコマンド、/etc/rc.d/rc 3が実行される | |
↓ |
||
/etc/rc.d/rc3.d/K* /etc/rc.d/rc3.d/S* |
ランレベル3が指定された場合は/etc/rc.d /rc3.dの下のシェルスクリプトが実行される |
ランレベル3の場合は/etc/rc.d/rc3.dの下のKとSで始まるシェルスクリプトが実行されます。
ランレベル5の場合は/etc/rc.d/rc5.dの下のKとSで始まるシェルスクリプトが実行されます。
Kで始まるスクリプトはプロセスをkillするスクリプト、Sで始まるスクリプトはプロセスをStartするスクリプトで、いずれも/etc/init.dの下のスクリプトへのシンボリックリンクです。Sで始まるシンボリックリンクを作ることにより、システムの立ち上げ時にサービスを起動する設定ができます。
/etc/rc.d/rc3.d/S13named -> /etc/init.d/named |
【5】システム起動時の出力メッセージを把握しておく
システム起動時の出力メッセージや画面表示を把握することにより、起動シーケンスの進行状態を知ることができ、トラブルが発生したときに、どの部位に問題があるのかを推測できます。
メニュー画面表示の前
Booting from Hard Disk... GRUB Loading stage2.. |
メニュー画面表示の後
Booting 'CentOS-4 i386 (2.6.9-42.EL)' root (hd0,0) Filesystem type is ext2fs partition type 0x83 kernel /boot/vmlinuz-2.6.9-42.EL ro root=LABEL=/ rhgb [Linux-bzImage setup=0x1400 size=0x16dd65] initrd /boot/initrd-2.6.9-42.EL.img [Linux-initrd @ 0x17f89000 0x61615 bytes] Uncompressing Linux...Ok booting the kernel. |
カーネルオプションにquietを指定すると立ち上げ時には表示されませんが、立ち上げ後にdmesgコマンドで確認できます
Linux version 2.6.9-42.EL (buildcentos@build-i386) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #1 Sat Aug 12 09:17:58 CDT 2006 ............................................ Kernel command line: ro root=LABEL=/ rhgb ......................................... Memory: 385212k/393192k available (2150k kernel code 7416k reserved 712k data 164k init 0k highmem) Detected 1596.513 MHz processor. ......................................... Probing IDE interface ide0... hda: QEMU HARDDISK ATA DISK drive Using cfq io scheduler ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 |
カーネルオプションにquietを指定すると立ち上げ時には表示されません
Red Hat nash version 4.2.1.8 starting Mounted /proc filesystem Mounting sysfs Creating /dev Starting udev Loading jbd.ko module Loading ext3.ko module Creating root device Mounting root filesystem |
カーネルオプションにrhgbを指定した場合は、rhgbの「詳細の表示」を選択したときのみ表示されます
INIT: version 2.85 booting Welcome to CentOS release 4.4 (Final) Press 'I' to enter interactive startup. Starting udev: [ OK ] Initializing hardware...storage network audio done [ OK ] ............................... Starting sshd: [ OK ] Starting xinetd: [ OK ] |
システムのランレベルを5に指定し、かつカーネルオプションにrhgbを指定したときに、シェルスクリプトの出力メッセージの代わりに表示されます(図4)
上記の各メッセージのうち、カーネルの出力メッセージはカーネルメモリ内のリングバッファ(ring buffer:循環バッファ)に格納されます。システムが立ち上がって、立ち上げメッセージが画面から消えた後でも、ログインすればdmesgコマンドで表示できます。
また/var/log/dmesgファイルにも格納されるので、catコマンドなどで表示できます。
# dmesg Linux version 2.6.9-42.EL (buildcentos@build-i386) (gcc version 3.4.6 20060404 ( Red Hat 3.4.6-3)) #1 Sat Aug 12 09:17:58 CDT 2006 |
Copyright © ITmedia, Inc. All Rights Reserved.