Un système de fichiers Linux est une collection structurée de fichiers sur un disque dur ou une partition. Une partition est un segment de la mémoire et contient certaines données spécifiques. Dans notre machine, il peut y avoir différentes partitions de la mémoire. Généralement, chaque partition contient un système de fichiers.
Le système informatique polyvalent a besoin de stocker les données de manière systématique afin que nous puissions facilement accéder aux fichiers en moins de temps. Il stocke les données sur des disques durs (HDD) ou un autre type de stockage équivalent. Il peut y avoir les raisons suivantes pour maintenir le système de fichiers :
- Primairement, l’ordinateur enregistre les données dans le stockage RAM ; il peut perdre les données s’il est éteint. Cependant, il existe de la RAM non volatile (Flash RAM et SSD) qui est disponible pour maintenir les données après la coupure de courant.
- Le stockage des données est préféré sur les disques durs par rapport à la RAM standard car la RAM coûte plus cher que l’espace disque. Les coûts des disques durs baissent progressivement comparativement à la RAM.
Le système de fichiers Linux contient les sections suivantes :
- Le répertoire racine (/)
- Un format de stockage de données spécifique (EXT3, EXT4, BTRFS, XFS et ainsi de suite)
- Une partition ou un volume logique ayant un système de fichiers particulier.
- Qu’est-ce que le système de fichiers Linux ?
- Structure du système de fichiers linux
- Les caractéristiques du système de fichiers Linux
- Types de système de fichiers Linux
- Système de fichiers Ext, Ext2, Ext3 et Ext4
- Système de fichiers JFS
- Système de fichiers ReiserFS
- Système de fichiers XFS
- Système de fichiers Btrfs
- Système de fichiers swap
Qu’est-ce que le système de fichiers Linux ?
Le système de fichiers Linux est généralement une couche intégrée d’un système d’exploitation Linux utilisée pour gérer la gestion des données du stockage. Il aide à organiser le fichier sur le stockage du disque. Il gère le nom du fichier, la taille du fichier, la date de création et bien d’autres informations sur un fichier.
Si nous avons un format de fichier non supporté dans notre système de fichiers, nous pouvons télécharger un logiciel pour le traiter.
Structure du système de fichiers linux
Le système de fichiers linux a une structure de fichiers hiérarchique car il contient un répertoire racine et ses sous-répertoires. Tous les autres répertoires sont accessibles à partir du répertoire racine. Une partition n’a généralement qu’un seul système de fichiers, mais elle peut avoir plus d’un système de fichiers.
Un système de fichiers est conçu de manière à pouvoir gérer et fournir un espace pour les données de stockage non volatiles. Tous les systèmes de fichiers ont nécessité un espace de noms qui est une méthodologie de nommage et d’organisation. L’espace de noms définit le processus de nommage, la longueur du nom du fichier ou un sous-ensemble de caractères pouvant être utilisés pour le nom du fichier. Il définit également la structure logique des fichiers sur un segment de mémoire, comme l’utilisation de répertoires pour organiser les fichiers spécifiques. Une fois qu’un espace de nom est décrit, une description de métadonnées doit être définie pour ce fichier particulier.
La structure de données doit supporter une structure de répertoire hiérarchique ; cette structure est utilisée pour décrire l’espace disque disponible et utilisé pour un bloc particulier. Elle possède également les autres détails sur les fichiers tels que la taille du fichier, la date &heure de création, de mise à jour et de dernière modification.
Egalement, elle stocke des informations avancées sur la section du disque, telles que les partitions et les volumes.
Les données avancées et les structures qu’elles représentent contiennent les informations sur le système de fichiers stocké sur le lecteur ; elles sont distinctes et indépendantes des métadonnées du système de fichiers.
Le système de fichiers Linux contient une architecture de mise en œuvre logicielle du système de fichiers en deux parties. Considérez l’image ci-dessous:
Le système de fichiers nécessite une API (interface de programmation d’application) pour accéder aux appels de fonction pour interagir avec les composants du système de fichiers comme les fichiers et les répertoires. L’API facilite les tâches telles que la création, la suppression et la copie des fichiers. Il facilite un algorithme qui définit l’arrangement des fichiers sur un système de fichiers.
Les deux premières parties du système de fichiers donné ensemble appelé un système de fichiers virtuel Linux. Il fournit un ensemble unique de commandes pour le noyau et les développeurs pour accéder au système de fichiers. Ce système de fichiers virtuel nécessite le pilote système spécifique pour donner une interface au système de fichiers.
Les caractéristiques du système de fichiers Linux
En Linux, le système de fichiers crée une structure arborescente. Tous les fichiers sont disposés comme un arbre et ses branches. Le répertoire le plus haut appelé le répertoire racine (/). Tous les autres répertoires de Linux sont accessibles à partir du répertoire racine.
Certaines caractéristiques clés du système de fichiers Linux sont les suivantes :
- Spécification des chemins : Linux n’utilise pas la barre oblique inverse (\) pour séparer les composants ; il utilise la barre oblique directe (/) comme alternative. Par exemple, comme dans Windows, les données peuvent être stockées dans C:\ Mes documents/ Travail, alors que, dans Linux, elles seraient stockées dans /home/ Mes documents/ Travail.
- Partition, répertoires et lecteurs : Linux n’utilise pas de lettres de lecteur pour organiser le lecteur comme le fait Windows. Dans Linux, nous ne pouvons pas dire si nous nous adressons à une partition, à un périphérique réseau ou à un répertoire « ordinaire » et à un lecteur.
- Sensibilité à la casse : Le système de fichiers Linux est sensible à la casse. Il fait la distinction entre les noms de fichiers en minuscules et en majuscules. Par exemple, il existe une différence entre test.txt et Test.txt sous Linux. Cette règle est également appliquée pour les répertoires et les commandes Linux.
- Extensions de fichiers : Sous Linux, un fichier peut avoir l’extension ‘.txt’, mais il n’est pas nécessaire qu’un fichier ait une extension de fichier. En travaillant avec Shell, cela crée quelques problèmes pour les débutants de différencier les fichiers et les répertoires. Si nous utilisons le gestionnaire de fichiers graphique, il symbolise les fichiers et les dossiers.
- Fichiers cachés : Linux fait la distinction entre les fichiers standards et les fichiers cachés, la plupart du temps les fichiers de configuration sont cachés dans l’OS Linux. Habituellement, nous n’avons pas besoin d’accéder ou de lire les fichiers cachés. Les fichiers cachés dans Linux sont représentés par un point (.) devant le nom du fichier (par exemple, .ignore). Pour accéder aux fichiers, nous devons changer la vue dans le gestionnaire de fichiers ou devons utiliser une commande spécifique dans le shell.
Types de système de fichiers Linux
Lorsque nous installons le système d’exploitation Linux, Linux offre de nombreux systèmes de fichiers tels que Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs et swap.
Comprenons chacun de ces systèmes de fichiers en détail :
Système de fichiers Ext, Ext2, Ext3 et Ext4
Le système de fichiers Ext signifie Extended File System. Il a été principalement développé pour le système d’exploitation MINIX. Le système de fichiers Ext est une ancienne version, et n’est plus utilisé en raison de certaines limitations.
Ext2 est le premier système de fichiers Linux qui permet de gérer deux téraoctets de données. Ext3 est développé à partir d’Ext2 ; il s’agit d’une version améliorée d’Ext2 et contient une rétrocompatibilité. Le principal inconvénient d’Ext3 est qu’il ne prend pas en charge les serveurs car ce système de fichiers ne prend pas en charge la récupération de fichiers et l’instantané de disque.
Le système de fichiers Ext4 est le système de fichiers le plus rapide parmi tous les systèmes de fichiers Ext. C’est une option très compatible pour les disques SSD (solid-state drive), et c’est le système de fichiers par défaut dans la distribution Linux.
Système de fichiers JFS
JFS signifie Journaled File System, et il est développé par IBM pour AIX Unix. Il s’agit d’une alternative au système de fichiers Ext. Il peut également être utilisé à la place de Ext4, lorsque la stabilité est nécessaire avec peu de ressources. C’est un système de fichiers pratique lorsque la puissance du processeur est limitée.
Système de fichiers ReiserFS
ReiserFS est une alternative au système de fichiers Ext3. Il dispose de performances améliorées et de fonctionnalités avancées. Auparavant, le ReiserFS était utilisé comme système de fichiers par défaut dans SUSE Linux, mais plus tard, il a changé certaines politiques, donc SUSE est revenu à Ext3. Ce système de fichiers prend dynamiquement en charge l’extension de fichier, mais il présente quelques inconvénients en termes de performances.
Système de fichiers XFS
Le système de fichiers XFS a été considéré comme un JFS à haute vitesse, qui est développé pour le traitement parallèle des entrées/sorties. La NASA utilise toujours ce système de fichiers avec son serveur de stockage élevé (serveur de plus de 300 téraoctets).
Système de fichiers Btrfs
Btrfs désigne le système de fichiers à arbre B. Il est utilisé pour la tolérance aux pannes, le système de réparation, l’administration ludique, la configuration étendue du stockage, et plus encore. Il n’est pas un bon costume pour le système de production.
Système de fichiers swap
Le système de fichiers swap est utilisé pour la pagination de la mémoire dans le système d’exploitation Linux pendant l’hibernation du système. Un système qui ne va jamais en état d’hibernation doit avoir un espace de swap égal à sa taille de RAM.