chroot技术简介
chroot是一种隔离技术,开始主要是为了测试安装和构建系统(做镜像也算). 到2008年的时候,基于cgroups开发除了LXC,以及Docker.可以说chroot技术是容器技术的前身.
chroot命令
官方的man手册 一般的用法为:
chroot -u 用户 -g 组 -G 组,组... 新的根目录 命令
通常这里的命令很可能是运行一个bash.
关于chroot,这里也有一些资料理解chroot
使用chroot
并不是任何目录都可以作为chroot的目标,chroot有一下条件
首先chroot的目标目录需要满足linxu文件系统标准 其次还需要挂载一些特殊的目录:
cd /mnt/arch
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
mount -t devpts pts dev/pts/
这个文档详细的介绍了如何使用chroot如何使用chroot 这个文档说明了chroot的一个基本概念BasciChroot
例子
cd /home/user
mkdir myroot #创建一个用于存放系统的根目录
pacman -S arch-install-scripts #这是arch linux的例子,这里相当于安装了一个arch linux系统
# pacstrap must see myroot as mounted:
mount --bind myroot myroot #挂载chroot的目录
pacstrap -i myroot base base-devel
mount -t proc proc myroot/proc/ #挂载一些需要的目录
mount -t sysfs sys myroot/sys/
mount -o bind /dev myroot/dev/
mount -t devpts pts myroot/dev/pts/
cp -i /etc/resolv.conf myroot/etc/ #配置dns
chroot myroot #chroot
# inside chroot: