Pouvez-vous avoir plusieurs directorys perdus et trouvés?

Je n'étais pas au courant de la command mklost+found jusqu'à ce que je lise cette question .

La command mklost+found fera un nouveau directory lost + found dans le pwd.

  1. Pourquoi auriez-vous besoin d'exécuter cette command? Le directory lost + found existe déjà dans / sur chaque dissortingbution que j'ai cochée.

  2. Que se passerait-il si vous avez plusieurs directorys perdus et trouvés? Les fragments de données récupérés vont-ils dans le directory lost + found dans /, ou iront-ils au directory lost + found créé le plus récemment?

Je ne suis pas sûr de savoir comment créer délibérément un fragment de données pour le tester.

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

Dans le cas où le directory lost+found n'existe pas. Comme il s'agit simplement d'un directory ordinaire, l'user root peut le supprimer en utilisant rm -r . Certaines versions de fsck , lorsqu'elles ont besoin d'utiliser un directory lost+found , le créeront s'il n'existe pas et certaines versions ne le feront pas. S'il n'y a pas de directory lost+found , fsck ne peut pas restaurer les files orphelins, c'est-à-dire les files qui ne contiennent aucune input de directory.

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

mklost+found pré-alloue les blocs de disque au directory lost + found de sorte que lorsque e2fsck (8) est en cours d'exécution pour récupérer un système de files, il n'a pas besoin d'allouer des blocs dans le système de files pour stocker un grand nombre de files non liés. Cela garantit qu'e2fsck n'aura pas à allouer de blocs de données dans le système de files pendant la récupération.

Cela signifie que si vous devez récupérer des files d'un système de files endommagé à l'aide de fsck , less de files seront perdus dans le cadre du process de récupération, car fsck n'aura pas besoin d'allouer des blocs du système de files; ces blocs pouvant contenir des données de file valides.

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

Pour un système de files donné, fsck utilisera uniquement un directory lost+found : celui qui se trouve dans le directory racine du système de files. Tout autre directory lost+found ne sera pas traité spécialement.

Q1. Pourquoi auriez-vous besoin d'exécuter cette command? Le directory lost + found existe déjà dans / sur chaque dissortingbution que j'ai cochée.

Quelque chose doit créer le lost+found , cette command semblerait faire cela. Chaque support que vous montez a besoin de maintenir sa propre lost+found .

extrait de la page man

mklost + found est utilisé pour créer un directory lost + found dans le directory de travail en cours sur un second système de files Linux étendu. Il y a normalement un directory lost + found dans le directory racine de chaque système de files.

Quel est le problème avec la création d'un directory lost+found ?

mklost + found pré-alloue les blocs de disque au directory lost + found de sorte que lorsque e2fsck (8) est en cours d'exécution pour récupérer un système de files, il n'a pas besoin d'allouer des blocs dans le système de files pour stocker un grand nombre de files non liés. Cela garantit qu'e2fsck n'aura pas à allouer de blocs de données dans le système de files pendant la récupération.

Q2. Que se passerait-il si vous avez plusieurs directorys perdus et trouvés? Les fragments de données récupérés vont-ils dans le directory lost + found dans /, ou iront-ils au directory lost + found créé le plus récemment?

Je m'attendrais à ce que le dernier soit celui qui est utilisé par e2fsck s'il a besoin de déplacer les blocs de données à lost+found .

"Le directory lost + found existe déjà dans / sur chaque dissortingbution que j'ai vérifié."

Mais ce n'est pas le point. Chaque système de files "réel" (qui correspond à un stockage de blocs, par opposition à pseudo filesystems comme / proc et swap) a besoin d'un orphelinat perdu + trouvé. Par exemple, si vous avez un système de files séparé pour / home, il devrait y avoir /home/lost+found . Ceci est dû au fait que fsck ne déplacera pas un file vers /lost+found sur le système de files racine; il laisse les files trouvés où il les a trouvés, mais crée une input de directory dans l'orphelinat afin qu'un humain puisse intervenir pour organiser l'adoption appropriée. Sachant que quelque chose est dans /home/lost+found vs. /var/lost+found peut rendre cette intervention manuelle beaucoup plus facile.

Selon Essential System Administration

Les erreurs de disque ou l'arrêt incorrect du système peuvent entraîner la perte de files: les files perdus se réfèrent à des locations de disque marqués comme étant utilisés dans les data structures du disque, mais qui ne figurent dans aucun directory (par exemple, un ode non vide qui n'est répertorié dans aucun directory). Lorsque le système démarre, il exécute un programme appelé fsck qui, entre autres, trouve ces files. Il y a un directory lost + found sur chaque partition de disque; / lost + found est celui sur le disque racine.

Les utilitaires les plus probables tels que fsck look placent les fragments de files dans le directory lost + found à l'intérieur de la racine de la partition respective. Les autres directorys lost + found doivent être ignorés.