在路径上挂载另一个文件系统时是否可以删除文件?


18

刚刚写了关于将/ usr移到新分区的答案,我想知道有关在挂载新分区后删除文件的信息。要使用问题中的示例,是否可以在其上安装新分区/usr,然后删除/usr根分区下的所有文件以释放根分区上的空间。

Answers:


24

不是直接的,但是有一种解决方法:mount --bind是您的朋友:

# Existing directory with a couple files in it
root@nkubuntu1004:~/test# ls testdir
bar  foo

# Mount a filesystem over existing directory
root@nkubuntu1004:~/test# mount -o loop testfs testdir
root@nkubuntu1004:~/test# ls testdir
lost+found

# Bind mount root filesystem to another directory
root@nkubuntu1004:~/test# mount --bind / bindmnt

# Can now get to contents of original directory through the bind mount
root@nkubuntu1004:~/test# ls bindmnt/root/test/testdir/
bar  foo

# Remove a file
root@nkubuntu1004:~/test# rm bindmnt/root/test/testdir/bar
root@nkubuntu1004:~/test# ls bindmnt/root/test/testdir/
foo
root@nkubuntu1004:~/test# ls testdir
lost+found

# Unmount filesystem
root@nkubuntu1004:~/test# umount testdir

# Observe the change having taken effect
root@nkubuntu1004:~/test# ls testdir
foo
root@nkubuntu1004:~/test#

另请参见man mount-搜索“绑定安装”。


很好的答案-我将添加指向联机版本的mount手册页的链接
Hamish Downer 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.