| SQUASHFS 3.3 - A squashed read-only filesystem for Linux |
| |
| Copyright 2002-2007 Phillip Lougher <phillip@lougher.demon.co.uk> |
| |
| Released under the GPL licence (version 2 or later). |
| |
| Welcome to another release of Squashfs. This is the 22nd release in just |
| over five years of work. Squashfs 3.3 has lots of nice improvements, |
| both to the filesystem itself (bigger blocks, and sparse files), but |
| also to the Squashfs-tools Mksquashfs and Unsquashfs. As usual the |
| CHANGES file has a detailed list of all the improvements. |
| |
| Following is a description of the changes to the Squashfs tools, usage |
| guides to the new options, and a summary of the new options. |
| |
| 1. MKSQUASHFS - EXTENDED EXCLUDE FILE HANDLING |
| ---------------------------------------------- |
| |
| 1. Extended wildcard pattern matching now supported in exclude files |
| |
| Enabled by specifying -wildcards option |
| |
| Supports both anchored and non-anchored exclude files. |
| |
| 1.1 Anchored excludes |
| |
| Similar to existing exclude files except with wildcards. Exclude |
| file matches from root of source directories. |
| |
| Examples: |
| |
| 1. mksquashfs example image.sqsh -wildcards -e 'test/*.gz' |
| |
| Exclude all files matching "*.gz" in the top level directory "test". |
| |
| 2. mksquashfs example image.sqsh -wildcards -e '*/[Tt]est/example*' |
| |
| Exclude all files beginning with "example" inside directories called |
| "Test" or "test", that occur inside any top level directory. |
| |
| Using extended wildcards, negative matching is also possible. |
| |
| 3. mksquashfs example image.sqsh -wildcards -e 'test/!(*data*).gz' |
| |
| Exclude all files matching "*.gz" in top level directory "test", |
| except those with "data" in the name. |
| |
| 1.2 Non-anchored excludes |
| |
| By default excludes match from the top level directory, but it is |
| often useful to exclude a file matching anywhere in the source directories. |
| For this non-anchored excludes can be used, specified by pre-fixing the |
| exclude with "...". |
| |
| Examples: |
| |
| 1. mksquashfs example image.sqsh -wildcards -e '... *.gz' |
| |
| Exclude files matching "*.gz" anywhere in the source directories. |
| For example this will match "example.gz", "test/example.gz", and |
| "test/test/example.gz". |
| |
| 2. mksquashfs example image.sqsh -wildcards -e '... [Tt]est/*.gz' |
| |
| Exclude files matching "*.gz" inside directories called "Test" or |
| "test" that occur anywhere in the source directories. |
| |
| Again, using extended wildcards, negative matching is also possible. |
| |
| 3. mksquashfs example image.sqsh -wildcards -e '... !(*data*).gz' |
| |
| Exclude all files matching "*.gz" anywhere in the source directories, |
| except those with "data" in the name. |
| |
| 2. Regular expression pattern matching now supported in exclude files |
| |
| Enabled by specifying -regex option. Identical behaviour to wild |
| card pattern matching, except patterns are considered to be regular |
| expressions. |
| |
| Supports both anchored and non-anchored exclude files. |
| |
| |
| 2. MKSQUASHFS - NEW RECOVERY FILE FEATURE |
| ----------------------------------------- |
| |
| Recovery files are now created when appending to existing Squashfs |
| filesystems. This allows the original filesystem to be recovered |
| if Mksquashfs aborts unexpectedly (i.e. power failure). |
| |
| The recovery files are called squashfs_recovery_xxx_yyy, where |
| "xxx" is the name of the filesystem being appended to, and "yyy" is a |
| number to guarantee filename uniqueness (the PID of the parent Mksquashfs |
| process). |
| |
| Normally if Mksquashfs exits correctly the recovery file is deleted to |
| avoid cluttering the filesystem. If Mksquashfs aborts, the "-recover" |
| option can be used to recover the filesystem, giving the previously |
| created recovery file as a parameter, i.e. |
| |
| mksquashfs dummy image.sqsh -recover squashfs_recovery_image.sqsh_1234 |
| |
| The writing of the recovery file can be disabled by specifying the |
| "-no-recovery" option. |
| |
| |
| 3. UNSQUASHFS - EXTENDED EXTRACT FILE HANDLING |
| ---------------------------------------------- |
| |
| 1. Multiple extract files can now be specified on the command line, and the |
| files/directories to be extracted can now also be given in a file. |
| |
| To specify a file containing the extract files use the "-e[f]" option. |
| |
| 2. Extended wildcard pattern matching now supported in extract files |
| |
| Enabled by default. Similar to existing extract files except with |
| wildcards. |
| |
| Examples: |
| |
| 1. unsquashfs image.sqsh 'test/*.gz' |
| |
| Extract all files matching "*.gz" in the top level directory "test". |
| |
| 2. unsquashfs image.sqsh '[Tt]est/example*' |
| |
| Extract all files beginning with "example" inside top level directories |
| called "Test" or "test". |
| |
| Using extended wildcards, negative matching is also possible. |
| |
| 3. unsquashfs image.sqsh 'test/!(*data*).gz' |
| |
| Extract all files matching "*.gz" in top level directory "test", |
| except those with "data" in the name. |
| |
| 3. Regular expression pattern matching now supported in extract files |
| |
| Enabled by specifying -r[egex] option. Identical behaviour to wild |
| card pattern matching, except patterns are considered to be regular |
| expressions. |
| |
| 4. UNSQUASHFS - EXTENDED FILENAME PRINTING |
| ------------------------------------------ |
| |
| Filename printing has been enhanced and Unquashfs can now display filenames |
| with file attributes ('ls -l' style output). |
| |
| New options: |
| |
| -ll[s] |
| |
| list filesystem with file attributes, but don't unsquash |
| |
| -li[nfo] |
| |
| print files as they are unsquashed with file attributes |
| |
| |
| 5. UNSQUASHFS - MISCELLANEOUS OPTIONS |
| ------------------------------------- |
| |
| -s[tat] |
| |
| Display the filesystem superblock information. This is useful to |
| discover the filesystem version, byte ordering, whether it has an |
| NFS export table, and what options were used to compress |
| the filesystem. |