1月9日×急いてはことを子孫汁

いや、なんか数日前ドラえもんの大長編を見ていたら王子の声が司令だったもので。こんなこと書いてると人格疑われそうだなあ。

mozilla の件は、結局 1GB に増やしてもだめだった。前は(といっても M17 のころだが)こんなに使った記憶はないのに……。仕方ないので現在

ad0s1a		/	128MB
ad0s1b		swap	64MB
ad0s1e		/home	1GB
ad0s1f		/tmp	128MB
ad0s1g		/var	512MB
ad0s1h		/export	1GB
ad0s2e		/usr	3GB

のように分けて /export で作業していたのを、

ad0s1a		/	128MB
ad0s1b		swap	64MB
ad0s1e		/home	1GB
ad0s1f		/var	1.6GB
ad0s2e		/usr	3GB

のように切り直して /var で作業を行なうことにする。これが苦難の始まりだった。

まず /var/tmp 下にある不要なファイルの消去。だいたいのアプリケーションはここでコンパイルしているのでいろいろ残骸があった。で、/var を tar で固めて /home に退避。次に、X 走らせたまま(おいおい) /stand/sysinstall で fdisk, disklabel(だってパラメータ分かんないんだもん)。ここで fsck したあとちゃんとマウントできないことが発覚したので、シングルユーザモードに移行して umount && mount で解決(なら最初からシングルユーザモードに行けって? はい、その通りです)。

それからリブート。兄がオンライントレードをしているので止めるのは最小限にしたかったのだが、再起動しても partition error が出て起動できない。どうしようかと思ったが、インストーラから起動すればパーティションが元に戻せるはずなので、どうやったらインストール FD 手に入るかと思案した。手許には 30数枚の FD があって、ちゃんとラベルも貼ってあって、どれかにはどれかのバージョンの FreeBSD が入っているはずなのだが、ラベルに書いてあることを無視して書き込んでいるのでどれがどれだか分からない。1本入れてそれで OK なら話は簡単なのだが、最近のインストーラは2枚組になっていて、最初の1枚を発見したら次の1枚(しかもその1枚はあるとしても1枚しかなく、運が悪いと消してしまっている)を探さないといけないので非効率だ。

そこでインターネット経由でインストール FD のイメージを持ってこようと画策した。ALLNET では NICMAC アドレスで IP を振っているので、まずノート PC の NIC を ALLNET のサーバに登録しなければならない。そこでケーブルモデムを再起動してノート PC の NIC を接続、それから ALLNET のコントロールパネルのページに行く。そして、ここではたと手が止まった。「アカウントとパスワードってなんだっけ?」

そう、かつて ALLNET に web ページを置いていたころはちゃんとアカウントとパスワードを管理していたのだが、あちらの web ページのメンテナンスをやめてからだいぶ経っていてアカウントとパスワードを忘れていた。パスワードくらいならこれまで記憶しているのを片っぱしから入れていってもいいかもしれないが、アカウント自体(最初のアルファベット3文字は覚えているが、あとに続く4桁の数字がうろ覚え)を忘れているのでどうしようもない。

途方に暮れ、最悪 FreeBSD 機から登録済みの NIC を外して Windows 機に挿してどうにかするか、と思っていたところ、ふと横を見ると BSD Magazine を発見。おお、CD-ROM からブートすればいいではないか。これまで CD-ROM から起動するという発想自体が存在しなかったので、CD-ROM でインストーラが起動したときは小躍りした(馬鹿?)。このところインターネット経由でしかインストールしていないからだろうか……。

さてさて、インストーラではインストールに目もくれず Do Post-install で fdisk と disklabel を選択。しかしなんだか書き込まれていない模様。なに、ちゃんとインストールしなくちゃいけないの? というわけで、Minimum でインストールしようとする。しかし、なぜか /bin の途中でインストールに失敗する。/ に newfs はかけていないので気にせず続行(いま考えると schg が立っていたところで止まっていたのか?)、めでたくインストール完了。そして再起動、見慣れた boot0 の画面が登場。よかった、よかった。

しかしよくよく起動画面を見ていると chmod が失敗していると出て、さまざまなアプリケーションがこけるこける。つい先日作った buildworld があるので make installworld して回復。ついでに /dev も作り直す。df するとちゃんと 1.6GB になっている。よしよし、screen 立ち上げて mozilla のビルド、そして make buildworld も立ち上げて detach して寝る。

朝になってもどちらも終わっていなかったのでそのまま学校に行く。科学哲学概論の授業、12章からだと思って電車の中で読んでいったら11章からで、授業中に何回か発言したが、全部「あ、それ次のところで書いてありますね」状態だった。ちゃんと読んでから発言しろって? いや、ぼくに授業中発言するなというほうが無理。来週科学哲学概論の授業、しっかり担当になってしまった。ま、レポートも同じような内容なのでついでだと思ってやればいいんだけど。

情報棟に来て昨日の夜(というか今朝?)仕込んだ screen の様子を見ようと、外から ssh で入ろうとする。が、原因不明の無限ループに入る。そういえば、と思って gempaku.c から入るとこれは何事もなかったかのように入れる。www.sodan からは as304 からと同じ。どうやら X があるかないかが問題のようだが、OpenSSH を /usr/local に入れてそちらの sshd を起動するようになる前(OS 付属の /usr/sbin/sshd を使っていたとき)は普通に入れていた(というか OpenSSH にしたのは冬休み中)ので、/usr/sbin/sshd に変えようとして、sudo killall sshd && sudo /usr/sbin/sshd としてロックアウトされてしまう(やっぱり馬鹿)。killall した瞬間にシェルごとお亡くなりになってしまい、&& の後半部分が実行されなかったらしい。いや、ちょっとは考えたんだけどさ……。普通に sshd 起動するとポートが重なるじゃん、とそのときは思って上記の行動に走ってしまったわけだが、いま改めて考えると別ポートで起動して ipfw で穴開ければいいね……。

というわけで現在 mozilla と make world がどうなっているのか知る術はない。ssh くらいしか穴は開けていないので、帰らないとどうしようもない。終わったら sodan.ecc にでもメールするようにすればいいのか? いや、そんな謎なことはするまい……

今日の教訓:
fdisk みんな(マルチユーザモード)でやれば めちゃ恐い
転ばぬ先の CD-ROM (ちょっと苦しい?)
遠くの sshd より近くの telnetd (……ぉぃっ……)