概要
さくらのクラウドで、 netboot.xyz ISO イメージを使い、Ubuntu 22.04 LTS を比較的手軽にセットアップする手順をまとめました。
netboot.xyz を使う理由
2022年4月にリリースされた Ubuntu 22.04 LTS (Jammy Jellyfish) を使うには、さくらのクラウド上では現時点ではパブリックアーカイブが提供されていないため、ISO イメージ機能 を使ったインストールが必要です(さくらのクラウドの「サーバ」では CD-ROM を扱うように、ISO イメージを取り付けたり取り外したりする機能があります)。
この ISO イメージ機能を使うには、手元の PC 上に ISO イメージをダウンロードするか、あるいは、どこかのサーバ上に ISO イメージの準備が必要です。さらに、さくらのクラウドの ISO イメージにアップロードする必要があります。
ISO イメージをネット上で探し出し、入手するだけでも手間となるのですが、回線状況によっては、ダウンロードやアップロードだけでも時間がかかってしまいます。
この面倒さを回避できるのが netboot.xyz です。netboot.xyz を使えば、ネットワーク経由で任意の Linux ディストリビューションや FreeBSD の ISO イメージをダウンロードできるだけでなく、ダウンロードした ISO イメージをメモリ空間上にマウントするため、そのまま OS のインストーラーの起動やセットアップ作業が行えます(一方で、セットアップ時の注意点として、 OS のインストーラーが必要とするメモリの確保が必要です)。
また、この netboot.xyz は、さくらのクラウドのパブリック ISO として登録されています。自分で netboot.xyz の ISO を準備することなく、すぐに利用できる利点があります。
なお、本記事は Ubuntu Server 22.04 をインストールしていていますが、netboot.xyz を使えば、AlmaLinux や Rockly Linux 等々の 67 ものディストリビューションや、その他ツール類のセットアップができます( FAQ を参照ください)。
Ubuntu Server 22.04 LTS インストール手順
サーバに netboot.xyz の ISO イメージを付けて新規作成
まず、サーバを作成します。さくらのクラウド(IaaS) のメニュー「サーバ」をクリックし、「追加」ボタンをクリックします。
次に「シンプルモード」にチェックが入っている場合は、クリックしてチェックを外します。チェックが外れていれば、今回使いたい「ISOイメージ」を使ったサーバの起動が可能です。
次に、「サーバプラン」の「仮想コア」と「メモリ」を設定します。仮想コアは1つでも動きます。 メモリは、3GB 以上 必要です。
(2GB 以下では、Ubuntu 22.04 LTS のインストーラーが Out of memory
や Load AppArmor profiles managed internally by snapd.
の途中で止まり、インストールできません)。
なお、ここで指定したメモリは、セットアップ後に「プラン変更」機能で変更できます。
それから、画面をスクロールし、「ディスク」の設定を netboot.xyz 経由で起動する設定にします。
- ディスクソース…「 ブランク(空のディスク) 」
- ディスクサイズ…デフォルトは 20GB ですが、必要に応じて容量を変更できます
- ISO イメージを使う…「 netboot.xyz 」を選択
それから、さらに画面を下にスクロールし、「サーバ名」(コントロールパネル上で表示される名前)に「ubuntu」などを入力し、右下の「作成」ボタンをクリックし、確認画面でも「作成」をクリックます。
あとは、サーバが作成されるまで待ちます。ステータスがすべて成功となれば、「閉じる」をクリックします。
netboot の起動と Ubuntu Server 22.04 の選択
サーバ一覧に、作成したサーバが表示されます(この例では「ubuntu」)。対象サーバをダブルクリックし、メニュー上の「コンソール」タブをクリックします。
コンソール画面上の黒い部分をマウスでクリックします(クリックしないと、キーボードからの入力を受け付けません)。
それから、キーボードのカールキーを使って、以下の項目にカーソルをあわせ、エンターキーを押します。
1.「 Linux Network Installs (64-bit) 」
2.「 Ubuntu 」
3.「 Ubuntu S22.04 LTS Jammy Jellyfish 」
4.「 Install 」
それから、ネットワークを経由して ISO イメージのダウンロードが始まります。
Ubuntu のインストーラー画面が出るまで待ちます。ISO のネット経由ダウンロードは約2分、 Load AppArmor profiles managed internally by snapd
の処理でも2分ほど固まっているかのように見えますが、そのまま待ちます(ここで一旦、休憩にされてはいかがでしょう)。
暫く待つと、下図のようにインストーラーが起動します。この画面がでたら、通常の Ubuntu 22.04 LTS の設定手順と変わりません。
ちなみに、この画面で「Alt+F2」で tty2 に切り替え、Ubuntu Server 22.04 のコマンド操作も行えます。これは、メモリ容量を確認している様子。元に戻るには「Alt+F1」です。
Ubuntu Server のセットアップ
以降は、インストーラーでの操作手順を紹介します。
インストーラーの言語選択「Use UP, DOWN and ENTER keys to select your language」では、「English」を選びます(エンターキーを入力)。
次に、キーボードレイアウトの選択です 「English」 のままか、日本語キーボードの場合は Layout: を「Japanese」にします。
カーソルキーの上下、もしくはタブキーでカーソルを「Done」に移し、エンターキーを押します(ブラウザの表示範囲が狭いと、コンソールの下が見えづらいかもしれません。画面を下にスクロールしたり、ポップアップ機能をお試しください)。
次の Choose type of install
では、通常インストールか最小インストールかを選びます。この手順は「Ubuntu Server」にチェック(X印)が入ったまま「Done」をクリックします(もちろん、必要に応じて minimized でも構いません)。
次の Network connections では、そのまま「Done」を選びます。さくらのクラウドのサーバは DHCP 機能に対応しているため、自動的にサーバに割りあてられたパブリックの IP アドレスを認識します。また、スイッチ配下であれば、ここで IP アドレスを固定しても構いません。
次の Configure proxy では、プロキシ設定が必要な場合に記述します。さくらのクラウドのパブリック環境であれば、不要です。そのまま「Done」を選びます。
次の Configure Ubuntu archive mirror (ミラー選択)では、自動的に国内ミラーが参照されますので、そのまま「Done」を選びます。
その次の Guided storage configuration ではストレージ領域の設定です。この画面ではデフォルトの 20GB ディスク全体を使います。「Done」を選びます。
パーティションレイアウト確認も、問題無ければそのまま「Done」を選びます。
そして、ディスク内容をフォーマット(初期化)する確認画面では「Continue」を選びます。
その次の画面では、サーバ名、ユーザ名とパスワードを入力して、「Done」を選びます。
SSH Setup では、リモートから SSH で入るため「Install OpenSSH server」の列で「エンターキー」を押し「X」(チェック)を付けます。また、安全度を高めるために GitHub 等の公開鍵を設定することもできます。リモートからの作業前提であれば、ここで設定しておくと、セットアップ直後からサーバにすぐログインできるので便利です。下図では「Allow password authentication over SSH」のチェックも外れ、パスワード認証を許可していません。
SSH鍵を設定した場合、Confirm SSH Key で内容を確認し、「Yes」を選びます。
その次の Features Server Snaps とあり、必要があればここでパッケージのセットアップも可能です。必要があれば選択するか、あるいは、何も選択せずに「Done」を選びます。
あとは、インストールが始まります。完了するまで待ちます。
このような状態になれば、完了です。
また、netboot.xyz のパブリック ISO からインストールしている場合、この時点で ISO を取り外します。そうしないと、正常に終了できません。
最後に「Reboot Now」を選択します。
あとは、再起動が終われば、セットアップが完了した Ubuntu Server 22.04 LTS が利用できます。
Enjoy!
参考資料・リファレンス
- https://netboot.xyz/
- https://github.com/netbootxyz/netboot.xyz
- Frequently Asked Questions (FAQ) | netboot.xyz