Squashfs(.sfs)是一套供Linux核心使用的GPL开源只读压缩文件系统。Squashfs能够为文件系统内的文件inode目录结构进行压缩,并支持最大1024千字节的块大小,以提供更大的压缩比。

SquashFS
开发者Phillip Lougher, Robert Lougher
发布2009 (Linux 2.6.29)
限制
最大文件尺寸16 EiB
最大卷容量16 EiB
功能
透明压缩gzip LZMA LZO LZMA2 LZ4 Zstandard
操作系统支持Linux (可跨平台)

Squashfs的设计是专门为一般的只读文件系统的使用而设计,它可应用于数据备份,或是系统资源紧张的电脑上使用。最初版本的Squashfs采用 gzip 的数据压缩。版本 2.6.34 之后的Linux内核增加了对 LZMA[1]LZO [2]压缩算法的支持,版本 2.6.38 的内核增加了对LZMA2的支持,该算法同时也是xz使用的压缩算法。[3]

Linux 3.19及更新的内核中,Squashfs增加了LZ4压缩支持。[4]

Linux 4.14及更新的内核中,Squashfs增加了Zstandard压缩支持。[5]

版本 2.6.35 之后的内核包含的Squashfs增加了扩展文件属性支持。[6]

用途

Squashfs常被用于各Linux发行版LiveCD中,也用于OpenWrtDD-WRT 的路由器固件。Chromecast也是该文件系统的用户。在LiveCD中,Squashfs通常与UnionFSOverlayFSaufs等联合挂载文件系统结合使用,以便在LiveCD系统中提供可读写支持。Appimage项目也使用Squashfs作为镜像。

外部链接

参考文献

  1. ^ Official Squashfs LZMA. Squashfs-lzma.org. [2012-11-08]. (原始内容存档于2012-10-29). 
  2. ^ Linux 2 6 34 - Linux Kernel Newbies. Kernelnewbies.org. [2012-11-08]. (原始内容存档于2012-11-03). 
  3. ^ Linux 2 6 38 - Linux Kernel Newbies. Kernelnewbies.org. [2012-11-08]. (原始内容存档于2012-11-16). 
  4. ^ Merge of LZ4 Squashfs support页面存档备份,存于互联网档案馆) to Linus Torvalds tree.
  5. ^ squashfs: Add zstd support · torvalds/linux@87bf54b. GitHub. [2018-04-15]. (原始内容存档于2023-10-28). 
  6. ^ Linux 2 6 35 - Linux Kernel Newbies. Kernelnewbies.org. [2012-11-08]. (原始内容存档于2020-01-08).