GNU/Linux >> Tutoriels Linux >  >> Linux

Un superbloc, un inode, un dentry et un fichier ?

Dans l'article Anatomy of the Linux file system de M. Tim Jones, j'ai lu que Linux considère tous les systèmes de fichiers du point de vue d'un ensemble commun d'objets et que ces objets sont superblock , inode , dentry et fichier . Même si le reste du paragraphe explique ce qui précède, je n'étais pas très à l'aise avec cette explication.

Quelqu'un pourrait-il m'expliquer ces termes ?

Réponse acceptée :

Avant tout, et je me rends compte que ce n'était pas l'un des termes de votre question, vous devez comprendre les métadonnées . Succinctement, et volées à Wikipédia, les métadonnées sont des données sur les données. C'est-à-dire que les métadonnées contiennent des informations sur une donnée. Par exemple, si je possède une voiture, j'ai un ensemble d'informations sur la voiture mais qui ne font pas partie de la voiture elle-même. Des informations telles que le numéro d'enregistrement, la marque, le modèle, l'année de fabrication, les informations d'assurance, etc. Toutes ces informations sont collectivement appelées métadonnées. Dans les systèmes de fichiers Linux et UNIX, les métadonnées existent à plusieurs niveaux d'organisation, comme vous le verrez.

Le superbloc sont essentiellement des métadonnées de système de fichiers et définissent le type, la taille, l'état et les informations du système de fichiers sur d'autres structures de métadonnées (métadonnées de métadonnées). Le superbloc est très critique pour le système de fichiers et est donc stocké dans plusieurs copies redondantes pour chaque système de fichiers. Le superbloc est une structure de métadonnées de très « haut niveau » pour le système de fichiers. Par exemple, si le superbloc d'une partition, /var, devient corrompu, le système de fichiers en question (/var) ne peut pas être monté par le système d'exploitation. Généralement, dans cet événement, vous devez exécuter fsck qui sélectionnera automatiquement une autre copie de sauvegarde du superbloc et tentera de récupérer le système de fichiers. Les copies de sauvegarde elles-mêmes sont stockées dans des groupes de blocs répartis dans le système de fichiers, le premier étant stocké à un décalage de 1 bloc par rapport au début de la partition. Ceci est important dans le cas où une récupération manuelle est nécessaire. Vous pouvez afficher des informations sur les sauvegardes de superbloc ext2/ext3/ext4 avec la commande dumpe2fs /dev/foo | grep -i superblock ce qui est utile en cas de tentative de récupération manuelle. Supposons que la commande dumpe2fs affiche la ligne Backup superblock at 163840, Group descriptors at 163841-163841 . Nous pouvons utiliser ces informations et des connaissances supplémentaires sur la structure du système de fichiers pour tenter d'utiliser cette sauvegarde superbloc :/sbin/fsck.ext3 -b 163840 -B 1024 /dev/foo . Veuillez noter que j'ai supposé une taille de bloc de 1024 octets pour cet exemple.

Un inode existe dans ou sur un système de fichiers et représente les métadonnées d'un fichier. Pour plus de clarté, tous les objets d'un système Linux ou UNIX sont des fichiers; fichiers, répertoires, périphériques réels, etc. Veuillez noter que, parmi les métadonnées contenues dans un inode, il n'y a pas de nom de fichier tel que les humains le pensent, cela sera important plus tard. Un inode contient essentiellement des informations sur la propriété (utilisateur, groupe), le mode d'accès (autorisations de lecture, d'écriture, d'exécution), le type de fichier et les blocs de données avec le contenu du fichier.

Connexe :Comment afficher la sortie Tail -f avec des couleurs en utilisant uniquement Awk et afficher le reste de la sortie ?

Un dentry est le ciment qui maintient les inodes et les fichiers ensemble en reliant les numéros d'inode aux noms de fichiers. Les dentries jouent également un rôle dans la mise en cache des répertoires qui, idéalement, conserve les fichiers les plus fréquemment utilisés à portée de main pour un accès plus rapide. La traversée du système de fichiers est un autre aspect du dentry car il maintient une relation entre les répertoires et leurs fichiers.

Un fichier , en plus d'être ce à quoi les humains pensent généralement lorsqu'ils sont confrontés au mot, n'est en réalité qu'un bloc de données arbitraires logiquement liées. Comparativement très ennuyeux compte tenu de tout le travail effectué (ci-dessus) pour en garder une trace.

Je me rends parfaitement compte que quelques phrases ne fournissent pas une explication complète de l'un de ces concepts, alors n'hésitez pas à demander des détails supplémentaires quand et où cela est nécessaire.


Linux
  1. Comment créer et monter un système de fichiers Btrfs (expliqué avec des exemples)

  2. Qu'est-ce que les liens souples et les liens durs dans le système de fichiers Linux

  3. Comment créer et monter des systèmes de fichiers sous Linux

  4. Comment monter et démonter un système de fichiers sous Linux

  5. Comment créer et interroger un système de fichiers BTRFS

Introduction au système de fichiers Linux

5 façons de trouver une description et un emplacement de "commande binaire" sur le système de fichiers

Créer et étendre un système de fichiers XFS basé sur LVM

Qu'est-ce qu'EFS (Elastic File System) dans AWS et comment l'utiliser

Comment vérifier et réparer un système de fichiers dans RHEL Linux

Comment vérifier l'utilisation d'Inode à partir de cPanel et de la ligne de commande ?