Que sont les inodes sous Linux et comment sont-ils utilisés?

Tout dans Linux est considéré comme un fichier pour maintenir la cohérence. Cela inclut les périphériques matériels, les imprimantes, les répertoires et les processus. Les fichiers ordinaires tels que la musique, le texte, les vidéos et d’autres fichiers multimédias sont également associés à des données supplémentaires appelées métadonnées.

Que sont les inodes sous Linux? Les entrées d’inode sont la base du système de fichiers Linux. Ils gèrent les métadonnées d’un fichier et sont des éléments essentiels du fonctionnement interne de Linux.

Que sont les inodes sous Linux et comment sont ils utilises

Quelle est la structure d’un système de fichiers?

Un système de fichiers est divisé en deux parties: les blocs de données et les inodes. Le nombre de blocs est fixe une fois créé et ne peut pas être modifié.

Le nom, le chemin, l’emplacement, les liens et autres attributs de fichier ne se trouvent pas dans le répertoire. Les répertoires sont simplement des tables contenant les noms des fichiers avec le numéro d’inode correspondant.

Vous pouvez créer un lien physique résultant en plusieurs noms pour le même fichier. Lorsque vous créez un lien physique, il crée également un nouveau nom dans la table avec l’inode mais ne déplace pas le fichier.

Si vous deviez déplacer un fichier volumineux, cela prendrait beaucoup de temps. Il est plus efficace de créer l’entrée de nom dans un nouveau répertoire et de supprimer l’ancienne entrée. Vous pouvez également renommer les fichiers de la même manière.

La partie supérieure de la hiérarchie est le système de fichiers lui-même. Dans le système de fichiers se trouvent les noms de fichiers. Les noms de fichiers sont liés aux inodes. Les inodes sont liés aux données physiques.

Que sont les inodes sous Linux et comment sont ils utilises

Que sont les inodes sous Linux?

Un inode est une structure de données. Il définit un fichier ou un répertoire sur le système de fichiers et est stocké dans l’entrée de répertoire. Les inodes pointent vers les blocs qui composent un fichier. L’inode contient toutes les données administratives nécessaires à la lecture d’un fichier. Les métadonnées de chaque fichier sont stockées dans des inodes dans une structure de table.

Lors de l’utilisation d’un programme qui fait référence à un fichier par son nom, le système cherchera dans le fichier d’entrée de répertoire où il existe pour extraire l’inœud correspondant. Cela donne à votre système les données de fichier et les informations dont il a besoin pour effectuer des processus ou des opérations.

Les inodes sont généralement situés près du début d’une partition. Ils stockent toutes les informations associées à un fichier à l’exception du nom du fichier et des données réelles. Tous les fichiers de n’importe quel répertoire Linux ont un nom de fichier et un numéro d’inode. Les utilisateurs peuvent récupérer les métadonnées d’un fichier en référençant le numéro d’inode.

Les noms de fichiers et les numéros d’inode sont stockés dans un index séparé et sont liés à l’inode. Vous pouvez créer un lien vers les métadonnées qui représentent le fichier. Il est possible d’avoir plusieurs noms de fichiers liés à un élément de données ou d’inode comme vous pouvez le voir dans l’image ci-dessous.

1607932976 662 Que sont les inodes sous Linux et comment sont ils utilises

Quel est le numéro d’inode?

Chaque inode de la structure Linux a un numéro unique qui lui est identifié. Il est également appelé numéro d’index et possède les attributs suivants:

  • Taille
  • Propriétaire
  • Date / heure
  • Autorisations et contrôle d’accès
  • Emplacement sur le disque
  • Types de fichier
  • Nombre de liens
  • Métadonnées supplémentaires sur le fichier

Pour vérifier la liste des numéros d’inœuds, utilisez la commande suivante:

ls -i

La capture d’écran ci-dessous montre un répertoire avec des numéros d’inode apparaissant dans la colonne la plus à gauche.

Comment fonctionnent les inodes?

Lorsque vous créez un nouveau fichier, un nom de fichier et un numéro d’inode lui sont attribués. Les deux sont stockés sous forme d’entrées dans un répertoire. Exécution de la commande ls (ls -li) vous affichera une liste des noms de fichiers et des numéros d’inode stockés dans un répertoire.

Utilisez la commande ci-dessous pour répertorier les informations d’inode pour chaque système de fichiers.

df -hi

1607932976 460 Que sont les inodes sous Linux et comment sont ils utilises

Combien d’inodes utilisez-vous?

Une façon de manquer d’espace dans un système de fichiers est d’utiliser tous vos inodes. Même si vous disposez de suffisamment d’espace libre sur votre disque, vous ne pourrez pas créer de nouveaux fichiers.

L’utilisation de tous les inodes peut également entraîner l’arrêt soudain de votre système. Pour afficher une liste de statistiques sur l’utilisation des inodes, telles que utilisé, gratuit et pourcentage utilisé, tapez la commande suivante:

sudo df -ih

1607932976 744 Que sont les inodes sous Linux et comment sont ils utilises

Autres façons d’utiliser les inodes

La façon dont les inodes fonctionnent sous Linux rend impossible les conflits de numéros d’inœuds. Il n’est pas possible de créer un lien physique entre différents systèmes de fichiers. Cependant, vous pouvez utiliser des liens souples sur différents systèmes de fichiers. Vous pouvez supprimer les fichiers originaux tout en conservant les données disponibles via un lien physique.

En supprimant un fichier, tout ce que vous avez fait est de supprimer l’un des noms pointant vers un numéro d’inode spécifique. Les données resteront jusqu’à ce que vous supprimiez tous les noms associés au même numéro d’inode. Les systèmes Linux se mettent à jour sans nécessiter de redémarrage du système en grande partie à cause du fonctionnement des inodes.

Un processus peut utiliser un fichier de bibliothèque en même temps qu’un autre processus remplace le même fichier par une version mise à jour plus récente et crée un nouvel inode. Le processus en cours continue d’utiliser l’ancien fichier. La prochaine fois que vous utiliserez le même processus, il utilisera la nouvelle version.

Les utilisateurs n’interagissent pas directement avec les inodes, mais ils représentent un composant fondamental des structures de fichiers Linux.