linux – 如何使用/测试pivot_root?
我想测试pivot_root命令,它将当前进程的根文件系统移动到put_old目录,并使new_root成为新的根文件系统.
但我总是得到以下错误:
pivot_root: failed to change root from .' toold-root/': Invalid argument
我使用fedora作为基础根,我的主文件夹中有一个Archlinux
[root@localhost arch-root]# ls
bin boot dev etc home lib lib64 mnt old-root
opt proc root run sbin srv sys tmp usr var
[root@localhost arch-root]# pivot_root . old-root/
pivot_root: failed to change root from .' toold-root/': Invalid argument
我也尝试调用linux函数pivot_root(“/ chroot_test”,“/ chroot_test / old-root”);得到同样的错误.
有关于此的任何想法?
更新#1
我也尝试在Docker中测试pivot_root.我将这个arch-root挂载到Docker容器中.但是得到以下错误:不允许操作
root@00d871ce892b:/# cd test_root/
root@00d871ce892b:/test_root# ls
bin boot dev etc home lib lib64 mnt old-root opt proc root run sbin srv sys test_pivot_root test_pivot_root.c tmp usr var
root@00d871ce892b:/test_root# pivot_root . tmp/
pivot_root: Operation not permitted
解
我找到了解决方案:
使用–privileged = true运行docker
所以我们可以在docker容器中测试pivot_root.