Você pode ter vários diretórios perdidos e achados?

10

Eu desconhecia o comando mklost+found até que eu leia esta questão .

O comando mklost+found fará um novo diretório perdido + encontrado no pwd.

  1. Por que você precisaria executar este comando? O diretório lost + found já existe em / em todas as distros que eu verifiquei.

  2. O que aconteceria se você tivesse vários diretórios de achados e perdidos? Os fragmentos de dados recuperados iriam para o diretório perdido + encontrado em / ou seriam enviados para o diretório lost + found criado mais recentemente?

Não sei como posso deliberadamente criar um fragmento de dados para testar isso.

    
por spuder 21.04.2014 / 18:40

4 respostas

11

Why would you ever need to run this command?

Caso o diretório lost+found não exista. Como é apenas um diretório comum, o usuário root pode removê-lo usando rm -r . Algumas versões de fsck , quando precisam usar um diretório lost+found , irão criá-lo se ele não existir, e algumas versões não. Se não houver um diretório lost+found , fsck não poderá recuperar arquivos órfãos, ou seja, arquivos que não possuem entradas de diretório que se referem a eles.

A versão do Linux de mklost+found tem o seguinte recurso (da mklost + página do manual encontrada ):

mklost+found pre-allocates disk blocks to the lost+found directory so that when e2fsck(8) is being run to recover a filesystem, it does not need to allocate blocks in the filesystem to store a large number of unlinked files. This ensures that e2fsck will not have to allocate data blocks in the filesystem during recovery.

Isso significa que, se você precisar recuperar arquivos de um sistema de arquivos danificado usando fsck , menos arquivos serão perdidos como parte do processo de recuperação porque fsck não precisará alocar blocos do sistema de arquivos; tais blocos que podem conter dados de arquivo válidos.

What would happen if you have multiple lost and found directories?

Para um determinado sistema de arquivos, fsck usará apenas um diretório lost+found : aquele que está no diretório-raiz do sistema de arquivos. Qualquer outro diretório lost+found não será tratado especialmente.

    
por 21.04.2014 / 18:59
3

Q1. Why would you ever need to run this command? The lost+found directory already exists in / on every distro I've checked.

Algo precisa criar o lost+found , esse comando pareceria fazer isso. Cada mídia que você monta precisa manter seu próprio lost+found .

trecho da página man

mklost+found is used to create a lost+found directory in the current working directory on a Linux second extended file system. There is normally a lost+found directory in the root directory of each filesystem.

Qual é o grande problema em criar um diretório lost+found ?

mklost+found pre-allocates disk blocks to the lost+found directory so that when e2fsck(8) is being run to recover a filesystem, it does not need to allocate blocks in the filesystem to store a large number of unlinked files. This ensures that e2fsck will not have to allocate data blocks in the filesystem during recovery.

Q2. What would happen if you have multiple lost and found directories? Would recovered data fragments go to the lost+found dir in / , or would it go to the most recently created lost+found dir?

Espero que o último seja aquele que é usado por e2fsck se precisar mover os blocos de dados para lost+found .

    
por 21.04.2014 / 18:53
2

"O diretório lost + found já existe em / em todas as distros que eu verifiquei."

Mas esse não é o ponto. Todo sistema de arquivos "real" (que mapeia para um armazenamento em bloco de algum tipo, ao contrário de pseudo sistemas de arquivos como / proc e swap) precisa de um orfanato perdido + encontrado. Por exemplo, se você tiver um sistema de arquivos separado para / home, deverá haver /home/lost+found . Isso ocorre porque fsck não moverá um arquivo para /lost+found no sistema de arquivos raiz; ele deixa os arquivos que encontra onde os encontrou, mas cria uma entrada de diretório no orfanato para que um humano possa intervir para providenciar a adoção apropriada. Saber que algo está em /home/lost+found vs. /var/lost+found pode facilitar muito essa intervenção manual.

    
por 21.04.2014 / 20:17
0

De acordo com Administração essencial do sistema

Disk errors or incorrect system shutdown may cause files to become lost: lost files refer to disk locations that are marked as in use in the data structures on the disk, but that are not listed in any directory (e.g., a non-empty in ode that isn't listed in any directory). When the system is booting, it runs a program called fsck that, among other things, finds these files. There is a lost+found directory on every disk partition; /lost+found is the one on the root disk.

Utilitários mais prováveis, como o fsck look, colocam os fragmentos de arquivos no diretório lost + found dentro da raiz da respectiva partição. Outros diretórios perdidos + encontrados devem ser ignorados.

    
por 23.04.2014 / 17:50