fsck(8) Vérifier et réparer un système de fichiers Linux

SYNOPSIS

fsck [-lrsAVRTMNP] [-C [descripteur]] [-t type] [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 ») ext2 ou un identifiant UUID (par exemple UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd ou LABEL=root). Le programme fsck essayera de fonctionner en parallèle pour 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, fsck vérifiera 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 sortie renvoyé lorsque tous les systèmes de fichiers sont vérifiés en utilisant l'option -A est le OU bit à bit des codes de sorties de chacun des systèmes de fichiers vérifiés.

En réalité fsck n'est qu'une interface commune à toute une variété de vérificateurs de systèmes de fichiers (fsck.type) disponibles sous Linux. Le vérificateur spécifique à un système est recherché successivement dans /sbin, /etc/fs, /etc et finalement dans les répertoires indiqués dans la variable d'environnement PATH. Veuillez consulter les pages de manuels 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(8) 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
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

-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 type
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 correspondent à type sont vérifiés. Le paramètre type 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 type seront vérifiés. Si aucun système de fichiers de type 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 et peuvent être préfixées par l'opérateur de négation. Si une option est présente, alors seuls les systèmes de fichiers dont l'entrée dans /etc/fstab contient (ou ne contient pas, si le l'option est préfixée par l'opérateur de négation) option-sf dans leur champ d'option du fichier /etc/fstab seront vérifiés.

Par exemple, si opts=ro se trouve dans liste_sf, alors seuls les systèmes de fichiers de 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 tous les autres systèmes de fichiers ont la valeur 2. Cela autorise fsck à lancer automatiquement et avantageusement en parallèle les vérifications. Les administrateurs systèmes 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 avec 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 un code de retour égal à 0 pour les systèmes de fichiers montés
-N
Ne pas exécuter, montre 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èmes 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.
options_spécifiques_sf
Options qui ne sont pas comprises par fsck et qui sont transmises au vérificateur spécifique du 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.

Actuellement, les options des systèmes de fichiers sont en cours de standardisation. Veuillez consulter les pages de manuels des vérificateurs spécifiques à ces systèmes de fichiers. Bien que ce ne soit pas garanti, les options suivantes sont prises en charge par la plupart des vérificateurs de systèmes de fichiers.

-a
Réparer automatiquement le système de fichiers sans poser de question (à utiliser précautionneusement). Notez que e2fsck(8) permet -a pour des raisons de compatibilité ascendante uniquement. Cette option est renvoyée sur l'option -p de e2fsck qui est d'utilisation sûre, contrairement à l'option -a prise en charge par la plupart des vérificateurs de systèmes de fichiers.
-n
Pour certains vérificateurs spécifiques à un système de fichiers, l'option -n permet d'éviter au vérificateur de système de fichiers d'essayer de réparer les problèmes détectés, les problèmes sont seulement affichés sur la sortie standard. Ce n'est cependant pas vrai pour tous les vérificateurs de systèmes de fichiers. En particulier, fsck.reiserfs(8) ne mentionne aucune corruption si cette option est fournie. fsck.minix(8) ne gère pas l'option -n.
-r
Réparer interactivement le système de fichiers (avec demandes de confirmations). Remarque : c'est généralement une mauvaise idée d'utiliser cette option si plusieurs fsck s'exécutent en parallèle. Notez aussi qu'il s'agit du comportement par défaut de e2fsck qui prend en charge cette option uniquement dans un but de compatibilité ascendante.
-y
Pour certains vérificateurs spécifiques à un système de fichiers, l'option -y permet de forcer le fsck à toujours chercher à corriger les corruptions détectées automatiquement. Parfois, un expert peut manier le fsck plus efficacement. Notez que tous les vérificateurs spécifiques à un système de fichiers ne gèrent pas cette option. En particulier, fsck.minix(8) et fsck.cramfs(8) ne gèrent pas l'option -y à ce jour.

FICHIERS

/etc/fstab.

VARIABLES D'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èmes de fichiers. Les répertoires système /sbin, /sbin/fs.d, /sbin/fs, /etc/fs et /etc sont d'abord utilisés, suivis des répertoires fournis par PATH.
FSTAB_FILE
Cette variable d'environnement permet à l'administrateur système de surcharger l'emplacement du fichier standard /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.

AUTEUR

Theodore Ts'o

DISPONIBILITÉ

La commande fsck fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux

TRADUCTION

Cette page de manuel a été traduite par Sébastien Blanchet en 2002. La version présente dans Debian est maintenue par les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.