¿Es posible eliminar archivos cuando otro sistema de archivos está montado en la ruta?

18

Habiendo escrito una respuesta sobre cómo mover / usr a una nueva partición, me preguntaba si eliminaría los archivos una vez que se haya montado una nueva partición. Para usar el ejemplo de la pregunta, ¿es posible montar una nueva partición /usry luego eliminar todos los archivos /usrde la partición raíz para liberar espacio en la partición raíz?

Hamish Downer
fuente

Respuestas:

24

No directamente , pero hay una forma de evitarlo: mount --bindes tu amigo:

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

Consulte también man mount: busque "monturas de unión".

Nicholas Knight
fuente
Excelente respuesta: solo agregaré un enlace a una versión en línea de la página de manual de mount .
Hamish Downer