道具に使われる

今日我が家の自分管轄パソコン3台の刷新がとりあえず終了しました.
晴れやかでありながら一抹どころでない空しさを覚えた日でした.

後で懐かしく思い出せるよう(?),書き留めておきます.

Vim7

刷新のきっかけはVimの新バージョンがでたこと.
新しいだけあって,WindowsでもCygwinでもまだ一部文字化けしたりなどして使い勝手が悪いです.
ずっと思ってきた

やっぱりピュアなLinuxで作業したい

という願いがここにきてまた極大*1になりました.

coLinux+Gentoo

しかし,Windowsデュアルブートまでする根性もないので,デスクトップマシン&ノートPC両方に最近知ったcoLinuxというWindows上で動くLinuxカーネルをインストールしました.
紆余曲折の末coLinuxの上に最終的にのっけたのはGentooという玄人指向(?)とされるディストリビューション
stage1からはじめたのもあってほぼ全てをソースからのコンパイルでインストールするので,やたらと時間がかかります(初期のシステム構築は一通りのコンパイルに10時間とか20時間とか...)が,生成されたコードはCFLAGSなどの指定によってプロセッサに最適化されているはずです*2
インストールはmemo Gentoo on coLinuxを参考にさせていただきました.

Windows上のフォルダをsmbfsで文字化けなくマウントする際に,Linuxファイルシステムでcp932をサポートするようカーネルを再構築する必要があったのですが,Gentooだとgenkernelコマンドで割と簡単にいけました.
そして,普段作業しているrailsのプロジェクトをcoLinux上で走らせると...速い!
体感3倍速ぐらいです.CygwinRubyはもちろん,WindowsRubyバイナリ(うちではActive Script Ruby)と比べてもとっても速いです.
CentOS on coLinuxのときも速かったので,Gentooの最適化がどれくらい寄与してるかはわからないですが..

しかしながら,Gentooの前にCentOS(on coLinux)でこのcp932サポートのためのカーネル再構築に挑戦&挫折し,多くの時間が失われました.

サーバのクラッシュ→Gentoo3台目へ

そうこうしているうちに我が家の小さなサーバ(Sizka機)がクラッシュしてしまいました(´・ω・`)
ということで,これを機にサーバのOSもCentOSからGentooに変えることに.このマシンはファンレスで組み込み系の500MHzくらいのCPUを使っていて,これも最適化することで動作を軽快にしたいところです.

しかし運悪く外付けのCD-ROMドライブも調子が悪く,これが原因でまたかなり時間をロス..
結局USBのフラッシュメモリSlaxという軽〜いLinuxを入れてUSBメモリからブートし,Slaxからchrootして作業することでなんとかGentooをハードディスクにインストールすることでができました.

しかし,ここでもまたカーネルが問題に.
何とか自力でブートできるようになったはいいものの,ネットワークカードを認識してくれずカーネルをいろいろ再構築したり,BIOSIRQ共有の設定をいじったりして多くの時間が失われました.
最後はカーネルのブートパラメータに"pci=routeirq"というパラメータをつけることで無事にネットワークカードが動作しました*3

3台のコラボレーション

ネットワークさえ使えれば後は粛々とコンパイル&インストールさせるだけです.
半日コンパイルし続けることもあるけど,基本はほうっておけばよいので気は楽でした.
3台のGentooマシンにdistccをインストールして分散(&クロス)コンパイルをさせ,何か得をした気分も味わえました(´ー`)

そして今日ようやくSizka機でSubversionなど以前の環境で動いていたアプリが動き出し,一連の作業完了です.

道具に使われる

うすうす気づいてはいましたが,作業が終わった後明確に,まさに自分は「道具に使われてる」んだと思いました...orz
プロ・職人は道具にこだわるとはいうのですが,分不相応なマネをしたおかげで多くの時間が失われてしまいました.
これから,きちんとこの道具を使って身のあることをしていかないとですね.

*1:"きょくだい"ですよ

*2:現在のcoLinux上での場合マルチプロセッサ/smpにはたぶん対応できてませんが...くやしい!

*3:あんまりよくないやりかたかも