FSCK(8)

NOM
fsck - Vérifier et réparer un système de fichiers Linux

SYNOPSIS

fsck [-lsAVRTMNP] [-r [descripteur]] [-C [descripteur]] [-t type-sf] [système-de-fichiers...] [--] [options_spécifiques_sf]

DESCRIPTION

fsck est utilisé pour vérifier et éventuellement réparer un ou plusieurs systèmes de fichiers Linux. système-de-fichiers peut être un nom de périphérique (par exemple, /dev/hdc1, /dev/sdb2), un point de montage (par exemple, /, /usr, /home), une étiquette (LABEL) de système de fichiers ou un identifiant UUID (par exemple UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd ou LABEL=root). Ordinairement, le programme fsck essayera de gérer, en parallèle, les systèmes de fichiers situés sur des disques physiques différents afin de minimiser la durée totale de vérification.

Si aucun système de fichiers n’est précisé sur la ligne de commande et que l’option -A n’est pas indiquée, par défaut fsck vérifiera séquentiellement les systèmes de fichiers présents dans /etc/fstab. C’est équivalent à préciser les options -As.

Le code de retour de fsck est la somme des conditions suivantes :

0
    Pas d’erreur.

1
    Erreurs de système de fichiers corrigées.

2
    Le système devrait être redémarré.

4
    Il reste des erreurs non corrigées sur le système de fichiers.

8
    Erreur lors de l’opération.

16
    Erreur d’utilisation ou de syntaxe.

32
    Vérification annulée par l’utilisateur.

128
    Erreur de bibliothèque partagée.

Le code de retour renvoyé lorsque tous les systèmes de fichiers sont vérifiés est le résultat de l’opération OU bit à bit sur les codes de retour de chacun des systèmes de fichiers vérifiés.

En fait, fsck n’est simplement qu’une interface pour les différents vérificateurs de systèmes de fichiers (fsck.type_sf) disponibles sous Linux. Le vérificateur spécifique à un système est recherché successivement dans la variable d’environnement PATH. Si celle-ci n’est pas définie, /sbin est utilisé.

Veuillez consulter les pages de manuel des vérificateurs spécifiques à un système de fichiers pour de plus amples précisions.

OPTIONS

-l
    Créer un ficher verrou flock(2) exclusif (/run/fsck/<nom_disque>.lock) pour tout le périphérique. Cette option peut être utilisée avec un seul périphérique (cela signifie que -A et -l sont mutuellement exclusives). Cette option est recommandée quand plusieurs instances de fsck sont exécutées en même temps. L’option est ignorée quand elle est utilisée avec plusieurs périphériques ou avec des disques non tournants. fsck ne verrouille pas les périphériques sous-jacents quand elle est exécutée pour vérifier des périphériques empilés (MD ou DM par exemple) — cette fonctionnalité n’est pas encore implémentée.

-r [descripteur]
    Rendre compte de statistiques pour toutes les vérifications terminées. Ces statistiques comprennent le code de retour, la taille de mémoire résidente maximale utilisée (en kilooctet), le temps total écoulé ainsi que les temps utilisateur et processeur utilisés par la vérification. Par exemple :

    /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186

    Les frontaux graphiques peuvent indiquer un descripteur de fichier, auquel cas l’information de barre de progression est envoyée à ce descripteur de fichier dans un format analysable par une machine. Par exemple :

    /dev/sda1 0 92828 4.002804 2.677592 0.86186

-s
    Sérialiser les opérations de fsck. Cette option est conseillée si vous êtes en train de vérifier plusieurs systèmes de fichiers en mode interactif. Remarque : e2fsck(8) fonctionne par défaut en mode interactif. Pour que e2fsck(8) fonctionne en mode non interactif, vous devez indiquer l’option -p ou -a si vous désirez que les erreurs soient corrigées automatiquement, ou l’option -n si vous ne le souhaitez pas.

-t liste_sf
    Indiquer le ou les types de systèmes de fichiers qui seront vérifiés. Quand l’attribut -A est indiqué, seuls les systèmes de fichiers qui ont une correspondance dans liste_sf sont vérifiés. Le paramètre liste_sf est une liste de systèmes de fichiers et d’options séparés par des virgules. Tous les systèmes de fichiers de cette liste peuvent être préfixés par l’opérateur de négation « no » ou « ! », qui indique que seuls les systèmes de fichiers qui ne sont pas mentionnés dans liste_sf seront vérifiés. Si aucun système de fichiers dans liste_sf n’est préfixé par l’opérateur de négation, seuls les systèmes de fichiers mentionnés seront vérifiés.

    Des options, séparées par des virgules, peuvent être incluses dans liste_sf. Elles doivent avoir le format opts=option_sf. Si une option est présente, alors seuls les systèmes de fichiers ayant une option_sf dans le champ d’options de montage de /etc/fstab seront vérifiés. Si l’option est préfixée par l’opérateur de négation, alors seuls les systèmes de fichiers n’ayant pas option_sf dans leur champ d’options de montage de /etc/fstab seront vérifiés.

    Par exemple, si opts=ro se trouve dans liste_sf, alors seuls les systèmes de fichiers de /etc/fstab qui ont l’option ro seront vérifiés.

    Pour la compatibilité avec les distributions Mandrake dont les scripts de démarrage dépendent d’un changement non autorisé d’UI dans le programme fsck, si le type de système de fichiers loop est présent dans liste_sf, il est traité comme si opts=loop était indiqué en tant que paramètre de l’option -t.

    Normalement, le type de système de fichiers est déduit en recherchant système_de_fichiers dans le fichier /etc/fstab et en utilisant l’entrée correspondante. Si le type ne peut être déduit et qu’il n’y a qu’un seul système de fichiers en argument de l’option -t, fsck utilisera le système de fichiers indiqué. Si ce type n’est pas disponible, alors le système de fichiers par défaut (actuellement ext2) est utilisé.

-A
    Parcourir le fichier /etc/fstab et essayer de vérifier tous les systèmes de fichiers en une seule fois. Cette option est généralement utilisée dans le fichier d’initialisation système /etc/rc, plutôt que d’avoir des commandes multiples pour vérifier un par un chaque système de fichiers.

    Le système de fichiers racine sera vérifié en premier à moins que l’option -P ne soit indiquée (voir ci-dessous). Après quoi, les systèmes de fichiers seront vérifiés dans l’ordre indiqué par le (sixième) champ fs_passno du fichier /etc/fstab. Les systèmes de fichiers avec une valeur fs_passno de 0 sont ignorés. Ceux avec une valeur supérieure à 0 seront vérifiés dans l’ordre croissant des fs_passno. S’il y a égalité entre plusieurs systèmes de fichiers, fsck tentera de les vérifier en parallèle, tout en évitant toutefois les vérifications simultanées sur le même disque physique.

    fsck ne vérifie pas les périphériques empilés (RAID, dm-crypt, etc.) en parallèle avec un autre périphérique. Consultez le réglage FSCK_FORCE_ALL_PARALLEL ci-dessous. Le système de fichiers /sys est utilisé pour déterminer les dépendances entre les périphériques.

    De ce fait, une configuration très commune pour le fichier /etc/fstab est d’avoir un système racine avec une valeur fs_passno de 1 et pour tous les autres systèmes de fichiers d’avoir cette valeur à 2. Cela autorise fsck à lancer automatiquement en parallèle les vérifications si c’est avantageux. Les administrateurs système peuvent choisir de ne pas utiliser cette configuration ; par exemple, si la machine dispose de peu de mémoire et qu’une pagination excessive est à éviter.

    fsck ne vérifie normalement pas l’existence du périphérique avant d’appeler un vérificateur de système de fichiers spécifique. Par conséquent les périphériques inexistants risquent d’entraîner le système en mode de réparation de système de fichiers au démarrage si le vérificateur de système de fichiers spécifique renvoie une erreur fatale. L’option de montage nofail de /etc/fstab peut être utilisée pour que fsck ignore les périphériques inexistants. fsck ignore aussi les périphériques inexistants ayant le type spécial de système de fichiers auto.

-C [descripteur]
    Afficher une barre de progression pour les vérificateurs qui le permettent (actuellement uniquement disponible pour ext[234]). fsck gérera les vérificateurs de telle sorte qu’un seul d’entre eux affichera une barre de progression à un instant donné. Les interfaces graphiques peuvent fournir un descripteur de fichier, dans lequel les informations d’avancement seront envoyées.

-M
    Ne pas vérifier les systèmes de fichiers montés et renvoyer le code de retour 0 pour les systèmes de fichiers montés

-N
    Ne pas exécuter, montrer uniquement ce qui devrait être accompli.

-P
    Quand l’attribut -A est utilisé, vérifier le système de fichiers racine en parallèle des autres systèmes de fichiers. Ce n’est pas la chose la plus sûre au monde, puisque si le système de fichiers est potentiellement défectueux, e2fsck(8) pourrait être corrompu ! Cette option est principalement fournie aux administrateurs système qui n’ont pas une partition racine petite et compacte (ce qui est vraiment la bonne solution).

-R
    Lors de la vérification de tous les systèmes de fichiers (avec l’attribut -A), ignorer le système de fichiers racine (c’est pratique si le système de fichiers racine a déjà été monté en lecture/écriture).

-T
    Ne pas afficher le titre au démarrage.

-V
    Produire une sortie bavarde, en affichant toutes les commandes spécifiques au système de fichiers qui sont exécutées.

-?, --help
    Afficher l’aide-mémoire puis quitter.

--version
    Afficher la version et quitter.

OPTIONS SPÉCIFIQUES DE SYSTÈMES DE FICHIERS

Les options non comprises par fsck sont transmises au vérificateur spécifique au système de fichiers !

Ces options ne doivent pas prendre de paramètre puisqu’il n’y a aucun moyen pour fsck de différencier correctement les options qui prennent des paramètres de celles qui n’en prennent pas.

Les options et paramètres qui suivent -- sont traités comme des options spécifiques au système de fichiers et sont transmis au vérificateur correspondant.

Veuillez remarquer que fsck n’est pas conçu pour transmettre arbitrairement des options complexes aux vérificateurs de systèmes de fichiers. Si vous êtes en train de faire quelque chose de complexe, exécutez directement le vérificateur spécifique du système de fichiers. Si vous passez à fsck des options et paramètres horriblement compliqués et que ça ne fonctionne pas, il ne faut pas le signaler comme un bogue. Vous êtes certainement en train de faire quelque chose que vous ne devriez pas accomplir avec fsck. Les options des différents vérificateurs spécifiques à un système de fichiers ne sont pas normalisées.

ENVIRONNEMENT

Le comportement de fsck peut être modifié par les variables d’environnement suivantes :

FSCK_FORCE_ALL_PARALLEL
    Si cette variable d’environnement est positionnée, fsck cherchera à vérifier tous les systèmes de fichiers en parallèle, sans se soucier du fait qu’ils soient sur le même périphérique. (C’est utile pour les systèmes RAID ou les systèmes de stockage de haut niveau tels que ceux vendus par IBM ou EMC). Remarquez que la valeur fs_passno est toujours utilisée.

FSCK_MAX_INST
    Cette variable d’environnement limitera le nombre maximal de vérifications lancées en parallèle. Cela permet aux systèmes avec un nombre important de disques d’éviter à fsck de démarrer un trop grand nombre de vérifications de systèmes de fichiers en même temps, ce qui pourrait surcharger les ressources processeur et mémoire du système. Si elle vaut 0, alors le nombre de vérifications n’est pas limité. C’est la valeur par défaut, mais des versions futures de fsck pourraient déterminer ce nombre en fonction de données obtenues du système d’exploitation.

PATH
    La variable d’environnement PATH est utilisée pour trouver les vérificateurs de système de fichiers.

FSTAB_FILE
    Cette variable d’environnement permet à l’administrateur système de contourner l’emplacement standard du fichier /etc/fstab. C’est aussi utile pour les développeurs de fsck.

LIBBLKID_DEBUG=all
    Activer la sortie de débogage de libblkid.

LIBMOUNT_DEBUG=all
    Activer la sortie de débogage de libmount.

FICHIERS

/etc/fstab

NOTES

Durant l’amorçage, systemd n’invoque pas fsck -A. À la place, il planifie l’activation des montages individuels en prenant en compte les dépendances des périphériques secondaires, du réseau et d’autres facteurs. Par conséquent, fsck est appelé individuellement pour chaque périphérique.

AUTEURS

VOIR AUSSI

fstab(5), mkfs(8), fsck.ext2(8) ou fsck.ext3(8) ou e2fsck(8), fsck.cramfs(8), fsck.jfs(8), fsck.nfs(8), fsck.minix(8), fsck.msdos(8), fsck.vfat(8), fsck.xfs(8), reiserfsck(8)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le

DISPONIBILITÉ

La commande fsck fait partie du paquet util-linux, elle est disponible sur