debootstrap で Ubuntu のイメージを作成し、machinectl で立ち上げる
概要
debootstrap で rootfs を作って、 machinectl で立ち上げるまでをやってみました。
debootstrap
$ sudo debootstrap --include=linux-image-generic,grub xenial xenial.tgz http://ubuntutym.u-toyama.ac.jp/ubuntu
$ sudo tar czvf xenial.tgz -C xenial .
$ sudo machinectl import-tar xenial.tgz xenial00
イメージが登録されていることが確認できる。
$ sudo machinectl list-images
NAME TYPE RO USAGE CREATED MODIFIED
xenial00 subvolume no 754.2M Thu 2017-02-09 16:10:00 JST n/a
systemd-nspawn で下準備
debootstrap
をしたままのイメージでは machinectl login
できないので下記を行う。
- rootパスワード設定
- DNSの設定
- DBUSのインストール
- pts/0を有効にする
$ sudo systemd-nspawn -M xenial00
root@xenial00:~# passwd
root@xenial00:~# rm /etc/resolv.conf && echo "nameserver 8.8.8.8" >> /etc/resolv.conf
root@xenial00:~# apt update && apt install dbus
root@xenial00:~# echo pts/0 >> /etc/securetty
終わったら “^]” を3回押して systemd-nspawn 上のシェルから抜ける。
machinectl start & login
上記までで、machinectl
をつかってインスタンスが立ち上げられる状態になる。
$ sudo machinectl start xenial00
$ sudo machinectl login xenial00