Ubuntu で Cubic を使用して ISO イメージファイルを作る
Cubic は,Ubuntu の ISO イメージファイルをカスタマイズするグラフィカルなツールである。次の操作を行うことができる。
- 既存の Ubuntu ISO イメージを元にしたカスタマイズ用プロジェクトの作成
- chroot による仮想環境のターミナルでのパッケージの追加・削除・更新
- 設定ファイルの編集と,任意のファイルの追加
- カスタマイズ後の新しい ISO イメージファイルの生成
◆ カスタマイズした ISO イメージファイルの用途
カスタマイズした ISO イメージファイルから,「Ubuntu でライブ USB メモリ の作成」の手順で ライブ USB メモリ を作ることができる。このライブ USB メモリでは次のことができる。
- カスタマイズした Ubuntu 環境を起動して利用する
- カスタマイズ済みの Ubuntu を他のマシンにインストールする(必要なツールや設定をあらかじめ含めた状態にできる)
◆ このページでは次のことを行う.(Ubuntu 環境を想定)
- Ubuntu に Cubic をインストール
- Cubic を使用した Ubuntu ISO イメージのカスタマイズと,新しい ISO イメージの作成
例: パッケージの追加・削除,設定変更
前準備 (Ubuntu 環境)
- システム更新
Cubic をインストールする前に,作業に使う Ubuntu を最新の状態にする。
システム更新: 別ページ »で説明
sudo apt update sudo apt upgrade -y - Ubuntu の ISO イメージファイルを入手しておく
カスタマイズの元にする公式の ISO イメージファイル(例:
ubuntu-26.04-desktop-amd64.iso)をダウンロードする。
Cubic のインストール (Ubuntu)
Cubic は Ubuntu の公式リポジトリには含まれていない。PPA (Personal Package Archive) を追加してインストールする。Cubic は Ubuntu 18.04.5 以降,および Debian 11 以降とその派生ディストリビューションに対応している。
- universe リポジトリと Cubic の PPA を追加する。
sudo apt-add-repository universe sudo apt-add-repository ppa:cubic-wizard/releaseリポジトリの追加を確認するプロンプトが表示されたら,Enter キーを押す。
- パッケージリストを更新する。
sudo apt update - Cubic をインストールする。
sudo apt install --no-install-recommends cubic--no-install-recommendsは,推奨パッケージを併せてインストールしないようにするオプションである。
使ってみる (Cubic の基本的な使い方)
Cubic はウィザード形式で,画面下部の「Next」ボタンで次のページに進む。
- Cubic を起動
アプリケーションメニューから「Cubic」を検索して起動する。
- プロジェクトディレクトリの選択
Cubic は作業用にプロジェクトディレクトリを使う。空のディレクトリを選択または新規作成する。ISO イメージの展開と生成のため,数十 GB の空き容量があるディレクトリを選ぶ。
- 元となる ISO イメージの選択(Project ページ)
「前準備」でダウンロードした Ubuntu の公式 ISO イメージファイル(
ubuntu-26.04-desktop-amd64.isoなど)を選択する。カスタマイズ後の ISO に関する情報(ファイル名,バージョン,ボリューム ID など)が自動で入力される。必要に応じて編集する。
「Next」をクリックすると,ISO ファイルの展開と仮想環境の準備が始まる。これには数分かかる場合がある。
- 不要な snap パッケージの削除(Snaps ページ)
ISO に含まれる snap パッケージの一覧が表示される。削除するものにチェックを付ける。
Ubuntu のインストーラは snap パッケージであるため,snapd パッケージは削除しない。
- chroot 環境でのカスタマイズ(Terminal ページ)
仮想環境のターミナルが表示される。ここがカスタマイズ作業の中心である。root でログインした状態であるため,
sudoを付ける必要はない。このターミナル内での操作は,作成される ISO イメージに直接反映される。
この仮想環境は chroot によるファイルシステムであり,
systemd,snapd,X11などのサービスは動作しない。以下は,このターミナル内で行うカスタマイズ操作の例である。
- パッケージリストの更新とアップグレード
apt update apt upgrade -y - リポジトリの追加
Ubuntu 24.04 以降では,APT のリポジトリ設定は deb822 形式で
/etc/apt/sources.list.d/ubuntu.sourcesに置かれている。PPA を追加する場合は次のように操作する(リポジトリの追加はシステムの安定性に影響する場合がある)。apt install -y software-properties-common add-apt-repository -y ppa:mozillateam/ppa apt update設定ファイルを直接編集する場合は nano エディタを使う。Ctrl+O で保存,Ctrl+X で終了する。
nano /etc/apt/sources.list.d/ubuntu.sources apt update - 不要なパッケージの削除
ISO イメージのサイズを減らしたり,用途を特化させたりできる。インストールされているパッケージだけを指定する。
# 例: ゲームの削除 apt purge -y gnome-sudoku gnome-mines gnome-mahjongg # 例: Snaps ページで Thunderbird の snap を削除した場合,対応する deb パッケージも削除 apt --yes autoremove --purge '?name(thunderbird)' - 必要なパッケージの追加
必要なソフトウェアをあらかじめ ISO イメージに含めることができる。snap パッケージは Cubic ではインストールできない。
# 例: VLC メディアプレイヤーのインストール apt install -y vlc # 例: Git のインストール apt install -y git # 例: LibreOffice の主要コンポーネントのインストール apt install -y libreoffice-calc libreoffice-writer libreoffice-impress - 設定ファイルの編集や追加
chroot 環境内で
/etc以下の設定ファイルを編集できる。/etc/skel/にファイルを置くと,新しいユーザの作成時にそのファイルがホームディレクトリにコピーされる。 - ファイルのコピー
ホスト OS のファイルをカスタマイズ環境にコピーするには,ターミナルウィンドウにファイルをドラッグ&ドロップするか,ヘッダーバーのコピーボタンを使う。ファイルはターミナルの現在のディレクトリにコピーされるため,あらかじめ
cdでコピー先に移動しておく。# 例: 壁紙を追加する場合,先にコピー先へ移動する cd /usr/share/backgrounds - 依存関係の修復
パッケージ操作後に依存関係の問題が発生した場合に実行する。
apt -f install
カスタマイズ作業が終わったら「Next」をクリックする。
- パッケージリストの更新とアップグレード
- パッケージ一覧の確認(Packages ページ)
カスタマイズ後のファイルシステムに含まれるパッケージの一覧(マニフェスト)が表示される。ライブ環境のみに残すパッケージと,インストール後のシステムに残すパッケージを選択できる。
- カーネルなどの選択(Options ページ)
Kernel タブでは,ISO の起動に使用する Linux カーネルを選択する。Preseed タブでは自動インストール用の設定ファイル,Boot タブではブートローダの設定ファイルを編集できる。内容を変更する必要がない場合は,そのまま「Next」をクリックする。
- 圧縮方式の選択(Compression ページ)
ファイルシステムの圧縮に使うアルゴリズムを lz4,lzo,gzip,zstd,xz から選択する。既定は gzip である。lz4 に近いものほど処理は速く生成される ISO は大きくなり,xz に近いものほど処理は遅く ISO は小さくなる。
- ISO イメージの生成(Generate ページ)
「Generate」をクリックすると,カスタマイズ内容を反映した新しい ISO イメージファイルの生成が始まる。これには数分から数十分かかる場合がある。
- 完了の確認(Finish ページ)
生成が完了すると,作成された ISO ファイルのパスと,MD5 チェックサムファイルのパスが表示される。指定したプロジェクトディレクトリ内に,カスタマイズされた ISO イメージファイル(
*.iso)が作成されている。「Test」ボタンをクリックすると,QEMU エミュレータが起動して,生成した ISO のライブ環境を確認できる。「Close」をクリックすると Cubic を終了する。「Delete all project files...」にチェックを付けて終了した場合,ISO ファイルとチェックサムファイルは残るが,そのプロジェクトのカスタマイズを後から続けることはできなくなる。
できた ISO イメージファイルを使ってみる
作成したカスタマイズ ISO イメージが意図通りに動作するかを確認する。
Ubuntu Desktop 23.04 以降,および Ubuntu Server 21.10 以降では,インストーラの snap パッケージを含む overlay ファイルシステムにより,カスタマイズ内容の一部がライブ環境で見えないことがある。overlay ファイルシステムはインストール時にはコピーされないため,Terminal ページで行ったカスタマイズはインストール後のシステムに反映される。
◆ qemu を用いたシステム起動チェック
仮想環境で起動テストを行う。Cubic の「Test」ボタンで起動する QEMU エミュレータはディスクを持たないためインストールの確認はできないが,次の手順で仮想ディスクを用意すればインストールまで確認できる。
(/path/to/your/custom.iso は,作成した ISO ファイルのパスに置き換える。-m 4096 はメモリ割り当て量 (MB) の例であり,環境に合わせて調整する。)
# qemu-system-x86 と qemu-utils をインストール
sudo apt -y update
sudo apt -y install qemu-system-x86 qemu-utils
# 仮想ディスクイメージを作成 (テスト用,80G は例)
qemu-img create -f qcow2 cubic_test.img 80G
# 64 ビット Linux ISO の場合
qemu-system-x86_64 -enable-kvm -hda cubic_test.img -cdrom /path/to/your/custom.iso -boot d -m 4096 -usb
◆ ISO イメージファイルを VMware Workstation Pro / VirtualBox を使って起動
VMware Workstation Pro や VirtualBox でも起動テストができる。VMware Workstation Pro は,個人・商用のいずれの用途でも無償で利用できる。仮想マシンの設定で,作成した ISO イメージファイルを CD/DVD ドライブにマウントして起動する。仮想マシンの OS タイプは「Ubuntu (64-bit)」を選択する。
◆ Rufus や balenaEtcher を用いてライブ USB メモリを作成し,実機で起動
実機での動作確認を行う場合は,Rufus (Windows) や balenaEtcher (Linux, macOS, Windows) を使って,作成した ISO イメージファイルからライブ USB メモリを作成する。作成した USB メモリから PC を起動し,Ubuntu が起動すること,カスタマイズが反映されていることを確認する。
実機で起動しない場合は,PC 起動時に SHIFT キー(BIOS の場合)または ESC キー(UEFI の場合)を押しながら起動して GRUB メニューを表示し,「Advanced options for Ubuntu」からリカバリモード (recovery mode) を選んで起動を試す。リカバリモードでは,グラフィックスドライバやネットワークの問題を切り分けることができる。