SquashFS
Encyclopedia
SquashFS is a compressed
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....

 read-only
File system permissions
Most current file systems have methods of administering permissions or access rights to specific users and groups of users. These systems control the ability of the users to view or make changes to the contents of the filesystem....

 file system
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

 for Linux. SquashFS compresses files
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...

, inode
Inode
In computing, an inode is a data structure on a traditional Unix-style file system such as UFS. An inode stores all the information about a regular file, directory, or other file system object, except its data and name....

s and directories
Directory (file systems)
In computing, a folder, directory, catalog, or drawer, is a virtual container originally derived from an earlier Object-oriented programming concept by the same name within a digital file system, in which groups of computer files and other folders can be kept and organized.A typical file system may...

, and supports block
Block (data storage)
In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data...

 sizes up to 1 MB
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

 for greater compression. SquashFS is also the name of free/open
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 software, licensed under the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, for accessing SquashFS filesystems.

SquashFS is intended for general read-only file system use and in constrained block device/memory systems (e.g. embedded system
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

s) where low overhead is needed. The original version of SquashFS used gzip
Gzip
Gzip is any of several software applications used for file compression and decompression. The term usually refers to the GNU Project's implementation, "gzip" standing for GNU zip. It is based on the DEFLATE algorithm, which is a combination of Lempel-Ziv and Huffman coding...

 compression, although Linux kernel 2.6.34 added support for LZMA
LZMA
The Lempel–Ziv–Markov chain algorithm is an algorithm used to perform data compression. It has been under development since 1998 and was first used in the 7z format of the 7-Zip archiver...

 and LZO
LZO
Lempel-Ziv-Oberhumer is a lossless data compression algorithm that is focused on decompression speed.- Design :The LZO library implements a number of algorithms with the following characteristics:...

 compression, and Linux kernel 2.6.38 added support for xz
Xz
xz is a lossless data compression file format incorporating the LZMA2 compression algorithm. Like gzip and bzip2, concatenation is supported to compress multiple files, but the convention is to bundle a file that is an archive itself, such as those created by the tar or cpio Unix...

 compression.

Linux kernel 2.6.35 added support for Extended file attributes
Extended file attributes
Extended file attributes is a file system feature that enables users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem...

.

Uses

SquashFS is used by the Live CD
Live CD
A live CD, live DVD, or live disc is a CD or DVD containing a bootable computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking mutable secondary storage, such as a hard disk drive...

 versions of Arch Linux
Arch Linux
Arch Linux is an independently developed, Linux-based operating system for i686 and x86-64 computers. It is composed predominantly of free and open source software, and supports community involvement....

, Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

, Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

, Gentoo Linux
Gentoo Linux
Gentoo Linux is a computer operating system built on top of the Linux kernel and based on the Portage package management system. It is distributed as free and open source software. Unlike a conventional software distribution, the user compiles the source code locally according to their chosen...

, Salix
Salix OS
-Goals:Salix OS retains full backwards compatibility with Slackware. This enables Slackware users to benefit from Salix repositories, which they can use as an "extra" source of software for their distribution. However, while in the KISS principle that Slackware adheres to, "Simple" refers to the...

, Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

 and on embedded distributions such as the OpenWrt
OpenWrt
OpenWrt is a Linux distribution primarily targeted at routing on embedded devices. It comprises a set of about 2000 software packages, installed and uninstalled via the opkg package management system. OpenWrt can be configured using the command-line interface of BusyBox ash, or the web interface...

 and DD-WRT
DD-WRT
DD-WRT is a Linux-based firmware for several wireless routers, most notably the Linksys WRT54G . Like other similar projects, DD-WRT is third-party firmware designed to replace the firmware that ships pre-installed on many commercial routers...

 router firmware
Firmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...

. It is often combined with a union mount
Union mount
A union mount is a mount that allows several filesystems to be mounted at one time, appearing to be one filesystem.Rather than mounting each filesystem at a different place in the directory hierarchy, a union mount overlays the filesystems, creating a unified hierarchy...

 filesystem, such as UnionFS
UnionFS
UnionFS is a filesystem service for Linux, FreeBSD and NetBSD which implements a union mount for other file systems. It allows files and directories of separate file systems, known as branches, to be transparently overlaid, forming a single coherent file system...

 or aufs
Aufs
aufs implements a union mount for Linux file systems.Developed by Junjiro Okajima in 2006 aufs is a complete rewriting of the earlier UnionFS...

, to provide a read-write environment for live Linux distributions. This takes advantage of both the 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
Debian Live
A Debian Live system is an instance of the Debian operating system which boots from removable media, without requiring installation or previous configuration. Supported removable media include CDs, DVDs, and USB flash drives ....

, Mandriva One, Puppy Linux
Puppy Linux
Puppy Linux is a lightweight Linux distribution that focuses on ease of use. The entire system can be run from RAM, allowing the boot medium to be removed after the operating system has started...

, Salix Live and Slax
SLAX
Slax is a LiveCD Linux distribution based on Slackware and is currently being developed by Tomáš Matějíček. Packages can be selected in a website where users can build a custom Slax iso image. Slax slogan refers to the software as a "Pocket Operating System"...

 use this combination.

The on-disk format of SquashFS has stabilized enough that it has been merged into the 2.6.29 version of the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

. In that process, the backward-compatibility code for older formats was removed.

SquashFS is also used by Linux Terminal Server Project
Linux Terminal Server Project
Linux Terminal Server Project is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client handling input and output...

, Slax
SLAX
Slax is a LiveCD Linux distribution based on Slackware and is currently being developed by Tomáš Matějíček. Packages can be selected in a website where users can build a custom Slax iso image. Slax slogan refers to the software as a "Pocket Operating System"...

, and Splashtop
Splashtop
Splashtop is a remote desktop software solution that allows users to connect to and control their computer from a mobile computing device, such as an iPad, iPhone, webOS, or Android device...

. The SquashFS files might use extension .sqx also used for SQX
SQX
The SQX-Archiver is an open and free data compression and archival format. It can be used in one's own applications free of charge...

. The tools unsquashfs and mksquashfs have been ported to Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

, read access is also possible with 7-zip
7-Zip
7-Zip is an open source file archiver. 7-Zip operates with the 7z archive format, but can read and write several other archive formats. The program can be used from a command line interface, graphical user interface, or with Microsoft Windows shell integration. 7-Zip began in 1999 and is actively...

.

See also

  • Comparison of file systems
    Comparison of file systems
    -General information:-Limits:-Metadata:-Features:-Allocation and layout policies:-Supporting operating systems:-See also:* Comparison of archive formats* Comparison of file archivers* List of archive formats* List of file archivers...

  • List of file systems
  • Cloop
    Cloop
    The compressed loopback device or 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 in itself....

     is a compressed loopback device module for the Linux kernel
    Linux kernel
    The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

  • Cramfs
    Cramfs
    The compressed ROM file system is a free read-only Linux file system designed for simplicity and space-efficiency. It is mainly used in embedded systems and small-footprint systems....

     is another read-only compressed file system
  • e2compr provides compression for ext2
    Ext2
    The ext2 or second extended filesystem is a file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system ....


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK