web-dev-qa-db-fra.com

Où les fichiers vont-ils si vous montez un lecteur dans un dossier qui contient déjà des fichiers?

Je viens de mentionner accidentellement un nouveau lecteur vers un dossier qui contenait déjà des fichiers. Je ne me soucie pas d'eux et de les avoir ailleurs, mais ce dossier apparaît vide maintenant. Je suis curieux ce qui est arrivé aux fichiers. Sont-ils simplement supprimés par Linux?

32
T. Brian Jones

Juste "ombragée" et sera là encore quand il est démonté. :)

En fait, les fichiers sont "là-bas" intacts et si vous avez besoin de les rejoindre immédiatement, sans démontage, cela peut être travaillé avec une soi-disant bind montage:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

Il fonctionne (SO) car lorsque vous demandez au noyau de monter un système de fichiers à un point de vue, le noyau traite ce point de vue en tant que "port de visualisation" dans le système de fichiers que vous montage, il est donc prévu que vous verrez monté FS Contenu là-bas.

mais Ceci est pas la seule façon de combiner que ces "couches" ne peuvent être combinées à une seule vue. Il y a été appelé "- nion Mount " Approche (c'est drôle de savoir que ce "concept central dans le plan 9", BTW). Sur Linux, vous pouvez utiliser AUFS , qui ne s'est jamais rendu dans le noyau de la ligne principale ou, actuellement (depuis 3,18), superflayfs - DID .

38
poige

Le système de fichiers nouvellement monté est comme une superposition qui cache une partie du système de fichiers initial. Il y a des trucs pour accéder aux fichiers, comme le support de liaison comme décrit par POIGE. Sur Linux, je ressemble personnellement au fait que vous pouvez monter un système de fichiers plus d'une fois sur différents points de montage. Donc, vous pouvez parfaitement monter le système de fichiers racine sur / aussi bien que sur /mnt. Ceci est pratique tout en débogage de l'espace perdu de l'espace/des fichiers perdus/comptant l'utilisation du disque/...

Gotcha's:

  • Les anciens fichiers sont toujours là et tilisation de l'espace. C'est une erreur commune d'avoir un espace disque "manquant" dans les fichiers cachés par un montage. Par exemple. Lorsque vous avez accidentellement écrit de gros fichiers dans un répertoire et, à un moment donné, a décidé de monter un système de fichiers dessus. Par exemple. Démarrage accidentel d'une grande base de données avant que le système de fichiers de journalisation ne soit monté correctement ...
  • Lorsqu'un programme a un fichier ouvert qui est ensuite masqué par un système de fichiers nouvellement monté, le programme ne s'en souciera pas et continue de continuer à utiliser le fichier "caché" jusqu'à ce qu'il ferme. À partir de ce moment, ce fichier devient invisible au processus jusqu'à ce que le nouveau système de fichiers soit démontré et que le répertoire sous-jacent apparaît à nouveau.
21
jippie