SquashFS

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

SquashFS est un système de fichiers compressé en lecture seule sous Linux.

Il peut être utilisé à partir de flash, CD-ROM ou disque dur pour des systèmes de fichiers disponible en lecture seulement.

Il est notamment utilisé pour de nombreux Live CD et en informatique embarquée, en remplacement de Cramfs.

Historique[modifier | modifier le code]

La première version de SquashFS utilisait la compression deflate de gzip.

À partir de la version 2.6.34 du noyau Linux, SquashFS peut utiliser les algorithmes LZMA et LZO.

À partir de la version 2.6.38 du noyau Linux, SquashFS peut utiliser l'algorithme LZMA2 de xz.

Fonctionnalités[modifier | modifier le code]

  • Les données, les inodes et les répertoires sont compressés.
  • Squashfs stocke complément (sur 32 bits) les uid et les gid ainsi que les dates de création des fichiers.
  • Les fichiers peuvent avoir une taille maximale de 2^64 octets (avant compression). Le système de fichier, lui-même a une taille maximale de 2^64 octets.
  • Les inodes et les répertoires sont très compactés, et sont alignés sur 8 bits. En moyenne un inode prend 8 octets (la taille exacte dépend de la nature du fichiers, c'est-à-dire si c'est un fichier normal, un répertoire, un lien symbolique, un périphérique par blocs ou par caractères).
  • Squashfs peut utiliser des blocs de 1 Mio (par défaut il utilise des blocs de 128 Kio). Les blocs de 128Kio apportent une meilleure compression que les blocs usuels de 4 Kio.
  • Les fichiers en double sont détectés et ne prennent qu'une seule place dans le système de fichier.
  • Squahfs fonctionne en big et little endian. Le programme mksquashfs peut générer le système de fichier dans n'importe lequel des deux ordres d'octets afin d'optimiser les accès par rapport à l'architecture ciblée.

Performances[modifier | modifier le code]

Comparé à zisofs, cloop, cramfs et ext3, SquashFS prend 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[1].

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]