mmdebstrapはdebootstrapライクなインターフェースを持つ,
debootstrapとmmdebstrap
Linux環境を構築する上で
世界に遍く存在する多種多様なソフトウェアをすべてひとつのルートファイルシステムに含めることは事実上不可能であり,
よって大半のLinuxディストリビューションは,
しかしながらコンテナ仮想化の普及によって,
コンテナ時代の初期から,
debootstrapは何もない状態から,
もともとdebootstrapは名前の候補に
- ※1
- ちなみに
『Software Design』 の読者ならすでにご存知のように, 本誌に隔月で掲載されている 「Debian Hot Topics」 の著者でもある 「やまね」 さんが最近のdebootstrapに深く関わっています。Debian系のユーザは, それだけでやまねさんもお世話になっているようなものなので, 今度あったときにはお礼を言ってみてはいかがでしょうか。
debootstrapは
前置きが長くなりましたが,
mmdebstrapのインストール
mmdebstrapは構築時にaptコマンドを活用することで,
結果的にdebootstrapよりも数倍速くなったり,
まずはmmdebstrapをインストールしましょう。mmdebstrapは比較的新しいパッケージのため,
- Ubuntu 19.
04, 19. 10, Debian 10:0. 4.1 - Ubuntu focal,
Debian testing:0. 5.1
今回はUbuntu 19.
Ubuntu 19.
$ sudo apt install mmdebstrap
LXD上でmmdebstrapを動かすには
ただ普段使っている環境はUbuntu 18.
LXDの初期設定については第521回~/rootfs/
」
$ mkdir $HOME/rootfs $ lxc launch ubuntu:19.10 mmdebstrap Creating mmdebstrap Starting mmdebstrap $ echo -e "both 0 0\nboth 1000 1000" | lxc config set mmdebstrap raw.idmap - $ lxc config device add mmdebstrap share disk source=$HOME/rootfs path=/home/ubuntu/rootfs Device share added to mmdebstrap
さらにdebootstram/
$ lxc config set mmdebstrap security.privileged true $ lxc config set mmdebstrap security.nesting true $ lxc restart mmdebstrap
このような設定だと,/etc/
」sudo
コマンドを実行できるようになっています。コンテナの扱いには十分に注意してください。
cloud-initなどを使わない場合,
LaunchpadにSSHの公開鍵を登録しているなら,
$ lxc exec mmdebstrap -- sudo -i -u ubuntu ssh-import-id lp:(LaunchpadのID)
GitHubに登録した公開鍵を利用したいのであれば,lp:
」lxc list
」