¿Cuál es el propósito de la carpeta perdida + encontrada en Linux y Unix?


643

Hay una carpeta en la raíz de los sistemas operativos Linux y Unix llamada /lost+found/

¿Para qué sirve? ¿Bajo qué circunstancias interactuaría con él? ¿Cómo interactuaría con él?


Tenga en cuenta que solo se usa ext2 (y ext3 y ext4) lost+found. Si desea ocultarlo, use un sistema de archivos diferente o móntelo en otro lugar, mantenga todo en un subdirectorio y vincule el subdirectorio al lugar "real" desde el que usa los datos.
Adam Katz

44
@Gilles alguien tuvo la amabilidad de agregarlo: en.wikipedia.org/wiki/Fsck#Use
David Kennedy

Tenga en cuenta que lost+foundes específico del sistema de archivos extendido de Linux (ext2–4). Unices, por ejemplo, FreeBSD normalmente no tiene este directorio en sus sistemas de archivos (UFS, ZFS).
FUZxxl

55
Lo sentimos, pero lost+foundha existido prácticamente desde siempre en los sistemas BSD. De hecho, acabo de comprobarlo y definitivamente estaba allí en 4.3BSD, y parece recordarlo mucho antes. Y ciertamente está en FreeBSD hoy.
Bob Eager

@BobEager Gracias por confirmar eso. Pensé eso también, pero estaba dispuesto a aceptar que tal vez recordaba incorrectamente ...
Pryftan

Respuestas:


575

Si ejecuta fsck, el comando de comprobación y reparación del sistema de archivos, puede encontrar fragmentos de datos que no están referenciados en ninguna parte del sistema de archivos. En particular, fsckpuede encontrar datos que parecen un archivo completo pero que no tienen un nombre en el sistema, un inodo sin el nombre de archivo correspondiente. Estos datos todavía están utilizando espacio, pero no es accesible por ningún medio normal.

Si le indica fsckque repare el sistema de archivos, convertirá estos archivos casi eliminados nuevamente en archivos. La cuestión es que el archivo tenía un nombre y una ubicación una vez, pero esa información ya no está disponible. Entonces fsckdeposita el archivo en un directorio específico, llamado lost+found(después de la propiedad perdida y encontrada ).

Los archivos que aparecen lost+foundgeneralmente son archivos que ya estaban desvinculados (es decir, su nombre se había borrado) pero que todavía se abrieron por algún proceso (por lo que los datos aún no se borraron) cuando el sistema se detuvo repentinamente (pánico del kernel o falla de energía). Si eso es todo lo que sucedió, estos archivos se eliminarán de todos modos, no necesita preocuparse por ellos.

Los archivos también pueden aparecer lost+foundporque el sistema de archivos estaba en un estado inconsistente debido a un error de software o hardware. Si ese es el caso, es una forma de encontrar archivos que se perdieron pero que la reparación del sistema logró salvar. Los archivos pueden o no contener datos útiles, e incluso si lo hacen pueden estar incompletos o desactualizados; todo depende de cuán grave sea el daño del sistema de archivos.

En muchos sistemas de archivos, el lost+founddirectorio es un poco especial porque asigna previamente un poco de espacio para fsckdepositar archivos allí. (El espacio no es para los datos del archivo, que se fsckquedan en su lugar; es para las entradas del directorio que fscktiene que componer). Si elimina accidentalmente lost+found, no lo vuelva a crear mkdir, use mklost+foundsi está disponible.


16
Además, si se elimina accidentalmente, fsck puede volver a crearlo la próxima vez que encuentre limpio el sistema de archivos (que probablemente será el próximo arranque).
derobert

30
¿Es esta carpeta algo que debería verificarse y limpiarse de vez en cuando?
TheLQ

99
@TheLQ Solo si su sistema de archivos ha sufrido una gran corrupción, fsckfue necesario y mencionó encontrar archivos y vincularlos lost+found. En 20 años con varios sistemas de archivos, solo he visto esto una vez. Y eso fue antes de que viajar fuera la norma.
Alexios

66
Creo que también aparece si formatea su HDD (cambié de NTFS a ext4 y apareció)
puk

66
@puk El lost+founddirectorio se crea cada vez que crea un sistema de archivos ext4 (como con muchos otros sistemas de archivos), ya sea que se realice como parte de la instalación del sistema o no. "Formatear su HDD" es solo un caso de eso. Lo que fsckhace es posiblemente agregar archivos allí.
Gilles

63

El lost+founddirectorio (no Perdido + Encontrado) es una construcción utilizada fsckcuando hay daños en el sistema de archivos (no en el dispositivo de hardware, sino en el fs). Los archivos que normalmente se perderían debido a la corrupción del directorio se vincularían en el lost+founddirectorio de ese sistema de archivos por número de inodo. Algunos de estos pueden ser directorios perdidos o archivos perdidos o incluso dispositivos perdidos. Cada sistema de archivos debe tener su propio lost+founddirectorio, pero es posible que esté buscando un sistema con un solo sistema de archivos. En general, debe esperar que el directorio esté vacío; pero si hay corrupción, agradezca que en muchas condiciones los archivos se puedan recuperar después de fsckcolocarlos aquí.


44
Punto válido, sin embargo: estos PUEDEN convertirse en una molestia de todos modos. Por ejemplo, cuando intente realizar una findoperación en una o varias ext[2|3|4]particiones desde una cuenta de usuario que no sea administrador, siempre obtendrá estos errores completamente innecesarios de "permiso denegado" . Ciertamente, hay formas de eludir ese tipo de errores, pero es un poco incómodo porque el estándar find . -name '*whatever*'no funcionará.
syntaxerror

2
@syntaxerror: Me alegra saber que dice eso sobre las molestias de find: `./lost+found ': permiso denegado . También me molesta de vez en cuando ...
Johan E

1
@syntaxerror la razón por la que llegué a esta pregunta fue precisamente porque estaba haciendo una operación de búsqueda y find seguía generando una Permission deniedadvertencia. Dada la respuesta de esta pregunta, sé que lost+foundes parte del sistema de archivos y, por lo tanto, puedo ignorar con seguridad la advertencia generada (pero desearía que no produjera la advertencia).
Trevor Boyd Smith

1
@JohanE Me estás diciendo. Sin embargo, la razón real por lo publicado mi comentario era porque esta respuesta estaba tratando de sugerir a "agradecer" a lost+found. Esto se sintió demasiado hilarante para ser verdad (me senté aquí con una amplia sonrisa), por las ridículas veces en que estamos agradecidos de que no pueda competir con aquellos cuando preferimos lanzar un "¡Fuera!" deletrea a este molesto lo + fo.
syntaxerror

36

De "Jerarquía del sistema de archivos de Linux", sección / perdido + encontrado " :

Como se explicó anteriormente durante la descripción general de FSSTND, Linux siempre debe pasar por un apagado adecuado. A veces su sistema puede fallar o una falla de energía puede apagar la máquina. De cualquier manera, en el próximo arranque, se realizará una larga verificación del sistema de archivos usando fsck. Fsck pasará por el sistema e intentará recuperar los archivos corruptos que encuentre. El resultado de esta operación de recuperación se colocará en este directorio. Es probable que los archivos recuperados no estén completos o tengan mucho sentido, pero siempre existe la posibilidad de que se recupere algo que valga la pena. Cada partición tiene su propio directorio perdido + encontrado. Si encuentra archivos allí, intente moverlos nuevamente a su ubicación original. Si encuentra algo así como un enlace simbólico roto a 'archivo', debe reinstalar los archivos desde el RPM correspondiente, dado que su sistema de archivos se dañó tanto que los archivos fueron mutilados sin reconocimiento. A continuación se muestra un ejemplo de un directorio / lost + found. Como puede ver, la gran mayoría de los archivos contenidos aquí están en tomas de datos reales. En cuanto al resto de los otros archivos, se descubrió que eran archivos del sistema dañados y archivos personales. Estos archivos no se pudieron recuperar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.