水曜日, 29 3 月 2006

rcorder
この記事をクリップ!
このエントリーをはてなブックマークに追加

« DS Lite買った! | Main | WebDAVでファイル共有 »
今日はFreeBSDのおはなし。
Linuxでは起動時に/etc/rc.d/init.dにある起動スクリプトを設定されたランレベルに応じて実行するわけだけど
5系のFreeBSDでは/etc/rc.dに置かれている起動スクリプトが実行される。
ここまではよく似ているんだけど今日FreeBSDで起動時に立ち上げられるプログラムの
順番を変更しようとしてちょっと悩んでしまった。

Linuxならば起動スクリプトに
# chkconfig: 345 98 02
のように起動/停止シーケンス番号を書いておいてchkconfigで登録しておけば
その順番で起動されるところ、FreeBSDでは
# REQUIRE: DAEMON LOGIN
# BEFORE: NETWORKING
とそのプログラムを起動する前後のプログラムを指定しておかなければならない。
それはまぁなんとなく分かってたけどこの順番通りソートするスクリプトが見つからなかった。
きっと/etcのどこかにあるだろうとgrepでREQUIREとか調べても見つからない。
と、rcを見るとrcorderの文字が。
あぁそうかこんな関数があるんだと思ってrc.subrとか見ても無いし。
もしやと思ってwhich rcorderすると/sbin/rcorder…キタコレ!
なんだ/sbinかぁと思って開くとこれバイナリなのね。
てっきりシェルスクリプトなんだと思ってたよ。
ソートするだけなんだからシェルスクリプトでも十分作れそうなのにね。

調べるとNetBSDでは標準で伝統的な方法なんですね。
まだまだ修行が足りんわ。
Posted by tsujitako at 8:10 午後 in Linux/