simpleinit - システム管理コマンドの説明 - Linux コマンド集 一覧表
名前
simpleinit - プロセス制御の初期化を行う
書式
"init [ single ] [ script ]"
説明
init
は Linux ブートシーケンスの最終ステップとして起動される。
single
オプションが使われた場合、またはファイル
/etc/singleboot
がある場合、
/bin/sh
を起動することでシングルユーザーモードに入る。
ファイル
/etc/securesingle
がある場合、シングルユーザーモードを開始するために
root パスワードが必要とされる。
root パスワードがない場合、または
/etc/passwd
がない場合、パスワードのチェックは省かれる。
ファイル
/etc/TZ
がある場合、その内容が読み込まれ、
simpleinit
によって開始される各プロセスの環境変数
TZ を設定するために使われる。
「この機能」はコンパイル時に設定されている場合にのみ使用可能である。
通常は必要とされない。
シングルユーザーモードが終了した後、
/etc/rc
ファイルが実行される。
/etc/inittab
にある情報は、プロセスを開始するために使われる。
別の方法として、他のブートスクリプトを実行するように
/etc/inittab
ファイルを設定してもよい。
詳細は下記を参照すること。
INITTAB ファイル
Linux コミュニティではいくつもの init プログラムが出現しているので、
通常
inittab
(5) の man ページに書かれている
/etc/inittab
ファイルについてのドキュメントをここに載せる:
フォーマットは次のようになっている。
bootprog=ファイル
fileprefix=文字列
PATH=検索パス
INIT_PATH=検索パス
"tty ライン:termcap エントリ:getty コマンド"
finalprog=パス
以下に例を示す:
bootprog = fileprefix = /sbin/init.d/ PATH = /usr/sbin:/usr/bin:/sbin:/bin INIT_PATH = /sbin/init.d tty1:linux:/sbin/getty 9600 tty1 tty2:linux:/sbin/getty 9600 tty2 tty3:linux:/sbin/getty 9600 tty3 tty4:linux:/sbin/getty 9600 tty4 # tty5:linux:/sbin/getty 9600 tty5 # ttyS1:dumb:/sbin/getty 9600 ttyS1 # ttyS2:dumb:/sbin/getty -m -t60 2400 ttyS2 finalprog = /sbin/rc.xdm
#
文字で始まる行はコメントとして扱われる。
現在のところ Linux コミュニティでは
getty (8)
のようなコマンドがいくつかあるため、
あなたが使っている
getty (8)
コマンドのドキュメントを参照すること。
bootprog
の値は、fileprefix
の値に追加される。
その結果は、実行するブートプログラム (スクリプト) を指定するのに使われる。
指定されない場合、デフォルトは /etc/rc
である。
ブートプログラムがディレクトリである場合、
ディレクトリツリーにある全てのスクリプトが並列に実行される。
実行順の制御と依存性の管理をエレガントにする方法の詳細は、
need
(8) プログラムを参照すること。
PATH
の値は、
子プロセス (ブートスクリプト)の環境変数 PATH に割り当てられる。
(絶対パスが与えられない場合)
INIT_PATH
は実行するスクリプトの場所を見付けるために
simpleinit(8) 自身によって使われる。
デフォルトの値を unset して、ブートプログラムがディレクトリの場合、
そのディレクトリが使われる。
最後に、このパスでスクリプトが見つからなかった場合、
標準の PATH
が使われる。
PATH
と INIT_PATH
を分けることにより、
ブートスクリプトは同じ名前のプログラムを
衝突や絶対パスの指定なしに起動できる。
finalprog
の値は、
全ての getty
(8) インスタンスが生成された後で
実行されるプログラムのパスを指定する。
ブート時には、"start" という 1 個の引き数が渡される。
シャットダウン時にも、"stop" という引き数で呼ばれる。
シグナル
simpleinit (8) は、いろいろな方法でシグナルに応答する:
- SIGHUP
- 設定ファイル /etc/inittab が再度読み込まれる。
- SIGTSTP
- プロセスを更に生成するかどうかを決めるトグルを切替える。
- SIGINT
- simpleinit (8) は数回 sync を実行し、 reboot (8) を開始しようとする。 失敗した場合は、システムの reboot (2) コールを実行する。 Linux では、Ctrl-Alt-Del シーケンスが、 システムのリブートではなく、 init プロセスにシグナルを送るように設定できる (simpleinit (8) はデフォルトでこのようにしている)。
- SIGQUIT
- simpleinit (8) プログラムの代わりに、 reboot (8) プログラムが実行される。 これにより、init プロセスの古い i ノードが unlink されない場合でも、 reboot (8) はルートファイルシステムを (読み込みのみで) 正しく再マウントできる。
ファイル
/etc/inittab
/etc/singleboot
/etc/securesingle
/etc/TZ
/etc/passwd
/etc/rc
関連項目
inittab (5), ctrlaltdel (8) reboot (8), termcap (5), getty (8), agetty (8), shutdown (8), initctl (8)
バグ
このプログラムは、Linux コミュニティに出現し始めた System V 互換版の init と区別するために、 simpleinit と呼ばれる。 simpleinit を正しく機能させるためには、 init としてリンクするか、同一にするべきである。
著者
Peter Orbaek (poe@daimi.aau.dk)
Version 1.20, Werner Almesberger による
シングルユーザーモードのパッチ。
Richard Gooch <rgooch@atnf.csiro.au>
依存性のサポート。