前回書いたネタ の続報です。
前回は「ようやっと動いたぜぃ。」って感じで書いたのだけど、書いて公開した直後にサーバがダウン・・。
やはり 7.1-RELEASE や 7.1-STABLE では 5 日の壁越えられないのねぇ。ってのを実感。でもっていやはやダメだわー。ってんで、結局 2008/10/31 のソースコード一式を csup で持ってきてそれでカーネルを作ってみた。
いやぁ。見事に今度は uptime が 5 日を超えました。 uname -a 的には 7.1-PRERELEASE。もーこれでいーや。状態。
最新をおっかけるより安定性重視と言うことで。
それにしてもデスクトップのほうは 7.1-STABLE を追いかけているのだけど、所々「これ、怪しいなぁ。」と言うソースコードが commit されているみたいで・・。
けど、最新を追いかけてまた安定しなくなったら困るので当分はこのままで以降と思っております。
それにしても安定して良かった。次回、サーバのバージョンを上げるとしたら 7.2-PRE 辺りかなぁ・・。当分はバージョンアップするの、やぁめた。
新しいバージョンが出たのでその日の内にアップデートしたのだけど、他にブログに書くことがたくさんあったので今のタイミングになってしまいました。
それにしも、今回からはもー JailBreak はしないことに決定。AppStore から無料のソフトをダウンロードするだけで事が足りるようになったのでねぇ・・。後、唯一欲しいのがテキストリーダかな。色々な文字コードが表示できて、改行もしてくれるヤツが良いのだけど、無料だと中々無い・・。
今回のバージョンアップで、iPod Touch ですごーく幸せになった。と言うのは特に無いのだけど、書いてみました。ってこれだけで終わりかよっ!!ってんではなんなんで・・。
iPod なので音楽聞くんだけど、僕は 400 曲位入れていて「シャップル」で聞いている。iPod を持った最初の頃はアルバム単位でシーケンシャルに聞いていたのだけど、シャッフルで聞くようになったら、「次はこんな曲かー。」って随分と新鮮だった。今は慣れたけどねぇ。
で、そのシャッフルだけど、バージョンがあがるたんびに乱数変えてないないかい?とか思うようになってきた。400 曲位入っていて一時間程度しか聞かないと「シャッフル」とはいえ、ほとんど同じ曲がかかっている気がするんだけど、バージョンアップした後は、「お?今までこんな曲かからなかったぞ。」とか思うわけです。それもバージョンアップのたびに毎回。
そー考えると、アップルは iPod の OS のバージョンアップのたんびにシャップル用の乱数をちゃんと更新してくれているのではないか。と思えてしまうのですが、実の所、どうなんでしょう。
それにしても iPod Thouch を車の中でも聞くんだけど、再生中に iPod を横にすると流れている曲のジャケットを表示してくれる。横にして聞いている状態が長いってのは今のところ、車の中でしか無いんだけどね。
で、バージョンが 1.3 の頃は一番最初に表示されたジャケット(つまり一番最初に聞いた曲ってことです)がずっと表示されたままだったのだけど、2.0 以降はちゃんと曲に併せてジャケットが iThunes みたいにパタパタパタと動いて変わってくれるようになった。これは嬉しいなぁ。とミョーに感動したものです。
そー考えると、ドックが付いている iPod 対応のスピーカーは iPod Touch や iPhone の場合は横に付けたほうが楽しい。と言うことだねぇ。と、言うことで、メーカーさん。iPod を横置きで接続できるスピーカーを出したほうが売れますよ;-)。
と、まぁ、こんな風にバージョンアップのたびにちょっとずつ変わっていってくれると嬉しいですねぇ。
それにしても最近、FreeBSD ネタ多いなぁ。今回もなんだけど・・。
/var/locg/messages に、以下のようなログが出力されませんか?
|
xorg を 7.4 にしたら突然出るようになって、X を終了(プロセスを kill するなど)すると OS 自体を道連れにマシンが凍り付く。怖いですねぇ。イヤですねぇ・・。
xorg-7.4 とカーネルの agp とか drm 回りの相性で Intel 系のグラフィックチップを使っている場合に発生します。ちなみに僕は DELL の X1 でこの現象に陥りました。X を立ち上げたが最後、もー後は X が終了できなくなります。sync を 30 回位叩いてから shutdown を実行しますが、終了プロセスにおいて X のプロセスを kill した段階で凍りつきます。
ちなみに DELL X1 は i915GM です。xorg-7.3 の時は問題なかったのですが、 7.4 にしたらこの状態・・。しかし DELL X1 では 2009/01/09 頃の FreeBSD/i386 7.1-STABLE を利用していたのだけど、 1/31 に csup したら直りました。
なので、STABLE を利用している方は最新のバージョンに up したほうが良いかもしれません。7.1-RELEASE を使っている場合にこの問題に陥るか、僕は知りません。ごめんなさい。
本当に、まぁ「困った困った。」が、11月中辺りから続いていたのだけど、自宅のサーバとして利用している FreeBSD/amd64 7.1-STABLE がようやっと安定しだした。久しぶりに uptime が 6 日を超えた。こんなことは 11 月以降一回も無かったのでずいぶんと久々な出来事です。
僕が某所の IRC で ダメだーダメだーと言っても一部の人にしか信じてもらえなかったのだけど、これ以降かなー。
Big problems with 7.1 locking up 🙁
7.1-RELEASE ってほんとにダメなんじゃね?って多くの人が認識し始めたの。
このスレッドの中の、次のメール。これがまさしくビンゴ。「10月2日と、11月24日の間にいつか導入されたと考えます。」と、書いている人がいるんだけど、確かにこの間におかしくなったと僕も認識します。僕はもっとこまめに csup していたので 11 月頭位から、このログに何もはかずにフリーズする(locking up)と言う現象が現れだした。おかげでサーバの PC パーツを全部交換したよ・・。けど、直らなかった・・。OS の問題だからなぁ・・。長年ため込んでいた MRTG のログファイルも fsck で見事にぶっ飛んだよ・・。トホホ。orz
で、現在はどうして安定したか?と言うと、AthlonX2 を利用しているのだけど、SMP カーネルをやめた。後、SCHED_ULE をやめて SCHED_4BSD にした。せっかく DualCore な CPU 持っていてもクソの役にもたたない・・。
上記メールのスレッドの中には以下のようなコメントもあるので、SCHED_ULE だけじゃダメだ。SMP も切って見よう・・。とか思った次第です・・。本当にトホホだよ・・。
Well, one of my machines just locked up again, even with SCHED_4BSD
on it, so I am now thinking it is unrelated.
CPU は昔使っていた Semplon3100+ ってのがあるので どーせ SMP でまともに動かねーならそっちに戻そうかねぇ・・。トホホ。
FreeBSD 3.0-RELEASE だってここまでひどくなかったぞ・・。ダメなものを平気でリリースするかねぇ・・。困ったモンだ・・。
一時期真剣に FreeBSD 消して Solaris10 にしようかとも思ったこともあったけど・・。
「ダメだったバージョンがあった。今はその問題は取り除いた。なので安心して使ってくれ。」って正式にアナウンスだして欲しいものだ・・。
本当に宜しくお願いしますよぉ・・。
前回のつづきです。いろいろ試してみました。
hald を起動した時の問題点ですが、まず、NotePC のタッチパッドの左ボタンでダブルクリック及びトリプルクリックができない件ですが、これはパナソニックの CF-W5 のみの問題であることが分かりました。 DELL の X1 では無事にタッチパットの左ボタンが特に問題なく利用できました。
続いて、キーボードの 「む」のキーにおいて、「}」や「]」が入力できなくて、「\」キーと同じバインドになってしまう。と言う件ですが、これは xmodmap で対応可能です。以下の設定を ~/.xmodmaprc とかに保存して xmpdmap で実行してあげればキーバインドは刻印通りに動作します。
|
と、言うことで hald 経由でも特に問題無く動作することの確認が取れました。前にも書いた通り、PS2 のマウスとキーボードを利用している場合には hald を起動する必要はなく、 xorg.conf に AutoAddDevices を false にしてキーボードとマウスの設定を利用したほうが楽かもしれません。
PS2 (タッチパッドなど) は標準で使うけと、時々 USB マウスやキーボードを使いたい。と、言う場合には hald を起動したほうが良いと言うことでしょうなぁ。
ちなみに、hald 経由の場合だと、USB のマウスやキーボードを抜き差ししても全然問題なく動作します。ただ、PS/2 キーボードがある環境で USB キーボードを付けた場合、USB キーボードで文字入力はできますが、PS/2 キーボードでは入力を受け付けなくなります。まぁ、当然と言えば当然か。
けど、マウスは PS/2 と USB の両方のマウスが動作します。さすがは /dev/sysmouse って感じでしょうか。この時、ps で確認したら USB マウスを付けた段階で moused が起動しますねー。けど、マウスや X の動作には全然問題は無いので敢えてデーモンを kill することも無いでしょう;-)。
さてと。僕の環境では xorg-7.4 の設定はこれにて全てしゅーりょー。いやぁ。良かった良かった;-)。
FreeBSD の ports の最新をおっかけていると xorg が 7.3 から 7.4 になり、X が起動しねー。とか、マウスが動かねー。キーボードが 101 だぁー。などとあちこちで大騒ぎのようです。まぁ、僕もそーだったのですけどね。
けど、、なんとか動くようにしたのでありました。僕は会社のもひっくるめて、デスクトップ二台、NotePC で二台の計四台の PC で X11 が動作しています。
デスクトップの場合、PS/2 のマウスとキーボードを利用しているぶんには非常にラクチンで、Section “Files” から RgbPath を取り去った後に以下の設定を記述すれば大丈夫です。まぁ、Xorg -configure した後にできた xorg.conf.new を利用したほうが楽ですけどね。
|
この設定を入れると xorg.conf に記述したキーボードとマウスの設定が有効になります。その時、 moused は起動してはダメになります。なので、マウスの設定の所は Device において /dev/sysmouse ではなく /dev/psm0 を指定することになります。これでマウスがちゃんと動くようになりました。めでたしめでたし。
後、キーボードのほうですが、ServerFlags の所で二つのオプションを追加しているので xorg.conf の内容をそのまま引きずってくれるので jp106 とか ctrl:swapcaps の設定は有効になったままとなるでしょう。
とまぁ、PS/2 のマウスとキーボードのみを利用した環境であれば特に問題はないのですが、NotePC のように普段はタッチパッド(こっちはたいていの場合 PS/2 として認識される)を利用するけど、時々は USB マウスを接続して利用したい。と言う場合もあるわけです。
その場合、Section “InputDevice” の mouse の設定をいちいち /dev/psm0 から /dev/ums0 に書き換えて、X を再起動してからでないと利用できません。後、タッチパッドと USB マウスの同時利用と言うのもできなくなります。あれまー。不便ですねぇ・・。困りましたねぇ。
このような場合はやはり、hald を起動して PS/2 と USB のマウスを認識させるしか手は無いのであります。同時に利用したい人はまずはともあれ hald を起動して、moused を停止しましょう。なお、/etc/rc.conf において moused_enable=”NO” と記述していても USB マウスを接続したとたんに moused が起動してしまう場合がありますが、とりあえずは無視して起動状態としておいても大丈夫でしょう。
続いて xorg.conf の設定ですが、マウスとキーボードの認識を hald で行うようにしたので上に書かれている ServerFlags セレクションの設定二行を削除します。
そして、/usr/local/etc/hal/fdi/policy/10-keyboard-jp106.fdi と言うファイルを用意し、以下の記述をします。
|
まあ、書いている内容は xorg.conf に書いた内容を XML 形式にしただけ。と言う感じでしょぅか。
準備ができたら hald が動作していることを確認しつつ、しかし新規にファイルを設置したのでいったん停止して再起動しつつ、 X を再起動してみましょう。
これで無事に起動したでしょうか? そしたら、PS/2 マウスと USB マウスが、両方動くことを確認します。続いてログインし、キーボードが 106 になっていることを確認して、CAPS キーと Ctrl キーもちゃんと入れ替わっていることを確認します。
しかし、hald 経由でキーボードとマウスを認識させたら、問題点が二つあるみたいです。
一個は僕の NotePC 固有の問題かもしれませんが、タッチパッドに付いているマウスの左ボタンでトリプルクリックができなくなりました。一行まるまるコピーの場合にトリプルクリックを利用するのでけすけど、それができない。ついでにダブルクリックもできない・・。トホホ。ちなみに USB マウスでは正常に動作しています。
二個目の問題ですが、キーボード入力で “け” の右横のキーの入力が出来なくなりました。”かっことじ” と “mu” のキーが “へ” の右横の “\” のキーと一緒になってしまいました。これは xmodmap で直せるかなぁ・・。
ちなみにこの記事を書いているキーボードが、既に打てない状態となっていますf(^^;;。
もし、正常に動作しない場合は /var/log/Xorg.0.log を確認してみましょう。どう言う風に確認するのかと言えば・・。動かない。とコメントに書いてください(^^;;。
なお、今回の設定ではコンソールのとこは考慮していません。僕はコンソール画面においてはマウスを利用しない人なので、コンソールでのマウスの挙動は良く分からないのです。
けど、せっかくなので、PS/2 版の xorg.conf と hald 版の xorg.conf を以下に置いておきますね。
・PS/2 マウス版 xorg.conf
・hald 版 xorg.conf
なお、上のほうは moused が起動している必要があります。下のほうは moused は起動していなくとも良いが hald が起動している必要があります。hald が起動している場合はポリシーファイルが必要です。
つづく。
Windows7 のベータ版がダウンロードできると言うので早速 x64 の DVD イメージをダウンロードしてきた。インストールする物理的 PC が無いので、バーチャル PC にインストールしたのだけど、せっかく MacOSX の VMware Fusion 2 のライセンスを買ったのだからそこにインストールしてみた。
VMware Fusion 2 ではインストール iso イメージを選択して、ユーザ名とプロダクト キーを一番最初に入れれば後は一時間くらいほっておくとインストールが完了してログインプロンプトが表示される。インストール時、Windows Vista x64 と認識されるところがまぁ、ミソかな;-)。
ちなみに、普段 FreeBSD が動作している PC では WindowsXP Professional x64 も起動するのだけど、そっちでは Virtual PC 2007 が動作しているのでインストールしたいところです。が・・。今は KDE3 の make をしているので当分は無理だぁ。と、言う感じ;-)。
さて、ログインして、実際に利用してみるのだけど、Windows Vista を引きずっているなぁ。と言うのがまず第一印象。上から光りが差し込むのは良いなぁ。と思ったのだけど、考えてみると MacOSX Leopard は真ん中から光りが立ちこめている。赤と青の違いだけじゃん。みたいな。ふむー。で、ログインすると金魚が泳いでいるので、あ、Aqua だ・・。みたいな・・。
利用してみた感じですが、バーチャル PC 上で体験したので速さは感じなかった。後、僕は Vista は Virtual PC 2007 上で動作させているのみなので、比較はやっぱり全然出来ないかなー。あ。けど、IE8 は速いような気はしましたf(^^;;。
日本語版のベータ版とは言っても、まだまだ翻訳が完璧では無く、所々で英語のメッセージが表示されます。後、VMware Fusion 2 との相性かもしれませんが、使用して 10 分たらずでフリーズ。Ctrl+ALT+DEL を受け付けず、VMware のシャットダウンを受け付けず、終了させるのにずいぶんと難儀しました。結局、VMware Fusion 2 を強制終了させて、併せて Windows7 も強制終了。と言う手に出たのでありました。
ネットワーク系を見てみると、僕の自宅では IPv6 が RA で広報されているのにトンネルインターフェースが生えていて、見たことも無い IPv6 アドレスが付加されているのには驚きました。
それにしてもタスクバーは GNOME みたいだなぁ・・。
まぁ、普段は Windows を使う機会が本当にないので、僕の書けるネタはこんなもんかなぁ・・。後は Virtual PC 2007 にインストールして、感動したことがあったらそのにみたいな感じで再度書いてみたいと思います。
さてと。話せば長いのであります。mew では IMAP4 や POP3 に対して SSL で接続できます。 ~/.mew の設定や ~/.certs/ に必要なファイルをほーりこむ設定については他のウェブページに譲りたいと思います;-)。
ここでは、他のウェブページを見て設定しても接続できない人がきっと参照してくれることでしょう。と、言う感じでまとめます。特に FreeBSD の ports から stunnel をインストールした人向けです。
最初に答えを言いましょうっ!!。 /etc/hosts.allow で localhost の stunnel のポートを許可しないと接続できませんっ!! /etc/hosts.allow に以下の設定をしている人は mew での SSL 接続がきっとできないことでしょうっ!!
|
さてと。それでは順番に見ていくことにしましょう。 FreeBSD を利用している人は大体 ports から必要なものをインストールするかと思います。emacs+mew で SSL な POP3 もしくは IMAP4 なサーバに接続しようとした時は /usr/ports/security/stunnel が必要なので、サクッと make install しておしまい。で、早速テスト。って感じかと思います。
mew が SSL するときは stunnel 用の設定ファイルを /tmp/takachan88831JOY/mew88831rod みたいな感じで作成します。このファイルが stunnel のオプションになるわけですが、中身は以下のようになっています。
|
mail.running-dog.net のポート 993 番に接続するための SSL トンネルは localhost の ポート 10841 に telnet して確認できます。まぁ、mew が IMAP4 を叩くポートが 10841 と言うことですね。これは解りやすい。
で、実際に telnet 127.0.0.1 10841 しても SSL トンネルをまるで抜けていきません。おかしいなぁ。と思って色々調べてみると、原因は stunnel が libwrap をリンクしていると言うことなんですね。これが解るまでに四時間位かかりました。orz。
mew 側の設定で localhost のポート番号を設定できるのか?もし設定できるのであれば、そのポートだけを /etc/hosts.allow で設定すれば良いと思いソースを見て調べてみましたが、どうやらできないみたいです。mew-6.2.50 の mew-ssl.el では 130 行目辺りで localport を mew-random を利用して生成しているみたいです。と、言うことで、mew 側ではどうやら設定不能みたいです。
続いて、/etc/hosts.allow に stunnel: ALL : allow とか stunnel4: ALL : allow など色々試しに設定してみたのですが、inetd 経由や デーモンモードで動作する stunnel では有効になるのですが、コマンドベースで利用した場合の /etc/hosts.allow の記述方法が解りませんでした・・。トホホ。
それならば、と言うことで stunnel の Changelog やらソースを眺めますが、おぉっっ!! configure オプションに –disable-libwrap と言うのがあるではないですかっ!! すんばらしい。とは言いつつ、FreeBSD の ports では –disable-libwrap を選択できるオプションが無いのでありました。無条件で libwrap はリンクされてしまう。トホホ。
と、言うことで –disable-libwrap を選択できる ports を作成しました。使いたい方は利用してください。
ports-stunnel-disable-libwrap-20090123.tgz
まぁ、Makefile をチロッと直しただけなんですけどね。
これで安心して mew で SSL が利用できることでしょう。まずは良かった。良かった。
けど、解決策はそんなんで良いのかなぁ? mew 側で吸収すべきか stunnel 側で吸収すべきか。どっちが良いのかなぁ・・。kazu さん 的にはきっと、libwrap を off にしましょう。って言うような気が、しないでもないこともないと、僕は思うのですけどねぇ・・。
僕はサーバに ATI IXP700(SB700)、デスクトップ機には ATI IXP600(SB600) なマザーボードを利用している。FreeSBD においては随分と早い段階、多分 7-STABLE 辺りで AHCI に対応していて、7.1-RELEASE ではほぼ利用できるようになっているみたいなので試してみた。
自分のマザーボードと言うか、ATA コントローラが AHCI に対応しているかは sys/dev/ata/a-chipset.c 辺りを確認してみると良いでしょう。僕のは以下のように 7.1-RELEASE では既に対応済みでした。
|
接続する HDD が SATA150 の場合は ATA_ATI_IXP600 が、 SATA300 の場合は ATA_ATI_IXP600_S1 のほうで認識されます。さてと。後は BIOS で今まで “IDE” と選択していたものを “AHCI” に変更してブートするだけです。
IXP600 なデスクトップ機ですが、 FreeBSD/amd64 7.1-RELEASE はサクッと起動しました。で、起動時、カーネルモジュールをロードする時など、気持ち的には速くなったような気がしました。
で、デスクトップ機なので WindowsXP x64 もインストールされているのですが、こっちのドライバは OS インストール時に SCSI デバイスをインストールする時みたいに、インストール時に AHCI のドライバを組み込まなければだめみたいだし、たとえ AHCI ドライバがインストールできたとしてもイマイチ不安定らしいので IXP600 なマザーボードでは AHCI を利用するのは断念しました。
さてと。ここからが本題。自宅サーバは、このブログでも書き続けていますが、メモリを変えても HDD を変えても電源を交換しても安定していません。で、実は HDD を交換した後、SATA のスピードが SATA150 でしか認識出来ていなかったんですね。
あれ?とか思い調べてみたら、新しく接続した HDD は Seagate の ST3500320AS SD15 と言う、500GB の HDD なのだけど、これは工場出荷時において、ジャンパピンが接続されていて、つまりショートしていて SATA150 が default みたいです。なので、SATA300 で利用するためにはジャンパーピンを取り去って上げる必要があったのでした。
これで、サーバに接続した HDD は SATA300 で認識されるようになり、体感的にも速くなったような気がします。
しかし、SATA300 で認識したのだけど、やはりサーバは突然の停止。と言うことになってしまったのでありました。それならばと思い、IXP700 も AHCI に対応しているのでいっちょやってみるか。と言うことで BIOS の設定を “IDE” から “AHCI” に変更してサーバを再起動。あ。サーバの OS も FreeBSD/amd64 7.1-RELEASE です。
無事に起動し、カーネルソースの make を開始し、しばらくしたら HDD へのアクセスエラーがドドドドドーーーっと出力され、そのままカーネルはフリーズ・・。その場でしゅーりょーーー・・・。状態となったのでありました。orz。
これにしても SATA150 の頃が一番安定しているんではないかい? とか思っています。SATA150 で利用した場合、三日と 12 時間経っても OS 自体が凍りつくことはなく、ミョーに安定している感があります。
このまま SATA150 で運用してみようかと思っています。一体何日くらい落ちずに持ってくれるか。
新年明けましておめでとうございます。今年も宜しくお願いします。
今年の一発目。FreeBSD ネタですが、sshd を port:22 ではないポートで起動するようにしてみたいと思います。そんなの簡単じゃん。て?そりゃーそーだけどさー。rcNG な起動スクリプトを書くのが難儀なのよ。
port:22 で起動する sshd は /etc/rc.conf に
|
と書けば良いのだけど、これとは別に、例えば port:22022 で sshd を起動したい。どうしてか?と、言えば網内では port:22 で ssh するんだけど、BB ルータの外側から各サーバにダイレクトに ssh したい場合、個々のサーバで sshd を別ポートで起動して、BB ルータ側でポートの転送をしてあげればダイレクトに入れるよねー。って感じですかね。
なんだよー。そんなの IPv6 あればできるじゃん。と思うんですけど、IPv4 の世界しか無い場合は不可能なので・・。
で、ここまでが前置きで、サーバを起動したときに sshd を port:22022 で起動するようにスクリプトを書くわけです。しかし、これがまた大変・・。例えば、sshd だけでなく、httpd を port:8080 で起動するスクリプトはどうするのだ?とか、色々出てきてですねぇ・・。
一応できたスクリプトがこんな感じ。
|
簡単かぁ?これを書くために jman rc.subr してじっくりと眺めます。後はコマンド、今回の場合は sshd ですが、それのオプションをじっくりと調査します。
で、スクリプト名は sshd_diff_port としました。command_args で sshd のオプションを書きました。/etc/rc.conf.local には以下のように書けば起動できることでしょう。
|
良かった良かった。
それにしても rcNG スクリプトを書く上で疑問な点がまだ残っています。
スクリプトを起動してその中から実際のデーモンを起動した場合(firefox みたいなイメージかな) stop ができない。例えば kdm は スクリプトでそれを起動時に呼ぶのだけど、その中では kdm-bin をキックしている。その場合、stop オプションで実行しても kdm が終了しない。pidfile=${kdm_pidfile} を記述しても 以下のメッセージが出力され終了できない。なんで〜(?_?)。ちょっとだけrc.subr 見てみたけど $name とかが絡んでいる? けど、実際のプロセスは kdm ではなく、kdm-bin なのよー。どうすれば kill できるのー?
|
で、できたスクリプトがこれ。stop は受け付けてくれないので rc スクリプト内で完結するようにした。reload も stop 部分は自前にして start だけ rc.subr に任せた。ダサいなぁ・・。
|
httpd を 8080 で起動するスクリプトはもう、書くのもイヤになっちゃった・・。どこかに rc スクリプトのサンプル置き場とか無いかなぁ?
本当に書き方、よく分からないや・・。きっと rc.subr 眺めて書くんでしょうなぁ・・。トホホ・・。
Linux の rc スクリプトも汚いと思っていたけど、最近の FreeBSD の rc スクリプト書くのも、簡単なのは良いのだけど、ちょっと何かやろうとしたら全然書けない・・。トホホ・・。