Kiwiイメージングシステム - オリジナルOSイメージをわずか数時間で作成
カスタマイズ済みですぐに使えるOSイメージを作成できたら便利だと思いませんか?VMwareイメージやXen仮想マシン、ライブDVDとして活用したり、USBメモリから直接起動できるイメージを用意したり。さらには、物理マシンにインストール済みの環境を、そのままデプロイ可能なイメージへ変換できたら?しかも、難しいコマンドライン操作とは無縁で、シンプルなビジュアルウィザードに従うだけで、これらすべてを数時間で実現できるとしたら?答えが「イエス」なら、この記事はまさにあなたのためのものです。

はじめに
この目的を達成する手段は数多く存在しますが、Kiwiほど完全かつ強力なツールは他にありません。
Kiwiは、openSUSEおよびその他のLinuxディストリビューション向けソフトウェアの作成・公開を可能にする総合開発プラットフォーム「openSUSE Build Service」で実際に使われているツールの一つです。KiwiはopenSUSEに特化しており、以下のようなことが実現できます。
- 必要なパッケージだけを含んだ、カスタム起動可能なopenSUSEライブCD/DVDイメージの作成
- 起動可能なUSBイメージの構築
- 設定ファイル込みのXen、VMware、QEMU仮想イメージの作成
- 自分のインストール環境を、あらゆる種類のデプロイ可能なイメージへ変換(移行)
実は、こうしたテクニックの多くはすでに他のツールでも実現されてきました。
- Remastersys:Debian系ディストリビューションで動作し、物理インストール環境をバックアップ用またはライブCD/DVD配布用の起動可能な.isoイメージに変換できるツール。
- PCLinuxOSのremaster-on-the-fly:Remastersysと同様のリマスター機能を標準搭載。
- QEMU:VMwareの仮想ディスク(.vmdk)をAmazon EC2イメージ(.ami)へ変換する用途で活躍(別チュートリアルで解説済み)。
- VMware Server / ESXi仮想マシンのクローン手法:既存VMの複製方法を学習済み。
- VMware Converter:あらゆる種類のイメージを作成できる万能コンバーター。
それでも、これらの優れたソリューションは、必要なすべてを網羅しているわけではありませんでした。たとえばRemastersysは仮想マシンそのものを作成せず、ゲストOSとしてインストールできるイメージを生成するだけなので、追加作業と手動操作が必要になります。Amazonへの変換は見事でしたが、基本的にコマンドライン中心で、事前準備の手順も多く、ユーザー操作も煩雑でした。VMware Converterはほぼ理想的なソリューションを提供してくれました。そしてKiwiは、これらすべてを実現できるのです。それ以上のことも。そろそろ期待が高まってきたころでしょう。このパワフルなツールの実力を見ていきましょう。
前提条件
Kiwiを使用する前に最低限必要なのは、openSUSE(バージョン10以降)がインストールされた環境です。openSUSEのインストールと設定については、過去に2回に分けて詳細なステップバイステップチュートリアルを公開しています。「Installing SUSE Linux」はやや古い記事で、openSUSE 10.1を対象に、基本概念、KDEデスクトップの機能、セキュリティ設定などを解説しています。「openSUSE 11 - Review & Tutorial」はより充実した完全版で、ライブCD体験、ワイヤレス接続、Compiz、マルチメディアコーデック、追加リポジトリの導入、ATIを含むグラフィックドライバーのインストール、ゲームの導入など幅広いトピックをカバーしています。
これらのチュートリアルを参考にしていただければ、openSUSEをスムーズに使い始められるはずです。openSUSEのインストールが完了したら、いよいよKiwiに進みましょう。
Kiwiのインストール
まずはYaST経由でKiwiをインストールします。利用可能なKiwi関連パッケージは非常に豊富ですが、今回はすべてインストールしましょう。

しかしこれはパズルの一部にすぎません。もう一つ「Product Creator(product-creator)」というユーティリティも必要です。このユーティリティには2つのモジュールが含まれています。ひとつは「Image Creator」、もうひとつは「Product Creator」です。
キウイフルーツのロゴが印象的なImage Creatorは、その名の通り、Kiwiを使ってイメージを作成するためのGUIウィザードです。まさに求めていたものです。一方のProduct Creatorは、既存のインストール環境を新しくインストール可能なディストリビューションへ変換するツールです。こちらも有用な機能です。
ただし、本記事ではImage Creatorのみを扱います。Product Creatorの使い方は別記事で詳しく紹介する予定です。加えて、SUSE Studioという強力なビルドユーティリティについても後日取り上げます。今のところ必要なのはImage Creatorだけです。YaST > Miscellaneousから起動できます。
Kiwiの使い方
Image Creatorを初めて起動すると、空の設定メニューが表示されます。
新しい設定を作成するには、「Add」をクリックします。
イメージの準備
まず、何を実現したいのかを決めます。既存の設定を流用することもできますが、ここでは最初のオプション「Create from beginning(ゼロから作成)」を選択します。
次に「Image Type(イメージタイプ)」を選択します。これは非常に重要な項目で、最終的な出力形式を決定します。

Live ISO Imageはおそらく最も柔軟な選択肢で、作成したディスクをどの環境にもインストールできます。
Xen ImageはXen仮想化ソフトウェア向けのイメージです。ちなみにXenはNovellが公式サポートしており、ディストリビューションに標準搭載されています。仮想化モジュールにはYaST > Virtualizationからアクセスできます。
USB Stick ImageはUSBデバイスからの起動を目的としたイメージです。
Virtual Disk Imageには、QEMU用の.rawやVMware用の.vmdkなど、複数のフォーマットが含まれます。出力には単一ではなく複数のイメージファイルが生成されるため、必要なディスク容量が大きくなる点に注意してください。
余談ですが、上のスクリーンショットの背景色は私のサイトで使っている色と完全に一致しています。SUSEと私が同じ色を選ぶことになったのは、純然たる偶然(あるいは天才的な必然?)なのでしょう。
容量の話が出たので、「Output directory(出力ディレクトリ)」にも触れておきます。イメージを格納するのに十分な空き容量を確保してください。たとえば2GBの仮想ディスクイメージを作成する場合、最終的な出力は少なくとも250%以上のサイズになります。特に、出力先がルートパーティションと同じ場合、空き容量が枯渇するとシステムが不安定になる恐れがあるので注意しましょう。
デフォルトの出力先は/tmpです。
「Package Repository(パッケージリポジトリ)」セクションには、イメージ構築時にパッケージをダウンロードするために使用するリポジトリの一覧を登録します。リポジトリが多いほど、選択できるソフトウェアの幅も広がります。後々トラブルに遭遇しないよう、リポジトリが正常に動作しており、適切に署名されていることを確認しておきましょう。
仮想ディスクイメージの設定
次のステップは、イメージ本体の設定です。何を含み、どう動作させるかを指定します。これは5段階のプロセスで構成されています。最初のステップでは、イメージのバージョンとサイズを選択します。ここでも、ディスク容量の制約がある場合は事前に計画しておきましょう。
続いて、イメージに含めたいパッケージを選択します。
「Description(説明)」欄はその名の通り説明文を入力する場所で、リビジョン管理に役立ちます。
次は有効なユーザーのリストです。デフォルトでは、root(パスワードなし)と汎用ユーザーのlinuxが登録されています。必要に応じて編集したり、ユーザーを追加・削除したりできます。
4番目のステップはイメージ構築スクリプトの設定です。上級ユーザーであれば、カスタムネットワーク設定やサービス設定スクリプト、クリーンアップスクリプトなどを自由に追加できます。よくわからない場合は、このセクションはデフォルトのままにしておくのが無難です。
最後のステップは、システム設定を含むディレクトリの選択です。繰り返しになりますが、判断に迷う場合はデフォルトのままで問題ありません。このセクションでは、ニーズに応じて追加のイメージ構築スクリプトを組み込めますが、イメージの構築と動作に必須というわけではありません。
すべての設定が完了したら「Finish」をクリックします。選択内容の確認を求められます。
確認すると処理が開始されます。イメージのサイズやネットワーク速度によって所要時間は変わりますが、筆者の環境では約3時間でイメージが完成しました。
イメージのテスト
さあ、いよいよ成果物の検証です。数時間もかけて作成したイメージが、果たして本当に動作するのか。早速確かめてみましょう。
まずは中身の確認から…
下のスクリーンショットでは、イメージファイルのパスが/tmpになっていないことに注意してください。これは、テスト時のパフォーマンスを向上させるため、イメージを別パーティション(/mnt)へ移動したからです。仮想化製品を扱う際によく推奨されるテクニックの一つです。

ディレクトリ内には多数のファイルが生成されており、それぞれ2GB超の.rawと.vmdkイメージに加えて、VMX起動用のvmlinuzやinitrdファイルなども含まれています。前述の通り、最終的な出力サイズは当初の割り当てを大きく上回ります。
今回注目するのは.vmdkファイルです。ただし、.rawファイルをQEMUでそのまま使うこともできますし、Amazon EC2で利用したい場合はAMI形式へ変換することも可能です。
仮想マシンの作成
最初のステップは、たとえばVMware Serverで新しい仮想マシンを作成することです。
仮想マシンの起動
さあ、仮想マシンの準備が整いました。

そして、起動します。


そして、正常に稼働しています。

素晴らしい!私たちのミッションは大成功です。
その他の機能
Kiwiは非常に柔軟性が高く、XML設定ファイルをベースに動作します。つまり、毎回ウィザードに頼ることなく、イメージ作成の手順全体をスクリプト化できるのです。当然ながら、コマンドラインツールの活用は主に、より細かい制御と高度な自動化を求める上級ユーザー向けといえるでしょう。
公式ドキュメントでは、本記事で取り上げた一連のイメージに加えて、PXEシンクライアントインストールやOEMプリロードシステムなど、さまざまなイメージの作成方法も解説されています。さらに嬉しいことに、実用的なサンプルも付属しています。
これらについては、別のチュートリアルで改めて詳しく紹介する予定です。
まとめ
本記事では、Kiwi(そしてBuild Service)の実力のほんの一部に触れただけです。それでも、Kiwiパッケージが持つシンプルさ、美しさ、パワー、そして柔軟性は疑いようがありません。
通常なら骨の折れるコマンドライン作業が必要になるような場面でも、Kiwiを使えば幅広いカスタムイメージを作成し、多様なシナリオでテスト・デプロイできます。もちろん、XML設定ファイルによる自動運用もサポートしています。
Kiwiはこれらすべてを、親しみやすく直感的なメニューで実現します。システムの専門家でなくても、Image Creatorを操作して、XenやVMware Server向けのイメージ、さらにはAmazonクラウドへリモートデプロイするイメージまで、あらゆるイメージを簡単に焼き上げることができます。その驚異的なポテンシャルは目を見張るものがあります。
openSUSEをメインのデスクトップ環境として使う気になれない方も、一度再考してみてはいかがでしょうか。もしニーズが仮想化の領域に及ぶなら、Kiwiはおそらく、迅速かつ大規模なイメージのデプロイとテストに最も適した、ビジネスレベルの完成度を誇るプラットフォームです。続編のチュートリアルでは、Product CreatorとSUSE Studioを取り上げます。お楽しみに。
それでは、また。
-
Product Creatorで独自のLinuxディストリビューションを作成する方法
今回は、再びKiwiについてお話しします。Kiwiはイメージングシステムであり、より大規模なopenSUSE Build Serviceの一部として組み込まれた、強力かつ多機能なイメージング/仮想化ソリューションです。自分のインストール環境、素のopenSUSE、あるいはその他のLinuxディストリビューションをベースに、あらゆる種類のOSイメージを作成できます。完全にカスタマイズ可能で、幅広いフォーマットで展開・配布できる点が魅力です。KiwiはXMLテンプレートを使用してこれらの処理を実現します。自動化やスクリプティングを好むパワーユーザー向けに設計されているためです。しかし、Kiwiには
-
Kiwiイメージングシステム - オリジナルOSイメージをわずか数時間で作成
カスタマイズ済みですぐに使えるOSイメージを作成できたら便利だと思いませんか?VMwareイメージやXen仮想マシン、ライブDVDとして活用したり、USBメモリから直接起動できるイメージを用意したり。さらには、物理マシンにインストール済みの環境を、そのままデプロイ可能なイメージへ変換できたら?しかも、難しいコマンドライン操作とは無縁で、シンプルなビジュアルウィザードに従うだけで、これらすべてを数時間で実現できるとしたら?答えが「イエス」なら、この記事はまさにあなたのためのものです。 はじめに この目的を達成する手段は数多く存在しますが、Kiwiほど完全かつ強力なツールは他にありません。 Ki