blog.monophile.net

コンピュータに関するメモ。

著者

山本一彰(Takaaki Yamamoto)

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 2015年にコンビネータ論理を基に計算完備な計算手法 "論理珠算"を開発し、 それを含む体系である"算道"を構成した。 その成果により、2016年に 第19回 文化庁メディア芸術祭 アート部門 新人賞 (文部科学大臣賞) を受賞。 現在はSRE(サイト信頼性エンジニア)として生計をたててている。

投稿

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