Ubuntuには様々なインストール手段が用意されていますが、今回はネットワークからインストーラを起動するnetbootインストールの活用の仕方を紹介します。インストールメディアを用意する必要がないため、クライアントマシンの台数が多い企業や学校などで有効に活用できるでしょう。またCDドライブを持たないUMPC等のインストールにも便利です。
インストールサーバの構築
netbootインストーラを使用するためには、ネットワークからクライアントを起動させるためDHCPサーバとTFTPサーバの役割を担うマシンが必要になります。またインストールの対象となるマシンはPXEでのブートに対応している必要があります。
まずサーバとなるマシンを用意します。筆者は自宅にUbuntu 8.04 サーバ版をインストールしたマシンを用意し、インストール用のサーバとして利用しています。
DHCPとTFTPのサーバとして動かすため、以下のコマンドを実行してパッケージをインストールします。DHCPサーバを新規に立ち上げる都合上、ネットワーク上に既存のDHCPサーバがある場合は停止させておく必要があります。ブロードバンドルータなどがDHCP機能を持っている場合は注意してください。
/etc/dhcp3/dhcpd.conf にDHCPサーバの設定を記述します。以下はルータ兼DNSが192.168.1.1、自分自身(DHCP,TFTPサーバ)が192.168.1.2のアドレスを持っている場合の例です。domain-name-serversにはDNSサーバ、next-serverにはTFTPサーバのIPアドレスをそれぞれ指定してください。この例ではDHCPサーバとTFTPサーバを同一のマシンで動作させていますが、別マシンで動作させているTFTPサーバを指定することも可能です。詳しくはdhcpd.confのマニュアルを参照してください[1]。
次にTFTPサーバの設定を行います。tftpdをデーモンとして動作させるため、/etc/default/tftpd-hpaファイルを以下のように編集します。
設定が完了したら、以下のコマンドでサービスを立ち上げておく必要があります。
インストーラの取得と配置
次にnetbootインストーラを、tftpdが使用するディレクトリに配置します。i386版のUbuntu 8.10のインストーラを以下のアドレスより取得してください。
なお他のアーキテクチャや他のバージョンのインストーラが必要な場合は、http://archive.ubuntu.com/ubuntu/dists/(バージョン名)/main/installer-(アーキテクチャ名)/current/images/netboot 以下で配布されています。
インストーラのtar.gzを取得したら、/var/lib/tftpbootに展開します。
この状態でクライアントマシンをPXEブートさせると、DHCPサーバからIPアドレスを取得した後にdhcpd.confで設定したpxelinux.0ファイルが読み込まれ、下図のようなインストーラが起動します。後はインストーラの指示通りにインストールを進めていくことになります[2]。
apt-mirrorによるミラーの構築
netbootによるネットワークインストールはCDドライブを持たないマシンへのインストールにも便利ですが、やはり最もその威力を発揮するのは企業内などで複数のクライアントをセットアップする時でしょう。ですがnetbootインストールはインストールCDを使わないため、必要なパッケージは全てインストール中にインターネットを経由して取得する必要があります。複数のマシンが同じパッケージをダウンロードするのは無駄ですし、ネットワークにも不必要な負荷をかけてしまうことになります。
ここではLAN内にミラーサーバを構築し、ローカルなサーバからインストールを行う方法を紹介します。
ミラーサーバの構築
まずミラーを作成するため、以下のコマンドでapt-mirrorをインストールします。
/etc/apt/mirror.listファイルを編集します。以下は8.10のインストールを行うため、i386のmainとrestrictedのミラーを作成する例です。この例では/share/apt-mirror以下にミラーが作成されますので、別のパスに作成したい場合はbase_pathのパスを適時変更してください。またuniverseやmultiverseのミラーも作成したい場合は、必要に応じて記述を追加してください。
以下のコマンドを実行することでミラーの作成が実行されます。
ミラーサーバの公開
前節の設定でミラーを作成すると、/share/apt-mirror/mirror/jp.archive.ubuntu.com/ubuntuというディレクトリが作成されているはずです[3]。クライアントがここからパッケージをダウンロードできるよう、HTTPサーバを使用してこのディレクトリにhttpでアクセスできるようにする必要があります。
まず、以下のコマンドでApache2をインストールしてください。
Webサーバが動作したら、/share/apt-mirror/mirror/jp.archive.ubuntu.com/ubuntuがhttp://サーバのアドレス/ubuntuというurlでアクセスできるよう、Apacheの設定を行ってください。UbuntuのApacheはデフォルトで/var/www以下をルートとして公開していますので、以下のコマンドでリンクを張ってしまうのが一番簡単でしょう。
httpでミラーのリポジトリへアクセスできるようになったら、インストール時にミラーのIPアドレスを明示的に指定することで、ミラーからパッケージの取得が行えるようになります。下図の画面で「情報を手動で入力」を選択し、ローカルミラーのIPアドレスを指定してください。