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).