Ubuntuの次のLTSである14.04、コードネームTrusty Tahrのリリース予定日まで1ヵ月[1]を切りました。併せて、日本のローカルコミュニティであるUbuntu Japanese Teamにとって、リリース前の重大イベントである翻訳作業の締切も迫っています[2]。
翻訳に参加するにしてもバグを見つけるにしても、インストールして使ってみなければ始められません。しかし、開発中のUbuntuをテストするにはややコツが必要です。そこで今回は、開発中のUbuntuのテストを簡単にしてくれるツールのレシピです。
なおテストをした結果、自分の使いたいソフトウェアの翻訳に気になる箇所を見つけたら、「[ubuntu-jp:4702] Ubuntu 14.04リリースに向けた翻訳のお誘いとお願い」の案内に従って翻訳に参加してみてください。
UbuntuのリリーススケジュールとDaily Buildの関係
ツールの説明の前に、インストーラーとなるISOイメージの配布タイミングについておさらいします。
以前のUbuntuは、リリーススケジュールのAlphaとBetaのタイミングでISOイメージを配布し、それをテストした結果をフィードバックするというリリースエンジニアリングをしていました。これとは別に、日々更新されるDaily Buildも提供していました。
しかしUbuntu(デスクトップ、サーバー)は13.04から、スケジュール的なAlpha/Betaの宣言は行うものの、ISOイメージとしてのAlpha/Betaは提供しないという戦略に変更しました。そして、Ubuntu(デスクトップ、サーバー)をテストするには、Daily Buildを使うことになりました。
Daily Buildを使う際に心得ておかなければならないのは、いつのISOイメージを使ったかということや、テストする度にISOイメージをダウンロードしなければならないということです。テスト環境として仮想マシンを利用しているのであれば、手元のISOイメージを更新する度に仮想マシンを作り直さなければなりませんし、USBメモリにインストールしてテストしている場合も同様に作り直さなければならないなど、やや面倒です。
TestDriveとは
TestDriveはDaily BuildのISOイメージの同期、仮想マシンの作成などの操作を簡単にするツールです。CLIでの操作と、GUIによる操作のどちらも行うことができますが、今回はGUIで操作して行きます。
インストール
TestDriveをインストールするには、Ubuntuソフトウェアセンターで「TestDrive」を検索し、インストールします。
インストールするとパッケージの依存関係で、仮想マシンを提供する「qemu-kvm」や、USBメモリにインストールするためのツールである「usb-creator」も一緒にインストールされます。
起動するには、UnityのDashで「TestDrive」を検索して実行します。
設定
ISOイメージや仮想マシンイメージはそれなりの大きさのファイルを作成しますので、先に設定を確認します。メニューの「edit」を選択し、「TestDrive Preference」を開きます。
「General」タブでは、ファイルの保存先やUbuntuのリリースの種類、利用するISOイメージのアーキテクチャを指定します。「Data path」の「Image Cache」に仮想マシンイメージが、「ISO Cache」にISOイメージが保存されます。デフォルトではユーザーのホームディレクトリになります。ホームディレクトリの空き容量を確認し、容量が足りないようであれば別な場所を検討してください。目安として、1つのISOイメージと1つの仮想マシンで7Gバイト使います。
「Virtualization」タブでは仮想マシンに関する設定を行います。これに関しては後述します。
「Distributions」タブでは、利用するフレーバーを選択します。
ISOイメージの取得あるいは同期
利用したいフレーバーをメインウィンドウで選択し「Sync」ボタンをクリックすると、イメージの取得を開始します。すでに取得していた場合は、ローカルキャッシュと最新のイメージを比較して同期します。初回はすべて取得するためそれなりの時間がかかりますが、2回目以降は数分で同期が終わります[3]。
同期されたISOイメージは、日付と共に管理されます。
仮想マシンの起動
仮想マシンの起動はマシンパワーを必要とするため、ここから先は、古いマシンや非力なマシンでは厳しいかもしれません。
TestDriveから利用できる仮想マシン環境は2つあり、QEMUとVirtualBoxです[4]。設定の「Virtualization」タブで、これら2つを切り替えることができます。QEMUは依存関係で既にインストールされています。VirtualBoxを利用する場合は、本連載の第313回を参考にし、別途インストールを行ってください。
仮想マシンに対する設定には、「Memory」と「Disk Size」があります。お使いのマシンのハードウェアに合わせて調整してください。
仮想マシンに関する設定を確認したら、メインウィンドウでテストしたいフレーバーを選択し、「Launch」ボタンを押します。自動で仮想マシンを作成してISOイメージを起動し、インストール画面を表示します。
なお、デフォルトで選択されるKVMですが、この状態は仮想マシンにQEMUを使います。もしお使いのマシンのCPUが、Intel VT-xあるいはAMD-Vと言った仮想化支援をサポートしていれば、QEMUをアクセラレートすることができます[5]。いまどきのデスクトップやノートであればだいたいこれに当てはまるはずです。
アクセラレートの手順は、まず以下のコマンドを実行して、ドライバとなるカーネルモジュールを有効にします。これはお使いのマシンがIntelのCPUを使っている場合です。
もしAMDのCPUを使っている場合は以下を実行します。
カーネルモジュールを有効にしたら、設定の「Virtualization」タブの「KVM Args」に「-machine accel=kvm」を追加してください。
インストールし終わったら
インストールし終わった後の仮想マシンですが、VirtualBoxであればVirtualBoxのユーティリティで管理できます。そのため、いつでも起動できます。ただし、TestDriveの「Launch」ボタンをクリックすると仮想マシンが作り直されてインストーラーが走ってしまう点、注意してください。仮想マシンをクローンするか、スナップショットを取っておくと良いでしょう。
QEMUの場合ですが、libvirtにインポートしてそちらで管理できそうですが、筆者が試した限りではうまく行きませんでした。
まとめ
現在のUbuntu(デスクトップ、サーバー)はDaily BuildなISOイメージを使ってテストします。TestDriveはそのテスト環境の準備を簡単にします。