2006年03月25日

日に30時間のハッキング

 MovableTypeを復旧させた。
 日に30時間のハッキングという矛盾を乗り越え、今やすべては元通りである。
 私の経験が特殊であってほしいが、おそらくこの祈りは空しい。Berkeley DBのバージョン違いによるトラブルは、これから数十年間、絶えることがないだろう。同じ罠にはまった人々のために、ここにメモを残しておく。
 まず、このページを見る。事態の大枠がつかめるはずだ。これに書いてあるとおりで復旧できたら、それに越したことはない。
 これに書いてあるとおりでは復旧できない場合(私がそうだった)、試す価値のある方法がある。
 移行先のサーバではなく移行元のサーバ上でdb_dump185を使い、ダンプファイルを移行先にコピーして、ロードするのだ。
 もし移行元のサーバにdb_dump185がなければ、コンパイルする。Berkeley DBのソースからdb_dump185.cを探し出し、サーバにアップロード、サーバのシェルからgcc -ldb db_dump185.cとやってa.outを作り、これを使う。
 さらに私の場合、バックアップのファイルが論理的な不整合を起こしていて、もうひとつ地獄めぐりをさせられたが、これはあまり一般的な問題ではないので省略する。

Posted by hajime at 2006年03月25日 16:07
Comments