1 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. 170