NOM
debugfs − Débogueur pour systèmes de fichiers ext2/ext3/ext4
SYNOPSIS
debugfs [ −DVwci ] [ −b taille_bloc ] [ −s superbloc ] [ −f fichier_commande ] [ −R requête ] [ −d périphérique_source ] [ périphérique ]
DESCRIPTION
Le programme
debugfs est un débogueur interactif de
système de fichiers. Il peut servir à examiner
et changer l’état d’un système de
fichiers ext2, ext3 ou ext4.
périphérique est un fichier spécial
correspondant au périphérique contenant le
système de fichiers (par exemple
/dev/hdXX).
OPTIONS
−w |
Indiquer que le système de fichiers doit être ouvert en lecture−écriture. Sans cette option, le système de fichiers est ouvert en lecture seule. | ||
−c |
Indiquer que le système de fichiers doit être ouvert en mode catastrophe, ce qui fait que les tables d’inœuds et de groupes ne sont pas lues au départ. Cela peut être utile pour les systèmes de fichiers fortement corrompus, mais de ce fait, le mode catastrophe force l’ouverture en mode lecture seule du système de fichiers. | ||
−i |
Indiquer que périphérique représente un fichier image ext2 créé par le programme e2image. Puisque le fichier image ext2 ne contient que le superbloc, le descripteur des groupes de blocs, les tables d’allocation des blocs et inœuds et la table des inœuds, beaucoup de commandes de debugfs ne fonctionneront pas correctement. Attention : aucune vérification n’est effectuée et debugfs peut échouer de différentes façons si les commandes comme ls, dump, etc. sont utilisées sans indiquer le périphérique_source en utilisant l’option −d. debugfs est un outil de débogage. Il est fourni brut de fonderie ! |
−d périphérique_source
Utilisée avec l’option −i, cette option permet d’indiquer qu’un périphérique_source doit être utilisé pour la lecture des blocs qui ne se trouvent pas dans le fichier image ext2. Cela inclut les données, les répertoires et les blocs indirects.
−b taille_bloc
Forcer l’utilisation pour le système de fichiers de la taille de bloc donnée, plutôt que de la détecter comme c’est fait normalement.
−s superbloc
Le superbloc du système de fichiers sera lu à partir du bloc dont le numéro est donné, au lieu d’utiliser le superbloc primaire (situé 1024 octets après le début du système de fichiers). Si vous utilisez l’option −s, vous devez également fournir la taille des blocs du système de fichiers avec l’option −b.
−f fichier_commande
debugfs lira les commandes dans le fichier fichier_commande et les exécutera. Quand debugfs a fini d’exécuter les commandes, il se termine.
−D |
debugfs ouvrira le périphérique en utilisant les entrées/sorties directes (« Direct I/O »), outrepassant le cache de fichiers. Notez que certains périphériques Linux, comme à l’heure actuelle device mapper, ne prennent pas en charge les entrées/sorties directes. |
−R requête
Forcer debugfs à n’exécuter que la requête puis quitter.
−V |
Afficher le numéro de version de debugfs et quitter. |
INDIQUER DES FICHIERS
Beaucoup de commandes de debugfs prennent un paramètre filespec pour indiquer un inœud (par opposition à un chemin) dans le système de fichiers qui est actuellement ouvert par debugfs. Le paramètre filespec peut être indiqué de deux façons. La première est un numéro d’inœud entre des signes inférieur et supérieur, par exemple <2>. La seconde est un chemin ; si le chemin commence par une barre oblique (« / »), alors il est interprété relativement à la racine du système de fichiers qui est ouvert par debugfs. Sinon, le chemin est interprété relativement au répertoire de travail maintenu par debugfs, qui peut être modifié à l’aide de la commande cd de debugfs.
COMMANDES
Voici une liste
de commandes acceptées par debugfs :
blocks filespec
Afficher les blocs utilisés par l’inœud filespec sur la sortie standard.
bmap filespec bloc_logique
Afficher le numéro de bloc physique correspondant au numéro de bloc logique bloc_logique de l’inœud filespec.
block_dump [−f filespec] num_bloc
Afficher le bloc du système de fichiers indiqué par num_bloc sur la console aux formats hexadécimal et ASCII. Si l’option −f est indiquée, le numéro de bloc est relatif au début de l’inœud filespec donné.
cat filespec
Afficher le contenu de l’inœud filespec sur la sortie standard.
cd filespec
Utiliser filespec comme répertoire de travail.
chroot filespec
Changer le répertoire racine et utiliser filespec à la place.
close [−a]
Fermer le système de fichiers actuellement ouvert. Si l’option −a est indiquée, écrire toute modification du superbloc et des descripteurs de groupes de blocs dans tous les superbloc de sauvegarde, et non pas seulement dans le superbloc maître.
clri filespec
Effacer le contenu de l’inœud filespec.
dirsearch filespec fichier
Chercher fichier dans le répertoire filespec.
dirty |
Marquer le système de fichiers comme sale (« dirty »), de sorte que les superblocs seront écrits à la sortie. |
dump [−p] filespec fichier_sortie
Fournir le contenu de l’inœud filespec dans le fichier de sortie fichier_sortie. Avec l’option −p, le propriétaire, le groupe et les informations de permission de fichier_sortie correspondront à ceux de filespec.
dump_mmp
Afficher les valeurs des champs de protection contre le montage multiple (mmp).
dx_hash [−h hash_alg] [−s hash_graine] fichier
Calculer le hachage du répertoire du fichier. Le nom de l’algorithme de hachage précisé par −h peut prendre l’une des valeurs legacy, half_md4 ou tea. La graine de hachage précisée avec l’option −s doit être au format UUID.
dump_extents [−n] [−l] filespec
Afficher l’arbre d’extents de l’inœud filespec. Avec l’option −n, dump_extents n’affichera que les nœuds internes dans l’arbre d’extents. Avec l’option −l, dump_extents n’affichera que les feuilles de l’arbre d’extents.
(Veuillez noter que la longueur et l’intervalle des blocs du dernier extent d’un nœud interne est une estimation des fonctions de la bibliothèque des extents ; ils ne sont pas stockés dans les structures de données du système de fichiers. Ainsi, les valeurs affichées peuvent ne pas être précises et n’indiquent pas de problème ou de corruption du système de fichiers.)
expand_dir filespec
Développer le répertoire filespec.
feature [fonctionnalité_sf] [−fonctionnalité_sf] ...
Activer ou désactiver différentes fonctionnalités d’un système de fichiers dans son superbloc. Après avoir activé ou désactivé une fonctionnalité, afficher l’état actuel de l’ensemble des fonctionnalités du système de fichiers.
filefrag [−d] [−v] [−r] filespec
Afficher le nombre d’extents contigus dans filespec. Si filespec est un répertoire et que l’option −d n’est pas indiquée, filefrag affichera le nombre d’extents contigus pour chaque fichier du répertoire. Avec l’option −v, filefrag affichera sous forme de tableau la liste des extents contigus du fichier. Avec l’option −r, filefrag sera exécuté récursivement sur les éléments du répertoire.
find_free_block [compte [objectif]]
Trouver le premier morceau d’espace libre de compte blocs, en commençant par objectif et l’allouer. Aussi disponible sous le nom ffb.
find_free_inode [rep [mode]]
Trouver un inœud libre et l’allouer. S’il est présent, rep indique le numéro d’inœud du répertoire dans lequel l’inœud doit être placé. Le deuxième paramètre optionnel mode indique les permissions du nouvel inœud. (Si le bit indiquant un répertoire est positionné dans le mode, la routine d’allocation fonctionnera différemment). Aussi disponible sous le nom ffi.
freeb bloc [compte]
Marquer le bloc numéro bloc comme non alloué. Si le paramètre optionnel compte est présent, alors compte blocs, à partir du bloc numéro bloc seront marqués comme non alloués.
e2freefrag [−c morceau_ko]
Faire un rapport de la fragmentation de l’espace libre sur le système de fichiers actuellement ouvert. Si une taille de morceau est fournie avec l’option −c, alors filefrag affichera le nombre de morceaux de taille morceau_ko disponibles dans le système de fichiers. La taille des morceaux morceau_ko, en kilooctets, doit être une puissance de deux et doit être supérieure à la taille des blocs du système de fichiers.
freei filespec [num]
Libérer l’inœud indiqué par filespec. Si num est indiqué, libérer aussi les num−1 inœuds qui suivent celui qui a été précisé.
help |
Afficher une liste des commandes comprises par debugfs. |
htree_dump filespec
Décharger le répertoire indexé par hachage filespec, en montrant sa structure d’arbre.
icheck bloc ...
Afficher une liste des inœuds qui utilisent au moins un des blocs fournis sur la ligne de commande.
inode_dump filespec
Afficher le contenu de la structure de données de l’inœud aux formats hexadécimal et ASCII.
imap filespec
Afficher l’emplacement de la structure de données de l’inœud filespec (dans la table des inœuds).
init_filesys périphérique taille_bloc
Créer un système de fichiers ext2 sur le périphérique avec une taille de bloc de taille_bloc. Notez que cela n’initialise pas complètement toutes les structures de données ; pour cela, utilisez mke2fs(8). Il ne s’agit que d’un appel à la bibliothèque bas niveau qui définit le superbloc et les descripteurs blocs.
kill_file filespec
Désallouer l’inœud filespec et ses blocs. Notez que cela ne supprime aucune entrée de répertoire (s’il y en a) dans cet inœud. Voir la commande rm(1) si vous souhaitez supprimer un fichier.
lcd directory
Changer le répertoire de travail du processus debugfs pour directory sur le système de fichiers natif.
ln filespec dest_file
Créer un lien dur nommé fichier_dest vers filespec. Notez que ça n’ajuste pas le compteur de référence de l’inœud.
logdump
[−a] [−c] [−s]
[−b bloc] [−i
filespec] [−f fichier_journal]
[fichier_sortie]
Décharger le contenu du journal d’un système ext3. Par défaut, décharger l’inœud du journal qui est indiqué dans le superbloc. Cependant, on peut le redéfinir via l’option −i qui décharge le journal de l’inœud interne indiqué par filespec. Un fichier standard contenant le journal peut être pointé par l’option −f. Enfin, l’option −s utilise l’information de sauvegarde sur le superbloc pour localiser le journal.
L’option −a force le programme logdump à afficher le contenu de tous les descripteurs de bloc. L’option −b fait apparaître toutes les entrées du journal qui référencent le bloc indiqué. L’option −c affichera le contenu des blocs de données sélectionnés par l’option −a et −b.
ls [−d] [−l] [−p] filespec
Afficher la liste des fichiers dans le répertoire filespec. L’option −d affichera les fichiers supprimés. L’option −l affichera les entrées en mode bavard. −p rendra la sortie plus facilement exploitable par des scripts, et en même temps prendra en charge les espaces et autres caractères non imprimables en fin de noms de fichiers.
list_deleted_inodes [nb_secondes]
Dresser la liste des inœuds supprimés, éventuellement limitée à ceux supprimés dans les nb_secondes dernières secondes. Aussi disponible sous le nom isdel.
Cette commande était utile pour la récupération après un effacement accidentel de fichiers sur des systèmes de fichiers ext2. Malheureusement, on ne peut pas s’en servir dans ce but sur des systèmes de fichiers ext3 ou ext4, puisque les blocs de données d’un inœud ne sont plus disponibles une fois que l’inœud a été libéré.
modify_inode filespec
Modifier le contenu de la structure de données de l’inœud filespec. Aussi disponible sous le nom mi
mkdir filespec
Créer un répertoire.
mknod filespec [p|[[c|b] majeur mineur]]
Créer un fichier de périphérique spécial (tuyau nommé, caractère ou périphérique de bloc). Si un caractère ou un périphérique de bloc doit être créé, il faut préciser les nombres majeur et mineur.
ncheck [−c] num_inode ...
À partir d’une liste de numéros d’inœuds, afficher une liste de chemins vers ces inœuds. L’option −c activera la vérification des renseignements de type de fichier dans l’entrée du répertoire pour s’assurer qu’il correspond au type d’inœud.
open [−w]
[−e] [−f] [−i]
[−c] [−D] [−b
taille_bloc] [−s superbloc]
périphérique
Ouvrir un système de fichiers en mode édition. L’option −f force l’ouverture, même s’il y a des fonctionnalités inconnues ou incompatibles qui empêchent normalement le système d’être ouvert en mode exclusif. Les options −b, −c, −i, −s, −w et −D fonctionnent comme celles de debugfs.
punch filespec bloc_début [bloc_fin]
Effacer les blocs de l’inœud dans l’intervalle entre bloc_début et bloc_fin. Si bloc_fin est omis, la commande fonctionnera comme la commande truncate : tous les blocs depuis bloc_début jusqu’à la fin du fichier seront désalloués.
symlink filespec cible
Créer un lien symbolique.
pwd |
Afficher le répertoire de travail en cours. |
|||
quit |
Quitter debugfs. |
rdump répertoire [...] destination
Envoyer récursivement le ou les répertoires et tout leur contenu (y compris les fichiers normaux, les liens symboliques et les autres répertoires) dans la destination nommée, qui devrait être un répertoire existant sur le système de fichiers natif.
rm chemin
Défaire le lien chemin. Si cela entraîne la fin de toute référence pour l’inœud pointé par chemin, désalloue le fichier. Cette command fonctionne comme l’appel système unlink().
rmdir filespec
Supprimer le répertoire filespec.
setb bloc [compte]
Marquer le bloc numéro bloc comme alloué. Si l’argument optionnel compte est présent, alors les compte blocs à partir du bloc numéro bloc seront marqués comme alloués.
set_block_group num_groupe champ valeur
Modifier le descripteur du bloc de groupe indiqué par num_groupe pour que le champ du descripteur de groupe champ prenne la valeur valeur. Aussi disponible sous le nom set_bg.
seti filespec [num]
Marquer l’inœud filespec comme utilisé dans la table des inœuds. Si num est indiqué, marquer de la même façon les num−1 inœuds qui suivent celui qui a été précisé.
set_inode_field filespec champ valeur
Modifier l’inœud pointé par filespec pour que l’inœud champ prenne la valeur valeur. La liste des champs inœuds qui peuvent être configurés via cette commande peut être obtenue par la commande : set_inode_field −l. Aussi disponible sous le nom sif.
set_mmp_value champ valeur
Modifier les données de protection contre le montage multiple (MMP) pour que le champ MMP champ prenne la valeur valeur. La liste des champs MMP qui peuvent être configurés au moyen de cette commande peut être obtenue par la commande : set_mmp_value −l. Aussi disponible sous le nom smmp.
set_super_value champ valeur
Donner la valeur valeur au champ champ du superbloc. La liste des champs du superbloc qui peuvent être configurés via cette commande peut être affichée avec la commande : set_super_value −l. Aussi disponible sous le nom ssv.
show_super_stats [−h]
Lister le contenu du superbloc et les descripteurs du groupe de blocs. Si l’argument −h est passé, seul le contenu du superbloc sera affiché. Disponible aussi sous le nom stats.
stat filespec
Afficher le contenu de la structure de l’inœud filespec.
testb bloc [compte]
Regarder si le bloc numéro bloc est marqué comme alloué dans le bloc bitmap. Si l’argument optionnel compte est fourni, alors les compte blocs à partir du bloc numéro bloc seront testés.
testi filespec
Tester si l’inœud filespec est marqué comme alloué dans la table des inœuds.
undel numéro_inœud [chemin]
Annuler la suppression du numéro d’inœud (qui doit être entouré de crochets) de manière à ce que l’inœud et ses blocs soient marqués « en cours d’utilisation », et peut aussi lier l’inœud récupéré au chemin indiqué. On devrait toujours lancer la commande e2fsck après avoir utilisé undel pour récupérer des fichiers.
Remarque : si vous récupérez un grand nombre de fichiers supprimés, il est possible que lier l’inœud à un répertoire entraîne l’augmentation de taille dudit répertoire, qui peut occuper des inœuds encore à récupérer. Il est donc plus sûr de récupérer les inœuds sans préciser un répertoire de destination, et ensuite, dans un répertoire précis, utiliser l’argument link de debugfs pour lier les inœuds au répertoire de destination, ou d’utiliser e2fsck pour vérifier le système de fichiers et de lier tous les inœuds récupérés au répertoire lost+found.
unlink chemin
Supprimer le lien indiqué chemin pour un inœud. Notez que cela n’ajuste pas le compteur de références de l’inœud.
write fichier_source fichier_sortie
Copier le contenu du fichier_source dans le fichier nommé fichier_sortie nouvellement créé dans le système de fichiers.
zap_block
[−f filespec] [−o
position] [−l longueur]
[−p motif] num_bloc
Réécrire par dessus les blocs indiqués
par
num_bloc avec des octets zéro (NUL), ou si l’option −p est indiquée, utiliser l’octet précisé par le motif. Si −f est indiqué, alors le numéro de bloc num_bloc est relatif au début du fichier donné par filespec. Les options −o et −l limitent les octets à réécrire au domaine caractérisé par la position et la longueur relatifs au début du bloc.
zap_block [−f filespec] [−b bit] num_bloc
Basculer les bits de portions d’un bloc num_bloc. Si l’option −f est indiquée, alors num_bloc est un bloc logique relatif au début de filespec.
VARIABLES D’ENVIRONNEMENT
DEBUGFS_PAGER, PAGER
Le programme debugfs affiche toujours les résultats des commandes show_super_stats (stats), list_directory (ls), show_inode_info (stat), list_deleted_inodes (lsdel) et htree_dump dans un afficheur de texte. Celui utilisé peut être explicitement indiqué par la variable d’environnement DEBUGFS_PAGER et, si celle−ci est vide, par la variable PAGER.
Remarque : comme un afficheur de texte est toujours utilisé, l’afficheur de texte less(1) n’est pas particulièrement adapté, car il efface l’écran quand on le quitte. De nombreux utilisateurs préfèrent utiliser less(1) pour la plupart des cas, c’est pourquoi la variable DEBUGFS_PAGER existe en plus de PAGER.
AUTEUR
debugfs a été écrit par Theodore Ts’o <tytso [AT] mit.edu>.
VOIR AUSSI
ext4(5), dumpe2fs(8), tune2fs(8), e2fsck(8), mke2fs(8)
TRADUCTION
La traduction de cette page de manuel 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.