各自のニーズに則した復旧用ブータブルCDのカスタム作成法 2ページ

ライブCD環境の構築

 最初のステップは、各自のシステムに応じたUbuntu 8.04のライブCD用ISOファイルをダウンロードすることである。基本的にはWebサイトにてダウンロードすればいいが、あるいはコマンドラインからwgetを用いて操作することもできる。

wget -v http://releases.ubuntu.com/hardy/ubuntu-8.04-desktop-i386.iso

 このイメージに独自の加工を施すためには、squashfsファイルシステムのフォーマットサポート用パッケージ群およびISOイメージ作成ユーティリティのmkisofsをインストールしなくてはならない。Ubuntuの場合、これらのインストールは「sudo apt-get install squashfs-tools mkisofs」というコマンドにて実行できる。

 次にsquashfsモジュールを読み込み、必要なカスタマイズを施せるようISOファイルの収録コンテンツのコピー、マウント、抽出を行っておく。

sudo modprobe squashfs
mkdir rescue
mv ubuntu-8.04-desktop-i386.iso rescue
cd rescue
mkdir mnt
sudo mount -o loop ubuntu-8.04-desktop-i386.iso mnt
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
mkdir squashfs
sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
mkdir edit
sudo cp -a squashfs/* edit/

 ここでのCDカスタマイズ作業は、chroot環境にて行う方が便利である。chrootは作業環境のrootディレクトリを変更するための機能で、これを利用するとCD内のファイルやアプリケーションに直接アクセス可能となるが、いずれにせよapt-getなどのツール群を使用する際にはこうした操作が必須となるはずである。また新規パッケージの追加をする場合はchroot環境でのネットワーク接続が使いたいところだが、それにはネットワーク用の設定としてhostsおよびresolv.confファイルをコピーしておかなくてはならない。具体的には下記のコピー操作を行えばいい。

sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/

 以上の準備が終了すると、ライブCD内部での作業が開始できる状況となっているはずである。まずはedit/devをマウントポイントとしてライブCDをマウントし、各自のrootディレクトリを新規にマウントしたボリュームに変更しておく。次にカーネル作業用に/procおよび/sysボリュームをマウントし、ロケールおよびGPGに関連した問題の発生を未然に防止しておくのに必要な設定情報をエクスポートしておく。

sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys

export HOME=/root
export LC_ALL=C