È possibile eliminare i file quando un altro filesystem è montato sul percorso?


18

Dopo aver appena scritto una risposta sullo spostamento / usr in una nuova partizione, mi chiedevo come eliminare i file una volta montata una nuova partizione. Per usare l'esempio della domanda, è possibile montare una nuova partizione /usre quindi eliminare tutti i file /usrnella partizione root per liberare spazio sulla partizione root.

Risposte:


24

Non direttamente , ma c'è un modo per aggirare questo: mount --bindè il tuo amico:

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

Vedi anche man mount- cercare "bind mount".


Risposta eccellente - Aggiungerò solo un link a una versione online della pagina man di mount .
Hamish Downer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.