Ab.の日記: FreeBSD-5 的 jail filesystem tree の作り方
D="/home/jail/foo"
mkdir $D
cd $D
mtree -deU -f /etc/mtree/BSD.root.dist -p $D
mtree -deU -f /etc/mtree/BSD.var.dist -p $D/var
mtree -cdi -p /etc | mtree -deU -p $D/etc/
/home/jail/etc.dist を作る
cd /usr/src/etc
make DESTDIR=/home/jail/foo distribution
mv /home/jail/foo/etc /home/jail/etc.dist
/etc/fstab に追加
/bin /home/jail/foo/bin nullfs ro 0 0
/lib /home/jail/foo/lib nullfs ro 0 0
/libexec /home/jail/foo/libexec nullfs ro 0 0
/sbin /home/jail/foo/sbin nullfs ro 0 0
/stand /home/jail/foo/stand nullfs ro 0 0
/usr /home/jail/foo/usr unionfs rw,-b 0 0
/var/empty /home/jail/foo/usr/src nullfs ro 0 0
/var/empty /home/jail/foo/usr/ports nullfs ro 0 0
/home/jail/etc.dist /home/jail/foo/etc unionfs rw,-b 0 0
/usr 以下が共用されているので /usr/local/etc/rc.d/ 以下のスクリプトが全部走っちゃいますが、rcng に対応しているスクリプトだったら jail 下の /etc/rc.conf をいじって止めて(というかデフォルトで止まってる)、そうでなければ rm するなり chmod a-x するなりで。
ports, packages 等は一番てっぺんの環境で仕込めば自動的に全部の jail に行き渡るのが便利です。disk も全然消費しないし。
FreeBSD-5 的 jail filesystem tree の作り方 More ログイン