summaryrefslogtreecommitdiffstats
path: root/USAGE-4.6
blob: fcc28dc80becc3c14eba5e19fb0bdaa6e95d2046 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
	SQUASHFS - A squashed read-only filesystem for Linux

	Copyright 2002-2023 Phillip Lougher <phillip@squashfs.org.uk>

	Released under the GPL licence (version 2 or later).

Welcome to Squashfs-tools.  Please read the CHANGES and README-4.6 files for the
added features and improvements.

Squashfs is a highly compressed read-only filesystem for Linux.
It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes
and directories.  Inodes in the system are very small and all blocks are
packed to minimise data overhead. Block sizes greater than 4K are supported
up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival
use (i.e. in cases where a .tar.gz file may be used), and in constrained
block device/memory systems (e.g. embedded systems) where low overhead is
needed.

1. SQUASHFS AND TOOLS OVERVIEW
------------------------------

1. Data, inodes and directories can be compressed.

2. Squashfs stores full uid/gids (32 bits), and file creation time.

3. In theory files up to 2^64 bytes are supported.  In theory filesystems can
   be up to 2^64 bytes.

4. Inode and directory data are highly compacted, and packed on byte
   boundaries.  Each compressed inode is on average 8 bytes in length
   (the exact length varies on file type, i.e. regular file, directory,
   symbolic link, and block/char device inodes have different sizes).

5. Squashfs can use block sizes up to 1Mbyte (the default size is 128K).
   Using 128K blocks achieves greater compression ratios than the normal
   4K block size.

6. File duplicates are detected and removed.

7. Filesystems can be compressed with gzip, xz (lzma2), lzo, lz4
   or zstd compression algorithms.

8. Pseudo files are supported by Mksquashfs/Sqfstar which allow files which
   don't exist in the source filesystem to be created on-demand.

9. Creation of Squashfs filesystems from TAR archives is supported using
   Sqfstar or the -tar option of Mksquashfs.

10. External attributes are supported, and there are a full range of options
   to filter attributes on filesystem creation and extraction, and additional
   external attributes can be created which don't exist in the source
   filesystem.


2. SQUASHFS TOOLS AVAILABLE
---------------------------

The Squashfs-tools consists of 4 programs.

1. MKSQUASHFS

This tool creates Squashfs filesystems from a set of source files and
directories.  The file USAGE-MKSQUASHFS-4.6 describes how to use this
program.  The (once installed) mksquashfs manpage contains more brief
information and a lot of usage examples.

2. UNSQUASHFS

This tool allows you to extract and list the contents of Squashfs
filesystems without mounting.  The file USAGE-UNSQUASHFS-4.6 describes
how to use this program.  The (once installed) unsquashfs manpage contains
more brief information and a lot of usage examples.

3. SQFSTAR

This tool creates Squashfs filesystems from a TAR archive.  The file
USAGE-SQFSTAR-4.6 describes how to use this program.  The (once installed)
sqfstar manpage contains more brief information and a lot of usage examples.

4. SQFSCAT

This program allows you to "cat" files to STDOUT from a Squashfs filesystem.
USAGE-SQFSCAT-4.6 describes how to use this program.  The (once installed)
sqfscat manpage contains more brief information and a lot of usage examples.

3. SUMMARY OF USAGE FILES
-------------------------

For MKSQUASHFS see USAGE-MKSQUASHFS-4.6
For UNSQUASHFS see USAGE-UNSQUASHFS-4.6
For SQFSTAR see USAGE-SQFSTAR-4.6
For SQFSCAT see USAGE-SQFSCAT-4.6