Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:fsck [17/10/2009 03:58] martin_mtl |
doc:systeme:fsck [19/03/2015 23:04] smolski |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ===== FSCK ===== | ||
+ | * Objet : utilisation de l'outil FSCK | ||
+ | * Niveau requis : {{tag>débutant}} | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Suivi : {{tag>à-compléter}} | ||
+ | * Création par [[user>smolski]] le 20/06/2009 | ||
+ | * Testé par ... le ... | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=1474 | c'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | * Voir aussi les commandes [[mount]] et [[umount]] | ||
+ | |||
+ | ==== Examen et réparation de partitions ==== | ||
+ | |||
+ | La commande **fsck** (//File System Check// ou //File System Consistency Check//) permet le contrôle et la réparation des partitions. \\ | ||
+ | Ne pas confondre avec la défragmentation, fsck fait un check, une vérification de l'état du système de fichier, savoir si y'a pas d'erreur, de fichier/dossier partiellement écrit, des inodes agonisants et tout l'toutim, etc.\\ | ||
+ | Bref, il fait la révision, mais ne refait pas la carrosserie :-) (//c'est du //**captfab**// pur jus ça !//) | ||
+ | |||
+ | Pour utiliser fsck, il faut connaître la partition à traiter car nous devons la démonter pour l'examiner/réparer. | ||
+ | |||
+ | Dans un terminal tapotez un petit [[doc:systeme:fdisk|fdisk comme ceci]] : | ||
+ | <code root>fdisk -l</code> | ||
+ | qui nous renseignera sur le nom de la partition à examiner. Si la partition est montée, on peut aussi utiliser la [[doc:systeme:df|commande df]] qui donnera une sortie plus explicite : | ||
+ | <code root>df -hT</code> | ||
+ | |||
+ | Avec cette information, la [[doc:systeme:umount|démonter]] toujours sous root : | ||
+ | <code root>umount /dev/VotrePartition</code> | ||
+ | |||
+ | et enfin : | ||
+ | <code root>fsck /dev/VotrePartition</code> | ||
+ | |||
+ | Pour l'examen et la réparation... | ||
+ | |||
+ | Fsck peut déterminer seul le type de la partition que nous lui désignons. //Trôôô fort le bestiau...// \\ | ||
+ | Perso, j'y colle quand même le type : **ext3**, ou **vfat**... ou autres... cela donne : | ||
+ | fsck.ext4 | ||
+ | par exemple... pour une partition ext4, //oui benet//... et avec **un point** entre la commande **fsck** et le **type** désigné. À noter que l'option **-t** donne le même résultat, tous les chemins mènent à Rome : fsck -t ext4. De même que la commande **e2fsck** est destinée aux systèmes de fichiers **ext2/ext3/ext4**. | ||
+ | |||
+ | Bref, nous nous retrouvons avec l'examen de cette partition en cours et une demande de confirmation pour chaque réparation proposée. | ||
+ | y = accepter | ||
+ | Et tout se refait une beauté tranquillement. | ||
+ | |||
+ | En final, [[doc:systeme:mount|remonter la partition]]... | ||
+ | <code root>mount /dev/VotrePartition</code> | ||
+ | et toc tout est bon maintenant... | ||
+ | |||
+ | ==== Au démarrage : ==== | ||
+ | |||
+ | Bon, tout va très bien pour les partitions démontables, mais pour les partitions systèmes et en particulier la partition racine ? Si jamais on modifie le système de fichier alors qu'on est en train de "réparer", on risque de carrément tout casser ! | ||
+ | |||
+ | La solution : Le faire au démarrage. | ||
+ | |||
+ | Une première solution est bien sûr de démarrer sur un autre système, comme un liveCD. Mais c'est lourd, donc pour les cas désespérés. | ||
+ | |||
+ | Une solution bien plus simple est de redémarrer en demandant une vérification au démarrage. Toujours en root : | ||
+ | <code root>shutdown -rF now</code> | ||
+ | |||
+ | Si on ne veut pas redémarrer immédiatement mais simplement faire un test au prochain démarrage : | ||
+ | <code root>touch /forcefsck</code> | ||
+ | |||
+ | ===== Erreur au démarrage ===== | ||
+ | |||
+ | ==== Partition Système (ou racine /) ==== | ||
+ | |||
+ | Si le système de fichier est défectueux, il peut arriver que le système vous renvoie un gentil message qui va ressembler à celui là : | ||
+ | |||
+ | # fsck failed. Please repair manually and reboot. | ||
+ | # Please note that the root file system is currently mounted read-only, to remount | ||
+ | # it read-write # mount -n -o remount,rw / | ||
+ | # ctrl - D will exit from this shell and reboot the system | ||
+ | |||
+ | //Que se passe-t-il ?//\\ | ||
+ | Par sécurité, le système démarre en mode de récupération et **monte la partition système en lecture seule** | ||
+ | pour être certain de ne pas faire de bêtise en écrivant sur un système de fichier incohérent. | ||
+ | |||
+ | Bon là c'est moi qui paraît incohérent ^_^; la partition est montée mais on va quand même faire un fsck.\\ | ||
+ | Comme elle est montée en lecture seule, on ne risque pas de faire une bêtise en écrivant durant la réparation.\\ | ||
+ | Comme on est en mode "single-user" et qu'il n'y a pas pleins de trucs en train de tourner, on va pouvoir travailler tranquillement. | ||
+ | |||
+ | Vous entrez le //mot de passe root// quand il est demandé pour accéder à la console, et comme ci-dessus vous lancez le fsck : \\ | ||
+ | (//Bien sûr, vous adaptez la commande à votre cas, je considère ici que la partition / que je dois réparer se trouve en// /dev/**sda6**,) | ||
+ | <code root>fsck -f -y /dev/sda6</code> | ||
+ | |||
+ | == Explication des options : == | ||
+ | - -f pour //forcer//, | ||
+ | - -y pour //yes,réparer automatiquement sans confirmer//. | ||
+ | |||
+ | ==== Partition de stockage de donnée (autre que racine / du système lancé) ==== | ||
+ | |||
+ | S'il ne s'agit pas de la partition système, après le démarrage normal, il faut la démonter : | ||
+ | |||
+ | Démontage de la partition sda7 : | ||
+ | <code root>umount /dev/sda7</code> | ||
+ | |||
+ | Tapoter (//en considérant que cette partition est en format ext3 par exemple//) : | ||
+ | <code root>fsck.ext3 /dev/sda7</code> | ||
+ | |||
+ | La procédure démarre et se poursuit comme précédemment ! | ||
+ | |||
+ | ==== Vérification automatique ==== | ||
+ | |||
+ | Par défaut sur Debian, le fsck est lancé tous les 30 démarrages. Si vous avez un pc fixe que vous démarrez 1 fois par jour, ça fera une fois par mois, mais si vous avez un portable que vous démarrez 5 fois ou plus par jour, vous risquez de trouver ça pénible d'attendre le fsck. | ||
+ | |||
+ | D'abord, il faut savoir que : | ||
+ | <note tip>le fait de vérifier une partition ou pas se trouve dans le fichier /etc/fstab dans la colonne <pass></note> | ||
+ | <code text> | ||
+ | #<file system> <mount point> <type> <options> <dump> <pass> | ||
+ | proc /proc proc defaults 0 0 | ||
+ | </code> | ||
+ | Proc n'est jamais testé ce qui est normal, cela ne correspond pas à un disque physique, (chiffre 0). | ||
+ | |||
+ | ---- | ||
+ | \\ | ||
+ | |||
+ | <code text> | ||
+ | /dev/sda6 / ext3 relatime,user_xattr,errors=remount-ro 0 1 | ||
+ | </code> | ||
+ | La racine **doit** être en chiffre 1. | ||
+ | |||
+ | ---- | ||
+ | \\ | ||
+ | |||
+ | <code texte> | ||
+ | /dev/sda7 /home ext3 relatime,user_xattr 0 2 | ||
+ | </code> | ||
+ | La partition home est testée automatiquement (chiffre 2). | ||
+ | |||
+ | ---- | ||
+ | \\ | ||
+ | |||
+ | <code text> | ||
+ | /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0 | ||
+ | </code> | ||
+ | |||
+ | Le DVD n'est jamais testé, ce n'est pas un système de fichier testable comme ça ni réparable (chiffre 0). | ||
+ | |||
+ | ---- | ||
+ | \\ | ||
+ | |||
+ | ===== Gestion des fréquences des vérifications ===== | ||
+ | |||
+ | La modification de la fréquence de vérification se fait, pour les partitions ext2/ext3, avec **tune2fs**. Pour les autres types de partitions, se reporter à l'outil correspondant. | ||
+ | |||
+ | Il y a 2 paramètres modifiables : | ||
+ | |||
+ | ==== Option -c nn ==== | ||
+ | |||
+ | ''-c nn'' règle la fréquence tous les nn démarrage. Il est très fortement recommandé de faire la vérification au minimum tous les 100 redémarrages. | ||
+ | |||
+ | ==== Option -i d|m|w ==== | ||
+ | |||
+ | ''-i d|m|w'' règle un intervalle de temps en jour ou mois ou semaine | ||
+ | |||
+ | === Exemple pour un portable === | ||
+ | |||
+ | Si vous avez un portable, vous allez redémarrer plusieurs fois par jour, 30 sera un peu trop fréquent à votre goût, par contre un portable est exposé, donc trop éloigner les vérifications n'est pas une bonne idée. | ||
+ | |||
+ | Réglons par exemple une vérification tous les 50 démarrage avec un intervalle de temps de 2 semaines de la partition ''hda1'' : | ||
+ | <code root>tune2fs -c 50 -i 2w /dev/hda1</code> | ||
+ | |||
+ | ===== Remerciements ===== | ||
+ | |||
+ | Mes remerciements à M. /usr/bin/man ainsi qu'à tous les rejetons de /usr/share/doc/ |