Différences
Ci-dessous, les différences entre deux révisions de la page.
applications:verification_de_fichiers [Le 20/12/2006, 06:22] roger64 effacée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <code> | ||
- | Version : Dapper. Septembre 2006 | ||
- | </code> | ||
- | Rédigé par [[utilisateurs:roger64|roger64]] | ||
- | |||
- | ===== De quoi s'agit-il? ===== | ||
- | Apprendre à un **débutant** à vérifier ses fichiers quand il le souhaite. | ||
- | |||
- | ===== Introduction ===== | ||
- | Cette page a été rédigée pour permettre de dissiper chez le débutant une inquiétude diffuse mais fréquente (le syndrome dit de Stockholm, euh...de "scandisk") et lui expliquer simplement comment adapter la fréquence de vérification à ses besoins. | ||
- | Pour cela, il y a deux façons de faire sous Ubuntu, la bonne et la mauvaise. Il est important de connaître les deux. Elles ont un point commun qui est l'usage de la console. | ||
- | |||
- | Une autre procédure, qui ne sera pas examinée ici, consiste à s'appuyer sur un Live CD ou équivalent pour effectuer la vérification souhaitée. | ||
- | |||
- | ===== Quel(s) programme(s)? ===== | ||
- | |||
- | L'interface qui permet de vérifier les fichiers s'appelle "**fsck**" (acronyme pour "file system check") . Elle ne doit pas être assimilée à "scandisk". Elle regroupe tout un ensemble d'outils. Parmi eux, les outils **e2fsck** et **tune2fs** méritent une mention particulière. | ||
- | * L'outil **e2fsck** est destiné principalement à la vérification des partitions de type ext d'Ubuntu. | ||
- | * L'outil **tune2fs** permet de configurer notamment la fréquence d'utilisation de **fsck**. | ||
- | Sachez qu'il y a bien d'autres outils reliés à **fsck**. Nous n'irons pas jusqu'à ce niveau de détail. Chaque outil est documenté par un manuel ("man") particulier, souvent traduit. | ||
- | |||
- | |||
- | ===== Un fichier important: /etc/fstab ===== | ||
- | |||
- | Si **fsck** est le marteau (!!), le fichier /etc/fstab est l'enclume. La liste des partitions, objets des vérifications, s'y trouve. Vous pouvez la consulter en console en tapant simplement: | ||
- | <code>$ cat /etc/fstab</code> | ||
- | Elle peut être modifiée sous sudo avec un éditeur de texte. | ||
- | |||
- | Pour en savoir plus à ce sujet: | ||
- | [[http://doc.ubuntu-fr.org/installation/mount_fstab]] | ||
- | |||
- | ===== Conditions d'emploi de l'interface fsck ===== | ||
- | L'interface "**fsck**" lance par défaut **e2fsck** qui ne vérifie que la ou les partitions de type ext3. | ||
- | En cas d'arrêt brutal notamment, **fsck** lancera une vérification au démarrage suivant. | ||
- | |||
- | Il y a une condition **impérative** pour que **fsck** vérifie une partition: il faut que le dernier chiffre -le sixième champ- de la ligne décrivant chaque partition ext3 dans /etc/fstab ne soit pas nul. En général la partition racine a une priorité 1 et les autres une priorité 2. Vérifiez le. | ||
- | |||
- | L'autre condition **impérative** est que **fsck** ne soit lancé que sur une partition non montée. En pratique, cela veut dire qu'il faut utiliser **fsck** à un stade premier du démarrage, antérieur au montage du système de fichiers. Nous allons voir comment. | ||
- | |||
- | ===== la mauvaise façon de procéder ===== | ||
- | L'erreur à éviter est donc de tenter de lancer **fsck** (ou **e2fsck**) directement depuis la console. Si, en dépit de tous nos conseils, vous le tentez, **fsck** (ou **e2fsck**): | ||
- | <code> | ||
- | $ sudo fsck /dev/hda1 | ||
- | </code> | ||
- | Vous aurez droit à la réponse suivante: | ||
- | <code>fsck 1.38 (30-Jun-2005) | ||
- | e2fsck 1.38 (30-Jun-2005) | ||
- | /dev/hda1 est monté. | ||
- | AVERTISSEMENT!!! L'exécution de **e2fsck** sur un système de fichiers monté peut causer des dommages SÉVÈRES au système de fichiers. | ||
- | Désirez-vous réellement continuer (y/n)? no (pour non)</code> | ||
- | |||
- | Il vous est conseillé de décliner poliment plutôt que de sauter sans parachute.... | ||
- | |||
- | |||
- | ===== la bonne façon de procéder ===== | ||
- | |||
- | |||
- | Ubuntu en connait au moins trois qui consistent en résumé à se contenter du mode de vérification sûr choisi par défaut et à ne jouer éventuellement que sur sa fréquence. | ||
- | |||
- | ==== fréquence par défaut ==== | ||
- | Elle est de tous les trente démarrages. | ||
- | Cette option a été choisie par défaut pour Ubuntu. Vous ne vous occupez de rien. C'est un compromis dicté par la prudence. Le seul inconvénient est que la périodicité peut ne pas vous convenir. Dans ce cas.... | ||
- | |||
- | ==== fréquence choisie ==== | ||
- | (exprimée en nombre de démarrages ou par unités de temps) | ||
- | |||
- | Attention: si vous décidez de faire l'économie de toute vérification, vous courrez le risque de ne pas détecter en temps utile un défaut potentiel qui aurait pu être facilement réparé à un stade précoce. Ce n'est pas dans votre intérêt. Choisissez donc un intervalle raisonnable. | ||
- | |||
- | === utilisation de "tune2fs" === | ||
- | |||
- | Pour choisir cette fréquence, vous allez faire appel à l'outil "**tune2fs**" qui permet notamment de configurer la fréquence de lancement de **fsck**. | ||
- | |||
- | "**tune2fs**" (cf man tune2fs) peut être lancé, sans danger particulier, depuis la console. Il vous permet de choisir le délai de déclenchement de **fsck** selon les options suivantes | ||
- | * soit en nombre de démarrages maximum sans vérification -"maximum mount count" - (option -c suivie du nombre choisi) | ||
- | * soit en unités de temps (option -i + jours=d, semaines=w, mois=m) | ||
- | * soit les deux ensemble | ||
- | |||
- | === exemples pour "tune2fs" === | ||
- | |||
- | 1. Je choisis de faire réaliser un test d'intégrité de la partition "sda4 " tous les dix jours tout en gardant le "maximum mount count" fixé par défaut à 30 : | ||
- | <code>#sudo tune2fs -c 30 -i 10d /dev/sda4</code> | ||
- | Pour revenir à l'état précédent (uniquement trente démarrages): | ||
- | <code>#sudo tune2fs -c 30 -i 0d /dev/sda4</code> | ||
- | 2. Voici comment lire les caractéristiques de la partition sda4 (ou plus précisément le "contenu du superbloc") | ||
- | <code>#sudo tune2fs -l /dev/sda4</code> | ||
- | |||
- | |||
- | Une masse d'information est affichée en retour en console. Parmi elles, vous lirez celles relatives à la fréquence d'utilisation de **fsck** | ||
- | * Last mount time: Sat Sep 9 22:48:47 2006 | ||
- | * Last write time: Sun Sep 10 08:52:13 2006 | ||
- | * Mount count: 1 (nota: cela veut dire qu'il en reste encore 29) | ||
- | * Maximum mount count: 30 | ||
- | * Last checked: Sat Sep 9 22:47:02 2006 | ||
- | * Check interval: 864000 (1 week, 3 days) (nota: l'intervalle est en secondes et "traduit") | ||
- | * Next check after: Tue Sep 19 22:47:02 2006 | ||
- | |||
- | ==== manuelle et immédiate ==== | ||
- | Vous pouvez aussi faire réaliser une vérification quasi-immédiate, c'est à dire au redémarrage de l'ordinateur. La procédure est la suivante: | ||
- | |||
- | * 1. Placez-vous sur la partition racine | ||
- | <code> | ||
- | #cd / | ||
- | </code> | ||
- | * 2. Tapez | ||
- | <code> | ||
- | #sudo touch /forcefsck | ||
- | </code> | ||
- | Vous venez de créer un fichier vierge qui aura une fonction de signal unique lors de la lecture du script de démarrage (/etc/rc) et plus particulièrement aux phases | ||
- | * /etc/rcS.d/S20checkroot.sh pour la partition racine et | ||
- | * /etc/rcS.d/S30checkfs.sh pour les autres partitions ext3 | ||
- | |||
- | Le script de démarrage va identifier ce signal en temps utile et lancera fsck. | ||
- | * 3. Eteignez l'ordinateur avec | ||
- | <code>#sudo reboot</code> | ||
- | Ne touchez plus à rien et attendez. Au redémarrage, la vérification des partitions ext3 sera successivement entreprise puis le fichier /forcefsck que vous avez créé sera supprimé. | ||
- | |||
- | ===== En résumé ===== | ||
- | <code> | ||
- | #cd / | ||
- | #sudo touch /forcefsck | ||
- | #sudo reboot | ||
- | </code> | ||
- | |||
- | Si vous souhaitez refaire une vérification de ce type, il vous faudra répéter intégralement la même procédure. |