Qual é o objetivo da pasta Lost + Found no Linux e Unix?

643

Há uma pasta na raiz dos sistemas operacionais Linux e Unix chamada /lost+found/

Para que serve? Em que circunstâncias eu iria interagir com isso? Como eu iria interagir com isso?

Wesley
fonte
Observe que somente o ext2 (e ext3 e ext4) são usados lost+found. Se você deseja ocultá-lo, use um sistema de arquivos diferente ou monte-o em outro lugar, mantenha tudo em um subdiretório e faça o link simbólico do subdiretório para o local "real" em que você usa os dados.
Adam Katz
4
@Gilles alguém teve a gentileza de adicioná-lo: en.wikipedia.org/wiki/Fsck#Use
David Kennedy
Observe que lost+foundé específico para o sistema de arquivos estendidos do Linux (ext2–4). Unices, por exemplo, o FreeBSD normalmente não possui esse diretório em seus sistemas de arquivos (UFS, ZFS).
FUZxxl
5
Desculpe, mas lost+foundexiste praticamente para sempre nos sistemas BSD. Na verdade, eu apenas verifiquei e estava definitivamente no 4.3BSD, e eu me lembro muito antes. E certamente está no FreeBSD hoje.
21920 Bob Eager
@ BobEager Obrigado por confirmar isso. Pensei isso também, mas estava disposto a aceitar que talvez me lembrasse incorretamente ... #
2160

Respostas:

576

Se você executar fscko comando de verificação e reparo do sistema de arquivos, ele poderá encontrar fragmentos de dados que não são referenciados em nenhum lugar do sistema de arquivos. Em particular, fsckpode encontrar dados que se parecem com um arquivo completo, mas não têm um nome no sistema - um inode sem o nome do arquivo correspondente. Esses dados ainda estão consumindo espaço, mas não são acessíveis por qualquer meio normal.

Se você pedir fsckpara reparar o sistema de arquivos, ele transformará esses arquivos quase excluídos novamente em arquivos. O problema é que o arquivo teve um nome e um local uma vez, mas essas informações não estão mais disponíveis. Portanto, fsckdeposita o arquivo em um diretório específico, chamado lost+found(após propriedade perdida e encontrada ).

Os arquivos que aparecem lost+foundgeralmente são arquivos que não foram desvinculados (ou seja, seu nome foi apagado), mas ainda foram abertos por algum processo (para que os dados ainda não fossem apagados) quando o sistema parou repentinamente (pânico no kernel ou falha de energia). Se isso foi tudo o que aconteceu, esses arquivos foram programados para exclusão de qualquer maneira, você não precisa se preocupar com eles.

Os arquivos também podem aparecer lost+foundporque o sistema de arquivos estava em um estado inconsistente devido a um erro de software ou hardware. Se for esse o caso, é uma maneira de você encontrar arquivos que foram perdidos, mas que o reparo do sistema conseguiu recuperar. Os arquivos podem ou não conter dados úteis e, mesmo se estiverem, podem estar incompletos ou desatualizados; tudo depende de quão ruim foi o dano no sistema de arquivos.

Em muitos sistemas de arquivos, o lost+founddiretório é um pouco especial porque pré-aloca um pouco de espaço para fsckdepositar arquivos lá. (O espaço não é para os dados do arquivo, que são fsckdeixados no lugar; é para as entradas do diretório que fsckprecisam ser compensadas.) Se você excluir acidentalmente lost+found, não recrie-o com mkdir, use-o mklost+foundse disponível.

Gilles
fonte
16
Além disso, se o fsck excluído acidentalmente pode recriá-lo na próxima vez que encontrar o sistema de arquivos limpo (que provavelmente será a próxima inicialização).
Derobert
30
Essa pasta é algo que deve ser verificado e limpo periodicamente?
TheLQ
9
@TheLQ Somente se o seu sistema de arquivos sofreu uma extensa corrupção, fsckfoi necessário e ele mencionou a localização de arquivos e a vinculação deles lost+found. Em 20 anos com vários sistemas de arquivos, eu só vi isso uma vez. E isso foi antes da revista ser a norma.
Alexios
6
Eu acho que também aparece se você formatar seu disco rígido (Troquei de NTFS para ext4 e parecia)
puk
6
@puk O lost+founddiretório é criado sempre que você cria um sistema de arquivos ext4 (como em muitos outros sistemas de arquivos), feito como parte da instalação do sistema ou não. “Formate seu HD” é apenas um caso disso. O que fsckfaz é possivelmente adicionar arquivos lá.
Gilles
64

O lost+founddiretório (não Lost + Found) é uma construção usada fsckquando há danos no sistema de arquivos (não no dispositivo de hardware, mas no fs). Os arquivos que normalmente seriam perdidos devido à corrupção do diretório seriam vinculados no lost+founddiretório desse sistema de arquivos pelo número do inode. Alguns desses podem ser diretórios ou arquivos perdidos ou até dispositivos perdidos. Cada sistema de arquivos deve ter seu próprio lost+founddiretório, mas você pode estar procurando um sistema com apenas um sistema de arquivos. Em geral, você deve esperar que o diretório esteja vazio; mas se houver corrupção, seja grato que, em muitas condições, os arquivos podem ser recuperados depois de os fsckcolocar aqui.

Arcege
fonte
4
Ponto válido, no entanto: eles podem se tornar um incômodo de qualquer maneira. Por exemplo, ao tentar executar uma findoperação em uma ou várias ext[2|3|4]partições da conta de um usuário não administrador, você sempre terá esses erros de "permissão negada" totalmente desnecessários . Certamente, existem maneiras de contornar esses tipos de erros - mas é um pouco estranho porque o padrão find . -name '*whatever*'não funciona.
Syntaxerror 29/09/12
2
@syntaxerror: É bom ouvir você dizer isso sobre os aborrecimentos do find: `./lost+found ': permissão negada . Erros Isso me de vez em quando também ...
Johan E
1
@syntaxerror O motivo pelo qual cheguei a essa pergunta foi justamente porque estava fazendo uma operação de busca e continuava gerando um Permission deniedaviso. Dada a resposta desta pergunta, eu sei que isso lost+foundfaz parte do sistema de arquivos e, portanto, posso ignorar com segurança o aviso gerado (mas desejo que ele não tenha produzido).
Trevor Boyd Smith
1
@JohanE Você está me dizendo. No entanto, a verdadeira razão por que eu postei o meu comentário foi porque esta resposta estava tentando nos sugerir a "ser grato" para lost+found. Isso parecia hilário demais para ser verdade (sentei-me aqui com um sorriso largo), pelas ridiculamente poucas vezes em que somos gratos por não poder competir com aqueles em que preferimos ser capazes de lançar um "Begone!" soletrar para esta coisa incômoda lo + fo.
Syntaxerror 16/12/15
36

Em "Hierarquia do sistema de arquivos Linux", seção / lost + found " :

Como foi explicado anteriormente durante a visão geral do FSSTND, o Linux sempre deve passar por um desligamento adequado. Às vezes, seu sistema pode falhar ou uma falta de energia pode derrubar a máquina. De qualquer forma, na próxima inicialização, será feita uma verificação longa do sistema de arquivos usando fsck. O Fsck examinará o sistema e tentará recuperar os arquivos corrompidos que encontrar. O resultado desta operação de recuperação será colocado neste diretório. É provável que os arquivos recuperados não estejam completos ou fazem muito sentido, mas sempre há a chance de que algo que valha a pena seja recuperado. Cada partição possui seu próprio diretório perdido + encontrado. Se você encontrar arquivos, tente movê-los de volta para o local original. Se você encontrar algo como um link simbólico quebrado para 'arquivo', precisará reinstalar o (s) arquivo (s) do RPM correspondente, desde que seu sistema de arquivos foi danificado tanto que os arquivos foram mutilados além do reconhecimento. Abaixo está um exemplo de um diretório / lost + found. Como você pode ver, a grande maioria dos arquivos contidos aqui é realmente um soquete. Quanto ao restante dos outros arquivos, eles foram encontrados como arquivos de sistema e arquivos pessoais danificados. Esses arquivos não puderam ser recuperados.

bhupal
fonte