Lors du formatage de partitions sur un PC Linux, vous verrez une grande variété d’options de système de fichiers. Ces options n’ont pas besoin d’être écrasantes. Si vous ne savez pas quel système de fichiers Linux utiliser, il existe une réponse simple.
La réponse rapide: utilisez Ext4 si vous n’êtes pas sûr
Nous allons entrer dans les mauvaises herbes et analyser la différence entre les différents systèmes de fichiers dans un instant, mais si vous n’êtes pas sûr: utilisez Ext4.
Ext4 est le système de fichiers par défaut sur la plupart des distributions Linux pour une raison. Il s’agit d’une version améliorée de l’ancien système de fichiers Ext3. Ce n’est pas le système de fichiers le plus avancé, mais c’est bien: cela signifie qu’Ext4 est solide et stable.
À l’avenir, les distributions Linux passeront progressivement à BtrFS. BtrFS est toujours à la pointe et connaît beaucoup de développement, vous voudrez donc l’éviter sur les systèmes de production. Le risque de corruption des données ou d’autres problèmes ne vaut pas l’amélioration potentielle de la vitesse.
Notez cependant que ce conseil «utiliser Ext4» s’applique uniquement aux partitions système Linux et aux autres partitions sur disque auxquelles seul Linux aura accès. Si vous formatez un lecteur externe que vous souhaitez partager avec d’autres systèmes d’exploitation, vous ne devez pas utiliser Ext4 car Windows, macOS et d’autres appareils ne peuvent pas lire les systèmes de fichiers Ext4. Vous voudrez utiliser exFAT ou FAT32 lors du formatage d’un disque externe sous Linux.
Si vous configurez des partitions sur votre lecteur de démarrage Linux principal, vous souhaiterez également créer une partition d’échange d’au moins quelques Go lors de la configuration de ces partitions. Cette partition est utilisée pour «l’espace d’échange». C’est similaire au fichier d’échange sur Windows. Linux échange la mémoire vers l’espace d’échange lorsque sa RAM est pleine. Cette partition doit être formatée comme «swap» et non avec un système de fichiers particulier.
Qu’est-ce que la journalisation?
Une chose que vous remarquerez en choisissant entre les systèmes de fichiers est que certains d’entre eux sont marqués comme un système de fichiers «journalisé» et d’autres non. C’est important.
La journalisation est conçue pour empêcher la corruption des données due aux pannes et aux coupures de courant soudaines. Disons que votre système est à mi-chemin de l’écriture d’un fichier sur le disque et qu’il perd soudainement de l’énergie. Sans journal, votre ordinateur n’aurait aucune idée si le fichier était entièrement écrit sur le disque. Le fichier y resterait sur le disque, corrompu.
Avec un journal, votre ordinateur notait qu’il allait écrire un certain fichier sur le disque dans le journal, écrire ce fichier sur le disque, puis supprimer ce travail du journal. Si l’alimentation est coupée pendant l’écriture du fichier, Linux vérifiera le journal du système de fichiers au démarrage et reprendra les travaux partiellement terminés. Cela évite la perte de données et la corruption de fichiers.
La journalisation ralentit un peu les performances d’écriture sur disque, mais cela en vaut la peine sur un ordinateur de bureau ou un ordinateur portable. Ce n’est pas autant de frais généraux que vous pourriez le penser. Le fichier complet n’est pas écrit dans le journal. Au lieu de cela, seules les métadonnées du fichier, l’inode ou l’emplacement du disque sont enregistrés dans le journal avant d’être écrits sur le disque.
Chaque système de fichiers moderne prend en charge la journalisation et vous souhaiterez utiliser un système de fichiers prenant en charge la journalisation lors de la configuration d’un ordinateur de bureau ou d’un ordinateur portable.
Les systèmes de fichiers qui n’offrent pas de journalisation sont disponibles pour une utilisation sur des serveurs hautes performances et d’autres systèmes de ce type où l’administrateur souhaite obtenir des performances supplémentaires. Ils sont également idéaux pour les lecteurs flash amovibles, où vous ne voulez pas de frais généraux plus élevés et d’écritures supplémentaires de journalisation.
Quelle est la différence entre tous ces systèmes de fichiers Linux?
Alors que Microsoft développe Windows et Apple contrôle macOS, Linux est un projet open source développé par la communauté. N’importe qui (ou n’importe quelle entreprise) avec les compétences et le temps peut créer un nouveau système de fichiers Linux. C’est l’une des raisons pour lesquelles il existe tant d’options. Voici les différences:
- Ext signifie «Système de fichiers étendu», et a été le premier créé spécifiquement pour Linux. Il a eu quatre révisions majeures. «Ext» est la première version du système de fichiers, introduite en 1992. Il s’agissait d’une mise à jour majeure du système de fichiers Minix utilisé à l’époque, mais il manque des fonctionnalités importantes. De nombreuses distributions Linux ne prennent plus en charge Ext.
- Ext2 n’est pas un système de fichiers journalisé. Lors de son introduction, il s’agissait du premier système de fichiers à prendre en charge les attributs de fichier étendus et les lecteurs de 2 téraoctets. Le manque de journal d’Ext2 signifie qu’il écrit moins sur le disque, ce qui le rend utile pour la mémoire flash comme les clés USB. Cependant, les systèmes de fichiers comme exFAT et FAT32 n’utilisent pas non plus la journalisation et sont plus compatibles avec différents systèmes d’exploitation, nous vous recommandons donc d’éviter Ext2 à moins que vous ne sachiez que vous en avez besoin pour une raison quelconque.
- Ext3 est fondamentalement juste Ext2 avec journalisation. Ext3 a été conçu pour être rétrocompatible avec Ext2, permettant aux partitions d’être converties entre Ext2 et Ext3 sans aucun formatage requis. Il existe depuis plus longtemps qu’Ext4, mais Ext4 existe depuis 2008 et est largement testé. À ce stade, il vaut mieux utiliser Ext4.
- Ext4 a également été conçu pour être rétrocompatible. Vous pouvez monter un système de fichiers Ext4 en tant qu’ext3, ou monter un système de fichiers Ext2 ou Ext3 en tant qu’ext4. Il inclut des fonctionnalités plus récentes qui réduisent la fragmentation des fichiers, permet des volumes et des fichiers plus importants et utilise l’allocation différée pour améliorer la durée de vie de la mémoire flash. Il s’agit de la version la plus moderne du système de fichiers Ext et de la version par défaut sur la plupart des distributions Linux.
- BtrFS, prononcé «Butter» ou «Better» FS, a été conçu à l’origine par Oracle. Il signifie «B-Tree File System» et permet le regroupement de lecteurs, des instantanés à la volée, une compression transparente et une défragmentation en ligne. Il partage un certain nombre des mêmes idées que celles trouvées dans ReiserFS, un système de fichiers que certaines distributions Linux utilisaient par défaut. BtrFS est conçu pour être une rupture nette avec la série Ext des systèmes de fichiers. Ted Ts’o, le mainteneur du système de fichiers Ext4, considère Ext4 comme une solution à court terme et croit BtrFS est la voie à suivre. Attendez-vous à voir BtrFS devenir le serveur par défaut dans les distributions Linux de serveur d’entreprise et de bureau grand public au cours des prochaines années, à mesure qu’il sera testé.
- ReiserFS C’était un grand pas en avant pour les systèmes de fichiers Linux lors de son introduction en 2001 et il incluait de nombreuses nouvelles fonctionnalités qu’Ext ne serait jamais capable de mettre en œuvre. ReiserFS a été remplacé par Reiser4, qui a amélioré de nombreuses fonctionnalités qui étaient incomplètes ou manquantes dans la version initiale, en 2004. Mais le développement de Reiser4 a stoppé après que le développeur principal, Hans Reiser, ait été envoyé en prison en 2008. Reiser4 n’est toujours pas dans le noyau Linux principal et il est peu probable d’y arriver. BtrFS est le meilleur choix à long terme.
- ZFS a été conçu par Sun Microsystems pour Solaris et appartient désormais à Oracle. ZFS prend en charge de nombreuses fonctionnalités avancées, notamment le regroupement de lecteurs, les instantanés et la répartition dynamique des disques. BtrFS apportera par défaut nombre de ces fonctionnalités à Linux. Chaque fichier a une somme de contrôle, de sorte que ZFS peut dire si un fichier est corrompu ou non. Sun ZFS open-source sous la licence Sun CDDL, ce qui signifie qu’il ne peut pas être inclus dans le noyau Linux. Cependant, vous pouvez installer le support ZFS sur n’importe quelle distribution Linux. Ubuntu propose désormais une prise en charge officielle de ZFS à partir d’Ubuntu 16.04 également. Ubuntu utilise ZFS par défaut pour les conteneurs.
- XFS a été développé par Silicon Graphics en 1994 pour le système d’exploitation SGI IRX, et a été porté sous Linux en 2001. Il est similaire à Ext4 à certains égards, car il utilise également l’allocation différée pour aider à la fragmentation des fichiers et ne permet pas les instantanés montés. Il peut être agrandi, mais pas rétréci, à la volée. XFS a de bonnes performances lorsqu’il s’agit de fichiers volumineux, mais a de moins bonnes performances que les autres systèmes de fichiers lorsqu’il s’agit de nombreux petits fichiers. Cela peut être utile pour certains types de serveurs qui doivent principalement traiter des fichiers volumineux.
- JFS, ou «Journaled File System», a été développé par IBM pour le système d’exploitation IBM AIX en 1990, puis porté sous Linux. Il bénéficie d’une faible utilisation du processeur et de bonnes performances pour les gros et petits fichiers. Les partitions JFS peuvent être redimensionnées dynamiquement, mais pas réduites. Il a été extrêmement bien planifié et prend en charge la plupart des distributions majeures, mais ses tests de production sur des serveurs Linux ne sont pas aussi étendus que Ext, car il a été conçu pour AIX. Ext4 est plus couramment utilisé et est plus largement testé.
- Échanger est une option lors du formatage d’un lecteur, mais n’est pas un système de fichiers réel. Il est utilisé comme mémoire virtuelle et n’a pas de structure de système de fichiers. Vous ne pouvez pas le monter pour afficher son contenu. Swap est utilisé comme «espace de travail» par le noyau Linux pour stocker temporairement des données qui ne peuvent pas tenir dans la RAM. Il est également utilisé pour l’hibernation. Alors que Windows stocke son fichier d’échange en tant que fichier sur sa partition système principale, Linux réserve simplement une partition vide distincte pour l’espace d’échange.
- FAT16, FAT32, et exFAT: Les systèmes de fichiers FAT de Microsoft sont souvent une option lors du formatage d’un lecteur sous Linux. Ces systèmes de fichiers n’incluent pas de journal, ils sont donc idéaux pour les lecteurs USB externes. Il s’agit d’une norme de facto que tous les systèmes d’exploitation (Windows, macOS, Linux et autres appareils) peuvent lire. Cela en fait le système de fichiers idéal à utiliser lors du formatage d’un lecteur externe que vous voudrez utiliser avec d’autres systèmes d’exploitation. FAT32 est plus ancien. exFAT est l’option idéale, car il prend en charge les fichiers de plus de 4 Go et les partitions de plus de 8 To, contrairement à FAT32.
Il existe également d’autres systèmes de fichiers Linux, notamment systèmes de fichiers spécialement conçus pour le stockage flash dans les appareils embarqués et sur les cartes SD. Mais ce sont les options que vous verrez le plus souvent lors de l’utilisation de Linux.