[Plamo] (メモ) Plamo Linux で非特権コンテナ
lxc-create までは確認.
- shadow-4.1.5.1 に userns 関連のパッチを当ててインストール (Ubuntu の patch を全部当ててみた)
- lxc-usernsexec とかで上記パッチで生成されるコマンドを使用する
- 何も考えずに全部のパッチを当てたので /etc/login.def の FAIL_DELAY をコメントアウトしないとダメ (PAM を使う場合そっちで同じこと出来るだろ,的? なパッチが当たってる < userns 関係ないから当てなくても良い)
- lxc は git の最新
XDG_RUNTIME_DIR を設定しないとダメ (とりあえず /tmp)(2014-02-19 更新: このコミット で XDG_RUNTIME_DIR が設定されてなくても問題なくなっているはず.但し $HOME が設定されてないとダメ)設定しないと '/run' になってしまい /run/lxc 以下に書き込み権がないから失敗- Ubuntu Trusty 上だと /run/user/1000 (uid:1000 な人) になっていた.誰が作成して設定してるのかは知らん)
これで
$ export XDG_RUNTIME_DIR=/tmp $ sudo usermod -v 100000-199999 -w 100000-199999 karma $ cat .config/lxc/default.conf lxc.id_map = u 0 100000 10000 lxc.id_map = g 0 100000 10000 lxc.network.type=veth lxc.network.link=lxcbr0 lxc.network.flags=up $ lxc-create -t download -n p1 -- -d ubuntu -r trusty -a amd64 --no-validate $ find ~/.local/share/lxc/ /home/karma/.local/share/lxc/ /home/karma/.local/share/lxc/p1 /home/karma/.local/share/lxc/p1/rootfs /home/karma/.local/share/lxc/p1/rootfs/boot /home/karma/.local/share/lxc/p1/rootfs/etc /home/karma/.local/share/lxc/p1/rootfs/etc/mailcap.order (snip) $ ls -l .local/share/lxc/p1/ 合計 8,192 -rw-r--r-- 1 karma 100000 635 1月 17日 20:32 config drwxr-xr-x 21 100000 100000 4,096 1月 17日 13:49 rootfs/
こんな感じで非特権コンテナ作成完了.多分,必要な cgroup を root 権限で作ってあげれば,普通に lxc-start すれば起動すると思うけど,まだそこまで試してません (時間切れ).
またちゃんと書きます.