fsck (Français)
fsck signifie "file system check". Il est utilisé afin de vérifier et éventuellement réparer un (ou plusieurs) système(s) de fichiers Linux. Le programme fsck essaiera de gérer les systèmes de fichiers sur différents disques durs physiques en parallèle afin de réduire le temps total requis pour vérifier tous les systèmes de fichiers (voir: fsck(8)).
Le processus de démarrage d'Arch Linux s'occupe de la procédure fsck pour vous et vérifiera toutes les partitions pertinentes sur votre (ou vos) disque(s) automatiquement à chaque démarrage. Ainsi, son usage depuis la ligne de commande devrait donc être rare.
Vérification au démarrage
Mécanisme
Deux choses sont à prendre en compte :
- mkinitcpio vous offre la possibilité de vérifier votre racine avant de la monter via le hook
fsck
. Si vous faites cela, vous devez monter la «racine en lecture-écriture (root read-write) » via l'optionrw
de la ligne de commande du noyau.[1] -
Systemd vérifie tous les systèmes de fichiers dont le «numéro de passe fsck (fsck pass number)» est plus grand que 0 (soit avec les options du fstab soit depuis une unité définie par l'utilisateur). Pour la partition, celle-ci ne doit être montée en «lecture seule»
ro
et ensuite remonté en «lecture-écriture» depuis fstab (notez que l'option de montagedefaults
impliquerw
).
L'option 1 est recommandée par défaut et est ce que vous obtiendrez si vous suivez le guide d'installation. Si vous souhaitez plutôt bénéficier de l'option 2, vous devez supprimer le «hook» fsck
de mkinitcpio.conf
et utiliser ro
depuis la ligne de commande du noyau. Vous pouvez également choisir de désactiver fsck entièrement via le paramètre du noyau fsck.mode=skip
, afin d'être certain de désactiver les deux options.
Forcer la vérification
Si vous utilisez le «hook» base
de mkinitcpio, vous pouvez forcer la vérification par fsck au démarrage en ajoutant fsck.mode=force
aux paramètres du noyau. Cela vérifiera chaque système de fichiers présent sur la machine.
Comme alternative, systemd fournit systemd-fsck@.service(8), qui vérifie tous les systèmes de fichiers configurés, n'ayant pas été vérifiés par l'initramfs. Cependant, vérifier le système de fichier racine de cette façon peut provoquer un ralentissement lors du processus de démarrage étant donné que le système de fichier doit être remonté.
forcefsck
à la racine de chaque système de fichiers ou à utiliser la commande shutdown
avec le paramètre -F
ne fonctionnaient que pour l'ancien SysVinit et les premières versions de Upstart et ne fonctionnent pas avec systemd. La solution mentionnée ci-dessus est donc la seule qui fonctionne pour Arch Linux.Trucs et astuces
Tenter de réparer les blocs endommagés
Pour réparer automatiquement une portion endommagée d'un système de fichier ext2/ext3/ext4 ou FAT, lancez:
# fsck -a
Réparer interactivement des blocs endommagés
Ceci est utile lorsque des fichiers sur la partition de boot ont été modifiés mais que le journal du système de fichier n'a pas pu être actualisé. Dans ce cas, démontez la partition de boot et utilisez ceci pour réparer les portions endommagées:
# fsck -r disque
Modifier la fréquence de vérification
Par défaut, fsck vérifie le système de fichiers tous les trente démarrages (comptés individuellement pour chaque partition). Pour changer cette fréquence, lancez :
# tune2fs -c 20 /dev/sda1
Dans cet exemple, 20
est le nombre de démarrages séparant deux vérifications.
Notez que 1
induirait une vérification à chaque démarrage alors que 0
reviendrait à ne jamais rien scanner.
Si vous souhaitez voir le nombre établi pour la fréquence et l'actuel compte relatif au montage pour une partition spécifique, utilisez:
# dumpe2fs -h /dev/sda1 | grep -i 'mount count'
Options du fstab
Le fstab est un fichier de configuration du système utilisé afin d'informer le noyau Linux de quelles partitions (systèmes de fichiers) il doit effectuer un montage et où sur l'arbre du système de fichiers.
Un /etc/fstab
type peut ressembler à ceci :
/dev/sda1 / ext4 defaults 0 1 /dev/sda2 /other ext4 defaults 0 2 /dev/sda3 /win ntfs-3g defaults 0 0
La sixième colonne (en gras) est celle dédiée à fsck.
-
0
= Ne pas vérifier. -
1
= Premier système de fichiers (partition) à vérifier ;/
(La partition racine) devrait être défini à1
. -
2
= Tous les autres systèmes de fichiers à vérifier.
Dépannage
Impossible d'exécuter fsck sur une partition /usr séparée
- Assurez-vous que vous avez les hooks requis dans
/etc/mkinitcpio.conf
et que vous avez pensé à re-générer votre image initramfs après avoir modifié ce fichier. - Vérifiez votre fstab ! Seule la partition racine a besoin de
1
à la fin, tout le reste devrait avoir soit2
soit0
. Inspectez-le attentivement pour d'autres erreurs de frappe.
ext2fs : pas de journal externe
Il y a des moments (dus à une panne de courant) où un système de fichiers ext(3/4) peut se corrompre au-delà d'une réparation normale. Normalement, il y aura une invite de fsck indiquant qu'il ne peut pas trouver un journal externe. Dans ce cas, exécutez les commandes suivantes :
Démontez la partition en fonction de son répertoire
# umount répertoire
Ecrivez un nouveau journal sur la partition
# tune2fs -j /dev/partition
Exécutez un fsck pour réparer la partition
# fsck -p /dev/partition
Traduit avec www.DeepL.com/Translator (version gratuite)