dwww Home | Manual pages | Find package

UNSQUASHFS(1)                    User Commands                   UNSQUASHFS(1)

NAME
       unsquashfs - tool to uncompress, extract and list squashfs filesystems

SYNOPSIS
       unsquashfs [OPTIONS] FILESYSTEM [files to extract or exclude (with -ex-
       cludes) or cat (with -cat )]

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 con-
       strained block device/memory systems (e.g. embedded systems) where  low
       overhead is needed.

OPTIONS
   Filesystem extraction (filtering) options:
       -d PATHNAME, -dest PATHNAME
              extract  to  PATHNAME, default "squashfs-root". This option also
              sets the prefix used when listing the filesystem.

       -max LEVELS, -max-depth LEVELS
              descend at most LEVELS of directories when extracting.

       -excludes
              treat files on command line as exclude files.

       -ex, -exclude-list
              list of files to be excluded, terminated with ; e.g. file1 file2
              ;.

       -extract-file FILE
              list of directories or files to extract. One per line.

       -exclude-file FILE
              list of directories or files to exclude. One per line.

       -match abort if any extract file does not match on  anything,  and  can
              not be resolved.  Implies -missing-symlinks and -no-wildcards.

       -follow, -follow-symlinks
              follow  symlinks  in  extract  files, and add all files/symlinks
              needed to resolve extract file. Implies -no-wildcards.

       -missing, -missing-symlinks
              Unsquashfs will abort if any symlink can't be resolved in  -fol-
              low-symlinks.

       -no-wild, -no-wildcards
              do not use wildcard matching in extract and exclude names.

       -r, -regex
              treat extract names as POSIX regular expressions rather than use
              the default shell wildcard expansion (globbing).

       -all TIME, -all-time TIME
              set  all file timestamps to TIME, rather than the time stored in
              the filesystem inode.  TIME can be an unsigned 32-bit int  indi-
              cating  seconds  since  the epoch (1970-01-01) or a string value
              which is passed to the "date" command to parse. Any string value
              which the date command recognises can be  used  such  as  "now",
              "last week", or "Wed Feb 15 21:02:39 GMT 2023".

       -cat   cat the files on the command line to stdout.

       -f, -force
              if file already exists then overwrite.

       -pf FILE
              output  a  pseudo file equivalent of the input Squashfs filesys-
              tem, use - for stdout.

   Filesystem information and listing options:
       -s, -stat
              display filesystem superblock information.

       -max LEVELS, -max-depth LEVELS
              descend at most LEVELS of directories when listing.

       -i, -info
              print files as they are extracted.

       -li, -linfo
              print files as they are extracted with file attributes (like  ls
              -l output).

       -l, -ls
              list filesystem, but do not extract files.

       -ll, -lls
              list filesystem with file attributes (like ls -l output), but do
              not extract files.

       -lln, -llnumeric
              same as -lls but with numeric uids and gids.

       -lc    list  filesystem  concisely, displaying only files and empty di-
              rectories.  Do not extract files.

       -llc   list filesystem concisely with file attributes, displaying  only
              files and empty directories. Do not extract files.

       -full, -full-precision
              use full precision when displaying times including seconds.  Use
              with -linfo, -lls, -lln and -llc.

       -UTC   use UTC rather than local time zone when displaying time.

       -mkfs-time
              display  filesystem superblock time, which is an unsigned 32-bit
              int  representing  the  time  in   seconds   since   the   epoch
              (1970-01-01).

   Filesystem extended attribute (xattrs) options:
       -no, -no-xattrs
              do not extract xattrs in file system.

       -x, -xattrs
              extract xattrs in file system (default).

       -xattrs-exclude REGEX
              exclude any xattr names matching REGEX. REGEX is a POSIX regular
              expression,  e.g.  -xattrs-exclude '^user.' excludes xattrs from
              the user namespace.

       -xattrs-include REGEX
              include any xattr names matching REGEX. REGEX is a POSIX regular
              expression, e.g. -xattrs-include '^user.' includes  xattrs  from
              the user namespace.

   Unsquashfs runtime options:
       -v, -version
              print version, licence and copyright information.

       -p NUMBER, -processors NUMBER
              use  NUMBER  processors.   By  default  will  use  the number of
              processors available.

       -q, -quiet
              no verbose output.

       -n, -no-progress
              do not display the progress bar.

       -percentage
              display a percentage rather than the full progress bar.  Can  be
              used with dialog --gauge etc.

       -ig, -ignore-errors
              treat errors writing files to output as non-fatal.

       -st, -strict-errors
              treat all errors as fatal.

       -no-exit, -no-exit-code
              do not set exit code (to nonzero) on non-fatal errors.

       -da SIZE, -data-queue SIZE
              set data queue to SIZE Mbytes.  Default 256 Mbytes.

       -fr SIZE, -frag-queue SIZE
              set fragment queue to SIZE Mbytes.  Default 256 Mbytes.

   Miscellaneous options:
       -h, -help
              output this options text to stdout.

       -o BYTES, -offset BYTES
              skip  BYTES at start of FILESYSTEM.  Optionally a suffix of K, M
              or G can be given to specify Kbytes, Mbytes  or  Gbytes  respec-
              tively (default 0 bytes).

       -fstime
              synonym for -mkfs-time.

       -e, -ef EXTRACT FILE
              synonym for -extract-file.

       -exc, -excf EXCLUDE FILE
              synonym for -exclude-file.

       -L     synonym for -follow-symlinks.

       -pseudo-file FILE
              alternative name for -pf.

DECOMPRESSORS AVAILABLE
       gzip, lzo, lz4, xz, zstd, lzma

EXIT STATUS
       0      The filesystem listed or extracted OK.

       1      FATAL  errors  occurred, e.g. filesystem corruption, I/O errors.
              Unsquashfs did not continue and aborted.

       2      Non-fatal errors occurred, e.g. no support for XATTRs,  Symbolic
              links in output filesystem or couldn't write permissions to out-
              put filesystem. Unsquashfs continued and did not abort.

       See  -ignore-errors,  -strict-errors  and -no-exit-code options for how
       they affect the exit status.

EXAMPLES
       unsquashfs IMAGE.SQFS
              Extract IMAGE.SQFS to "squashfs-root" in the current working di-
              rectory.

       unsquashfs -d output IMAGE.SQFS
              Extract IMAGE.SQFS to "output" in the current working directory.

       unsquashfs -d . IMAGE.SQFS
              Extract IMAGE.SQFS to current working directory.

       unsquashfs -linfo IMAGE.SQFS
              Output a listing of IMAGE.SQFS with file attributes  to  stdout,
              while extracting the filesystem to "squashfs-root".

       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".

       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 pre-
              fixed with "squashfs-root".

       unsquashfs IMAGE.SQFS fs/squashfs
              Extract only the "fs/squashfs" directory.

       unsquashfs IMAGE.SQFS "[Tt]est/example*"
              Extract  all files beginning with "example" inside top level di-
              rectories called "Test" or "test".

       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 Un-
              squashfs  to  exclude  the files on the command line rather than
              extract them.

       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.

       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.

       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-directo-
              ries.

       unsquashfs -dest output -max-depth 2 IMAGE.SQFS
              Extract only the top two levels of IMAGE.SQFS to "output" direc-
              tory.

       unsquashfs -max-depth 2 IMAGE.SQFS "test/*.gz"
              Only extract the gzipped files in the test directory.

       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.

       unsquashfs -no-xattrs IMAGE.SQFS
              Do not extract any extended attributes.  Any extended attributes
              in the filesystem will be ignored.

       unsquashfs -xattrs-include "^user." IMAGE.SQFS
              Filter the extended attributes and only extract extended attrib-
              utes in the user namespace from the Squashfs filesystem.

       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.

       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.

AUTHOR
       Written by Phillip Lougher <phillip@squashfs.org.uk>

COPYRIGHT
       Copyright © 2023 Phillip Lougher <phillip@squashfs.org.uk>

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software  Foundation;  either  version 2, or (at your option) any
       later version.

       This program is distributed in the hope that it  will  be  useful,  but
       WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of MER-
       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
       Public License for more details.

SEE ALSO
       mksquashfs(1), sqfstar(1), sqfscat(1)

       The  README  for  the  Squashfs-tools 4.6.1 release, describing the new
       features            can            be             read             here
       https://github.com/plougher/squashfs-tools/blob/master/README-4.6.1

       The     Squashfs-tools     USAGE     guide    can    be    read    here
       https://github.com/plougher/squashfs-tools/blob/master/USAGE-4.6

unsquashfs version 4.6.1          April 2024                     UNSQUASHFS(1)

Generated by dwww version 1.16 on Tue Dec 16 15:03:17 CET 2025.