DEBUGFS(8) System Manager's Manual DEBUGFS(8)

debugfs – Débogueur pour systèmes de fichiers ext2/ext3/ext4

debugfs [ -DVwcin ] [ -b taille_bloc ] [ -s superbloc ] [ -f fichier_commande ] [ -R requête ] [ -d périphérique_source ] [ -z fichier_annulations] [ périphérique ]

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 périphérique bloc (par exemple, /dev/sdXX) ou un fichier contenant le système de fichiers.

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.
Désactiver la vérification des sommes de contrôle des métadonnées. Cela peut être seulement utilisé si vous croyez que les données sont correctes en dépit des plaintes d’e2fsprogs.
Specifies that the file system should be opened in catastrophic mode, in which the inode and group bitmaps are not read initially. This can be useful for file systems with significant corruption, but because of this, catastrophic mode forces the file system to be opened read-only.
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 !
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.
Forcer l'utilisation pour le système de fichiers de la taille de bloc donnée (en octet), plutôt que détecter la taille correcte automatiquement. Cette option est rarement nécessaire. Elle est utilisée principalement quand le système de fichiers est gravement endommagé ou altéré.
Causes the file system superblock to be read from the given block number, instead of using the primary superblock (located at an offset of 1024 bytes from the beginning of the file system). If you specify the -s option, you must also provide the blocksize of the file system via the -b option. (This option is rarely needed; it is used primarily when the file system is extremely badly damaged/corrupted.)
debugfs lira les commandes dans le fichier fichier_commande et les exécutera. Quand debugfs a fini d'exécuter les commandes, il quitte.
debugfs ouvrira le périphérique en utilisant les entrées/sorties directes (« Direct I/O »), outrepassant le cache de tampon. Notez que certains périphériques Linux, comme à l'heure actuelle « device mapper », ne prennent pas en charge les entrées/sorties directes.
Forcer debugfs à n'exécuter que la requête puis quitter.
Afficher le numéro de version de debugfs et quitter.
Avant d’écraser un bloc de système de fichiers, écrire le contenu du bloc dans un fichier d’annulations. Ce fichier peut être utilisé par e2undo(8) pour restaurer l’ancien contenu du système de fichiers si quelque chose se passe mal. Si une chaîne vide est passée comme argument du fichier d’annulations, le fichier d’annulations sera écrit dans un fichier appelé « debugfs-périphérique.e2undo » dans le répertoire précisé à l’aide de la variable d’environnement E2FSPROGS_UNDO_DIR.

AVERTISSEMENT : le fichier d’annulations ne peut pas être utilisé pour se remettre d'une coupure d'alimentation ou d'un plantage du système.

Many debugfs commands take a filespec as an argument to specify an inode (as opposed to a pathname) in the file system which is currently opened by debugfs. The filespec argument may be specified in two forms. The first form is an inode number surrounded by angle brackets, e.g., <2>. The second form is a pathname; if the pathname is prefixed by a forward slash ('/'), then it is interpreted relative to the root of the file system which is currently opened by debugfs. If not, the pathname is interpreted relative to the current working directory as maintained by debugfs. This may be modified by using the debugfs command cd.

Voici une liste de commandes acceptées par debugfs :

Afficher les blocs utilisés par l'inœud filespec sur la sortie standard.
Afficher ou définir le numéro de bloc physique correspondant au numéro de bloc logique bloc_logique de l'inœud filespec. Si l’option -a est indiquée, essayer d’allouer un bloc si nécessaire.
Dump the file system block given by block_num in hex and ASCII format to the console. If the -f option is specified, the block number is relative to the start of the given filespec. If the -x option is specified, the block is interpreted as an extended attribute block and printed to show the structure of extended attribute data structures.
Afficher le contenu de l'inœud filespec sur la sortie standard.
Changer le répertoire de travail actuel à filespec.
Changer le répertoire racine et utiliser filespec à la place.
Fermer le système de fichiers actuellement ouvert. Si l'option -a est indiquée, écrire toute modification du superbloc et des descripteurs de groupe de blocs dans tous les superblocs de sauvegarde, et non pas seulement dans le superbloc maître.
Effacer le contenu de l'inœud filespec.
Copier le contenu de la structure d’un inœud dans inœud_source et l’utiliser pour surcharger la structure d’inœud dans inœud_destination.
Chercher fichier dans le répertoire filespec.
Mark the file system as dirty, so that the superblocks will be written on exit. Additionally, clear the superblock's valid flag, or set it if -clean is specified.
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.
Afficher les valeurs de champ MMP (protection contre des montages multiples). Si bloc_mmp est indiqué, alors vérifier et fournir les valeurs MMP du numéro de bloc indiqué. Sinon, utiliser le champ s_mmp_block dans le superbloc pour localiser et utiliser le bloc MMP existant.
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.
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.
(Please note that the length and range of blocks for the last extent in an interior node is an estimate by the extents library functions, and is not stored in file system data structures. Hence, the values displayed may not necessarily by accurate and does not indicate a problem or corruption in the file system.)
Fournir les blocs inutilisés contenant des octets différents de NULL.
Retrouver la valeur de l’attribut étendu nom_attr dans le fichier filespec et l’écrire soit sur la sortie standard, soit dans fichier_sortie.
Afficher les attributs étendus associés au fichier filespec sur la sortie standard.
Définir la valeur de l’attribut étendu nom_attr dans le fichier filespec à la valeur de chaîne valeur_attr ou la lire à partir de fichier_entrée.
Supprimer l’attribut étendu nom_attr du fichier filespec.
Développer le répertoire filespec.
Allouer et mapper les blocs non initialisés dans filespec, situés entre les blocs logiques bloc_début et bloc fin (inclus). Si bloc_fin n’est pas indiqué, cette fonction mappe jusqu’à ce qu’il n’y ait plus de blocs disque libres ou jusqu’à ce que la taille maximale de fichier soit atteinte. Les mappages existants sont délaissés.
Set or clear various file system features in the superblock. After setting or clearing any file system features that were requested, print the current state of the file system feature set.
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.
Trouver les premiers nombre blocs libres, en commençant par objectif et les allouer. Aussi disponible sous le nom ffb.
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 situé. 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.
Marquer le bloc numéro bloc comme non alloué. Si le paramètre optionnel nombre est présent, alors nombre blocs à partir du bloc numéro bloc seront marqués comme non alloués.
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.
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é.
Afficher les informations de quota pour le type de quota précisé (utilisateur, groupe ou projet) et l’ID.
Afficher une liste des commandes comprises par debugfs.
Décharger le répertoire indexé par hachage filespec, en montrant sa structure d'arbre.
Afficher une liste des inœuds qui utilisent au moins un des blocs fournis sur la ligne de commande.
Afficher le contenu de la structure de données d’inœud aux formats hexadécimal et ASCII. L’option -b fait que la commande fournit seulement le contenu du tableau i_blocks. L’option -e fait que la commande fournit seulement le contenu de l’espace supplémentaire d’inœud qui est utilisé pour stocker en interne les attributs étendus. L’option -x fait que la commande fournit les attributs étendus et interprétés de l’espace supplémentaire d’inœud. Cela est utile pour le débogage des inœuds altérés contenant des attributs étendus.
Afficher l'emplacement de la structure de données de l'inœud filespec (dans la table des inœuds).
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 de bloc.
Fermer le journal ouvert.
Ouvrir le journal en lecture et écriture. Le calcul de la somme de contrôle du journal peut être activée avec l’option -c. Les formats 2 et 3 de somme de contrôle peuvent être sélectionnés avec l’option -v. Un journal externe peut être chargé à partir de journal_ext.
Refaire toutes les transactions du journal ouvert.
Écrire une transaction dans le journal ouvert. La liste de blocs à écrire doit être fournie sous forme de blocs séparés par des virgules. Les blocs eux-mêmes doivent être lisibles depuis fichier. Une liste de blocs à annuler peut être fournie dans une liste annulation avec la virgule comme séparateur. Par défaut, un enregistrement de validation est écrit à la fin. L’indicateur -c écrit une transaction non validée.
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.
Change the current working directory of the debugfs process to directory on the native file system.
Afficher les informations de quota pour le type de quota précisé (utilisateur, groupe ou projet).
Créer un lien dur nommé fichier_dest vers filespec. Notez que ça n'ajuste pas le compteur de références de l'inœud.
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 à l’aide de 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 -S fait que logdump affiche le contenu du superbloc de journal.
L'option -a force le programme logdump à afficher le contenu de tous les descripteurs de bloc. L'option -b fait que logdump affiche tous les enregistrements de journal concernant le bloc indiqué. L'option -c affichera le contenu des blocs de données sélectionnés par les options -a et -b.
L’option -O fait que logdump affiche les anciennes entrées (avec point de contrôle) du journal. Cela peut être utilisé pour essayer de suivre les problèmes de journal même après que le journal ait été rejoué.
Afficher la liste des fichiers dans le répertoire filespec. L'option -c fait que les sommes de contrôle de bloc de répertoire (si présentes) seront affichées. L’option -d fait que les entrées seront supprimées du répertoire. L'option -l affichera les entrées en mode plus détaillé. L’option -p rendra la sortie plus facilement exploitable par des scripts et, en même temps, rendra plus clair quand il y a des espaces et d’autres caractères non imprimables à la fin des noms de fichier. L’option -r obligera l’affichage du nom de fichier, même s’il est chiffré.
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 lsdel.
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é.
Modifier le contenu de la structure de données de l'inœud filespec. Aussi disponible sous le nom mi
Créer un répertoire.
Créer un fichier de périphérique spécial (tube nommé, périphérique caractère ou bloc). Si un périphérique caractère ou bloc doit être créé, il faut préciser les nombres majeur et mineur de périphérique.
À 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 a file system for editing. The -f flag forces the file system to be opened even if there are some unknown or incompatible file system features which would normally prevent the file system from being opened. The -e flag causes the file system to be opened in exclusive mode. The -b, -c, -d, -i, -s, -w, and -D options behave the same as the command-line options to debugfs.
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 une commande de troncature : tous les blocs depuis bloc_début jusqu'à la fin du fichier seront désalloués.
Créer un lien symbolique.
Afficher le répertoire de travail en cours.
Quitter debugfs.
Recursively dump directory, or multiple directories, and all its contents (including regular files, symbolic links, and other directories) into the named destination, which should be an existing directory on the native file system.
Défaire le lien chemin. Si cela entraîne la fin de toute référence pour l'inœud pointé par chemin, désallouer le fichier. Cette commande fonctionne comme l'appel système unlink().
Supprimer le répertoire filespec.
Marquer le bloc numéro bloc comme alloué. Si l'argument optionnel nombre est présent, alors les nombre de blocs à partir du bloc numéro bloc seront marqués comme alloués.
Modifier le descripteur du groupe de blocs indiqué par num_groupe pour que le champ du descripteur de groupe champ prenne la valeur valeur. Aussi disponible sous le nom set_bg.
Set current time in seconds since Unix epoch to use when setting file system fields.
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é.
Modifier l'inœud pointé par filespec pour que le champ d'inœud champ prenne la valeur valeur. La liste des champs d’inœud qui peuvent être configurés à l’aide de cette commande peut être obtenue par la commande set_inode_field -l. Aussi disponible sous le nom sif.
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.
Donner la valeur valeur au champ champ du superbloc. La liste des champs du superbloc qui peuvent être configurés à l’aide de cette commande peut être affichée avec la commande set_super_value -l. Aussi disponible sous le nom ssv.
Display debugfs parameters such as information about currently opened file system.
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.
Afficher le contenu de la structure de l'inœud filespec.
Display file system features supported by this version of debugfs.
Regarder si le bloc numéro bloc est marqué comme alloué dans la table de blocs. Si l'argument optionnel nombre est fourni, alors les nombre blocs à partir du bloc numéro bloc seront testés.
Tester si l'inœud filespec est marqué comme alloué dans la table des inœuds.
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 facultativement 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.
Note that if you are recovering a large number of deleted files, linking the inode to a directory may require the directory to be expanded, which could allocate a block that had been used by one of the yet-to-be-undeleted files. So it is safer to undelete all of the inodes without specifying a destination pathname, and then in a separate pass, use the debugfs link command to link the inode to the destination pathname, or use e2fsck to check the file system and link all of the recovered inodes to the lost+found directory.
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.
Copy the contents of source_file into a newly-created file in the file system named out_file.
Écraser le bloc indiqué par num_bloc avec des octets NULL, 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 l’intervalle d’octets à effacer au domaine caractérisé par la position et la longueur relatives au début du bloc.
Basculer les bits de portions d'un bloc num_bloc physique. Si l'option -f est indiquée, alors num_bloc est un bloc logique relatif au début de filespec.

Le programme debugfs transmet toujours les résultats de certaines commandes dans un afficheur en mode terminal (pager). Ces commandes incluent show_super_stats (stats), list_directory (ls), show_inode_info (stat), list_deleted_inodes (lsdel) et htree_dump. L'afficheur utilisé peut être explicitement indiqué par la variable d’environnement DEBUGFS_PAGER et, si celle-ci n’est pas définie, par la variable d’environnement 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 avant d’afficher le résultat de la commande et efface l’écran quand l’afficheur quitte. De nombreux utilisateurs préfèrent utiliser less(1) pour la plupart des utilisations, c'est pourquoi la variable DEBUGFS_PAGER existe pour écraser la variable d’environnement PAGER plus généraliste.

debugfs a été écrit par Theodore Ts'o <tytso@mit.edu>.

dumpe2fs(8), tune2fs(8), e2fsck(8), mke2fs(8), ext4(5)

La traduction française de cette page de manuel a été créée par Gérard Delafond <gerard@delafond.org>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Sébastien Blanchet, Emmanuel Araman <Emmanuel@araman.org>, Éric Piel <eric.piel@tremplin-utc.net>, Nicolas François <nicolas.francois@centraliens.net>, Romain Doumenc <rd6137@gmail.com>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

Août 2021 E2fsprogs version 1.46.4