休みなので、時間が取れないと出来ないことをば……と、昨日から、メインサーバのOSをVine 3.2から、4.0へと入れ替えようと……したのが、どつぼの始まりでした。
大変長い間おかしな状態にサーバがありましたが、概ね回復しました。長かった……oTL
不調でアクセスできない間においでいただいた皆様、ご迷惑をおかけしました。
うちのサーバは devfsを利用していました。デバイスファイルの動的な生成・消滅は、これからのトレンドだろうと思って、2.4カーネルになるや否や、早々に取り入れたのですが...2.6になって、思い切りディスコンになりました。このため、2.6カーネルベースのVine 4.0へのアップグレードは苦戦が予想されました。が、まぁ、なんとかなるだろうという、およそ安直な見通しで apt-get update→apt-get install aptまで試みたところで、どつぼが待っていました。
dist-upgradeをかける前に、rpmのデータベースが開けなくなってしまいました oTL
何が悪いのか、判らないが、とりあえず、CDからまじめにアップグレードしなきゃいかんよなと、サーバを落として、モニタとキーボードをつないで、アップグレード作業を始めるも、途中でインストーラがたびたび頓死。積載していたCD-ROMドライブがかなり不安定な状態だった。NFS経由でインストールすると、とりあえず、起動。が、相変わらず、rpmが機能しない。何ゆえ?
原因は、何故か、dbapiが1になってしまっていたことだった。但し、どの設定ファイルが、そのおかしな設定を持ち込んだのかは判らない。ちゃんと、'3'が指定してあるファイルはあった。結局、~/.rpmmacrosに%_dbapi 3と書いて逃げた。
とりあえず、dist-upgradeまで、完了すると、諸々のおかしな部分が現れてくる。何故か、一般ユーザがログインできない。どういうわけか、/binと/etcの所有権が0700だった。トホホ。さらに、nsswitch.confに、ldapが追加されたのも良くなかった。spamassassinが機能しない。perl-Digest-SHA1がなくなってしまっていた。カウンタが動かない。ruby-dbi, dbd_pgがなくなっていたのと、PostgreSQLが7.3から8.1.5になったので、dump/restoreが必要だったこと。
最悪だったのは、MySQLと、eRuby。MySQLは4.0から5.0へのジャンプアップ。文字コードの扱いが変わったために、何度もdump/restoreを繰り返す。結局は、mysqldのセクションに、'skip-character-set-client-handshake'を指定すればいいことが判った。eRubyは完全にお手上げ。Securityモデルが変わったようで、Rubは、$SAFE=1以上で、/tmpなどの、World Writableな場所にあるファイルのload()を認めないようになった。eRubyは、ファイルを一旦、Temporaryファイルとして展開して、それを処理するのでアウト。かなりあがいてみたが、どうにも成らなかった。まだ、いくつか微妙におかしい点があるが、とりあえず、外向きにはほぼ復旧がなったのでとりあえず、よしとすることにする。
コメント