chroot
这一章将为您介绍 FreeBSD jail 是什么, 以及如何使用它们。 Jail, 有时也被认为是对 chroot 环境 的一种增强型替代品, 对于管理员而言是非常强大的工具, 同时, 它的一些基本用法, 对高级用户而言也相当有用。 jail 是什么, 以及它在您安装的 FreeBSD 中所能发挥的作用
Linux 容器提供了轻量级虚拟化方法,可在单台主机上同时运行多个虚拟环境(容器)。这与 chroot 环境类似。容器通过内核控制组 (cgroup) 和内核名称空间进行隔离
最近需要一个环境调试一些非 x86 的二进制和学习一下其他体系架构的汇编,最基本的思路是 qemu 启动 qcow2 虚拟机(如果需要模拟调试路由器等设备,可能需要这种办法,现成的 qcow2 镜像可以从类似 [URL]~jcowgill/qemu-mips/ 的地方找到),但是有更轻量的用户态方式,本文将简要讨论在 qemu 的支持下,通过 debootstrap + chroot / 容器等方法构建其他指令集架构的系统基本环境,并使用 gdb-multiarch 等工具进行交叉编译、调试。
为了便于更好地理解 FreeBSD 系统中与 jail 相关的部分、它们的内部结构以及它们与 FreeBSD 其他部分的交互方式,本章将进一步使用以下术语: 在“chroot”中运行的进程的环境。它包括资源,例如文件系统中可见的部分,可用的用户和组 ID,网络接口和其他 IPC 机制等。 系统管理工具,允许在 jail 环境中启动进程
为了帮助您更好地理解与 jail 有关的 FreeBSD 系统知识, 以及它们如何与 FreeBSD 的其它部分相互作用, 您应理解下列术语: 这个工具使用 FreeBSD 的系统调用 chroot(2) FreeBSD 来改变进程, 以及进程的所有衍生进程所能看到的根目录。 在 “chroot” 中运行的进程环境。 这包括类似文件系统中的可见部分、 可用的用户及用户组 ID、 网络接口以及其他 IPC 机制等资源
