SquashFS
SquashFS est un système de fichiers compressé en lecture seule sous Linux. Il peut être utilisé sur des supports de mémoire flash, CD-ROM ou disque dur pour des systèmes de fichiers disponible en lecture seulement. Il est notamment employé pour la création de nombreux live CD ainsi qu’en informatique embarquée, en remplacement de cramfs. HistoriqueSquashFS a été initialement maintenu comme un jeu de patchs en dehors du noyau Linux (out-of-tree). La première version de SquashFS est publiée le [1]. En 2009, SquashFS a été fusionné dans le noyau Linux dans sa version 2.6.29 (en même temps que Btrfs)[2],[3]. Depuis cet instant, le code noyau de SquashFS est maintenu dans le code source du noyau Linux, tandis que l’outillage dans l’espace utilisateur reste disponible sur la page Sourceforge du projet[4]. Depuis le , le code a migré de Sourceforge vers Github[5]. La version originale de SquashFS utilisait l’algorithme de compression de données « deflate » de gzip. À partir de la version 2.6.34 du noyau Linux, les méthodes LZMA et LZO furent ajoutées[6]. À la venue du noyau Linux 2.6.38, c’est la méthode LZMA2 (également utilisée dans XZ) qui devient disponible[7]. À la venue du noyau Linux 3.19, la méthode LZ4[8]. Enfin, Zstandard fut ajouté dans la version 4.14 du noyau Linux[9]. FonctionnalitésLe système de fichier a une taille maximale de 16 Eio (264) octets. Les fichiers peuvent avoir une taille maximale de 16 Eio (264) octets, avant compression. Les doublons sont automatiquement détectés et regroupés à un seul endroit. SquashFS est capable de compresser les fichiers, les inodes et les répertoires (ces deux derniers étant alignés sur 8 bits[note 1]). Il supporte une taille de bloc allant de 4 KiB à 1 MiB (par défaut 128 Kio) afin d’améliorer le taux de compression. De nombreux algorithmes de compression sont supportés. Cela permet d’atteindre des taux de compression bien meilleurs que son ancêtre cramfs — limité à des blocs de 4 KiB et à un faible taux de compression dû au support de la zlib uniquement. Les UID et GID sont stockés dans leur forme complète (sur 32 bits) et les dates de création des fichiers sont préservées (là où cramfs tronque le GID aux 8 bits de poids faible et ne stocke aucune date). Tout comme cramfs, les images au format SquashFS possède un boutisme déterminé lors de leur création : petit-boutisme (little-endian) ou gros-boutisme (big-endian). Ce boutisme doit être choisi pour correspondre à l’architecture ciblée. PerformancesEn comparaison avec Zisofs (format ISO 9660 avec l'extension Rock Ridge et une définition des fichiers compressés, généré par le programme "mkzftree"[10]), cloop (en), cramfs et ext3, SquashFS permet d'occuper moins de place et est plus rapide pour tout type de lecture (contenu des répertoires, lecture séquentielle de fichiers, lecture aléatoire) à partir d'un CD-ROM ou d'un disque dur[11]. UtilisationDes logiciels tels que mksquashfs[12] ou gensquashfs[13] permettent de générer une image au format SquashFS. Il est ensuite possible de monter l’image à l’aide de la commande Notes et référencesNotes
Références
AnnexesArticles connexes
Lien externe |