20 votes

Est-il possible de supprimer des fichiers lorsqu'un autre système de fichiers est monté sur le chemin ?

Je viens d'écrire une réponse sur déplacer /usr vers une nouvelle partition Je m'interrogeais sur la suppression des fichiers une fois qu'une nouvelle partition a été montée. Pour reprendre l'exemple de la question, est-il possible de monter une nouvelle partition sur /usr puis supprimez tous les fichiers sous /usr sur la partition racine pour libérer de l'espace sur la partition racine.

27voto

pgb Points 1445

Non directement mais il existe un moyen de contourner ce problème : mount --bind est votre ami :

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

Voir aussi man mount -- Recherchez "bind mounts".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X