it-swarm.it

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

Avendo appena scritto una risposta su spostamento/usr in una nuova partizione Mi stavo chiedendo di eliminare i file una volta che una nuova partizione è stata montata. Per usare l'esempio della domanda, è possibile montare una nuova partizione su /usr e quindi eliminare tutti i file in /usr sulla partizione root per liberare spazio sulla partizione root.

17
Hamish Downer

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

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

Vedi anche man mount - cerca "bind mount".

23
Nicholas Knight