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 # 创建所需 jail 路径
# 然后放入基本目录
# 将 ports 和源码放入模板
# git clone --filter=tree:0 https://mirrors.ustc.edu.cn/freebsd-ports/ports.git /jail/mroot/usr/ports # 拉取 freebsd-ports Git
# cpdup /usr/src /jail/mroot/usr/src # 需要提前获取源码,且要注意源码对应的版本要与 /jail/mroot 的版本相同将可写部分连接到可写目录位置
创建框架目录
使用 etcupdate 同步系统配置文件:
设置 Port 构建工作目录前缀:
创建数据目录
该步骤用于复制一份框架目录作为数据目录。
创建项目目录
创建 fstab 文件
编辑 /jail/www.fstab 文件:
jail.conf 文件配置示例
jail.conf 文件配置示例最后更新于
这有帮助吗?