next up previous contents index
Next: Vérifier les erreurs disque Up: Systèmes de fichiers Previous: Montage et démontage   Table des matières   Index


Vérification de l'intégrité d'un système de fichiers avec fsck

Les systèmes de fichiers sont des créatures complexes, et, comme telles, elles ont tendance à être exposées aux erreurs. La cohérence et la validité d'un système de fichiers peuvent être vérifiées grâce à la commande fsck. Celle-ci peut réparer toutes les erreurs mineures qu'elle rencontre, et pour avertir l'utilisateur des problèmes non réparables. Heureusement, le code implantant les systèmes de fichiers est plutôt bien débuggé, il y a donc rarement des problèmes et, lorsqu'il y en a, ils sont le plus souvent causés par des coupures de courant, du matériel défectueux ou des erreurs de manipulation ; par exemple, en n'éteignant pas correctement le système.

La plupart des systèmes sont configurés pour lancer automatiquement fsck au moment du démarrage, de façon à détecter (et, avec de la chance, corriger) toutes les erreurs avant que le système ne soit utilisé. L'utilisation d'un système de fichiers corrompu empire les choses : si les structures de données sont en désordre, l'utilisation du système de fichiers augmentera probablement ce désordre ce qui aura pour résultat une perte plus importante de données. Cela dit, fsck peut mettre du temps à s'exécuter sur les gros systèmes de fichiers, et, comme les erreurs n'arrivent presque jamais lorsqu'un système est éteint correctement, plusieurs ruses sont employées pour éviter les vérifications dans de tels cas. La première est que, si le fichier /etc/fastboot existe, aucune vérification n'est faite. La seconde est que le système de fichiers ext2 a un marqueur spécial dans son super-bloc qui indique si le système de fichiers a été démonté proprement à la suite du montage précédent. Ceci permet à e2fsck (la version de fsck pour ext2) d'éviter la vérification du système de fichiers si le marqueur indique que le démontage a été fait (l'hypothèse étant qu'un démontage propre indique qu'il n'y a pas de problème). Le fonctionnement de l'astuce /etc/fastboot dépend des scripts de démarrage du système, mais l'astuce ext2 fonctionne à chaque fois que l'on utilise e2fsck -  elle doit être explicitement court-circuitée au moyen d'une option pour empêcher e2fsck. Voir la page du manuel concernant e2fsck pour de plus amples explications.

La vérification automatique fonctionne uniquement avec les systèmes de fichiers automatiquement montés au démarrage. On utilise fsck manuellement pour vérifier les autres systèmes de fichiers : les disquettes, par exemple.

Si fsck détecte des problèmes non réparables, on doit posséder une bonne connaissance du fonctionnement des systèmes de fichiers en général et du système endommagé en particulier, ou alors avoir de bonnes sauvegardes. Cette dernière solution est facile à mettre en place (quoique parfois fastidieuse), la première solution peut parfois s'arranger avec l'aide d'un ami, des groupes de news et des listes de diffusion Linux ou de tout autre forme d'assistance, lorsqu'on ne possède pas soi-même les connaissances requises. J'aimerais vous en dire plus là-dessus, mais mon manque d'expérience sur ce sujet m'en empêche. Le programme debugfs de Théodore T'so devrait être utile. fsck doit être lancé uniquement sur des systèmes de fichiers non montés (exception faite du système racine en lecture seulement au moment du démarrage). Ceci parce que ce programme accède au disque << brut >>, et peut donc modifier le système de fichiers sans que le système d'exploitation ne s'en rende compte.


next up previous contents index
Next: Vérifier les erreurs disque Up: Systèmes de fichiers Previous: Montage et démontage   Table des matières   Index
root
1999-03-03