it-swarm-eu.dev

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

Nachdem ich gerade eine Antwort über das 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 in /usr einzuhängen und dann alle Dateien unter /usr auf der Root-Partition zu löschen, um Speicherplatz auf der Root-Partition freizugeben.

17
Hamish Downer

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

# Existing directory with a couple files in it
[email protected]:~/test# ls testdir
bar  foo

# Mount a filesystem over existing directory
[email protected]:~/test# mount -o loop testfs testdir
[email protected]:~/test# ls testdir
lost+found

# Bind mount root filesystem to another directory
[email protected]:~/test# mount --bind / bindmnt

# Can now get to contents of original directory through the bind mount
[email protected]:~/test# ls bindmnt/root/test/testdir/
bar  foo

# Remove a file
[email protected]:~/test# rm bindmnt/root/test/testdir/bar
[email protected]:~/test# ls bindmnt/root/test/testdir/
foo
[email protected]:~/test# ls testdir
lost+found

# Unmount filesystem
[email protected]:~/test# umount testdir

# Observe the change having taken effect
[email protected]:~/test# ls testdir
foo
[email protected]:~/test#

Siehe auch man mount - suche nach "bind mounts".

23
Nicholas Knight