2009年6月4日木曜日

lxc のインストール

順序がおかしいけど debian/lenny で git リポジトリからのインストールをちょっと jot。
debian/sid ではパッケージ化されていて、依存関係眺めると libc6-dev の他は libcap2-dev と libcap2-bin があれば OK。マニュアル作成に docbook-utils が必要だけど tex 関連の依存大きいので割愛。カーネルは 2.6.30-rc では
CONFIG_CGROUP_NS=y
....
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
....
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
最後は先日の /dev/pts のお話。git リポジトリは大元参考にして....
#  git-clone git://lxc.git.sourceforge.net/gitroot/lxc 
Initialized empty Git repository in /opt/src/lxc/.git/
remote: Counting objects: 2234, done.
remote: Compressing objects: 100% (1099/1099), done.
remote: Total 2234 (delta 1740), reused 1461 (delta 1123)
Receiving objects: 100% (2234/2234), 559.49 KiB | 125 KiB/s, done.
Resolving deltas: 100% (1740/1740), done.
# ls
lxc
# cd lxc
# ls
AUTHORS configure.ac doc lxc.spec.in NEWS scripts TODO
autogen.sh CONTRIBUTING etc MAINTAINERS README src
config COPYING INSTALL Makefile.am RELEASE-NOTES test
# ./autogen.sh
....
# ./configure --prefix=/usr/local && make && make install
....
# lxc-setcap -h
lxc-setcap [-d] : set or remove capabilities on the lxc tools
libcap2 関係入れある lxc-setcap で root でなくても動かせるらしいけど、面倒なのでそのまま。先にネットワーク周り。後の lxc-sshd にて名称 br0 は固定なので
# brctl addbr br0
# brctl stp br0 off
# ip addr add 192.168.1.1/24 dev br0
# ip link set br0 up
その後 lxc-sshd
# lxc-sshd -h
Usage: /usr/local/bin/lxc-sshd {create|destroy|help}
# lxc-sshd create
What is the container name ? [sshd] tetest
What hostname do you wish for this container ? [tetest] tetest
What IP address do you wish for this container ? [172.20.0.20/24] 192.168.1.100/24
Done.

You can run your container with:
'lxc-execute -n tetest /usr/sbin/sshd &'

# lxc-execute -n tetest /usr/sbin/sshd
/usr/local/libexec/lxc-init: error while loading shared libraries: liblxc-0.6.2.so: cannot open shared object file: No such file or directory
むーん、見事に動かず。長くなったので続きは次のエントリで。

1 件のコメント:

chamaken さんのコメント...

STP を無効にするだけでは待たされてしまうので Forwarding Delay? を 0 に設定しておいた方が良いです。

# brctl br0 setfd 0