自分専用のUbuntu ISOを作成:Cubicで50台のPCを1台並みの速さでデプロイする

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

午前2時の「手動インストール」という悪夢

想像してみてください。深夜、上司から「明日の朝までに新入社員20名分のPCを用意してくれ」とメッセージが届きました。すべてのラップトップにUbuntu 22.04をインストールし、Wi-Fiドライバー、VS Code、Docker、そして社内VPNを完備させる必要があります。もし1台ずつUSBを挿してapt installを叩いていたら、間違いなくオフィスで朝日を拝むことになるでしょう。

私がCentOSからUbuntuに移行したばかりの頃、ワークステーションの構成を統一するためだけに丸1週間を費やしたことがあります。自動化ツールがなければ、それは非常に頭の痛い問題です。そんなときに見つけたのが、Cubic (Custom Ubuntu ISO Creator)でした。これは単なるツールではなく、すべてを1つのISOファイルにパッケージ化してくれる救世主です。インストールが終わればすぐに使え、追加のコマンド設定は一切不要になります。

Cubicとは何か、なぜシステム管理者に必要なのか?

Cubicは、オリジナルのUbuntu ISOファイルを自分好みにカスタマイズするためのグラフィカルなアプリケーションです。通常のUSBブート作成ツールとは異なり、Cubicはchroot環境に入ることができます。ここでは、実際のOSを操作しているかのように振る舞えます。ソフトウェアのインストール、システムファイルの修正、壁紙の変更など、自由自在です。

作業が完了すると、Cubicはすべての変更を新しいISOファイルとしてパッケージ化します。この方法は、インストール後にBashスクリプトを実行するよりもはるかに安全です。ISOを展開した後のすべてのコンピュータは、その時のネットワーク速度に関わらず、100%同一の状態になります。

実践:企業向け標準Ubuntu ISOを作成する5つのステップ

ステップ1:ワークステーションにCubicをインストールする

開始するには、Ubuntuが動作しているPC(または仮想マシン)が必要です。ファイル権限のエラーで苦労しないよう、WSL経由のWindowsでの作業は避けてください。ターミナルを開き、Cubicの公式PPAを追加します。

sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install cubic

ステップ2:プロジェクトの初期化とベースISOの選択

少なくとも40GB以上の空き容量がある作業ディレクトリを用意してください。CubicはここにISOファイルの内容をすべて展開するため、ストレージ容量は非常に重要です。Cubicを開き、このディレクトリを選択して、ベースとなるUbuntuのISOファイル(例:ubuntu-22.04.3-desktop-amd64.iso)を指定します。

後でバージョン管理がしやすいように、ビルド名をUbuntu-Enterprise-v1などに変更しておくことをお勧めします。

ステップ3:Chroot環境 — カスタマイズのメイン作業場

「Next」をクリックすると、Cubicはroot権限を持つターミナルウィンドウを表示します。ここがカスタマイズの核心部分です。最初に行うべきことは、常にパッケージリストの更新です。

apt update

次に、標準的な業務ツールセットをインストールしましょう。例えば, 私はよく以下のコマンドでChrome、VS Code、Dockerをインストールします。

# 基本ツールのインストール
apt install -y curl wget git vim net-tools

# Google Chromeのダウンロードとインストール
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install -y ./google-chrome-stable_current_amd64.deb

# Docker Engineのインストール
apt install -y docker.io

ステップ4:ドライバーの統合とデフォルト設定

会社でDell XPSやThinkPadなどの特定のモデルを使用している場合は、ファームウェアファイルを/lib/firmwareにコピーしてください。これにより、Wi-Fiやタッチパッドがインストール直後から動作するようになります。社内DNSをあらかじめ設定するには、設定ファイルを直接編集します。

nano /etc/resolv.conf
# ここに企業のDNSを追加

ちょっとした、しかし非常に効果的なヒント:/etc/skelディレクトリを活用しましょう。ここに配置したすべてのファイルは、新しいユーザーのホームディレクトリに自動的にコピーされます。これは、ブラウザのブックマークをプリセットしたり、プロフェッショナルな.zshrc設定を配布したりするのに最適な方法です。

ステップ5:ISOの圧縮形式を選択して書き出し

設定に満足したら、「Next」を押します。Cubicから圧縮形式の選択を求められます。インストール速度を優先する場合はgzipを、Google Driveにアップロードするためにファイルサイズを小さくしたい場合はxzを選択してください。ただし、xzはビルドにかなり時間がかかることに注意してください。

トラブルシューティング:ISOファイルが8GBを超えてしまった場合

ソフトウェアを入れすぎてISOファイルが8GBを超え、通常のUSBメモリに書き込めなくなったことがありました。これを避けるには、パッケージ化する前に徹底的にクリーンアップする必要があります。Chroot環境で以下のコマンドを実行してください。

apt clean
apt autoremove
rm -rf /tmp/*
rm *.deb

aptのログファイルやキャッシュは、数百MBの無駄な容量を占有することがあります。これらを削除して、ISOファイルをできるだけ軽量に保ちましょう。

まとめ

CubicでカスタムISOを作成することで、PC1台あたりのインストール時間を約45分短縮できます。退屈な作業を繰り返す代わりに、その時間をシステムの最適化に充てましょう。1つのISOファイルとVentoyのようなツールがあれば、数十台のPC展開も軽快な作業に変わります。ぜひ、納得のいく自分専用ISOをビルドしてみてください!

Share: