Squashfs is a
compressed read-only
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
for
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
. Squashfs compresses
files
File or filing may refer to:
Mechanical tools and processes
* File (tool), a tool used to ''remove'' fine amounts of material from a workpiece
**Filing (metalworking), a material removal process in manufacturing
** Nail file, a tool used to gent ...
,
inode
The 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
Directory may refer to:
* Directory (computing), or folder, a file system structure in which to store computer files
* Directory (OpenVMS command)
* Directory service, a software application for organizing information about a computer network's ...
, and supports
block sizes from 4
KiB up to 1
MiB
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
for greater compression. Several compression algorithms are supported. Squashfs is also the name of
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
, licensed under the
GPL, for accessing Squashfs filesystems.
Squashfs is intended for general read-only file-system use and in constrained block-device
memory system
A mnemonic ( ) device, or memory device, is any learning technique that aids information retention or retrieval (remembering) in the human memory for better understanding.
Mnemonics make use of elaborative encoding, retrieval cues, and imager ...
s (e.g.
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s) where low
overhead is needed.
Uses
Squashfs is used by the
Live CD
A live CD (also live DVD, live disc, or live operating system) is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading f ...
versions of
Arch Linux
Arch Linux () is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is a minimal base system, ...
,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
,
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
,
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 t ...
,
Linux Mint,
openSUSE,
Salix
Willows, also called sallows and osiers, from the genus ''Salix'', comprise around 400 speciesMabberley, D.J. 1997. The Plant Book, Cambridge University Press #2: Cambridge. of typically deciduous trees and shrubs, found primarily on moist s ...
,
Ubuntu,
NixOS,
Clonezilla,
Kali Linux 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, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. A ...
and
DD-WRT router firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
. It is also used in
Chromecast and for the system partitions of some
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
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
Snappy package manager also uses squashfs for its ".snap file format".
Squashfs is also used by
Linux Terminal Server Project and
Splashtop
Splashtop is a family of remote-desktop software and remote support software, developed by Splashtop Inc. Splashtop enables users to remotely access or remotely support computers from desktop and mobile devices. Splashtop enables remote comput ...
. The tools ''unsquashfs'' and ''mksquashfs'' have been ported to
Windows NT
Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.
The first version of Wi ...
–
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
A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour.
Kern ...
tools remain on the project's
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
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
Btrfs (pronounced as "better F S", "butter F S", "b-tree F S", or simply by spelling it out) is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager (not to be confused ...
*
Cloop
The compressed loop device (cloop) is a module for the Linux kernel. It adds support for transparently decompressed, read-only block devices. It is not a compressed file system: cloop is mostly used as a convenient way to compress conventional fi ...
*
Comparison of file systems
*
Cramfs
*
e2compr
*
EROFS
*
Initramfs
*
List of file systems
The following lists identify, characterize, and link to more thorough information on Computer file systems.
Many older operating systems support only their one "native" file system, which does not bear any name apart from the name of the operating ...
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