別のファイルシステムがパスにマウントされているときにファイルを削除することは可能ですか?


18

/ usrを新しいパーティション移動することについての答えを書きましたが、新しいパーティションがマウントされたらファイルを削除することを考えていました。質問の例を使用するには、新しいパーティションをマウントし、ルートパーティション上の/usrすべてのファイルを削除して/usr、ルートパーティションのスペースを解放することができます。

回答:


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-「バインドマウント」を検索してください。


すばらしい答え- オンラインバージョンのマウントmanページへのリンクを追加するだけです
ハミッシュダウナー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.