-- hd [2004-08-08 18:23:24]
Contents
jail十全大补丸
只是简单的使用jail会发现许多的不方便,哪么bsder们很早就给你准备了一堆增强工具,让jail的应用更加灵活。从而极大的提高了jail应用的方便程度。
jailer
使用jailer可以让你更好的管理vhost。使用方法是在安装好后的vhost中安装jailer:
cd /usr/ports/sysutil/jailer make install make clean
这样在你的vhost中就有了/usr/local/sbin/jailer应用程序。 启动vhost的脚本由
jail path hostname ip-number /bin/sh /etc/rc
变为
jail path hostname ip-number /usr/local/sbin/jailer
这样就可以发现在启动的进程中有一个jailer的进程,你可以用kill来重启和关闭一个jail的vhost了。
jailutils
使用了jailer后管理jail还是比较麻烦,jailutils帮助你更简单的在host中管理vhost。这里需要注意,jailer是运行在vhost中的,而jailutils是运行在host中的。
在host中安装jailutils:
cd /usr/ports/sysutils/jailutils make install make clean
安装后你可以使用jstart来启动一个vhost了(这是使用jailer来启动):
jstart path hostname ip-number /usr/local/sbin/jailer
可以通过jails工具查看现在运行了哪些vhost:
jails mailtest.huandong.com zxtest.huandong.com fxhtest.huandong.com devtest.huandong.com
这时你就可以通过killjail来停止一个vhost:
killjail devtest.huangdong.com
是不是很简单呢?
vhost中ports的共享
在安装后的vhost中如果不能使用ports是一个非常沮丧的事,而给每个vhost装一份ports更是资源的不充分利用。我使用mount_null来解决这个问题。 我在host中建立了一个目录/data/sys/ports,放所有vhost以及host所使用的ports目录放在里边。为了能让vhost使用这个目录,我们需要使用mount_null来连接到vhost中去,使用ln会让vhost找不着这个目录的:
mount_null /data/sys/ports /data/vhost/mailtest/usr/ports