Unix like OS というと私はほとんど FreeBSD を使っている。PC-98 に古くから対応していたからだ。家のネットワーク用の NAT/FIREWALL 動かすのに FreeBSD のサーバーを動かしているのだが、5.x は新しいためか古い PC を使うと問題が起こる。
ISA カードを付けていると起動に失敗することがある。PC-AT 機だと ISA カード付けている場合は reboot の再起動時にかならず ISA がらみの部分で止まる。だから、再起動には halt してから本体の電源を落として再起動しなければいけなく、面倒だ。PC-98 の場合は、ISA カードに相当する C バスカードを付けていると、再起動時かという条件に関わらず、かなりの確率で起動時に止まってくれる。運が悪いと何回か起動を行ってやっとはじめて成功するという場合もある。サーバー用の PC はディスプレイを接続しないため、起動に成功しているかチェックするのも面倒である。PC-98 の場合、起動してしばらくたったら、GRPH+F1〜F5 と押してみてビープがならなければ起動に成功している。とりあえず、少なくともキーボードは付けてないといけないということだ。
PC-AT 機の場合も、うちでは COMPAQ の機種使っているため、キーボードエラーが出て、F1 押さないと復帰できなかったりするので、キーボード付けなくてはいけないことには変わらない。なんらかの原因でネットワーク接続ができなくなった場合に shutdown させるためにもキーボードは必ず付けておかなくてはいけないんだろうが、そういうときは手を合わせて神に祈ってから強制リセットする羽目になるからあまり変わらない。ただし、再起動時に fsck が起動してなんらかの入力しなくてはいけなくなるから、一時的にもキーボードを付ける必要がある。ただ、ENTER とか Y+ENTER とかディスプレイでの表示を見ずに押すだけであるが、そういう安直な対応して HDD の中身がいかれたらちょっと泣くかもしれない。
古い PC で FreeBSD 5.x を使うときネックになるのがカーネルのコンパイルである。いつ頃からか各種機能がモジュールをロードすることにより実現させる仕様になったおかげで、以前は必要ない機能はコンパイルしなくても良かったのに、現在はすべてをモジュールとしてコンパイルしなくてはいけなくなってしまっている。6時間以上は当たり前である。ただし、モジュール仕様になってカーネルを特にコンパイルする必要がなくなってもいるので、特別な理由がなければデフォルトで用意されているカーネルを使い続けることも可能だ。カーネルをコンパイルする時間を延ばす原因の一つに gcc-3 がある。2.95 以前に比べてメモリ使用量もコンパイル時間もかなり長くなってしまっている。古い PC を使うときは gcc-2.95 を使うべきなのであろう。
サーバーに使用している PC は 64M の物理メモリを積んでいるんだが、53M しか使えなかったりする。
Unix like OS で動作する各種ツール、サーバープログラムを見ていると、いつも思うのが、まさにガラクタだなということである。メールサーバーなんかまさに。ガラクタと言ってもそれなりの仕事はできるんだけど、ガラクタに特有の嵩張った様が何か嫌いである。継ぎ接ぎだらけで、そのうちいっぺんに崩れてしまいそうなそういうところが危うい感じを出させている。でも、そういう継ぎ接ぎだらけの嵩張っていることは、多くのプログラマーの遊び道具として長年扱われて来たこそだとも言えるし、多くのプログラマーの知恵と苦労のカサブタとして存在するがゆえに、そのツールやサーバープログラムが実用に耐える高機能性、高融通性を保ちつづけているのである。