Ubuntu Weekly Recipe

第196回 ubuntu-defaults-builderでRemix CDを作る

この記事を読むのに必要な時間:およそ 4 分

2011年11月16日,Ubuntu Japanese TeamはUbuntu 11.10 日本語Remixをリリースしました。従来の日本語Remixは,本家のUbuntuをベースにJapanese Teamリーダーである小林さんが温もりあふれる手作業で「リミックス」していましたが,11.10の日本語Remixはubuntu-defaults-builderという仕組みを用いて1からビルドされています※1)。ubuntu-defaults-builderとはUbuntu 11.10から提供された,自分好みにカスタマイズしたLive CDを構築するためのスクリプトと,その雛形を提供するパッケージです。

今週のレシピはこのubuntu-defaults-builderを使って,自分好みのRemix CDを作る手順を紹介します。

※1
厳密にはツールで完全に自動化できているわけではなく,ubuntu-defaults-builderで作成したイメージに手作業でmemtest86+などのファイルを追加する作業が残っていたります。

自分用のRemix CDを作るメリット

Ubuntuをインストールした状態でそのまま運用しているという人は少ないでしょう。たとえばUbuntuはCD一枚で提供するという都合上,デフォルトで収録されるアプリケーションは厳選されており,Emacsすらインストールされていません。そのためインストール後には必要なパッケージを手作業でインストールしなければなりません。またセキュリティアップデートがある場合は,システム全体を最新にアップデートする作業が発生します。インストールする時期によっては数100MBのパッケージをダウンロードするような場合もあるでしょう。これがPC1台だけならばそれほど問題ではありませんが,複数のPCをセットアップするような場合は,あらかじめ必要なパッケージと最新版へのアップデートを実施したCDがあれば作業を大幅に省略できます。また学校や企業などで「特定のカスタマイズを最初から施しておきたい」ような場合にも,カスタマイズCDは威力を発揮します。

日本語Remixをビルドしてみる

ubuntu-defaults-builderをインストールして,まずは日本語Remixを手元でビルドしてみましょう。日本語Remixのテンプレートとなるパッケージはubuntu-defaults-jaで,Japanese Teamのリポジトリから取得できます。大事なのは,このパッケージをapt-getでインストールするのでは"ない"ことです。アーカイブサーバからこのパッケージのdebファイルを直接ダウンロードしてください。

CDをビルドするコマンドはubuntu-defaults-imageで,このコマンドに--packageオプションでテンプレートとなるdebパッケージを指定します。ただし,それだけではビルドに失敗するはずです。日本語RemixにはAnthyの辞書管理ツールであるkasumiが標準でインストールされています(これを実現するため,ubuntu-defaults-jaパッケージがkasumiパッケージに依存するような作りになっています)。ubuntu-defaults-imageはmainとrestrictedに含まれるパッケージのみを使ってCDをビルドしようとするため,universeコンポーネントに含まれるkasumiがインストールできず,ビルドに失敗するわけです。universeやmultiverseのパッケージを含むCDを作成する場合には,ubuntu-defaults-imageコマンドの--componentsオプションを使用し,インストールに利用するコンポーネントを指定します。

また,デフォルトではarchive.ubuntu.comへパッケージを取得しに行ってしまいます。/etc/live/build.confにミラーサーバを指定することで,国内のサーバを使うことができますので,あらかじめ設定しておくとよいでしょう。

ビルド作業が完了すると,カレントディレクトリにbinary-hibrid.isoというイメージファイルが作成されています。このファイルをCDに焼けば※2),日本語Remixとして使えます。

ubuntu-defaults-builderをインストール

$ sudo apt-get install ubuntu-defaults-builder

日本語Remixのテンプレートをダウンロード

$ wget http://archive.ubuntulinux.jp/ubuntu/pool/main/u/ubuntu-defaults-ja/ubuntu-defaults-ja_11.10-0ubuntu1~ja2_all.deb

日本語Remixのビルド

$ ubuntu-defaults-image --package ubuntu-defaults-ja_11.10-0ubuntu1~ja2_all.deb --components main,restricted,universe,multiverse

build.confに国内のミラーサーバを指定する

$ vi /etc/live/build.conf
LB_PARENT_MIRROR_BOOTSTRAP="http://jp.archive.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_CHROOT="http://jp.archive.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_CHROOT_SECURITY="http://security.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_CHROOT_VOLATILE="http://jp.archive.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_BINARY="http://jp.archive.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_BINARY_SECURITY="http://security.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_BINARY_VOLATILE="http://jp.archive.ubuntu.com/ubuntu/"
LB_PARENT_MIRROR_DEBIAN_INSTALLER="http://jp.archive.ubuntu.com/ubuntu/"
LB_MIRROR_BOOTSTRAP="http://jp.archive.ubuntu.com/ubuntu/"
LB_MIRROR_CHROOT="http://jp.archive.ubuntu.com/ubuntu/"
LB_MIRROR_CHROOT_SECURITY="http://security.ubuntu.com/ubuntu/"
LB_MIRROR_CHROOT_VOLATILE="http://jp.archive.ubuntu.com/ubuntu/"
LB_MIRROR_BINARY="http://jp.archive.ubuntu.com/ubuntu/"
LB_MIRROR_BINARY_SECURITY="http://security.ubuntu.com/ubuntu/"
LB_MIRROR_DEBIAN_INSTALLER="http://jp.archive.ubuntu.com/ubuntu/"
※2
ddコマンドやスタートアップディスクの作成などでUSBメモリに書きこむことも可能です。

--localeオプションについて

ubuntu-defaults-imageのmanを読むと,--localeというオプションがあることに気づきます。各国語向けUbuntuを作るためのテンプレートは「ubuntu-defaults-ll-cc」※3というパッケージ名にすることが望ましいとされているのですが,--locale ll_ccを指定すると,該当する名前のパッケージを自動的にテンプレートとして使用することができます。つまりdebファイルをダウンロードする必要がなくなるわけです。将来,各国のubuntu-defaults-*がmainリポジトリに揃った時は,このオプションを使うだけで誰でも各国向けのUbuntuを手元でビルドできるようなる,というのが狙いかもしれません。中国語(zh_cn)のパッケージは今でもリポジトリにありますので,--locale zh_cnを指定すると,動作を体験することは可能です。

また現在のubuntu-defaults-imageの仕様では,追加できる外部リポジトリはPPAが一つだけという制限があります。Japanese TeamではPPAの内容をミラーしたリポジトリを自前で持っており,ubuntu-defaults-jaはここに置かれている(Japanese Teamのリポジトリを有効にしないと利用できない)ため,現状ではこの方法で日本語Remixを作ることはできません※4)。

※3
たとえばubuntu-defaults-zh-cnなどです。
※4
厳密に言えば,--ppaオプションを併用してJapanese TeamのPPAを追加指定することで作成できます。しかしこの方法では,archive.ubuntulinux.jpの他にJapaneseTeamのPPAもapt-lineに登録されてしまうという問題もあります。

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。株式会社インフィニットループ所属。

コメント

コメントの記入