kazmax - Linux で自宅サーバー

simpleinit - システム管理コマンドの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. INITTAB ファイル
  5. シグナル
  6. ファイル
  7. 関連項目
  8. バグ
  9. 著者

名前

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 が使われる。 PATHINIT_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

関連項目

バグ

このプログラムは、Linux コミュニティに出現し始めた System V 互換版の init と区別するために、 simpleinit と呼ばれる。 simpleinit を正しく機能させるためには、 init としてリンクするか、同一にするべきである。

著者

Peter Orbaek (poe@daimi.aau.dk)
Version 1.20, Werner Almesberger による シングルユーザーモードのパッチ。
Richard Gooch <rgooch@atnf.csiro.au>
依存性のサポート。