fsck (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

État de la traduction: Cet article est la version francophone de Fsck. Date de la dernière traduction: 2021-12-16. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

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 :

  1. 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'option rw de la ligne de commande du noyau.[1]
  2. 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 montage defaults implique rw).

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é.

Note: Pour ceux qui ont l'habitude d'utiliser d'autres distributions GNU/Linux, les anciennes astuces consistant à écrire un fichier nommé 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:

Attention: Ceci ne vous demandera pas si vous souhaitez réparer quoique ce soit car cette commande implique que la réponse sera toujours Oui.
# 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

Note: Les commandes suivantes tune2fs et dumpe2fs ne fonctionnent qu'avec les systèmes de fichiers ext2/ext3/ext4.

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

  1. 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.
  2. Vérifiez votre fstab ! Seule la partition racine a besoin de 1 à la fin, tout le reste devrait avoir soit 2 soit 0. 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)