Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
systeme_de_fichiers [Le 30/03/2026, 21:57] – [ZFS] réservé aux clusters et datacenter. pour du snapshot, privilégier btrfs. | déplacement création de volume vers la page ZFS krodelabestiolesysteme_de_fichiers [Le 06/07/2026, 20:34] (Version actuelle) – [Comparaison de systèmes de fichiers] zfs lien interne | suppr sdfs https://github.com/opendedup/sdfs/issues/145 krodelabestiole
Ligne 23: Ligne 23:
 C'est pourquoi on trouve différents systèmes de fichiers (en plus de la concurrence entre les différents éditeurs de système d'exploitation) : C'est pourquoi on trouve différents systèmes de fichiers (en plus de la concurrence entre les différents éditeurs de système d'exploitation) :
   * sur Linux on utilise principalement [[:ext4]], héritier de [[wpfr>ext2]] et [[wpfr>ext3]], ainsi que [[:Btrfs]] plus gourmand en mémoire vive mais qui offre des fonctionnalités plus avancées   * sur Linux on utilise principalement [[:ext4]], héritier de [[wpfr>ext2]] et [[wpfr>ext3]], ainsi que [[:Btrfs]] plus gourmand en mémoire vive mais qui offre des fonctionnalités plus avancées
-  * Microsoft a développé pour Windows les systèmes de fichiers [[wpfr>NTFS]], [[wpfr>FAT32]] et [[:exFAT]]+  * Microsoft a développé pour Windows les systèmes de fichiers [[wpfr>FAT32]], [[wpfr>NTFS]] et [[:exFAT]], chronologiquement
   * Apple pour macOS : [[wpfr>HFS]], [[wpfr>HFS+]] et plus récemment [[wpfr>Apple File System|APFS]]   * Apple pour macOS : [[wpfr>HFS]], [[wpfr>HFS+]] et plus récemment [[wpfr>Apple File System|APFS]]
-  * Sun / Oracle a conçu [[:tutoriel:donnees_stockees_dans_un_systeme_de_fichiers_zfs|ZFS]] pour Solaris, désormais surtout utilisé avec les systèmes [[wpfr>Berkeley_Software_Distribution|*BSD]] comme concurrent de [[:Btrfs]]+  * Sun / Oracle a conçu [[:ZFS]] pour Solaris, désormais surtout utilisé avec les systèmes [[wpfr>Berkeley_Software_Distribution|*BSD]] comme concurrent de [[:Btrfs]]
   * et bien d'[[wpfr>Système_de_fichiers#Histoire|autres systèmes]] existent encore !   * et bien d'[[wpfr>Système_de_fichiers#Histoire|autres systèmes]] existent encore !
  
Ligne 45: Ligne 45:
  
 Des impératifs techniques déterminent certaines de leurs caractéristiques, qui incluent entre autres : Des impératifs techniques déterminent certaines de leurs caractéristiques, qui incluent entre autres :
-  [[#la_taille_maximale_d_un_fichier|la taille maximale que peut avoir un fichier]], +  [[#la_taille_maximale_d_un_fichier|la taille maximale que peut avoir un fichier]], 
-  [[#la taille maximale d'une partition]] +  [[#la taille maximale d'une partition]] 
-  [[#la journalisation]] ou non du système.+  [[#la journalisation]] ou non du système.
  
 ==== La taille maximale d'un fichier ==== ==== La taille maximale d'un fichier ====
Ligne 78: Ligne 78:
  
 //« Mais,// direz-vous,// il est beaucoup plus avantageux d'utiliser un système de fichiers journalisé !  C'est bien plus sécurisé !  Pourquoi utiliserais-je un système de fichiers non journalisé ? »//  L'utilisation d'un journal requiert des capacités de stockage importantes sur vos périphériques ; ces systèmes de fichiers ne sont donc pas adaptés aux médias de faible capacité, telles les cartes mémoires (//memory sticks//) et les disquettes. //« Mais,// direz-vous,// il est beaucoup plus avantageux d'utiliser un système de fichiers journalisé !  C'est bien plus sécurisé !  Pourquoi utiliserais-je un système de fichiers non journalisé ? »//  L'utilisation d'un journal requiert des capacités de stockage importantes sur vos périphériques ; ces systèmes de fichiers ne sont donc pas adaptés aux médias de faible capacité, telles les cartes mémoires (//memory sticks//) et les disquettes.
 +
 +==== Copy on Write ====
 +
 +Certains systèmes modernes, comme **[[:Btrfs]]** ou **[[:ZFS]]**, reposent sur le //[[wpfr>Copy-on-write|Copy on Write]]// (ou CoW).
 +
 +À chaque modification d'un fichier, au lieu d'écraser les anciennes données avec les nouvelles, le système de fichier écrit la nouvelle version dans un espace vierge. Ceci permet de mettre en place des systèmes de //[[wpfr>Instantané_(informatique)|snapshots]]// (des instantanées) ou de //[[:sauvegarde#petit_glossaire|versioning]]// qui permettent de récupérer d'anciennes versions des fichiers, voire du système tout entier !
 +
 +Cette fonctionnalité rend aussi la journalisation inutile.
  
 ==== Inodes ==== ==== Inodes ====
Ligne 96: Ligne 104:
 ===== Comparaison de systèmes de fichiers ===== ===== Comparaison de systèmes de fichiers =====
  
-Ci-dessous se trouve une très brève comparaison des systèmes de fichiers les plus communs, avec certaines de leur caractéristiques.+Ci-dessous se trouve une très brève comparaison des systèmes de fichiers les plus communs, avec certaines de leurs caractéristiques.
  
 <note tip> <note tip>
Ligne 102: Ligne 110:
 </note> </note>
  
 +<mobiletable>
 ^ Nom du système de fichiers ^ Taille maximale d'un fichier ^ Taille maximale d'une partition ^ Journalisée ? ^ Gestion des droits d'accès ? ^ Notes ^ ^ Nom du système de fichiers ^ Taille maximale d'un fichier ^ Taille maximale d'une partition ^ Journalisée ? ^ Gestion des droits d'accès ? ^ Notes ^
 ^ Linux / UNIX ^^^^^^ ^ Linux / UNIX ^^^^^^
-**[[:Btrfs]]** | 16 Eio | 16 Eio | Non\\ (CoW| Oui | Fonction de //snapshot// et de sauvegarde incrémentale.\\ Son support est intégré au [[:kernel|noyau Linux]]. Le paquet ''[[apt>btrfs-tools]]'' fournit des outils supplémentaires pour la gestion des partitions ou des //volumes// (formatage, etc.). | +**[[:Btrfs]]** | 16 Eio | 16 Eio | CoW | Oui | Fonction de //snapshot// et de sauvegarde incrémentale.\\ Son support est intégré au [[:kernel|noyau Linux]]. Le paquet ''[[apt>btrfs-tools]]'' fournit des outils supplémentaires pour la gestion des partitions ou des //volumes// (formatage, etc.). | 
-**[[:ext4]]**        | 16 Tio | 1 Eio   | Oui | Oui  | **ext4** est le successeur du système de fichiers **ext3**. C'est le format le plus couramment utilisé pour déployer Linux sur un ordinateur personnel actuellement. | +**[[:ext4]]** | 16 Tio | 1 Eio   | Oui | Oui  | **ext4** est le successeur du système de fichiers **ext3**. C'est le format le plus couramment utilisé pour déployer Linux sur un ordinateur personnel actuellement. | 
-**[[wpfr>ext3]]**    | 2 Tio  | 32 Tio  | Oui | Oui  | **ext3** est essentiellement **ext2** avec la gestion de la journalisation. Il est possible de [[http://qliu.free.fr/Linux/ext3.html#s4|passer une partition formatée en ext2 vers le système de fichiers ext3]] (et //vice versa//) sans formatage. | +**[[wpfr>ext3]]** | 2 Tio  | 32 Tio  | Oui | Oui  | **ext3** est essentiellement **ext2** avec la gestion de la journalisation. Il est possible de [[http://qliu.free.fr/Linux/ext3.html#s4|passer une partition formatée en ext2 vers le système de fichiers ext3]] (et //vice versa//) sans formatage. | 
-**[[wpfr>ext2]]**    | 2 Tio  | 32 Tio  | Non | Oui  | //Extended File System// est le système de fichiers natif de Linux.  En ses versions 1 et 2, on peut le considérer comme obsolète, car il ne dispose pas de la journalisation. **ext2** peut tout de même s'avérer utile sur des disquettes 3½ et sur les autres supports dont l'espace de stockage est particulièrement restreint, car aucun espace ne doit être réservé à un journal. | +**[[wpfr>ext2]]** | 2 Tio  | 32 Tio  | Non | Oui  | //Extended File System// est le système de fichiers natif de Linux.  En ses versions 1 et 2, on peut le considérer comme obsolète, car il ne dispose pas de la journalisation. **ext2** peut tout de même s'avérer utile sur des disquettes 3½ et sur les autres supports dont l'espace de stockage est particulièrement restreint, car aucun espace ne doit être réservé à un journal. | 
-**[[wpfr>XFS]]** | 16 Eio | 8 Eio | Oui | Oui | **XFS** est un système créé par Silicon Graphics en 1993, et libre depuis 1999. Il a été régulièrement mis à jour depuis, mais n'intègre pas de fonctionnalité de compression ni de chiffrement. C'est une alternative encore utilisée par certaines [[:distributions]] à **ext4**, en particulier sur [[:NAS]].\\ Son support est intégré au [[:kernel|noyau Linux]]. Le paquet ''[[apt>xfsprogs]]'' fournit des outils supplémentaires pour la gestion des partitions. | +**[[wpfr>XFS]]** | 16 Eio | 8 Eio | Oui | Oui | **XFS** est un système créé par Silicon Graphics en 1993, et libre depuis 1999. Il a été régulièrement mis à jour depuis, mais n'intègre pas de fonctionnalité de compression ni de chiffrement. C'est une alternative encore utilisée par certaines [[:distributions]] à **ext4**, en particulier sur [[:NAS]].\\ Son support est intégré au [[:kernel|noyau Linux]]. Le paquet ''[[apt>xfsprogs]]'' fournit des outils supplémentaires pour la gestion des partitions. | 
-**[[wpfr>ZFS]]** | 16 Eio | 16 Eio | Non\\ (CoW| Oui | Fonction de //snapshot// et de sauvegarde incrémentale. Fonctionnalités proches de **[[:Btrfs]]** mais un problème de licence empêche son intégration native au [[:kernel|noyau Linux]].\\ Le paquet ''[[apt>zfs-dkms]]'' permet donc à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>zfsutils-linux]]'' fournit des outils supplémentaires pour la gestion des partitions et des //volumes//. | +**[[:ZFS]]** | 16 Eio | 16 Eio | CoW | Oui | Fonction de //snapshot// et de sauvegarde incrémentale. Fonctionnalités proches de **[[:Btrfs]]** mais un problème de licence empêche son intégration native au [[:kernel|noyau Linux]].\\ Le paquet ''[[apt>zfs-dkms]]'' permet donc à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>zfsutils-linux]]'' fournit des outils supplémentaires pour la gestion des partitions et des //volumes//. | 
-| **[[https://github.com/opendedup/sdfs|sdfs]]** | | | | | Système de fichiers orienté infrastructure //[[:cloud]]// supportant la déduplication. | +**[[wpfr>F2FS]]** | 64 Tio  | 16 Tio | CoW | Oui | **F2FS** est un système créé en 2013 par Samsung et parfois utilisé sur [[:Android]]. Il est conçu pour les mémoires flash rudimentaires (tels que les premiers [[:SSD]], eMMC et cartes SD), mais les fonctionnalités spécifiques qu'il propose sont désormais implémentées dans les //firmwares// des SSD (//[[:ssd#egalisation_de_l_usure|wear levelling]]//), donc inutiles dans ce contexte. Il permet le chiffrement. Son support est intégré au [[:kernel|noyau Linux]], mais il est moins fiable que **ext4**. En outre les partitions ne peuvent pas être réduites.\\ Le paquet ''[[apt>f2fs-tools]]'' fournit des outils pour la gestion des partitions. | 
-**[[wpfr>F2FS]]** | 64 Tio  | 16 Tio | Oui\\ (CoW| Oui | **F2FS** est un système créé en 2013 par Samsung et parfois utilisé sur [[:Android]]. Il est conçu pour les mémoires flash rudimentaires (tels que les premiers [[:SSD]], eMMC et cartes SD), mais les fonctionnalités spécifiques qu'il propose sont désormais implémentées dans les //firmwares// des SSD (//[[:ssd#egalisation_de_l_usure|wear levelling]]//), donc inutiles dans ce contexte. Il permet le chiffrement. Son support est intégré au [[:kernel|noyau Linux]], mais il est moins fiable que **ext4**. En outre les partitions ne peuvent pas être réduites.\\ Le paquet ''[[apt>f2fs-tools]]'' fournit des outils pour la gestion des partitions. | +**[[wpfr>ReiserFS]]** | 8 Tio | 16 Tio | Oui | Oui  | Initialement développé par Hans Reiser et la société //Namesys//, **ReiserFS** était particulièrement reconnu pour bien gérer les fichiers de moins de 4 ko.\\ Le projet est aujourd'hui **abandonné**.((Suite à la condamnation de Hans Reiser pour le meurtre de sa femme, personne n'a poursuivi le développement de **ReiserFS** et la société //Namesys// n'existe plus.)) |
-**[[wpfr>ReiserFS]]** | 8 Tio | 16 Tio | Oui | Oui  | Initialement développé par Hans Reiser et la société //Namesys//, **ReiserFS** était particulièrement reconnu pour bien gérer les fichiers de moins de 4 ko.\\ Le projet est aujourd'hui **abandonné**.((Suite à la condamnation de Hans Reiser pour le meurtre de sa femme, personne n'a poursuivi le développement de **ReiserFS** et la société //Namesys// n'existe plus.)) |+
 ^ Microsoft ^^^^^^ ^ Microsoft ^^^^^^
-**[[:exFAT]]**       | 16 Tio | 512 Tio | Non | Non  | Ce système de fichiers a été développé par Microsoft.\\ Le support d'**exFAT** est inclus dans le [[:kernel|noyau Linux]], et en autorise la lecture et l'écriture. Le paquet ''[[apt>exfatprogs]]'' fournit les outils nécessaires à la gestion des partitions. +**[[:exFAT]]** | 16 Tio | 512 Tio | Non | Non  | Ce système de fichiers a été développé par Microsoft.\\ Le support d'**exFAT** est inclus dans le [[:kernel|noyau Linux]], et en autorise la lecture et l'écriture. Le paquet ''[[apt>exfatprogs]]'' fournit les outils nécessaires à la gestion des partitions. 
-**[[wpfr>NTFS]]**    | 16 Tio | 256 Tio | Oui | Oui* | Ce système de fichiers a aussi été développé par Microsoft, et il reste assez mal documenté.\\ Le pilote ''[[:tutoriel:ntfs|ntfs-3g]]'' pour [[:FUSE]] en autorise l'accès en lecture et écriture sur Linux (il est installé par défaut sur Ubuntu). | +**[[wpfr>NTFS]]** | 16 Tio | 256 Tio | Oui | Oui* | Ce système de fichiers a aussi été développé par Microsoft, et il reste assez mal documenté.\\ Le pilote ''[[:tutoriel:ntfs|ntfs-3g]]'' pour [[:FUSE]] en autorise l'accès en lecture et écriture sur Linux (il est installé par défaut sur Ubuntu). | 
-**[[wpfr>FAT32]]**   | 4 Gio  | 8 Tio   | Non | Non  | Ce système de fichiers, aussi créé par Microsoft, est une évolution de **[[wpfr>File_Allocation_Table|FAT]]**.\\ Le support de **FAT32** est inclus dans le [[:kernel|noyau Linux]], et en autorise la lecture et l'écriture. | +**[[wpfr>FAT32]]** | 4 Gio  | 8 Tio   | Non | Non  | Ce système de fichiers, aussi créé par Microsoft, est une évolution de **[[wpfr>File_Allocation_Table|FAT]]**.\\ Le support de **FAT32** est inclus dans le [[:kernel|noyau Linux]], et en autorise la lecture et l'écriture. | 
-**[[wpfr>File_Allocation_Table|FAT]]** | 2 Gio | 2 Gio | Non | Non | Développé par Microsoft pour MS-DOS, ce système de fichiers se rencontre très rarement aujourd'hui. Le paquet ''[[apt>mtools]]'' fournit des outils pour la gestion des partitions. |+**[[wpfr>File_Allocation_Table|FAT]]** | 2 Gio | 2 Gio | Non | Non | Développé par Microsoft pour MS-DOS, ce système de fichiers se rencontre très rarement aujourd'hui. Le paquet ''[[apt>mtools]]'' fournit des outils pour la gestion des partitions. |
 ^ Apple ^^^^^^ ^ Apple ^^^^^^
-**[[wpfr>APFS]]**  | 8 Eio  | 8 Eio   Non\\ (CoW| Oui* | Développé par Apple pour ses systèmes macOS, iOS, tvOS et watchOS, remplace HFS+.\\ Le paquet ''[[apt>apfs-dkms]]'' permet à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>apfsprogs]]'' fournit des outils supplémentaires. | +**[[wpfr>APFS]]** | 8 Eio  | 8 Eio   | CoW | Oui* | Développé par Apple pour ses systèmes macOS, iOS, tvOS et watchOS, remplace HFS+.\\ Le paquet ''[[apt>apfs-dkms]]'' permet à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>apfsprogs]]'' fournit des outils supplémentaires. | 
-**[[wpfr>HFS+]]**    | 8 Eio  | 8 Eio   | Oui | Oui  | Utilisé par macOS à partir de la version 8.1 (1997) et encore largement utilisé.\\ Le paquet ''[[apt>hfsplus]]'' permet à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>hfsprogs]]'' fournit des outils supplémentaires (formatage, réparation). | +**[[wpfr>HFS+]]** | 8 Eio  | 8 Eio   | Oui | Oui  | Utilisé par macOS à partir de la version 8.1 (1997) et encore largement utilisé.\\ Le paquet ''[[apt>hfsplus]]'' permet à Linux d'y accéder en lecture et écriture. Le paquet ''[[apt>hfsprogs]]'' fournit des outils supplémentaires (formatage, réparation). | 
-**[[wpfr>HFS]]**     | 2 Gio  | 2 Tio   | Non | Non* | Système Apple //a priori// oublié des années 80-90.\\ Le paquet ''[[apt>hfsutils]]'' permet encore de l'utiliser. |+**[[wpfr>HFS]]** | 2 Gio  | 2 Tio   | Non | Non* | Système Apple //a priori// oublié des années 80-90.\\ Le paquet ''[[apt>hfsutils]]'' permet encore de l'utiliser. |
 ^ Universel ^^^^^^ ^ Universel ^^^^^^
-**[[wpfr>Universal_Disk_Format|UDF]]** | 16 Tio  | 16 Tio | Non | Oui | Ce format est le successeur du format **[[wpfr>ISO 9660]]** utilisé pour les lecteurs optique (CD, DVD), mais il peut aussi être utilisé sur n'importe quel autre support de stockage.\\ Il est compatible avec tous les systèmes et son support est intégré au [[:kernel|noyau Linux]] qui en autorise la lecture et l'écriture. Le paquet ''[[apt>udftools]]'' fournit des outils supplémentaires nécessaires à la gestion des partitions. |+**[[wpfr>Universal_Disk_Format|UDF]]** | 16 Tio  | 16 Tio | Non | Oui | Ce format est le successeur du format **[[wpfr>ISO 9660]]** utilisé pour les lecteurs optique (CD, DVD), mais il peut aussi être utilisé sur n'importe quel autre support de stockage.\\ Il est compatible avec tous les systèmes et son support est intégré au [[:kernel|noyau Linux]] qui en autorise la lecture et l'écriture. Le paquet ''[[apt>udftools]]'' fournit des outils supplémentaires nécessaires à la gestion des partitions. | 
 +</mobiletable>
  
 <note> <note>
-Eio = Exbioctets (1024 Pio)\\ Pio = Pébioctet (1024 Tio)\\ Tio = Tébioctet (1024 Gio)\\ Gio = Gibioctet (1024 Mio)((Alors que  1 ko = 1000 octets, 1 Kio = 1024 octets, unité plus pratique avec les puissances de 2. Pour plus d'informations voir [[#qu_est-ce_qu_un_systeme_de_fichiers|note ci-dessus]].))+  * Gio = Gibioctet (1024 Mio)((Alors que  1 ko = 1000 octets, 1 Kio = 1024 octets, unité plus pratique avec les puissances de 2. Pour plus d'informations voir [[#qu_est-ce_qu_un_systeme_de_fichiers|note ci-dessus]].)) 
 +  * Tio = Tébioctet (1024 Gio) 
 +  * Pio = Pébioctet (1024 Tio) 
 +  * Eio = Exbioctets (1024 Pio) 
 + 
 +  * CoW = //[[#Copy on Write]]//
 </note> </note>
  
Ligne 166: Ligne 180:
 ===== Quelques commandes utiles ===== ===== Quelques commandes utiles =====
  
-Afficher le système de fichier d'une partition +Afficher le système de fichier d'une [[:partitions|partition]] 
-  * partition montée :<code>df -h</code>+  * toutes les partitions :<code>lsblk -fe7</code>(colonnes ''FSTYPE'' et ''FSVER'')
   * partition quelconque (nécessite que le paquet ''[[apt>parted]]'' soit installé et que le disque ''/dev/sda'' existe) :<code>sudo parted /dev/sda print all</code>   * partition quelconque (nécessite que le paquet ''[[apt>parted]]'' soit installé et que le disque ''/dev/sda'' existe) :<code>sudo parted /dev/sda print all</code>
  
Ligne 179: Ligne 193:
   * [[:partition_d_echange_de_fichiers_entre_ubuntu_mac_et_windows|Gérer une partition d'échange de fichier entre Ubuntu / macOS / Windows]]   * [[:partition_d_echange_de_fichiers_entre_ubuntu_mac_et_windows|Gérer une partition d'échange de fichier entre Ubuntu / macOS / Windows]]
  
------- +---- 
-//Contributeurs: [[:utilisateurs:AlexandreP]], [[:utilisateurs:fnx]], [[:utilisateurs:krodelabestiole]].//+//[[:Contributeurs]] : [[:utilisateurs:AlexandreP]], [[:utilisateurs:fnx]], [[:utilisateurs:krodelabestiole]].//