¿A dónde van los archivos si monta una unidad en una carpeta que ya contiene archivos?

32

Accidentalmente monté una nueva unidad en una carpeta que ya contenía archivos. No me importan y los tengo en otro lugar, pero esa carpeta parece vacía ahora. Tengo curiosidad por saber qué pasó con los archivos. ¿Son simplemente eliminados por Linux?

T. Brian Jones
fuente
No "van" a ninguna parte. Simplemente no puedes verlos.
Shadur
14
Van al mismo lugar donde van los personajes de los libros cuando no los estás leyendo.
Andrew Beals
55
Esta es una de las funciones / características divertidas de montaje que uso / abuso a veces para conocer el estado de algunas cosas. En algunos puntos de montaje (el directorio), dejaré un archivo vacío not mountedpara que si busco en él, sabré de inmediato que no se montó por alguna razón.
Killermist

Respuestas:

37

Simplemente "sombreado" y volveré a estar allí cuando se desmonte. :)

De hecho, los archivos están "allí" intactos y si necesita alcanzarlos de inmediato, sin desmontar, esto se puede solucionar con el llamado bindmontaje:

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

Funciona (así) porque cuando le pide al kernel que monte un sistema de archivos en algún punto de montaje, el kernel trata ese punto de montaje como un "puerto de vista" al sistema de archivos que está montando, por lo que se espera que vea el contenido FS montado allí.

Pero esta no es la única forma en que esas "capas" de FS se pueden combinar en una sola vista. Existe el enfoque denominado " montaje de unión " (es curioso saber que se trata de "un concepto central en el Plan 9", por cierto). En Linux, podría usar Aufs , que nunca llegó al núcleo de la línea principal o, actualmente (desde 3.18), OverlayFS , lo hizo .

poige
fuente
21

El sistema de archivos recién montado es como una superposición que oculta parte del sistema de archivos inicial. Hay trucos para acceder a los archivos, como el montaje de enlace descrito por poige. En Linux, personalmente me gusta el hecho de que puede montar un sistema de archivos más de una vez en diferentes puntos de montaje. Por lo tanto, puede montar perfectamente el sistema de archivos raíz /tanto como encendido /mnt. Esto es útil al depurar espacio perdido / archivos perdidos / contar el uso del disco / ...

Gotcha's:

  • Los archivos antiguos todavía están allí y están usando espacio . Es un error común tener 'falta' de espacio en disco en los archivos ocultos por un montaje. Por ejemplo, cuando accidentalmente escribiste archivos grandes en un directorio y en algún momento decidiste montar un sistema de archivos en él. Por ejemplo, iniciar accidentalmente una gran base de datos antes de que el sistema de archivos de registro se haya montado correctamente ...
  • Cuando un programa tiene un archivo abierto que posteriormente está oculto por un sistema de archivos recién montado, el programa no se preocupará por él y seguirá usando con éxito el archivo 'oculto' hasta que lo cierre. Desde ese momento, ese archivo se vuelve invisible para el proceso hasta que el nuevo sistema de archivos se desmonta y el directorio subyacente aparece nuevamente.
jippie
fuente
Muy interesante que pueda montar un sistema de archivos más de una vez. Parece que será útil.
T. Brian Jones