Où vont les fichiers si vous montez un lecteur dans un dossier contenant déjà des fichiers?

32

Je viens de monter accidentellement un nouveau lecteur sur un dossier contenant déjà des fichiers. Je m'en fiche et les ai quelque part ailleurs, mais ce dossier semble vide maintenant. Je suis curieux de savoir ce qui est arrivé aux fichiers. Sont-ils simplement supprimés par Linux?

T. Brian Jones
la source
Ils ne "vont" nulle part. Vous ne pouvez tout simplement pas les voir.
Shadur
14
Ils vont au même endroit que les personnages des livres quand vous ne les lisez pas.
Andrew Beals
5
C’est l’une des fonctions / caractéristiques de montage amusantes que j’utilise / abuse parfois pour connaître l’état de certaines choses. Certains points de montage (le répertoire), je laisserai un fichier vide not mountedafin que, si je navigue dans celui-ci, je sache immédiatement qu'il n'a pas été monté pour une raison quelconque.
Killermist

Réponses:

37

Juste "ombré" et sera là encore une fois démonté. :)

En fait, les fichiers sont "là" intacts et si vous devez les atteindre tout de suite, sans démontage, vous pouvez contourner ce que vous appelez un bindmontage:

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

Il fonctionne (donc) parce que quand vous demandez noyau de monter un système de fichiers à certains points de montage, noyau traite que point_de_montage comme « port vue » vous système de fichiers utilisez un montage, il vous est prévu verrez monté FS contenu là - bas.

Mais ce n’est pas la seule façon de combiner ces "couches" de FS pour obtenir une vue unique. Il existe une approche dite " syndicale " (il est amusant de savoir qu'il s'agit d'un "concept central dans le Plan 9", BTW). Sous Linux, vous pouvez utiliser Aufs , qui n’est jamais entré dans le noyau principal, ou, actuellement (depuis la version 3.18), OverlayFS - c’est le cas .

poige
la source
21

Le système de fichiers nouvellement monté est comme une superposition qui masque une partie du système de fichiers initial. Il existe des astuces pour accéder aux fichiers, comme le montage lié décrit par poige. Sur Linux, j’aime personnellement le fait que vous puissiez monter un système de fichiers plusieurs fois sur différents points de montage. Vous pouvez donc parfaitement monter le système de fichiers racine /aussi bien que dessus /mnt. Cela s'avère pratique lors du débogage de l'espace / des fichiers perdus / du calcul de l'utilisation du disque / ...

Gotcha's:

  • Les anciens fichiers sont toujours là et utilisent beaucoup d’espace . C'est une erreur courante d'avoir de l'espace disque «manquant» dans les fichiers cachés par un montage. Par exemple, lorsque vous avez accidentellement écrit des fichiers volumineux dans un répertoire et décidé à un moment de monter un système de fichiers dessus. Par exemple, démarrer accidentellement une base de données volumineuse avant que le système de fichiers de journalisation ne soit correctement monté ...
  • Lorsqu'un programme a un fichier ouvert qui est ensuite caché par un système de fichiers nouvellement monté, le programme ne s'en soucie pas et continue d'utiliser avec succès le fichier 'caché' jusqu'à ce qu'il le ferme. À partir de ce moment, ce fichier devient invisible pour le processus jusqu'à ce que le nouveau système de fichiers soit démonté et que le répertoire sous-jacent réapparaisse.
jippie
la source
Il est très intéressant que vous puissiez monter un système de fichiers plusieurs fois. Cela semble utile.
T. Brian Jones