11.2 更新 jail
如果要同时管理多个 jail,那么在更新 jail 的时候就要对每个 jail 单独进行一遍操作。通过建立统一的模板,可以让所有 jail 共用一个基础环境,同时拥有各自的可写空间,互不干扰。
本文将建立以下的目录结构:
/jail/mroot是模板,是所有 jail 的共用只读部分,在本例中将被挂载到/jail/www。/jail/skel是框架,方便创建 jail,本身并不为任何 jail 使用。/jail/www是 jailwww运行的根目录,也是只读模板的挂载点,本身是个空目录。/jail/www/s是 jailwww的可写部分的挂载点,也是个空目录。/jail/files/www是 jailwww的可写部分的实际存放位置,将被挂载到/jail/www/s。
如果要创建多个 jail,则重复创建数据目录和项目目录,这样所有的 jail 都会共用 /jail/mroot。
需要安装 cpdup
使用 pkg 安装
# pkg install cpdup使用 Ports 安装:
# cd /usr/ports/sysutils/cpdup/
# make install clean创建模板目录
# mkdir -p /jail/mroot
# 然后放入基本目录
# 将 ports 和源码放入模板
# git clone --filter=tree:0 https://mirrors.ustc.edu.cn/freebsd-ports/ports.git /jail/mroot/usr/ports
# cpdup /usr/src /jail/mroot/usr/src # 需要提前获取源码,且要注意源码对应的版本要与 /jail/mroot 的版本相同将可写部分连接到可写目录位置
创建框架目录
使用 etcupdate 安装缺少的配置文件。
为 make 创建通用配置文件
创建数据目录
就是复制一份框架
创建项目目录
创建 fstab
写入 jail.conf
最后更新于
这有帮助吗?