Commande fsck
Objectif
Contrôle la cohérence du système de fichiers et le répare en mode interactif, le cas échéant.
Syntaxe
fsck [ -n ] [ -p ] [ -y ] [ -dNuméro de bloc ] [ -f ] [ -inuméro de nœud i ] [ -o Options ] [ -tFichier ] [ -V VfsName ] [ FileSystem1 - FileSystem2 ... ]
Descriptif
- La commande fsck n'apporte pas de corrections à un système de fichiers monté.
- La commande fsck peut être exécutée sur un système de fichiers monté pour des raisons autres que des réparations. Toutefois, des messages d'erreur inexacts peuvent être renvoyés lorsque le système de fichiers est monté.
La commande fsck vérifie et répare les systèmes de fichiers incohérents. Vous devez exécuter cette commande avant de monter un système de fichiers. Vous devez pouvoir lire le fichier de l'unité sur laquelle réside le système de fichiers (par exemple, l'unité /dev/hd0). Normalement, le système de fichiers est cohérent et le rôle de la commande fsck se limite à la génération de rapports sur le nombre de fichiers, de blocs utilisés et de blocs libres dans le système de fichiers. Si le système de fichiers est incohérent, la commande fsck affiche des informations sur les incohérences trouvées et vous demande l'autorisation de les réparer par le biais d'une invite.
La commande fsck essaie de réparer avec prudence et tente d'éviter des actions pouvant entraîner la perte de données valides. Dans certains cas, cependant, la commande fsck recommande la destruction d'un fichier endommagé. Si vous n'autorisez pas la commande fsck à effectuer les réparations nécessaires, un système de fichiers incohérent peut se produire. Le montage d'un système de fichiers incohérent peut entraîner une panne du système.
Si un système de fichiers JFS2 comporte des images instantanées, la commande fsck tente de les conserver. Si cette action échoue, il n'est pas garanti que les images instantanées contiennent toutes les images avant du système de fichiers pris en instantané. La commande fsck supprime les instantanés et les volumes logiques d'instantané. Les instantanés internes sont supprimés si la commande fsck modifie le système de fichiers.
Si vous ne spécifiez pas de système de fichiers avec le paramètre FileSystem , la commande fsck vérifie tous les systèmes de fichiers répertoriés dans le fichier /etc/filesystems pour lesquels l'attribut check est défini sur True. Vous pouvez activer ce type de vérification en ajoutant une ligne dans la strophe, comme suit:
check=truecheck=NumberLe paramètre Nombre indique à la commande fsck quel groupe contient un système de fichiers particulier. Les systèmes de fichiers qui utilisent une unité de consignation commune doivent être placés dans le même groupe. Les systèmes de fichiers sont vérifiés, un par un, dans l'ordre des groupes, puis dans l'ordre dans lequel ils sont répertoriés dans le fichier /etc/filesystems . Tous les systèmes de fichiers check=true se trouvent dans le groupe 1. La commande fsck tente de vérifier le système de fichiers racine avant tout autre système de fichiers, quel que soit l'ordre spécifié sur la ligne de commande ou dans le fichier /etc/filesystems .
La commande fsck permet de contrôler les incohérences suivantes :
- Blocs ou fragments attribués à plusieurs fichiers.
- i-nodes contenant des numéros de blocs ou de fragments qui se chevauchent.
- i-nodes contenant des numéros de blocs ou de fragments hors de la plage.
- Différences entre le nombre de références de répertoire à un fichier et le nombre de liens du fichier.
- Blocs ou fragments alloués de manière incorrecte.
- i-nodes contenant des numéros de blocs ou de fragments marqués comme libres dans la mappe de disque.
- i-nodes contenant des numéros de blocs ou de fragments endommagés.
- Fragment qui n'est pas la dernière adresse de disque dans un i-node. Ce contrôle ne s'applique pas aux systèmes de fichiers compressés.
- Fichiers supérieurs à 32 ko contenant un fragment. Ce contrôle ne s'applique pas aux systèmes de fichiers compressés.
- Contrôle de la taille :
- Nombre de blocs incorrect.
- La taille du répertoire n'est pas un multiple de 512 octets.
- Contrôles de répertoire :
- Entrée de répertoire contenant un numéro i-node marqué comme libre dans la mappe i-node.
- Nombre d'i-node hors de la plage autorisée.
- Lien formé par un point (.) manquant ou ne pointant pas vers lui-même.
- Lien formé par deux points (..) manquant ou ne pointant pas vers le répertoire parent.
- Fichiers non référencés ou répertoires inaccessibles.
- Mappe de disques incohérente.
- Mappe i-node incohérente.
Les fichiers et répertoires orphelins (ceux qui ne sont pas accessibles) sont, si vous l'autorisez, reconnectés en les plaçant dans le sous-répertoire lost + found du répertoire racine du système de fichiers. Le nom attribué est le numéro d'i-node. Si vous n'autorisez pas la commande fsck à réassocier un fichier orphelin, elle demande le droit de détruire le fichier.
Outre ses messages, la commande fsck enregistre la sortie de ses contrôles et procède aux réparations grâce à sa valeur de sortie. Cette valeur de sortie peut être une somme des conditions suivantes :
| Article | Descriptif |
|---|---|
| 0 % | Tous les systèmes de fichiers sont désormais corrects. |
| 2 | La commande fsck a été interrompue avant d'avoir terminé les contrôles ou les réparations. |
| 4 | La commande fsck a modifié le système de fichiers. L'utilisateur doit redémarrer le système immédiatement. |
| 8 | Le système de fichiers contient un dommage non réparé. |
La commande fsck requiert un accès exclusif à l'unité de volume logique sous-jacente du système de fichiers. Si fsck échoue en raison de l'indisponibilité de l'unité sous-jacente, fsck doit être retenté une fois l'unité ouverte.
Lorsque le système est amorcé à partir d'un disque, le processus d'amorçage exécute explicitement la commande fsck , spécifiée avec les indicateurs -f et -p sur /,Systèmes de fichiers /usr, /varet /tmp . Si la commande fsck échoue sur l'un de ces systèmes de fichiers, le système ne démarre pas. L'amorçage à partir de supports amovibles et l'exécution de travaux de maintenance seront alors nécessaires avant l'amorçage d'un tel système.
- Le processus d'amorçage exécute explicitement la commande fsck sur /, /usr, Systèmes de fichiers /varet /tmp .
- /, /usr, /var, et les systèmes de fichiers /tmp sont montés lorsque le fichier /etc/rc est exécuté. La commande fsck ne modifie pas un système de fichiers monté. De plus, la commande fsck exécutée sur un système de fichiers monté génère des résultats non fiables.
Vous pouvez utiliser le raccourci SMIT (System Management Interface Tool) smit fsck pour exécuter cette commande.
Indicateurs
| Article | Descriptif |
|---|---|
| -dNuméro de bloc | Recherche des références à un bloc de disque spécifié. Chaque fois que la commande fsck détecte un fichier contenant un bloc spécifié, elle affiche le numéro i-node et tous les noms de chemin qui y font référence. Pour les systèmes de fichiers JFS2 , les numéros d'i-node référençant le bloc spécifié seront affichés, mais pas leurs noms de chemin. " |
| -f | Effectue une vérification rapide. Dans des circonstances normales, les seuls systèmes de fichiers susceptibles d'être affectés par l'arrêt du système sans arrêt correct sont ceux qui sont montés à l'arrêt du système. Le -f drapeau indique à la commande fsck de ne pas vérifier les systèmes de fichiers qui ont été démontés avec succès. La fsck commande détermine cela en inspectant le s_fmod drapeau dans le superbloc de JFS ou en inspectant le s_state drapeau dans le superbloc de JFS2. Cet indicateur est défini chaque fois qu'un système de fichiers est monté et effacé lorsqu'il est correctement démonté. Si un système de fichiers est démonté avec succès, il est peu probable qu'il rencontre des problèmes. Etant donné que la plupart des systèmes de fichiers sont démontés avec succès, le fait de ne pas vérifier ces systèmes de fichiers peut réduire le temps de vérification. |
| -inuméro de nœud i | Recherche des références à un i-node spécifié. Chaque fois que la commande fsck détecte une référence de répertoire à un i-node spécifié, elle affiche le nom de chemin complet de la référence. |
| -n | Suppose unnoréponse à toutes les questions posées par la commande fsck ; n'ouvre pas le système de fichiers spécifié pour l'écriture. |
| -o Options | Transmet des options séparées par des virgules à la commande fsck . Les options suivantes sont actuellement prises en charge pour JFS (ces options sont obsolètes pour les systèmes de fichiers plus récents et peuvent être ignorées):
|
| -P | N'affiche pas les messages relatifs aux problèmes mineurs mais les corrige automatiquement. Cet indicateur n'accorde pas la licence de vente en gros que l'indicateur -y et est utile pour effectuer des vérifications automatiques lorsque le système est démarré normalement. Vous devez utiliser cet indicateur dans le cadre des procédures de démarrage du système, chaque fois que le système est exécuté automatiquement. Si le superbloc principal est endommagé, le superbloc secondaire est vérifié et copié dans le superbloc principal. |
| -tFichier | Spécifie un paramètre Fichier en tant que fichier temporaire sur un système de fichiers autre que celui vérifié, si la commande fsck ne peut pas obtenir suffisamment de mémoire pour conserver ses tables. Si vous ne spécifiez pas l'option -t et que la commande fsck a besoin d'un fichier scratch, elle vous demande le nom de ce fichier. Toutefois, si vous avez spécifié l'option -p , la commande fsck échoue. Si le fichier temporaire n'est pas un fichier spécial, il est supprimé à la fin de la commande fsck . |
| -V VfsName | Utilise la description du système de fichiers virtuel spécifiée par la variable VFSName pour le système de fichiers au lieu d'utiliser le fichier /etc/filesystems pour déterminer la description. Si l'indicateur -V VfsName n'est pas spécifié sur la ligne de commande, le fichier /etc/filesystems est vérifié et l'attribut vfs=Attribut de la strophe correspondante est supposé être le type de système de fichiers correct. |
| -y | Suppose une réponse affirmative à toutes les questions posées par la commande fsck . Cet indicateur permet à la commande fsck d'effectuer toute action qu'elle juge nécessaire. Utilisez cet indicateur uniquement sur les systèmes de fichiers gravement endommagés. |
Security
Exemples
- Pour vérifier tous les systèmes de fichiers par défaut, entrez:
Cette commande vérifie tous les systèmes de fichiers marquéscheck=truedans le fichier /etc/filesystems . Cette forme de la commande fsck vous demande une autorisation avant d'apporter des modifications à un système de fichiers.fsck - Pour corriger automatiquement les problèmes mineurs avec les systèmes de fichiers par défaut, entrez:
fsck -p - Pour vérifier un système de fichiers spécifique, entrez:
Cette commande permet de contrôler le système de fichiers non monté situé sur l'unité /dev/hd1.fsck /dev/hd1
Fichiers
| Article | Descriptif |
|---|---|
| /usr/sbin/fsck | Contient la commande fsck . |
| /etc/filesystems | Répertorie les systèmes de fichiers connus et définit leurs caractéristiques. |
| /etc/vfs | Contient les descriptions des types de système de fichiers virtuel. |
| /etc/rc | Contient des commandes (y compris la commande fsck ) qui sont exécutées lorsque le système est démarré. |