6Apr
【chkconfigの仕組み】
IRIXでは(システム起動時の)デーモンプロセス等の自動起動等の設定は、chkconfigコマンドとそれに関連するシェルスクリプトで管理されている。通常システムに標準で組み込まれている、またはオプションで追加した機能をシステム起動時にアクティブにする場合、chkconfigで確認や設定する必要がある。ただし、chkconfigコマンドは基本的に/etc/config ディレクトリにあるファイルをチェックする、または設定する機能しか無い事を理解する必要がある。
実際に /etc/config/ ディレクトリに confconfと言うファイルを作成した場合
# touch /etc/config/confconf
# chkconfig
Flag State
==== =====
acct off
appletalk off
audit off
autoconfig_ipaddress off
bsdlpr off
desktop on
flexlm off
fontserver off
gated off
hogehoge off
と、confconfが追加された形になるはず。だが、これだけではシステム上では何も意味もない。意味が出てくるのは、これを別のプログラムが判定のフラグとして利用した時だけ。
実際にchkconfigがどの様に利用されてシステム起動時に必要なプロセスを起動しているかは、/etc/init.d/ディレクトリ内の各シェルスクリプトを確認するとわかります。
IS_ON=/etc/chkconfig
if $IS_ON hogehoge; then
(on の時実行)
else
(off の時実行)
fi
の様に使用され、これで起動の判定を行う事になる。実際に/etc/config/ディレクトリに配置されるファイルは値として “on” , “off(または on 以外の文字列)” であると判定され、上記の判定文で処理が決定されます。
上記の例では、confconfをchkconfigコマンドで確認するとoffなので、上記のif $IS_ONのステータスは0となり、then以下の処理が行われる。
/etc/config/ ディレクトリ下の各ファイルの状態を変更するには
# chkconfig hogehoge on
又は
# chkconfig hogehoge off
等とする。(vi エディタ等で変更しても同じ)。基本的には/etc/init.d (rc2.d,rc0.d)ディレクトリ下のrc関連ファイルを作成し、chkconfig名を決めて、これを用意する事でユーザ独自のchkconfig を追加する事が出来る。
例) network 機能の on/off