Czy można usunąć pliki, gdy na ścieżce jest zamontowany inny system plików?


18

Po napisaniu odpowiedzi na temat przeniesienia / usr na nową partycję zastanawiałem się nad usunięciem plików po zamontowaniu nowej partycji. Aby skorzystać z przykładu z pytania, czy można zamontować nową partycję, /usra następnie usunąć wszystkie pliki /usrz partycji root, aby zwolnić miejsce na partycji root.

Odpowiedzi:


24

Nie bezpośrednio , ale istnieje sposób na obejście tego: mount --bindczy twój przyjaciel:

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

Zobacz także man mount- wyszukaj „bind mount”.


Doskonała odpowiedź - dodam tylko link do internetowej wersji strony podręcznika montowania .
Hamish Downer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.