アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » ADMINISTRATOR STAGE » 連載 » Ubuntu Weekly Recipe » 第3回 Desktop CDを使いこなす(2):より高度なLiveCDのカスタマイズ

Ubuntu Weekly Recipe

第3回 Desktop CDを使いこなす(2):より高度なLiveCDのカスタマイズ

前回に引き続き,Ubuntuのデスクトップ向けインストールCD(Desktop CD)を用いて,オリジナルのLiveCDを作成するレシピを紹介します。

端末からのDesktop CDのカスタマイズ

UbuntuのDesktop CD(=LiveCD)には,RemastersysやUCKのような容易にカスタマイズを行う補助ツールが用意されています。今回はこれらのツールが内部で行っている,SquashFSの展開を始めとする操作をコマンドラインから行い,より細かな部分までカスタマイズする方法を紹介します。

カスタマイズの準備

前回も触れましたが,Desktop CDのLiveCD環境のカスタマイズは,SquashFS形式で圧縮されたルートファイルシステムである casper/filesystem.squashfs を改変することで行います。作業に必要な環境はRemastersys,UCKと同様に,5~10GBのディスク容量とある程度の搭載メモリです。手順を順番に見ていきましょう。

作業にはsquashfs-toolsとmkisofsパッケージが必要になりますので,インストールを行います。ここではapt-getを用いてインストールしていますが,Synapticなどからインストールしても構いません。

$ sudo apt-get install squashfs-tools mkisofs

補助ツールを用いる場合と同じく,コマンドラインからDesktop CDをカスタマイズする場合も既存のISOを改変することで行うのが普通です。http://cdimage.ubuntulinux.jp/releases/7.10/ubuntu-ja-7.10-desktop-i386.isoなどからベースとなるISOイメージをダウンロードしてください。ISOイメージがダウンロードできたら,作業ディレクトリとマウントポイントを作成してループバックマウントします(CDを光学ドライブに挿入して作業を行うことも可能です。この場合は~/livecd-work/mntを/media/cdromに読み替えてください)。

$ cd ~
$ wget http://cdimage.ubuntulinux.jp/releases/7.10/ubuntu-ja-7.10-desktop-i386.iso
$ mkdir -p ~/livecd-work/mnt
$ sudo mount -o loop ubuntu-ja-7.10-desktop-i386.iso ~/livecd-work/mnt
$ cd ~/livecd-work

SOイメージをマウントしたら,filesystem.squashfs以外のファイルを編集用にコピーします。

$ mkdir extract-cd
$ rsync --exclude=/casper/filesystem.squashfs -a livecd-work/ extract-cd

casper/filesystem.squashfsを作業用ディレクトリに展開します。~/livecd-work/squashfs以下にLiveCD環境で利用するルートファイルシステムが作成されます。

$ sudo unsquashfs -d edit mnt/casper/filesystem.squashfs

編集を始める前に,このルートファイルシステムの構造を確認しましょう。以下は該当ディレクトリでlsを発行した結果です。

$ ls -F ~/livecd-work/extract-cd
bin/  boot/  dev/  etc/  home/  initrd/  initrd.img@  lib/  media/  mnt/  opt/  proc/  root/  sbin/  srv/  sys/  tmp/  usr/  var/  vmlinuz@

この中身は通常の(HDDにインストールした)Ubuntuのファイルシステムそのものです。Remastersysが既存のファイルシステムをSquashFSに圧縮することでLiveCDが構成できるのは,これが理由です。ただし,後の手順でも触れますが,LiveCD環境ではinitrd.imgとvmlinuzはここにあるファイルではなくISOイメージのcapser/以下にあるものが使われるため,別途作業を行う必要があります。

chrootによる作業・再圧縮

カスタマイズの準備が終了したら,展開したルートファイルシステムにchrootし,LiveCD環境を展開した~/livecd-work/extract-cdを/として作業を行います。

chrootする前に,(通常のLiveCD起動では起動時にスクリプトやDHCPクライアントによって生成される)/etc/resolv.confをコピーする必要があります。もしもお使いの環境で/etc/hostsを利用しているのであれば,それもコピーしてください。

$ cd ~/livecd-work
$ sudo cp /etc/resolv.conf edit/etc/
$ sudo cp /etc/hosts edit/etc/

準備ができたらchrootを行います。chrootの実行時点で環境変数による影響を受けないように,su -でrootユーザの標準環境を読み込んでおきます。また,ほとんどいないと思いますが,rootユーザのSHELLをbash以外に変更している場合は,/bin/bashに戻しておく必要があります(正確にはUCKなどと同じように,「LiveCD環境に用意されていないシェルをセットしている」場合にこの作業が必要になります)。

$ sudo su -
# chroot edit

このままでは作業に支障があるため,proc,sys,devpts fsをマウントします。

# mount -t proc none /proc
# mount -t sysfs none /sys
# mount -t devpts none /dev/pts

この状態でapt-getなどのパッケージ操作コマンドを実行することで,パッケージの導入が行えます。たとえば次のように,"trac"パッケージをインストールすることで,~/livecd-work/editに展開されたルートファイルシステム上に適用されます。同様に,/etc/skel/以下など,あらゆるファイルは~/livecd-work/edit以下のものです(この例の場合であれば,~/livecd-work/edit/etc/skelに変更を加えたことになります)。

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

Ruby Freaks Lounge

Rubyに関わる,執筆者自身の旬なテーマを扱った,リレー形式の連載です。

これでできる! クロスブラウザJavaScript入門

JavaScriptはウェブ制作において避けては通れない重要な言語ですが,JavaScriptに苦手意識を持たれている方は少なくないようです。 その最大の原因がクロスブラウザ対応という課題であり,本連載ではクロスブラウザ対応のテクニックを詳細に解説します。

ビジネスで成功するためのシステム運用管理のポイント

システムの多様化,技術進歩に伴い,ITシステムの運用管理の必要性が年々高まっています。本連載では,システムの運用管理とは何かについて,現場のニーズと具体的な指針を押さえながらを解説します。

2010年版SEO体得講座

本連載では,いまや企業サイトの戦略の1つとして欠かすことのできないSEOについて,最新トレンドからすぐに使えるTipsまでを紹介します。

小型Linuxサーバの最高峰 OpenBlockS 600活用指南

搭載メモリの増加,CPUクロックの向上など,あらゆる面が強化された期待の新モデルOpenBlockS 600。この記事ではOpenBlockS 600の紹介から,活用するためのさまざまなノウハウを紹介していきます。

はじめMath! Javaでコンピュータ数学

プログラミング言語入門者向けに,知っていると役立つ数学的トピックスを紹介します。簡単な演習問題と解説で,即活用できる知識を目指します。

教科書には載っていない ネットワークエンジニアの実践技術

ネットワークエンジニア,インフラエンジニアのトラブル対応には,時には「教科書通りにいかない」テクニックが必要となります。資格試験では得られないこうした実践的な技術について,実例を元に紹介します。

Googleケータイ,世に現る

2008年9月,Googleが中心となって開発されている「Android」を採用した携帯電話「T-Mobile G1」が発表されました。本連載ではT-Mobile G1を中心にGoogleケータイに迫ります。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス

最近のコメント