¿Puedes tener múltiples directorios perdidos y encontrados?

10

No estaba al tanto del mklost+foundcomando hasta que leí esta pregunta .

El mklost+foundcomando creará un nuevo directorio perdido + encontrado en el pwd.

  1. ¿Por qué necesitarías ejecutar este comando? El directorio perdido + encontrado ya existe en / en cada distribución que he comprobado.

  2. ¿Qué pasaría si tiene múltiples directorios perdidos y encontrados? ¿Los fragmentos de datos recuperados irían al directorio perdido + encontrado en /, o irían al directorio perdido + encontrado creado más recientemente?

No estoy seguro de cómo podría crear deliberadamente un fragmento de datos para probar esto.

Spuder
fuente
3
rm -rf /lost+found. Vaya ...
cjm

Respuestas:

11

¿Por qué necesitarías ejecutar este comando?

En caso de que el lost+founddirectorio no exista. Dado que es solo un directorio ordinario, el rootusuario puede eliminarlo usando rm -r. Algunas versiones de fsck, cuando necesitan hacer uso de un lost+founddirectorio, lo crearán si no existe, y algunas versiones no lo harán. Si no hay lost+founddirectorio, fsckno puede recuperar archivos huérfanos, es decir, archivos que no tienen entradas de directorio que se refieran a ellos.

La versión de Linux mklost+foundtiene la siguiente característica (de la página de manual mklost + found ):

mklost+foundasigna previamente bloques de disco al directorio perdido + encontrado para que cuando se ejecute e2fsck (8) para recuperar un sistema de archivos, no sea necesario asignar bloques en el sistema de archivos para almacenar una gran cantidad de archivos no vinculados. Esto asegura que e2fsck no tendrá que asignar bloques de datos en el sistema de archivos durante la recuperación.

Esto significa que, si tiene que recuperar archivos de un sistema de archivos dañado usando fsck, se perderán menos archivos como parte del proceso de recuperación porque fsckno necesitará asignar bloques desde el sistema de archivos; tales bloques que pueden contener datos de archivo válidos.

¿Qué pasaría si tiene múltiples directorios perdidos y encontrados?

Para un sistema de archivos dado, fscksolo usará un lost+founddirectorio: el que está en el directorio raíz del sistema de archivos. Cualquier otro lost+founddirectorio no será tratado especialmente.

Mark Plotnick
fuente
3

Q1. ¿Por qué necesitarías ejecutar este comando? El directorio perdido + encontrado ya existe en / en cada distribución que he comprobado.

Algo necesita crear el lost+found, este comando parece hacer eso. Cada medio que montes necesita mantener el suyo lost+found.

extracto de la página man

mklost + found se usa para crear un directorio perdido + encontrado en el directorio de trabajo actual en un segundo sistema de archivos extendido de Linux. Normalmente hay un directorio perdido + encontrado en el directorio raíz de cada sistema de archivos.

¿Cuál es el problema con hacer un lost+founddirectorio?

mklost + found preasigna bloques de disco al directorio perdido + encontrado de modo que cuando se ejecuta e2fsck (8) para recuperar un sistema de archivos, no es necesario asignar bloques en el sistema de archivos para almacenar una gran cantidad de archivos no vinculados. Esto asegura que e2fsck no tendrá que asignar bloques de datos en el sistema de archivos durante la recuperación.

Q2 ¿Qué pasaría si tiene múltiples directorios perdidos y encontrados? ¿Los fragmentos de datos recuperados irían al directorio perdido + encontrado en /, o irían al directorio perdido + encontrado creado más recientemente?

Esperaría que el último sea el que se use e2fscksi necesita mover bloques de datos lost+found.

slm
fuente
"Algo necesita crear el lost+found": Sí, pero en la mayoría de los casos ese comando es mke2fs.
Nate Eldredge
2

"El directorio perdido + encontrado ya existe en /cada distribución que he revisado".

Pero ese no es el punto. Cada sistema de archivos "real" (que se asigna a un almacenamiento de bloque de algún tipo, en oposición a los pseudo sistemas de archivos como / proc y swap) necesita un orfanato perdido + encontrado. Por ejemplo, si tiene un sistema de archivos separado para / home, entonces debería haberlo /home/lost+found. Esto se debe a fsckque no moverá un archivo al /lost+foundsistema de archivos raíz; deja los archivos que encuentra donde los encontró, pero crea una entrada de directorio en el orfanato para que un humano pueda intervenir para organizar la adopción adecuada. Saber que algo está en /home/lost+foundvs. /var/lost+foundpuede hacer que la intervención manual sea mucho más fácil.

Monty Harder
fuente
0

De acuerdo con Essential System Administration

Los errores de disco o el apagado incorrecto del sistema pueden hacer que los archivos se pierdan: los archivos perdidos se refieren a ubicaciones de disco que están marcadas como en uso en las estructuras de datos en el disco, pero que no figuran en ningún directorio (por ejemplo, una oda no vacía que no figura en ningún directorio). Cuando el sistema se inicia, ejecuta un programa llamado fsck que, entre otras cosas, encuentra estos archivos. Hay un directorio perdido + encontrado en cada partición de disco; / lost + found es el que está en el disco raíz.

Las utilidades más probables como fsck look colocan los fragmentos de archivo en el directorio perdido + encontrado dentro de la raíz de la partición respectiva. Otros directorios perdidos + encontrados deben ser ignorados.

Spuder
fuente