Ist es möglich, Dateien zu löschen, wenn ein anderes Dateisystem im Pfad eingebunden ist?

18

Nachdem ich gerade eine Antwort zum Verschieben von / usr auf eine neue Partition geschrieben habe, habe ich mich gefragt, ob ich Dateien löschen soll, nachdem eine neue Partition gemountet wurde. Um das Beispiel aus der Frage zu verwenden, ist es möglich, eine neue Partition bereitzustellen /usrund dann alle Dateien unter /usrauf der Root-Partition zu löschen , um Speicherplatz auf der Root-Partition freizugeben.

Hamish Downer
quelle

Antworten:

24

Nicht direkt , aber es gibt einen Ausweg: mount --bindIst dein Freund:

# 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#

Siehe auch man mount- Suche nach "Bindmounts".

Nicholas Knight
quelle
Hervorragende Antwort - Ich füge nur einen Link zu einer Online-Version der Mount-Manpage hinzu .
Hamish Downer