Squashfs es un sistema de archivos comprimido de solo lectura para Linux . Squashfs comprime archivos , inodos y directorios , y admite tamaños de bloque desde 4 KiB hasta 1 MiB para una mayor compresión. Se admiten varios algoritmos de compresión. Squashfs también es el nombre de un software libre , con licencia GPL , para acceder a los sistemas de archivos Squashfs.
Squashfs está diseñado para uso general en sistemas de archivos de solo lectura y en sistemas de memoria de dispositivos de bloque restringidos (por ejemplo, sistemas integrados ) donde se necesita una sobrecarga baja.
Squashfs es utilizado por las versiones Live CD de Arch Linux , Clonezilla , Debian , Fedora , Gentoo Linux , KDE neon , Kali Linux , Linux Mint , NixOS , Salix , Ubuntu , openSUSE y en distribuciones integradas como OpenWrt [1] y el firmware del enrutador DD-WRT . También se utiliza en Chromecast , [2] en Tiny Core Linux para empaquetar extensiones y para las particiones del sistema de algunas versiones de Android ( Android Nougat ). [3] A menudo se combina con un sistema de archivos de montaje de unión , como UnionFS , OverlayFS o aufs , para proporcionar un entorno de lectura y escritura para distribuciones de Linux en vivo. Esto aprovecha las capacidades de compresión de alta velocidad de Squashfs y la capacidad de alterar la distribución mientras se ejecuta desde un CD en vivo. Distribuciones como Debian Live , Mandriva One , Puppy Linux , Salix Live y Slax utilizan esta combinación. El proyecto AppImage , cuyo objetivo es crear aplicaciones Linux portables, utiliza Squashfs para crear AppImages. El sistema de paquetes snap también utiliza Squashfs como formato contenedor de archivos.
Squashfs también es utilizado por Linux Terminal Server Project y Splashtop . Las herramientas unsquashfs y mksquashfs han sido trasladadas a Windows NT [4] – Windows 8.1 . [5] 7-Zip también es compatible con Squashfs. [6]
Squashfs se mantuvo inicialmente como un parche fuera del árbol de Linux. La versión inicial 1.0 se lanzó el 23 de octubre de 2002. [7] En 2009, Squashfs se fusionó con la línea principal de Linux como parte de Linux 2.6.29. [8] [9] En ese proceso, se eliminó el código de compatibilidad con versiones anteriores para formatos más antiguos. Desde entonces, el código del espacio del núcleo de Squashfs se ha mantenido en el árbol de la línea principal de Linux, mientras que las herramientas del espacio de usuario permanecen en la página de GitHub del proyecto . [10]
La versión original de Squashfs usaba compresión gzip , aunque el kernel de Linux 2.6.34 agregó soporte para compresión LZMA [11] y LZO , [12] el kernel de Linux 2.6.38 agregó soporte para compresión LZMA2 (que es utilizada por xz ), [13] el kernel de Linux 3.19 agregó soporte para compresión LZ4 , [14] y el kernel de Linux 4.14 agregó soporte para compresión Zstandard . [15]
El kernel de Linux 2.6.35 agregó soporte para atributos de archivo extendidos . [16]