Intel-TXTとVirtualBox

詳しい理由はわからないけど、BIOSでIntel-TXTを有効にしているとVirtualBoxで64bit CPUが認識できなくなる事象が発生。

BIOSのアップデートついでに有効にしたんですが、ほぼ同時期にKernelのバージョンも上げていて原因究明が困難を極めたのでした。

Ubuntu11.10にrbenvとruby-buildを使ってREEをインストールする

仕事用のマシンを修理に出すので、代替機として借りたマシン(ThinkPad Edge)のVirtualBox上にUbuntu11.10を入れて開発環境を作りました。

rbenvとruby-buildのインストール

rbenvruby-buildのインストールは、それぞれのページの通りでOK。

Ruby処理系のインストール

rbenvとruby-buildをUbuntuで使う場合は、典型的なエラーが起きた場合には対処方法が画面に表示されます。ですので、とりあえず普通にやってエラーメッセージの通り対処する、という進め方がオススメです。

まずは、おもむろにrbenv install ree-1.8.7-2011.12してみると、「curlがないからapt-get install curlしてね」と出てきます。(そこからですか…)

curlをインストールして、もう一度インストールコマンドを叩くと、今度はダウンロードは成功するけど必要なライブラリがないと言われます。sslとかreadlineとかいつものやつ。(本当にいつものやつ!かつて何度同じことをしたんだろう) ここでは、readlineのパッケージとしてlibreadline5-devを提案されるんですが、このパッケージは今はないようなので、libreadline-gplv2-devを入れます。

さぁ、再度インストールコマンドを叩いて、これで終わりかと思えば「gccがないのでbuild-essentialを入れてね(ハート)」と、このタイミングで言われます。

build-essentialを入れてインストールコマンドを叩けば多分成功します。

最近のUbuntu

Ubuntuは3年振りくらいに触ったんですが、App Storeみたいなやつでaptの全パッケージに評価とかコメントを付けることができるようになっていたり(Vimはすばらしい!☆5!)、デスクトップが凄く重いのでまずはクラシックに戻したり、と期待を裏切らない感じで安心しました。

boot-updateとeclean-kernel

古いカーネルを削除するのにeclean-kernelがいいよと教えてもらったのは昨年末の話。 ずっとboot-updateの設定がまずくてちゃんと使えてなかったのですが、Kernel 3.2のついでに設定を見直しました。

boot {
    generate grub
    default vmlinuz
    timeout 3 
}

"Funtoo Linux" {
    kernel vmlinuz vmlinuz.old
}

こうすることで、常に最新と一つ前にビルドしたカーネルだけを残して、他のカーネルをeclean-kernelで綺麗にできました。

Kernel 3.2

Kernel 3.2がふってきたので、会社のマシンとさくらのVPSにいれました。

oldconfigしたら、ネットワークドライバ周りの設定が変わったのか、いらないものが一杯付いてきたのでそれを全部外してmake。

VitualBoxも元気に動いているし、だいじょうぶかな。

仕事始め

会社的には昨日(1/4)が仕事始めだったのですが、帰りの新幹線が取れなかったので有給をとってました。

初仕事は昨年末に倒したと思っていた、CIでcukeが失敗する現象が再発と、なぜかcukeが落ちているのにexit codeが0になる現象との戦い。

最終的には、cucumberのWikiにあるRails2.x用のバージョンに固定して、cucumberコマンドを直接実行していたところをrake cucumberにしたら解決したのでした。 このあたりは年末にCapybaraがらみで誰かが言ってたような気がするんですが、同じ原因だったのかしら。