Fsck
fsck (File System Check ou File System Consistency Check) est un outil sous UNIX / Linux pour vérifier la cohérence d'un système de fichiers. S'il y a des incohérences, il est capable de les corriger dans la plupart des cas. Présentation généraleEn général, fsck s'exécute automatiquement lors de la phase de boot de l'ordinateur s'il détecte qu'il y a eu un arrêt brutal. Selon le paramétrage, les corrections se feront sans que l'utilisateur ait à s'en préoccuper ou, à l'extrême opposé, fsck peut aussi proposer à l'utilisateur de faire des choix. Dans ce dernier cas, cela nécessite que l'utilisateur ait des connaissances très pointues sur le système de fichiers utilisé (ext2 ou autre). fsck peut aussi être lancé manuellement par l'administrateur s'il a un doute sur le système de fichiers. Les systèmes de fichiers journalisés rendent beaucoup plus rare l'utilisation de fsck. Les multiples systèmes de fichiers supportésfsck appelle en général un programme adapté au type de système de fichiers concerné (le nom par défaut est fsck.x, cette variable x correspondant aux 2 à 5 caractères du type de système de fichier). Pour les systèmes de fichiers basés sur les i-nœuds, les plus connus sont :
En revanche, pour XFS en pratique, il n'existe pas de fsck. Plus précisément, la commande fsck.xfs affiche uniquement un message préconisant d'appeler xfs_repair. Pour la compatibilité avec les systèmes de fichiers de Minix : Pour la compatibilité avec les systèmes de fichiers d'Apple : fsck pour HFS+ (système de fichiers provenant de Mac OS). Les systèmes de fichiers de Microsoft sont également supportés : Pour les systèmes de fichiers en réseau, il y a entre autres : fsck.nfs pour NFS (en fait, le script shell correspondant ne fait rien, il se contente de toujours renvoyer le code retour qui indique le succès de l'opération). Pour les systèmes de fichiers compressés, il y a entre autres cramfsck pour cramfs. Les 5 à 6 phases de fsck pour les systèmes de fichiers basés sur un i-nœudCe qui suit concerne des systèmes de fichiers basés sur des i-nœuds : UFS (Unix File System), ext2 de linux, etc. À la fin du fsck, il est conseillé de vérifier la présence éventuelle de fichiers dans le répertoire /lost+found. Les différentes phases du fsck sont les suivantes :
Fichier fstab et commande fsckL'option -A de fsck permet d'utiliser la table des systèmes de fichiers (fstab) pour la vérification des différents systèmes de fichiers montés. L'ordre de vérification est paramétré par la sixième colonne du fichier fstab. Commandes Unix ayant un lien avec fsckCommande syncLa commande sync permet d'effectuer toutes les écritures disques en attente. Si on craint un arrêt électrique brutal, il est prudent d'effectuer cette commande, (pour éviter de devoir réparer le système de fichiers avec fsck). Sur certaines versions d'Unix très anciennes, il était nécessaire d'effectuer manuellement une commande sync avant de rebooter l'ordinateur. e2image, dumpe2fs et debugfsDans les très rares cas où fsck échoue à réparer un système de fichiers ext2 ou ext3, un expert pourra utiliser les utilitaires suivants pour tenter une réparation :
Commande fsdb pour les expertsSur certaines versions d'Unix/linux, la commande fsdb (fs debug) est un débogueur de système de fichiers, elle est complémentaire de fsck, mais est réservé à un petit nombre d'experts. Tune2fs et le lancement automatique de fsckLa commande tune2fs permet de paramétrer l'exécution d'un fsck automatique sur des partitions ext2 ou ext3. Exemples de modification des paramètres :
tune2fs -i 1w /dev/hda7.
tune2fs -c 30 /dev/hda7. Exemple de consultation de ces paramètres : tune2fs -l /dev/hda7.
Last mount time: Sat Jan 20 15:44:28 2007, Last write time: Sat Jan 20 18:13:19 2007, Mount count: 13, Maximum mount count: 30, Last checked: Wed Jan 17 22:25:21 2007, Check interval: 604800 (1 week), Next check after: Wed Jan 24 22:25:21 2007. Commande wipefsSi la signature dans la table des partitions n'a pas le type adéquat de type de système de fichiers, il est possible de l'effacer avec la commande wipefs. Ensuite, il faudra appeler le fsck spécifique correspondant au bon type de système de fichier. Le |