如何升级FreeBSD Jail(操作系统级虚拟化)
时间:2020-01-09 10:39:49 来源:igfitidea点击:
问题描述:Ive FreeBSD Jail已按照使用make world选项的手册页中的说明进行了配置。
现在,我已经将我的基本FreeBSD 7.0系统升级到FreeBSD 7补丁程序级别4。
如何升级我的Jail(FreeBSD VPS),以便使所有内容都在 Jail中得到更新?
解决方法:FreeBSD Jail机制是操作系统级虚拟化的一种实现,它允许管理员将基于FreeBSD的计算机系统划分为几个独立的微型系统,称为" Jail"。
FreeBSD Jail提供安全性,易于委派和操作系统级别的虚拟化。
要使用make world升级您的 Jail,请使用以下命令。
步骤1:建立世界
请按照此教程升级正在运行的系统。
完成后,执行以下命令来构建 Jail世界:
警告!有多种创建和升级 Jail的方法。
此方法使用make world升级方法,因为使用make build本身创建了原始 Jail。
# JAIL=/path/to/jail
或者
# JAIL=/usr/home/jail/192.168.1.10 # cd /usr/src # make buildworld DESTDIR=$JAIL
请注意,如果您以前刚刚完成过buildworld,则可以进行installworld并节省时间。
步骤2:停止 Jail服务
执行以下命令以停止所有 Jail:
# /etc/rc.d/jail stop
步骤3:升级 Jail
执行以下命令以停止所有 Jail:
# cd /usr/src # make installworld DESTDIR=$JAIL # mergemaster -i -C -D $JAIL
如果您有多个 Jail,请重复上述步骤。
您也可以尝试以下操作:
# JPATHS="/jail/path1 /jail/path2 /jail/path3" # for j in $JPATHS; make installworld DESTDIR=$j; done
步骤4:启动所有 Jail
执行以下命令:
# /etc/rc.d/jail start
确保一切都在运行:
# jls
尝试从主机本身连接到名为www.example.com的 Jail,其 JailID为20:
# jexec 20 sh # hostname # sockstat
尝试在 Jail中升级FreeBSD端口:
# portsnap fetch update # portversion -l '
从 Jail退出并返回主机:
# exit