Lorsque vous créez des systèmes de fichiers Linux comme ext3, un répertoire "perdu + trouvé" est créé. Selon this les fichiers seront placés là si les fichiers ont été endommagés par une sorte de plantage du système.
Que se passe-t-il si ce répertoire est supprimé et que le système plante. Si le dossier est supprimé, puis-je simplement créer un nouveau répertoire avec mkdir perdu + trouvé ou y a-t-il des attributs qui ne peuvent être définis que lorsque le système de fichiers est en cours de création .
fsck recréera le répertoire lost + found s'il est manquant.
Au démarrage, la plupart des distributions exécutent fsck si le système de fichiers est détecté comme n'étant pas démonté correctement. Comme fsck crée le répertoire lost + found s'il est manquant, il le créera alors et placera tout ce qu'il trouvera dans ce répertoire.
Si vous ne pouvez pas ou ne voulez pas exécuter fsck
, vous pouvez recréer le lost+found
répertoires avec mklost+found
:
mklost + found pré-alloue des blocs de disque au répertoire lost + found de sorte que lorsque e2fsck (8) est exécuté pour récupérer un système de fichiers, il n'a pas besoin d'allouer de blocs dans le système de fichiers pour stocker un grand nombre de fichiers non liés. Cela garantit qu'e2fsck n'aura pas à allouer de blocs de données dans le système de fichiers pendant la récupération.
Un répertoire perdu + trouvé préexistant avec une taille suffisamment grande pour contenir un grand nombre de fichiers non liés met moins de pression sur e2fsck pour créer le répertoire et le développer à la taille appropriée.
Il tentera toujours de le faire, mais face à un système de fichiers corrompu, il peut être plus risqué.
Les très anciens fsck pour d'autres systèmes de fichiers sur d'autres plates-formes n'ont pas pu créer/perdu + trouvé, ni le faire croître. Ceci est l'histoire de la justification de/lost + found. Mais la logique actuelle est simplement de faciliter le travail d'e2fsck.
Si vous n'avez pas de lost+found
, e2fsck
(Je n'ai pas inspecté le code dans d'autres implémentations fsck
) vous proposera de le créer pour vous. Mais vous pouvez aussi le recréer si vous le souhaitez; il n'y a rien de particulièrement spécial dans ce répertoire (du moins pas en inspectant le code).
e2fsck recréera lost + found, et détruira également tout fichier qui pourrait être sur le chemin avec le même nom pour s'assurer qu'il peut le créer en tant que répertoire.
Notez que de nombreux systèmes de fichiers Unix plus anciens exigeaient que lost + found soit attaché à l'inode numéro 2 spécifiquement, d'où la nécessité de recréer le système de fichiers dans la plupart des cas si le répertoire est perdu. e2fsck recherche simplement n'importe quel inode libre, n'ayant apparemment pas spécifiquement besoin de l'inode 2, ce qui rend la récupération beaucoup plus simple qu'auparavant.
Vous pouvez créer ce répertoire en utilisant simplement mkdir. Il doit appartenir à root, avec un groupe de racine ou de roue. A part ça, il n'y a rien de spécial à ce sujet. En cas de panne de courant ou d'arrêt incorrect au démarrage du système, il devrait lancer automatiquement fsck. fsck va parcourir le système et essayer de récupérer tous les fichiers corrompus qu'il trouve. Tous les fichiers rencontrés potentiellement corrompus y seront déplacés.
L'autre cas pour les fichiers à déplacer est si fsck trouve un fichier dont l'inode parent est manquant. C'est généralement le cas si un bloc est corrompu sur le disque à l'emplacement spécifique où l'inode d'un dossier est stocké. Il réaffectera leur inode parent pour être le dossier perdu + trouvé.
Edit: je ne sais pas si ce dernier cas va recréer le répertoire. Je le laisserais tranquille pour être du bon côté. Je ne vois aucune raison de le supprimer. Mais rien de mauvais ne se passera sans.
De plus, sur Debian 6 et Ubuntu 12 LTS, le package cron
est livré /etc/cron.daily/standard
qui remarque manquant lost+found
répertoires sur les systèmes de fichiers locaux et envoie des rappels quotidiens à ce sujet par e-mail, recommandant l'utilisation de mklost+found
.
Cependant, cela a été supprimé au moment de Debian 7 et Ubuntu 14 LTS, respectivement, car il était devenu obsolète.