OSGeo Liveのカスタマイズ

OSGeo Liveという、Xubuntuをベースに自由なソフトウェア/オープンソースソフトウェアのGIS系ソフトウェアを集めたライブDVDがあります。

OSGeo Liveの詳細については @Say_no さんが紹介しているスライド「FOSS4Gを手軽に体験できるOSGeo Liveの紹介」を見てもらうとして、このライブDVD、とりあえず多言語環境で使う事を想定しているようですが、日本語関係はフォントのみ、IM(インプットメソッド)やメッセージカタログなどが入っておらず日本語環境で使えるとはとてもいいづらい状況だったので、日本向けにカスタマイズしたOSGeo Liveを作成しました。

ここでは、その作成中に気がついた事をメモとしてを残しておきます。

  • 日本語環境に必要なファイルを追加。容量節約のため英語と日本語以外のlanguage-packやフォントを削除。
  • ライセンスとセキュリティホール問題があるOracle Java 6を削除しOpenJDK 6に入れ替え。
  • Xubuntuのアップデート

ミラーができました!(2012/05/18)

ダウンロードはこちらからお願いします。 いわさきさん、ありがとうございます。m(_ _)m

こっちも残しておきますが、超遅いのでミラーを使ってください。

OSGeo Live 5.5のカスタマイズ

カスタマイズしたOSGeo Liveはバージョン5.5を使用しました。 OSGeo Live 5.5のベースシステムはXubuntu 11.04で、かなり古いものです。 (11.04は2012年9月にはサポートが終了します、その頃にはXubuntu 12.04をベースとしたOSGeo Live 6.0が出ると思われます。)

カスタマイズをおこなった環境ですが、Debian GNU/Linux sid (amd64)とVirtualBoxを利用しておこないました。 カスタマイズ自体は仮想化ソフトウェア上でおこなうのでOSは問いませんが、VirtualBoxやVMwareなどの仮想化ソフトウェアを用意してください。

OSGeo Liveのダウンロードページ http://live.osgeo.org/ja/download.html から、仮想マシンイメージ osgeo-live-vm-5.5.7z をダウンロードします。

このドキュメントを書いた当時のVirtualBoxは変換して利用する必要がありましたが、現在のVirtualBoxではそのまま利用できるので変換の必要はありません。

仮想マシンイメージはvmdk(VMware形式)ですので、VIrtualBoxで利用する場合はvdi(VirtualBox形式)に変換して利用します。

$ 7z x osgeo-live-vm-5.5.7z 
$ cd osgeo-live-vm-5.5/
$ VBoxManage clonehd --format VDI osgeo-live-vm-5.5.vmdk osgeo-live-vm-5.5.vdi

仮想マシンとして登録後、最初にスナップショットを取っておくと、やり直す場合に便利です。

カスタマイズをおこないます。 ユーザーの名前とパスワードは

ユーザー名: user
パスワード: user

で、sudoで管理者権限を利用する際に必要なパスワードは「user」です。

OSGeo Live 5.5の不具合

カスタマイズの作業に入る前にOSGeo Live 5.5の不具合についてまとめます。

OSGeo Liveの不具合としては前述したとおり日本語環境に必要なIMやメッセージカタログが含まれていないことです。これはパッケージが含まれていないだけなので、必要なパッケージを追加します。

そして、もう一つの不具合は、使用上の不具合ではありませんが、問題を抱えているsun-javaパッケージが含まれていることです。

sun-javaパッケージには2つの問題があります。一つはライセンス変更による再配布問題です。 sun-javaパッケージはJava 6 update 29まではDLJ(Distributor License for Java)ライセンスによりディストリビューションから配布が可能でした。しかし、Oracleはupdate 29以降からはライセンスを変更し、ディストリビューションからの配布が不可能になりました。

この事からOSGeo LiveではDLJで配布できるJava 6 update26を収録していますが、Java 6 update26には特定ページを読み込むと任意のプログラムを起動するセキュリティホールがあります。(Bug #881746 “Oracle (Sun) Java JRE/JDK 6: Update 26 has critical...” : Bugs : “sun-java6” package : Ubuntu) (Secunia Advisory SA45173 Sun Java JRE Insecure Executable Loading Vulnerability)

ライブDVDとして利用するだけなら問題にならないかもしれませんが、OSGeo LiveはライブDVDとして利用する以外に、ハードディスクにインストールして通常のシステムとしても利用できます。 通常のシステムとして利用するかもしれない配布物にセキュリティホールがあるパッケージを入れたまま配布することは、とても良くないことだと思うので、sun-javaパッケージを削除しOpenJDKのパッケージと入れ替えます。(もし、OpenJDKで問題があるなら、そのときは自分で入れ替えれば済みますしね。)

ロケールとキーボードの設定ですが、casper(ライブシステムをサポートするプログラム)にカーネルパラメータでlocal=ja_JP.UTF-8を渡すとロケールが変更できますが、キーボードの設定を変更するパラメータがない事と、remastersysでブートローダからパラメータを渡す設定がわからなかった(調べる気もなかったけど)ので直接書き換えます。

$ sudo vi /etc/default/locale

LANG="ja_JP.UTF-8"
$ sudo vi /etc/default/keyboard

XKBMODE="jp106"
XKBLAYOUT="jp"

apt-lineがアメリカ向けになっているので日本向けに書き換えます。

$ sudo sed -i 's/us\./jp\./' /etc/apt/sources.list
$ sudo apt-get update

sun-javaのPPAを削除します。

$ sudo apt-get install ppa-purde
$ sudo ppa-purge ppa:duh/sun-java6

パッケージをアップデートします。

$ sudo apt-get update
$ sudo apt-get dist-upgrade

OpenJDKをインストールしてからSun Javaをアンインストールします。

$ sudo apt-get install openjdk-6-jre openjdk-6-jdk
$ sudo apt-get purge sun-java6-jre sun-java6-jdk

不要なlanguage-packを削除して足りないパッケージを追加します。

Q: OSGeo Liveにlanguage-pack-ja(もしくは他のlanguage-pack)が入っているのに必要なファイルがインストールされないのはなぜ?

A: パッケージのRecommends(推奨)もSuggests(提案)も無効にして自動的にインストールしないようにしているから。

ということで必要なパッケージを追加しますが、インストールされているlanguage-packすべての足りないパッケージを追加するとDVDの容量を超えてしまうので日本語と英語に絞ることにします。

language-packを削除します。

$ sudo apt-get purge language-pack-ar language-pack-de language-pack-el \
language-pack-es language-pack-fi language-pack-fr language-pack-he \
language-pack-hi language-pack-id language-pack-it language-pack-ko \
language-pack-pl language-pack-pt language-pack-ro language-pack-ru \
language-pack-th language-pack-vi language-pack-zh-hant

必要なパッケージを追加します。

$ sudo apt-get install language-support-ja language-pack-gnome-ja language-pack-kde-ja kde-l10n-ja poppler-data \
firefox-locale-ja ttf-vlgothic lv \
kde-l10n-engp language-pack-kde-en

これで日本語環境に必要なファイルがそろいました。 ひとまず再起動して確認します。

文字の表示が不自然な場合は以下のコマンドを実行してください。

$ sudo fontconfig-voodoo -s ja_JP.UTF-8

OSGeoのSubversionリポジトリにビルドスクリプトがあるのでチェックアウトします。

$ cd ~/
$ svn co https://svn.osgeo.org/osgeo/livedvd/gisvm/branches/osgeolive_5_5/

起動時のウェルカムメッセージが英語のままなので日本語に置き換えます。

$ sudo cp -f osgetlive_5_5/doc/ja/welcome_message.txt /usr/local/share/osgeo-desktop/

ISOイメージはホームディレクトリもまとめてイメージ化されるので除外されるように/tmpディレクトリにビルドスクリプトを移動させます。

$ mv osgeolive_5_5/ /tmp

ホームディレクトリにある不要なファイルを削除します。

$ rm -rf .cache/ .fontconfig/ .gconf* .gnome2* .local/ .mozilla/ .pulse* .ssh/ .subversion/ .viminfo .xsession-errors*

イメージをビルドします。

$ cd /tmp/osgeolive_5_5/bin/
$ sudo sh -c "./setdown.sh; ./build_iso.sh"

これで何もトラブルがなければ30分から1時間ほどで/tmp/remastersysディレクトリ以下にイメージが出来上がっているはずです。