Posted on 8th 5月 2009One Response
debian/lenny で最新VirtualBox-ose を使う

debian/lenny には VirtualBox のOSE版パッケージがあるがバージョンが古い。新しいバージョンが debian backports にあるのでそれをインストール。インストール後、virtualbox-ose-sourceもインストールして、moduleをmodule-assistant でビルド。ビルドしたモジュールをインストールすれば新しいバージョンが使える。

debian/lenny には VirtualBox のOSE版パッケージがあるがバージョンが古い。debianのポリシーとして、bugfixやsecurity fix以外のアップグレードはなかなかでない。virtualbox に限らず、新しいバージョンが使いたい場合、 backports などのリポジトリを使うと新しいバージョンが入っている場合がある。

virtualbox ose 版は幸い新しいバージョンが入っていたので、それをインストールする。その為にはまず、backports のリポジトリを追加する必要がある。lenny-backports を追加するには、以下の apt line を /etc/apt/sources.list.d/ 以下に保存する。この時拡張子を list にする。

$ cat /etc/apt/sources.list.d/backports.list
deb http://www.jp.backports.org lenny-backports main contrib non-free
deb-src http://www.jp.backports.org lenny-backports main contrib non-free

各 debian リポジトリにある 鍵をインストールする。鍵をインストールしないと、そのリポジトリからインストールする度に毎回、以下のようなwarningが表示されてしまう。

WARNING: The following packages cannot be authenticated!

鍵のインストールは以下の通り。もちろんこの鍵のインストール時には上記のwarningが出る。

# aptitude update
# apt-get install debian-backports-keyring

これで、backportsのリポジトリが追加された。しかし、そのままでは backports に同じパッケージの新しいバージョンが存在しても利用できない。インストールの度に aptitude の -t オプションを使ってターゲットリリースを指定しても良いが、preference に追加することで各パッケージのターゲットリリースを指定できる。指定には /etc/apt/preferencesに以下の様に書く。

$ cat /etc/apt/preferences
Package: virtualbox-ose
Pin: release a=lenny-backports
Pin-Priority: 999

Package: virtualbox-ose-source
Pin: release a=lenny-backports
Pin-Priority: 999

この設定の後、virtualbox-ose(及びvirtualbox-ose-source) が既にインストールされていれば、aptitude safe-upgrade なのでアップグレードが行われる。インストールされてない場合でも、aptitude install virtualbox-ose などと普段通りインストールすればbackports の新しいバージョンがインストールされる。

backportsのvirtualbox-ose は kernel-module を自動的に更新しない。そのため、virtualbox-ose-source をインストールして、システムのカーネル用にmoduleをコンパイルする必要がある。kernel moduleのコンパイルには、module-assistant パッケージを使う。module-assistant を初めて使う場合、カーネルヘッダなどの依存を prepare コマンドで行う。build時にはソースコードのパッケージであるvirtualbox-ose-source をインストールしておく。

# m-a prepare
# m-a build virtualbox-ose

コンパイルが正しく終わると install コマンドを使って、今ビルドした module をインストールできる。ビルドされたmoduleは /usr/src 以下にdeb化されているので、dpkgを使ってインストールしても良い。

# m-a install virtualbox-ose

インストールしたmoduleはkernelにはまだ組み込まれないので、modprobe を使って組み込む。新しい virtualboxは vboxnetflt という ブリッジネットワーク用のモジュールがあるのでそれもインストールする。

# modprove vboxdrv
# modprove vboxnetflt

起動時に、このモジュールを組み込ませる為には /etc/modules に書いておく。

まとめ

  • backports には新しいパッケージやバージョンがある
  • backports のパッケージのインストールは aptitude の -t か preferences で指定が必要
  • backports の virtualbox-oseはmoduleのビルドが必要
  • moduleのビルドにはvirtualbox-ose-source が必要。このパッケージも backports から持ってくる
  • moduleのビルドには module-assitantを利用
Comments
comment by KEIKO
Posted on 2011-04-06 at 23:43

Ubuntu上でWindowsのバーチャルボックスがダウンロードできるサイトってありますか?

Leave a Response
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
*