ZCR/bLOG


[PC] FreeBSD 8.1 & tDiary

2010年10月03日 14時 更新

遅ればせながら 主計算機(第参號機)及び第弐號機のOSを FreeBSD 8.1-RELEASEにバージョンアップした。
7.2からのUpだったが、ほとんどなんの問題も起きなかった。

しかしながら、本bLOGを提供している自宅サーバ(初號機 www.zcr.jp)のバージョンUpでは、あろうことか tDiary(このbLOGのシステム)がマトモに動かず、8.1をあきらめて FreeBSD 7.3-RELEASEにダウングレードすることとなった。

というわけで、www.zcr.jp は、現在のところ FreeBSD 7.3で動いている。とはいえ Web(Apache httpd)サーバまでなら、8.1で速度低下も感じられずマトモに動いていたのである*1*2

しかし、tDiaryは動かなかった。どうなるかというと、とりあえずbLOGのTOPページは表示できるものの、そこからが遅いのだ。なんとか表示できるページもあるが、ほとんどのページは表示できずにタイムアウトしてしまう*3。tDiaryのバージョンは 2.2.3/3.0.0/3.0.1と3つ試してみたけど、全部ダメ。

まあ、これは tDiaryではなく、それが依存しているRuby*4が怪しいとみていいだろう。
そのRubyのバージョンは、1.8.7p248*5tDiary ユーザー掲示板で質問してみたら、「微妙にRubyが古いのが気になります。」というお答えが・・

どうも、1.8.7p249で修正されているらしい。しかし、FreeBSDのportsシステムでは p248のままになっていて、その上にバージョンUpされる気配がない。なして? あずましくねー。

しかたないので、portsを騙して自前でパッチレベルを上げるしかないっしょ。

Rubyの本家サイトで確認すると、p302が最新版のようだ。弐號機の8.1環境を使ってテストしてみよう*6

  1. /usr/ports/Mk/bsd.ruby.mk をエディタで開いて、パッチレベルを248から302に書き換える。
  2. cd /usr/ports/lang/ruby18して make makesum。distfiles再構築。
  3. /usr/ports/lang/ruby18/filesにあるパッチファイルを全部削除。
  4. make deinstall clean の後、make install。

これで、正常動作となった。めでたし、めでたし。*7


さて、tDiaryは 3.0.0から 日記データのファイルのエンコードをEUC-JPから UTF-8へと変更した。
UTF-8ってのは、WindowsXPとかでも使われている*8最近流行のエンコード型式である。しかしながら、いろいろと問題も抱えており、当方でもUTF-8化を躊躇してきたという経緯がある。

既に弐號機のテスト環境ではUTF-8化したtDiaryが動いているわけだが、UTF-8をすんなり受け入れる気には やはりイマイチなれないのである。
と、いうわけで、しばらくの間は tDiary2.2.3の現状維持を続けることとしたい。*9


蛇足: 以前の「演算と電力」ネタのフォローも少し・・

  • 現用サーバ機である初號機(Pentium III 733MHz)は、グラフィック・ボードのファンを停めたりして、実稼働状態での電力消費は約38W。
  • 主計算機の参號機(Pentium D 3GHz)は、OSが起動していない状態でも電源ユニットは完全に生きていて、なんと101Wも消費していることが判明。めんどいけど 背面の電源スイッチを こまめに落とすことにした。
  • 液晶ディスプレイは、32Wだった。意外とでかい。しかし、待機時の電力消費はほとんど無い(LEDのみ?)。
  • キヤノンの複合機MP770も待機時10W消費している。思わずプラグを抜いた。

*1 Windows98時代のマシンに最新OSを載せて それなりに動くというのはなんとなくウレシイわけだが、ま、ヒマなサーバだし(^^;)ね。

*2 ついでに書いておくと、今回の改修でADSL時代から続けてきたテキスト圧縮(gzip圧縮したまま送信してブラウザに解凍してもらう)をやめた。回線の平均速度が上がって、圧縮のためのプロセス負荷をかけてまで実行する必要性がなくなってきたためである。これと、tDiaryでの「リンク元」記録もやめたことでサーバのレスポンスは若干改善された。

*3 rubyのプロセスが残ったままになり、そのうちブラウザに 504 Gateway Time-out とメッセージが出る。

*4 perlに対抗して創られた国産のインタプリタ言語。tDiaryは、Rubyで書かれている。(だから、ちょっと遅い ^^;)

*5 「p」は、「パッチレベル」。Rubyは1.9系列もリリースされている。が、インストールはできたものの、まだ使えてない(^^;)。

*6 もちろん、全bLOGデータは弐號機にも転送してある。

*7 こう書くと簡単なようだが、問題発覚から原因究明まで約1か月かかっているのである。同じ環境で tDiary使ってる人はいないのか!?

*8 Windows2000、XP等の内部処理では、エンコードはすべてUTF-8 (Win98も。Win95は Shift-JIS)。ただしWindows上のアプリにファイル名等を渡すときや、FAT32への書き込みでは Shift-JISに変換。

*9 規格としてのUTF-8がコケてしまうという事態には まずぜったいならないと思う・・のだけれど・・・

Tada/JA7KPI : 2010年10月02日(土)

«AI Test 最新 いちおう ACAG2010»
編集