各自のニーズに則した復旧用ブータブル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