我有多个chroots使用不同版本的软件作为虚拟机的轻量级替代方案。
我如何在虚拟机之间共享目录?当然,符号链接不允许逃离 chroot。当然,我可以在每个 chroot 中安装网络共享(通过 nfs 等),但这会带来很大的开销和安全考虑,不是吗?
答案1
在 Linux 上 –绑定挂载。
mount --bind /orig /vm/one
mount --bind /orig /vm/two
mount --rbind /media /vm/one/media
共享/proc
是/dev
最常见的用途(但请确保您将其用于--rbind
/dev)。您甚至可以添加-o ro
只读。
为了使安装持久,请更新/etc/fstab
:
/orig /vm/one none bind
/orig /vm/two none bind,ro
一旦开始使用虚拟机绑定挂载,您很快就会发现自己深陷命名空间和容器之中。(例如,只需一个命令,您就可以拥有一个具有隔离网络的 chroot……)查看龙芯,它使用原生 Linux 功能来创建虚拟系统。