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

10

Eu não tinha conhecimento do mklost+foundcomando até ler esta pergunta .

O mklost+foundcomando criará um novo diretório perdido + encontrado no pwd.

  1. Por que você precisaria executar esse comando? O diretório perdido + encontrado já existe em / em todas as distros que verifiquei.

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

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

spuder
fonte
3
rm -rf /lost+found. Opa ...
cjm

Respostas:

11

Por que você precisaria executar esse comando?

Caso o lost+founddiretório não exista. Como é apenas um diretório comum, o rootusuário pode removê-lo usando rm -r. Algumas versões fsck, quando precisam fazer uso de um lost+founddiretório, o criarão se ele não existir, e outras não. Se não houver lost+founddiretório, fscknão será possível recuperar arquivos órfãos, ou seja, arquivos que não possuam entradas de diretório que se refiram a eles.

A versão Linux do mklost+foundpossui o seguinte recurso (na página do manual mklost + found ):

mklost+foundpré-aloca blocos de disco para o diretório perdido + encontrado, de modo que quando o e2fsck (8) está sendo executado para recuperar um sistema de arquivos, ele não precisa alocar blocos no sistema de arquivos para armazenar um grande número de arquivos não vinculados. Isso garante que o e2fsck não precisará alocar blocos de dados no sistema de arquivos durante a recuperação.

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

O que aconteceria se você tivesse vários diretórios perdidos e encontrados?

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

Mark Plotnick
fonte
3

Q1 Por que você precisaria executar esse comando? O diretório perdido + encontrado já existe em / em todas as distros que verifiquei.

Algo precisa criar o lost+found, esse comando parece fazer isso. Todo meio que você montar precisa manter o seu próprio lost+found.

trecho da página do manual

O mklost + found é usado para criar um diretório lost + found no diretório de trabalho atual em um segundo sistema de arquivos estendido do Linux. Normalmente, há um diretório perdido + encontrado no diretório raiz de cada sistema de arquivos.

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

O mklost + found pré-aloca blocos de disco para o diretório lost + found, de modo que quando o e2fsck (8) está sendo executado para recuperar um sistema de arquivos, ele não precisa alocar blocos no sistema de arquivos para armazenar um grande número de arquivos não vinculados. Isso garante que o e2fsck não precisará alocar blocos de dados no sistema de arquivos durante a recuperação.

Q2 O que aconteceria se você tivesse vários diretórios perdidos e encontrados? Os fragmentos de dados recuperados iriam para o diretório perdido + encontrado em / ou iriam para o diretório perdido + encontrado criado mais recentemente?

Eu esperaria que o último fosse o que e2fsckfosse usado se fosse necessário mover os blocos de dados lost+found.

slm
fonte
"Algo precisa criar o lost+found": Sim, mas na maioria dos casos esse comando é mke2fs.
Nate Eldredge
2

"O diretório perdido + encontrado já existe em /todas as distribuições que eu verifiquei."

Mas esse não é o ponto. Todo sistema de arquivos "real" (que mapeia para algum tipo de armazenamento em bloco, em oposição a pseudo-sistemas de arquivos como / proc e swap) precisa de um orfanato perdido + encontrado. Por exemplo, se você possui um sistema de arquivos separado para / home, deve haver /home/lost+found. Isso ocorre porque fscknão moverá um arquivo para /lost+foundo 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+foundvs. /var/lost+foundpode facilitar muito mais a intervenção manual.

Monty Harder
fonte
0

De acordo com a Administração essencial do sistema

Erros de disco ou desligamento incorreto do sistema podem causar a perda de arquivos: arquivos perdidos referem-se a locais de disco marcados como em uso nas estruturas de dados no disco, mas que não estão listados em nenhum diretório (por exemplo, um ode não vazio) que não esteja listado em nenhum diretório). Quando o sistema está inicializando, ele executa um programa chamado fsck que, entre outras coisas, encontra esses arquivos. Há um diretório perdido + encontrado em todas as partições do disco; / lost + found é o que está no disco raiz.

Os utilitários mais prováveis, como o fsck look, colocam os fragmentos de arquivo no diretório perdido + encontrado dentro da raiz da respectiva partição. Outros diretórios perdidos + encontrados devem ser ignorados.

spuder
fonte