pivot_root命令用于将根目录替换为指定目录.语法如下:
pivot_root new_root old_root ,其中new_root就是要替换的目标目录,old_root是用来存放原本根目录的地方.
具体例子可以用:
1. mkdir /new-root
2. mount -n -t tmpfs -o size=500M none /new-root
3. cd /new-root
4. mkdir old-root
5. pivot_root . old-root
其中在运行第五步之前需要禁用共享,否则会提示参数无效.禁用共享命令 :unshare -m .运行该命令后会切换到root用户,可以su回来继续进行第五步.至于为何会切换到root用户,原因尚不清楚,猜测可能是原用户被踢下线导致的.
另外unshare -m也可以用在mount --move 命令无法使用的时候,因为mount --move命令后面接的挂载点不能在挂载点的传播类型标记为share的目录下,也就是说要把移动的挂载点本身和所有传播类型标记为share的上级目录都改掉,显然很麻烦,所以可以用unshare -m 停止共享就行了.