トップ «前の日記(2012-02-07(Tue)) 最新 次の日記(2012-03-01(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2012-02-21(Tue) まだ、普通に「寒い」が、夜明けが早く、日暮れは遅くなった気がする

lxc on Debian Squeeze

lxc を試す。概念としてはFreeBSDのjail(8)と似たようなものか。

debian wiki を斜め読みして、必要なパッケージ(lxc とか iprote とか debootstrap とか) をぶち込み、lxc-create -n $CONTAINER -t debian とコマンドを叩く。

debootstrap がシステムを構築してくれたので、lxc-start -n $CONTAINER する。
パスワードは作成時に出た通り。しかしなにげに/etc/apt/sources.listを見て、 システムがlennyになってることに気づく。

lxc-create はシェルスクリプトだった。これから -t オプションで 用意されたパッケージを入れるらしい。-t debian の場合は /usr/lib/lxc/templates/lxc-debian がそれをやってくれるようになる。

$ grep -n lenny /usr/lib/lxc/template/lxc-debian
113:    lenny $cache/partial-$arch http://ftp.debian.org/debian

s/lenny/squeeze/ する。これでいいはずだ。
しかし、もう一度実行してみても、出来たのはやっぱりlenny。
最初よりずっと早く出来た。ことの意味合いには、すぐには思い当たらなかった。
/var/cache/lxc/debian に lenny があり、それをコピーしていたというわけだ。

それを消すと、今度は、

I: Checking component main on http://ftp.debian.org/debian...
E: Couldn't find these debs: dhcp-client
Failed to download the rootfs, aborting.
Failed to download 'debian base'
failed to install debian
failed to execute template 'debian'

squeeze なマシンで dpkg -l | grep dhcp すると、 isc-dhcp-client が使われている。パッケージ名が 変っていたようだ。

$ grep -n dhcp-client /usr/lib/lxc/template/lxc-debian
93:dhcp-client,\

ここをisc-dhcp-clientと書き換えて、無事にsqueezeが入った。

あと、ネットワーク。
同じLANから独立したIPノードとして見られるように、ホスト側 の/etc/network/interfaces を

uto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports eth0

のように、そして/var/lib/lxc/$CONTAINER/config に

lxc.utsname = $HOSTNAME
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0

を追記すると、LANの他のホストからも、一つのノードとして見えるようになった。

NATにする方法は、えーと。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。