(これは古い日記です)

久しぶりに日記を書くネタがあった日だったので書く。かなり長いので、興味のない人は読み飛ばしましょう。

22時から計算機サーバのアップデートを行うとメールを出したが、実際には23時頃から作業をはじめる。終了時刻を書かずに出したので、まあそれは全然問題ない。作業の工程は次のようになる。

1.buildworld

2.buildkernel

3.installkernel

4.installworld

5.mergemaster

1, 2は前日にやっておいたので、3, 4, 5をやるだけである。3, 4は問題がなければすぐに終わる。しかし5はやったことがないのでかなりあやしい。が、まあなんとかなるはず。

1/5台目(ceres)の作業を開始。3, 4はすぐに終わる。が、5の動作がなんかあやしい。なんかエラーメッセージみたいなのがいっぱい流れているようにも見える。で、リブートしようとしたら、permission denied とか言われる。shutdownだけじゃなく、lsとかmkdirとかも使えない。というか/bin, /sbin以下のコマンドが全て実行できません。何もできなくなってしまったので、あきらめて2台目(hebe)の作業をはじめる。mergemasterの前に/bin, /sbin以下の全てのコマンドのバックアップをとって適当な場所においておく。そしてmergemasterの後、やはり/bin, /sbinが使えなくなった。意味がわからないが、とりあえずバックアップをとっておいたコマンドは使えるので、これは置いておいて3台目(flora)にチャレンジしてみる。

mergemasterの使い方が全然わからないのだが、どうやら-sviaオプションを付けて実行した後に-svirオプションを付けて実行するようである。さっきまで-sviaの方やってなかったよ。これが原因なのか?floraでは-sviaの方もやってみる。今度はコマンドが使えなくならない。が、mergemasterで変更を求められるべき部分が一箇所もないのはどういうことだ。楽だからいいけど、絶対おかしい気がする。しかし2/5台死んでいる状態で、これ以上犠牲者を出すわけにもいかないということで、これはこれでとりあえずよしとしておく。

/bin, /sbinが使えなくなる意味が全然わからない。全部パーミッションが-r-xr-xr-xとなるべき部分で-rw-r--r--とかになってるし。悩みながらコンテンツ部屋とサーバ部屋を何度も行ったりきたりしているうちにやってしまった。オートロックの罠だ。

締め出されました。

サーバ部屋の鍵は、サーバ部屋の中に。サーバ部屋の中に入るためには、サーバ部屋に入らなければならないことに。再帰的罠だ。初期条件とかはないのか。1回目は鍵が開いてるとか。

サーバ部屋の中に飲み物とかいろいろ置いたままだし、このままじゃ非常に困る。計算機サーバは幸い2台生きているが、このままあきらめて帰るのは屈辱的だ。合鍵とかないかなとロッカーをあさってみてもみつからない。他に思い当たる場所なんかない。最悪だ。

サーバ部屋とW山先生の部屋の間のわずかな隙間から侵入を試みようかと思う。だが、午前2時、当然W山先生はいない。ドアの上の小窓からの侵入を本気で考えるが、入れるような隙間ではなかった。

部屋の外からの侵入について考える。窓があいてるかもしれない。別の部屋から窓の外の人が乗れるところに出て、サーバ部屋の裏へ向かう。コンタクトレンズ片方はずしてるからバランスがちょっとあぶない。落ちたら痛そうだ。

残念ながら、窓は開いていない。鍵はここから見える場所にあるのに・・・窓をガタガタやってみる。セキュリティホールを発見。窓の鍵が開いた!しかし格子が邪魔だな。頭は通るが、胴体が詰まったまま朝になってたりしたら非常にまずい。鍵までは1メートルちょっとの距離だ。長い棒とガムテープ(通称粘着テープ)があればとれそうだ。

研究室内の探索を開始。というか即見つかる。現分散旧ニューロ部屋でかなりいい感じの棒と、セロハンテープを見つけたので、棒にテープを巻きつけて窓の外へ挑戦に行く。すごくあやしい。

数度の失敗の後、ついにサーバ部屋の鍵を手に入れた。俺の勝ちだ。

勝利を確信したのはいいが、まだ本題の仕事は全然終わっていない。2時半頃。再びサーバ部屋に戻って問題の解決に取り組む。

/bin, /sbinのパーミッションを変更しようと思ったが、chmodも使えない。しかしちょっと調べて気付く。/bin, /sbin以下のコマンド、中身がテキストファイルになってるんですが・・・コマンドの本体は上書きされて消えてしまったのか。それになんか変なエラーが出るなあと思ってdfを見てみたら、/パーティションの残り容量が-10%なんですが・・・マイナスってなんだよ。つまり mergemaster -svir が、なんかルートパーティションにいっぱい書き込むものだから、容量があふれて/bin, /sbin以下が壊れてしまった?

とりあえず、先に-sviaをやった場合は容量があふれるエラーは起こらない。が、入力を一切要求されず、mregemasterがちゃんと動いているのかどうかあやしい。あやしいが、いいのか悪いのかわからないので、とりあえず残りの2台(galatea, puck)もそのようにやってとりあえず完了とする。flora, galatea, puckは多分同じようになっている。問題はhebeとceresだ。

hebeはコマンドのバックアップがあるので、make world を一からやりなおせば何とかなるだろう。というか/usr/obj以下は問題ないはずだから、installworldだけで直るか?と思ったが、makeがinstallworldなど知らんとエラーを吐く。しょうがないので、cvsupから全部やり直し。今度はinstallworldも通る。これで大丈夫だろうか。mergemasterをやる。今度はちゃんと選択肢が示される。どうなってるんだろう。まあ適当に(といってもちゃんと考えてますが)選んで終了したらしい。多分よし。hebe完了。

問題はceresだ。コマンドの大半が使えない。CDからコマンド入れるとかしか方法はないのか。最悪再インストールとか。それだけは絶対嫌だ。そんなに暇じゃない。と思っていたらsshが使えた。他の計算機サーバからコマンドをとってこればよい。

しかしsftpでls, mkdirをgetし、mvを持ってこようとしたところで、容量がいっぱいですエラー。rmが先に必要だった。/contribというところにmergemasterが吐き出したファイルが50M以上あるので消さないといけない。今考えれば、/usr以下とかに持ってこればよかったのだが、思いつかなかったので/usr/bin/tarを使って/contribを圧縮しつつ削除。といった感じでちまちまとコマンドを収集し、/bin, /sbinにあるテキストファイルと置き換える。コマンドのパーミッションとschgとかのフラグを手動で設定して、とりあえず体裁を整えた。そこからまたhebeのようにcvsupから全部やり直し。全て無事完了したが、これでいいのか?/bin, /sbin以外にも壊れてるかも。/以下にMakefileとかUPDATINGとか落ちてるし。

といった感じで、flora, galatea, puck はmergemasterがちゃんとできてるかあやしい、hebe, ceresはとにかくあやしい、といった感じで4.9-STABLEへのアップデートは完了?しました。後はわかりません。絶対どこかおかしいと思うんだけど。なんか気付いたら教えてください。

帰るときには8時に。3時くらいまでには絶対終わると踏んでいたのだが・・・