blob: a38a39e1d20c9b487c1ddf728f6bdb1ecfcfeb85 [file] [log] [blame]
Phillip Lougher13b3f392014-08-08 21:46:45 +01001 SQUASHFS 3.3 - A squashed read-only filesystem for Linux
2
3 Copyright 2002-2007 Phillip Lougher <phillip@lougher.demon.co.uk>
4
5 Released under the GPL licence (version 2 or later).
6
7Welcome to another release of Squashfs. This is the 22nd release in just
8over five years of work. Squashfs 3.3 has lots of nice improvements,
9both to the filesystem itself (bigger blocks, and sparse files), but
10also to the Squashfs-tools Mksquashfs and Unsquashfs. As usual the
11CHANGES file has a detailed list of all the improvements.
12
13Following is a description of the changes to the Squashfs tools, usage
14guides to the new options, and a summary of the new options.
15
161. MKSQUASHFS - EXTENDED EXCLUDE FILE HANDLING
17----------------------------------------------
18
191. Extended wildcard pattern matching now supported in exclude files
20
21 Enabled by specifying -wildcards option
22
23 Supports both anchored and non-anchored exclude files.
24
251.1 Anchored excludes
26
27 Similar to existing exclude files except with wildcards. Exclude
28 file matches from root of source directories.
29
30 Examples:
31
32 1. mksquashfs example image.sqsh -wildcards -e 'test/*.gz'
33
34 Exclude all files matching "*.gz" in the top level directory "test".
35
36 2. mksquashfs example image.sqsh -wildcards -e '*/[Tt]est/example*'
37
38 Exclude all files beginning with "example" inside directories called
39 "Test" or "test", that occur inside any top level directory.
40
41 Using extended wildcards, negative matching is also possible.
42
43 3. mksquashfs example image.sqsh -wildcards -e 'test/!(*data*).gz'
44
45 Exclude all files matching "*.gz" in top level directory "test",
46 except those with "data" in the name.
47
481.2 Non-anchored excludes
49
50 By default excludes match from the top level directory, but it is
51 often useful to exclude a file matching anywhere in the source directories.
52 For this non-anchored excludes can be used, specified by pre-fixing the
53 exclude with "...".
54
55 Examples:
56
57 1. mksquashfs example image.sqsh -wildcards -e '... *.gz'
58
59 Exclude files matching "*.gz" anywhere in the source directories.
60 For example this will match "example.gz", "test/example.gz", and
61 "test/test/example.gz".
62
63 2. mksquashfs example image.sqsh -wildcards -e '... [Tt]est/*.gz'
64
65 Exclude files matching "*.gz" inside directories called "Test" or
66 "test" that occur anywhere in the source directories.
67
68 Again, using extended wildcards, negative matching is also possible.
69
70 3. mksquashfs example image.sqsh -wildcards -e '... !(*data*).gz'
71
72 Exclude all files matching "*.gz" anywhere in the source directories,
73 except those with "data" in the name.
74
752. Regular expression pattern matching now supported in exclude files
76
77 Enabled by specifying -regex option. Identical behaviour to wild
78card pattern matching, except patterns are considered to be regular
79expressions.
80
81 Supports both anchored and non-anchored exclude files.
82
83
842. MKSQUASHFS - NEW RECOVERY FILE FEATURE
85-----------------------------------------
86
87Recovery files are now created when appending to existing Squashfs
88filesystems. This allows the original filesystem to be recovered
89if Mksquashfs aborts unexpectedly (i.e. power failure).
90
91The recovery files are called squashfs_recovery_xxx_yyy, where
92"xxx" is the name of the filesystem being appended to, and "yyy" is a
93number to guarantee filename uniqueness (the PID of the parent Mksquashfs
94process).
95
96Normally if Mksquashfs exits correctly the recovery file is deleted to
97avoid cluttering the filesystem. If Mksquashfs aborts, the "-recover"
98option can be used to recover the filesystem, giving the previously
99created recovery file as a parameter, i.e.
100
101mksquashfs dummy image.sqsh -recover squashfs_recovery_image.sqsh_1234
102
103The writing of the recovery file can be disabled by specifying the
104"-no-recovery" option.
105
106
1073. UNSQUASHFS - EXTENDED EXTRACT FILE HANDLING
108----------------------------------------------
109
1101. Multiple extract files can now be specified on the command line, and the
111files/directories to be extracted can now also be given in a file.
112
113To specify a file containing the extract files use the "-e[f]" option.
114
1152. Extended wildcard pattern matching now supported in extract files
116
117 Enabled by default. Similar to existing extract files except with
118wildcards.
119
120 Examples:
121
122 1. unsquashfs image.sqsh 'test/*.gz'
123
124 Extract all files matching "*.gz" in the top level directory "test".
125
126 2. unsquashfs image.sqsh '[Tt]est/example*'
127
128 Extract all files beginning with "example" inside top level directories
129 called "Test" or "test".
130
131 Using extended wildcards, negative matching is also possible.
132
133 3. unsquashfs image.sqsh 'test/!(*data*).gz'
134
135 Extract all files matching "*.gz" in top level directory "test",
136 except those with "data" in the name.
137
1383. Regular expression pattern matching now supported in extract files
139
140 Enabled by specifying -r[egex] option. Identical behaviour to wild
141card pattern matching, except patterns are considered to be regular
142expressions.
143
1444. UNSQUASHFS - EXTENDED FILENAME PRINTING
145------------------------------------------
146
147Filename printing has been enhanced and Unquashfs can now display filenames
148with file attributes ('ls -l' style output).
149
150New options:
151
152 -ll[s]
153
154 list filesystem with file attributes, but don't unsquash
155
156 -li[nfo]
157
158 print files as they are unsquashed with file attributes
159
160
1615. UNSQUASHFS - MISCELLANEOUS OPTIONS
162-------------------------------------
163
164 -s[tat]
165
166 Display the filesystem superblock information. This is useful to
167 discover the filesystem version, byte ordering, whether it has an
168 NFS export table, and what options were used to compress
169 the filesystem.