[Name] unsquashfs - tool to uncompress, extract and list squashfs filesystems [Description] 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. [Examples] .TP unsquashfs IMAGE.SQFS Extract IMAGE.SQFS to "squashfs-root" in the current working directory. .TP unsquashfs -d output IMAGE.SQFS Extract IMAGE.SQFS to "output" in the current working directory. .TP unsquashfs -d . IMAGE.SQFS Extract IMAGE.SQFS to current working directory. .TP unsquashfs -linfo IMAGE.SQFS Output a listing of IMAGE.SQFS with file attributes to stdout, while extracting the filesystem to "squashfs-root". .TP unsquashfs -lls IMAGE.SQFS Output a listing of IMAGE.SQFS with file attributes to stdout, but do not extract the filesystem. The listing will be prefixed with "squashfs-root". .TP unsquashfs -d "" -lls IMAGE.SQFS Output a listing of IMAGE.SQFS with file attributes to stdout, but do not extract the filesystem. The listing will not be prefixed with "squashfs-root". .TP unsquashfs IMAGE.SQFS fs/squashfs Extract only the "fs/squashfs" directory. .TP unsquashfs IMAGE.SQFS "[Tt]est/example*" Extract all files beginning with "example" inside top level directories called "Test" or "test". .TP unsquashfs -excludes IMAGE.SQFS "test/*data*.gz" This will extract everything except for files that match *data*.gz in the test directory. The -excludes option tells Unsquashfs to exclude the files on the command line rather than extract them. .TP unsquashfs -excludes IMAGE.SQFS "... *.gz" This will extract everything except for files that match *.gz anywhere in the image. The "..." means this is a non-anchored exclude which matches anywhere. .TP unsquashfs -ex "test/*data*.gz" \; IMAGE.SQFS test This uses both extract and exclude options, to tell Unsquashfs to only extract the "test" directory, and to exclude any files within it that match *data*.gz. .TP unsquashfs -ex "... *.gz" IMAGE.SQFS test This uses both extract and exclude options, to tell Unsquashfs to only extract the "test" directory, and to exclude files which match "*.gz" anywhere within "test" directory or sub-directories. .TP unsquashfs -dest output -max-depth 2 IMAGE.SQFS Extract only the top two levels of IMAGE.SQFS to "output" directory. .TP unsquashfs -max-depth 2 IMAGE.SQFS "test/*.gz" Only extract the gzipped files in the test directory. .TP unsquashfs -llc -max-depth 2 IMAGE.SQFS "test/*.gz" Output a listing of the gzipped files in the test directory to stdout, but do not extract them. .TP unsquashfs -no-xattrs IMAGE.SQFS Do not extract any extended attributes. Any extended attributes in the filesystem will be ignored. .TP unsquashfs -xattrs-include "^user." IMAGE.SQFS Filter the extended attributes and only extract extended attributes in the user namespace from the Squashfs filesystem. .TP unsquashfs -xattrs-exclude "^user." IMAGE.SQFS Filter the extended attributes and do not extract any extended attributes in the user namespace from the Squashfs filesystem. .PP Note: when passing wildcarded names to Unsquashfs, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.