Pouvez-vous avoir plusieurs répertoires perdus et trouvés?

10

Je n'étais pas au courant de la mklost+foundcommande jusqu'à ce que j'ai lu cette question .

La mklost+foundcommande crée un nouveau répertoire lost + found dans le pwd.

  1. Pourquoi auriez-vous besoin d'exécuter cette commande? Le répertoire lost + found existe déjà dans / sur chaque distribution que j'ai vérifiée.

  2. Que se passerait-il si vous avez plusieurs répertoires perdus et trouvés? Les fragments de données récupérés iraient-ils dans le répertoire perdu + trouvé dans /, ou iraient-ils dans le répertoire perdu + trouvé le plus récemment créé?

Je ne sais pas comment je pourrais délibérément créer un fragment de données pour tester cela.

spuder
la source
3
rm -rf /lost+found. Oups ...
cjm

Réponses:

11

Pourquoi auriez-vous besoin d'exécuter cette commande?

Dans le cas où le lost+foundrépertoire n'existe pas. Comme il ne s'agit que d'un répertoire ordinaire, l' rootutilisateur peut le supprimer à l'aide de rm -r. Certaines versions de fsck, lorsqu'elles doivent utiliser un lost+foundrépertoire, le créeront s'il n'existe pas, et d'autres non. S'il n'y a pas de lost+foundrépertoire, fsckne peut pas récupérer les fichiers orphelins, c'est-à-dire les fichiers qui n'ont aucune entrée de répertoire qui s'y réfère.

La version Linux de mklost+foundpossède la fonctionnalité suivante (à partir de la page de manuel mklost + found ):

mklost+foundpré-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.

Cela signifie que, si vous devez récupérer des fichiers à partir d'un système de fichiers endommagé à l'aide de fsck, moins de fichiers seront perdus dans le cadre du processus de récupération, car vous fsckn'aurez pas besoin d'allouer des blocs à partir du système de fichiers; ces blocs qui peuvent contenir des données de fichier valides.

Que se passerait-il si vous avez plusieurs répertoires perdus et trouvés?

Pour un système de fichiers donné, fsckn'utilisera qu'un seul lost+foundrépertoire: celui qui se trouve dans le répertoire racine du système de fichiers. Tout autre lost+foundrépertoire ne sera pas traité spécialement.

Mark Plotnick
la source
3

Q1. Pourquoi auriez-vous besoin d'exécuter cette commande? Le répertoire lost + found existe déjà dans / sur chaque distribution que j'ai vérifiée.

Quelque chose doit créer le lost+found, cette commande semble le faire. Chaque support que vous montez doit conserver le sien lost+found.

extrait de la page de manuel

mklost + found est utilisé pour créer un répertoire lost + found dans le répertoire de travail actuel sur un deuxième système de fichiers étendu Linux. Il y a normalement un répertoire lost + found dans le répertoire racine de chaque système de fichiers.

Quel est le gros problème avec la création d'un lost+foundrépertoire?

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.

Q2. Que se passerait-il si vous avez plusieurs répertoires perdus et trouvés? Les fragments de données récupérés iraient-ils dans le répertoire perdu + trouvé dans /, ou iraient-ils dans le répertoire perdu + trouvé le plus récemment créé?

Je m'attendrais à ce que le dernier soit celui qui est utilisé par e2fscks'il doit déplacer des blocs de données vers lost+found.

slm
la source
"Quelque chose doit créer le lost+found": Oui, mais dans la plupart des cas, cette commande l'est mke2fs.
Nate Eldredge
2

"Le répertoire lost + found existe déjà dans /chaque distribution que j'ai vérifiée."

Mais ce n'est pas le but. Chaque "vrai" système de fichiers (qui correspond à un stockage en bloc quelconque, par opposition aux pseudo-systèmes de fichiers comme / proc et swap) a besoin d'un orphelinat perdu + trouvé. Par exemple, si vous avez un système de fichiers séparé pour / home, alors il devrait y en avoir /home/lost+found. En effet fsck, ne déplace pas un fichier /lost+foundsur le système de fichiers racine; il laisse les fichiers qu'il trouve là où il les a trouvés, mais crée une entrée de répertoire dans l'orphelinat afin qu'un humain puisse intervenir pour organiser l'adoption appropriée. Le fait de savoir que quelque chose se trouve dans /home/lost+foundvs. /var/lost+foundpeut faciliter cette intervention manuelle.

Monty Harder
la source
0

Selon Essential System Administration

Des erreurs de disque ou un arrêt incorrect du système peuvent entraîner la perte de fichiers: les fichiers perdus font référence à des emplacements de disque qui sont marqués comme étant utilisés dans les structures de données sur le disque, mais qui ne sont répertoriés dans aucun répertoire (par exemple, une ode non vide dans qui ne figure dans aucun répertoire). Lorsque le système démarre, il exécute un programme appelé fsck qui, entre autres, trouve ces fichiers. Il y a un répertoire perdu + trouvé sur chaque partition de disque; / lost + found est celui du disque racine.

Les utilitaires les plus probables tels que fsck look placent les fragments de fichier dans le répertoire lost + found à la racine de la partition respective. Les autres répertoires perdus + trouvés doivent être ignorés.

spuder
la source