Squashfs is a
compressed read-only
file system for
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. Squashfs compresses
files,
inode
An inode (index node) is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attribu ...
s and
directories, and supports
block sizes from 4
KiB up to 1
MiB for greater compression. Several compression algorithms are supported. Squashfs is also the name of
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
, licensed under the
GPL, for accessing Squashfs filesystems.
Squashfs is intended for general read-only file-system use and in constrained block-device
memory systems (e.g.
embedded systems) where low
overhead is needed.
Uses
Squashfs is used by the
Live CD versions of
Arch Linux,
Clonezilla,
Debian
Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
,
Fedora,
Gentoo Linux
Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for ...
,
KDE neon,
Kali Linux,
Linux Mint
Linux Mint is a community-developed Linux distribution. It is based on Ubuntu and designed for x86-64 based computers; another variant is based on Debian which is named Linux Mint Debian Edition (LMDE) and has both 64-bit and IA-32 support. T ...
,
NixOS,
Salix,
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
,
openSUSE and on embedded distributions such as the
OpenWrt
OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux kernel, Linux, primarily used on Embedded system, embedded devices to Router (computing), route network traffic. The main components ...
and
DD-WRT router firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
. It is also used in
Chromecast
Chromecast is a discontinued line of digital media players developed by Google. The devices, designed as small dongles, can play Internet-streaming media, streamed audio-visual content on a high-definition television or home audio system. The u ...
, in
Tiny Core Linux fo
packaging extensions and for the system partitions of some
Android releases (
Android Nougat). It is often combined with a
union mount filesystem, such as
UnionFS,
OverlayFS, or
aufs, to provide a read-write environment for live Linux distributions. This takes advantage of both Squashfs's high-speed compression abilities and the ability to alter the distribution while running it from a live CD. Distributions such as
Debian Live,
Mandriva One,
Puppy Linux,
Salix Live and
Slax use this combination. The
AppImage project, which aims to create portable Linux applications, uses Squashfs for creating AppImages. The
snap package system also uses Squashfs as its file container format.
Squashfs is also used by
Linux Terminal Server Project and
Splashtop. The tools ''unsquashfs'' and ''mksquashfs'' have been ported to
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
–
Windows 8.1.
7-Zip also supports Squashfs.
History
Squashfs was initially maintained as an out-of-tree Linux patch. The initial version 1.0 was released on 23 October 2002. In 2009 Squashfs was merged into Linux mainline as part of Linux 2.6.29. In that process, the
backward-compatibility code for older formats was removed. Since then the Squashfs
kernel-space code has been maintained in the Linux mainline tree, while the
user-space tools remain on the project's
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
page.
The original version of Squashfs used
gzip compression, although Linux kernel 2.6.34 added support for
LZMA and
LZO compression, Linux kernel 2.6.38 added support for
LZMA2 compression (which is used by
xz), Linux kernel 3.19 added support for
LZ4 compression, and Linux kernel 4.14 added support for
Zstandard compression.
Linux kernel 2.6.35 added support for
extended file attributes.
See also
*
AppImage
*
Btrfs
*
Cloop
*
Comparison of file systems
*
Cramfs
*
e2compr
*
EROFS
*
Initramfs
*
List of file systems
*
Reboot to restore software
*
Windows Imaging Format
DwarFS
References
External links
*
{{File systems
Compression file systems
Free special-purpose file systems
Read-only file systems supported by the Linux kernel
Free software programmed in C