chroot 和 pivot_root 都能改变进程的根目录,但机制和用途不同:
chroot
作用:临时将进程的 / 指向一个子目录(如 /myroot),但原文件系统仍挂载,内核和其他进程仍用原根。
缺点:
不能完全隔离(通过 /proc、设备等可能逃逸);
不能卸载原根文件系统;
不是真正的“切换根”。
pivot_root
作用:真正切换根文件系统,把当前根“换掉”,常用于启动容器或 init 系统。
特点:
原根会被移到新根下的某个目录(如 /oldroot),之后可卸载;
必须配合 mount --move 和 umount 使用;
只能在挂载了新文件系统后使用(不能直接 pivot 到普通目录)。
比喻:
chroot 像戴VR眼镜——你看到的是新世界,但身体还在原地;
pivot_root 像搬家——你真的住进了新家,旧家可以拆掉。
容器(如 systemd-nspawn)用 pivot_root 实现干净隔离;chroot 适合简单测试,不用于高安全场景。
网友回复
阿里云ESA、cloudflare worker、腾讯云EdgeOne网站代理托管哪家更好?
剪映能打开.fcpxml格式的文件吗?
增量式编码器与绝对式编码器的区别是啥?
有没有开源的单张照片或者序列帧图片或视频就能重建4d场景动画项目?
chrome网页突然报错:错误代码:RESULT_CODE_KILLED_BAD_MESSAGE
openai的codex如何全程无需手动确认自动修改文件?
阿里云oss前端上传文件直传如何限制文件类型?
阿里云oss前端获取policy签名直传oss上传文件回调如何传?
如何将根据三维物体通过提示词变成可交互的4d场景动画?
浏览器中实时摄像头离线视觉ai模型有吗?


