Ubuntu の最新の LTS 版となる 22.04 がリリースされました。
このリリースでは Preseed による OS インストールは完全にできなくなり、自動でインストールするにはブログでも以前紹介した Autoinstall を使う方法のみとなりました。
以前のブログでは、ユーザー作成が上手くいかず、late-commands で無理矢理設定していました。
今回は修正されているかも改めて確認してみました。
user-data の中身
を参考に設定します。
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntu-vm22
username: yasu
password: "$6$以下略"
ssh:
install-server: yes
authorized-keys:
- "ssh-ed25519 以下略"
allow-pw: true
packages:
- language-pack-ja
keyboard:
layout: jp
locale: en-US.UTF-8
refresh-installer:
update: yes
user-data:
timezone: "Asia/Tokyo"
disable_root: false
自動インストールの実施
user-data の渡し方として、PXE などネットワーク経由での方法もありますが、今回は手軽にできる、ISO ファイルを作成します。
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
前回の記事で紹介した Windows 版 QEMU(qemu-system-x86_64.exe)を使うと下記となります。
"C:\Program Files\qemu\qemu-system-x86_64.exe" ^
-accel hax -machine type=q35 -m 4096 ^
-cpu Skylake-Client-noTSX-IBRS -smp cpus=1,cores=3,maxcpus=3 ^
-vga virtio -display gtk,show-cursor=on -rtc base=utc ^
-device intel-iommu -k jp106 -net nic,model=virtio -net user ^
-cdrom ubuntu-22.04-live-server-amd64.iso ^
-drive file=ubuntu22.qcow2,if=virtio ^
-drive file=seed.iso,if=virtio
VirtualBox や VMware の場合、
- ubuntu-22.04-live-server-amd64.iso
- seed.iso
の順でマウントして仮想マシンを起動させます。
grub のオプションに「autoinstall」を追記するとスムーズにインストールできるかと思います。
動作確認
identity username, password などのユーザー作成
ユーザの作成、パスワード、SSH については下記を設定しています。
identity:
username: yasu
password: "$6$以下略"
ssh:
install-server: yes
authorized-keys:
- "ssh-ed25519 以下略"
allow-pw: true
Ubuntu 20.04 ではこれらが設定されず、late-commands で流し込んでいましたが、
パスワード、SSH キーともに正常に設定されたことを確認しました。
システムロケール設定
システムロケールは下記を設定しています。
keyboard:
layout: jp
locale: en-US.UTF-8
ただ、実際はキーボードは正常に設定された物の、システムロケールは Ubuntu 20.04 同様、正常に設定されませんでした。
$ localectl
System Locale: LANG=C.UTF-8
VC Keymap: n/a
X11 Layout: jp
X11 Model: pc105
タイムゾーン設定
タイムゾーンは下記を設定しています。
user-data:
timezone: "Asia/Tokyo"
Ubuntu 20.04 とは異なり、正常に設定されたことを確認しました。
$ timedatectl status | grep zone
Time zone: Asia/Tokyo (JST, +0900)
まとめ
Autoinstall YAML により OS のインストールを簡単に自動化できることを確認しました。
以前 Ubuntu 20.04 で検証したときよりも、より挙動が安定しており安心して使えそうです。
依然として、言語設定といったリファレンスに書かれているものも、正常に動作しない部分もありましたが、 late-commands でコマンドを流し込むことも可能なので、工夫次第でなんとかなりそうです。