| inittab |
|
. . . inittab の設定 . . . |
Pandora のFedora Core1 が想像以上に快適に動作している。 P6F209 というマザーボードは、VGA オンボードでメインメモリから VRAM 相当の領域を拝借することで表示を実現している。 サーバ利用を考えると、デフォルトのログイン画面(ログインマネジャ) なんか要らないし、可能な限り表示用のメモリ割り当てを減らしたい。 そこで、システム起動時のrunlevel を変更して マルチユーザ・テキストログイン画面に設定を変更することにした。 つまり、こうである(無駄に力強く、きっぱりと主張) id:3:initdefault: init/inittab を纏めようとすると、それはソレなりに ...... 相当、厄介だったりするのである..... ので、トッカカリだけを書くことに... します。 (^^; init プロセス init というプロセスを理解しないといけません。 ps -aef とかコマンドを実行すると、(桁ズレは無視してください (^^; ) UID PID PPID C STIME TTY TIME CMD root 1 0 0 Apr24 ? 00:00:04 init [3] root 2 1 0 Apr24 ? 00:00:00 [keventd] root 3 1 0 Apr24 ? 00:00:00 [kapmd] root 4 1 0 Apr24 ? 00:00:00 [ksoftirqd/0] root 6 1 0 Apr24 ? 00:00:00 [bdflush] root 5 1 0 Apr24 ? 00:00:00 [kswapd] root 7 1 0 Apr24 ? 00:00:00 [kupdated] root 8 1 0 Apr24 ? 00:00:00 [mdrecoveryd] root 12 1 0 Apr24 ? 00:00:00 [kjournald] root 69 1 0 Apr24 ? 00:00:00 [khubd] root 1148 1 0 Apr24 ? 00:00:00 [kjournald] root 1170 1 0 Apr24 ? 00:00:00 [kjournald] root 1746 1 0 Apr24 ? 00:00:00 [knodemgrd_0] root 2080 1 0 Apr24 ? 00:00:00 syslogd -m 0 root 2084 1 0 Apr24 ? 00:00:00 klogd -x . . 以下省略 などと、プロセスの情報が表示されます。 この最初の行の、 root 1 0 0 Apr24 ? 00:00:04 init [3] これこそが、システム起動後にログインプロンプト(画面)が 表示されるまでのデーモン起動やらをするプロセスの主なのです。 (実際には、パーティションのマウント後から、が正しいのかも知れない) カーネルそのものといってもいいでしょう。 上記のプロセスリストで、PID が2以降のものはシステム起動時に init がランレベルに従って実行しているものです。 ユーザが意図的にPPID (親プロセス)を"1" init に付け替える場合も あるわけですが、それはここでは触れません。 init を理解する事は易しい事ではありません、多分。 が、まず以下の点を把握すれば少し見えてくるのではないでしょうか。
ランレベル ランレベルは動作状態を制御するために用いられます。 例えば、RHL/Fedora では以下のようにレベル分けされています。
指定することは絶対にありません。 通常、システムのデフォルトは3/5 のどちらかになります。 仮に、動作モードのデフォルトを0/6 に指定すると、システム起動完了後に 0 : シャットダウン、6 : リブート となり、何もすることができません。 ランレベル 1 は、システムメンテナンスやトラブルシュート時に lilo/GRUB のパラメタに引き渡す事があります。 操作している人以外には操作させたくない場合などが想定できます。 ランレベルと/etc/rc.d/rc*.d /etc/inittab に設定されたランレベルに応じて、/etc/rc.d 配下の rc*.d ディレクトリ下のスクリプトファイルが実行されます。 通常は、/etc/rc.d/rc3.d または /etc/rc.d/rc5.d 配下の 各スクリプトが実行される事になります。 これらのスクリプトは、各環境毎に有効(実行する)か無効(実行しない)か 指定することが出来ます。 (vsftpd の設定にて、chkconfig --level 35 vsftpd on ) 自分の環境で実行されるスクリプト群を確認してみるといいでしょう。 /etc/inittab inittab はシステム起動時から終了までの振る舞いを決定する 極めて重要なファイルです。 このファイルを誤って消したり、ヘンテコな内容に書き換えると とっても不幸せな結果を招きます。 inittab の記述は、 id:runlevel:action:process
これが基本書式です。 action で示されるエントリは、
# # 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 # # 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.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # 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 tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon 上記の場合、ランレベルは3 で指定されている事を示します。 それ以外は、デフォルトの設定を変更していません。 なんとなく、少しわかった気がしませんか? と、自分にも言い聞かせるワケですが。 |
| << Back |