|
|
| |
SQFS2TAR(1) |
User Commands |
SQFS2TAR(1) |
sqfs2tar - turn a SquashFS image into a tar archive
sqfs2tar [OPTIONS...] <sqfsfile>
Quickly and painlessly turn a SquashFS filesystem image into a tar archive that
can then be examined and processed by any tool that can work on tar archives.
The resulting archive is written to stdout.
Possible options:
- --compressor, -c <name>
- By default the result is a raw, uncompressed tar ball. Using this option
it is possible to select a stream compression format (such as gzip,
xz, zstd or bzip2) to use for the output archive.
Run sqfs2tar --help to get a list of all available
compressors.
- --root-becomes, -r <dir>
- Prefix all paths in the tarball with the given directory name and add an
entry for this directory that receives all meta data (permissions,
ownership, extended attributes, et cetera) of the root inode.
The special value . can be used since many tar
archivers themselves pack the attributes of the root directory that way
and naturally support this.
If this option is not used, all meta data from the root inode
IS LOST!
- --subdir, -d <dir>
- Unpack the given sub directory instead of the filesystem root. Can be
specified more than once to select multiple directories. If only one is
specified, it becomes the new root of the archive filesystem tree.
- --keep-as-dir, -k
- If --subdir is used only once, don't make the subdir the archive
root, instead keep it as prefix for all unpacked files. Using
--subdir more than once implies --keep-as-dir.
- --no-xattr, -X
- Discard extended attributes from the SquashFS image. The default behavior
is to copy all xattrs attached to SquashFS inodes into the resulting tar
archive.
- --no-hard-links, -L
- Normally, sqfs2tar runs hard link detection and generates hard links for
entries that refer to the same inode. If this flag is set, hard link
detection is not performed and duplicate data records are generated
instead.
- --no-skip, -s
- Abort if a file cannot be stored in a tar archive. For instance, the tar
format does not support socket files, but SquashFS does. The default
behaviour of sqfs2tar is to emit a warning to stderr and skip the
entry. If this flag is set, processing is aborted and sqfs2tar
exits with an error status.
- --help, -h
- Print help text and exit.
- --version, -V
- Print version information and exit.
The output format is pre-POSIX ustar using GNU extensions where necessary.
Experimentation determined that this is most widely supported by activeley
used tar implementations (besides GNU tar), even more than the newer POSIX
format with PAX extensions.
If any file or directory is encountered that cannot be converted,
it is skipped and a warning is written to stderr. Unless the
--no-skip option is set, which aborts processing if a file cannot be
converted.
This mainly affects socket files which are supported by SquashFS
but not by POSIX tar, GNU tar or PAX.
Since the tar format contains a sequence of files with absolute
names, it has no direct concept of a tree or an unnamed root node.
Consequently, meta data from the SquashFS root inode is lost, unless the
--root-becomes option is used.
The output archive can optionally be compressed. Default settings
are used for the supported compressors and there is currently no intention
to expose finer grained control over them. To set custom compressor flags,
create an uncompressed archive and pipe it into a dedicated compressor
process.
Turn a SquashFS image into a tar archive:
- sqfs2tar rootfs.sqfs > rootfs.tar
- Creating a compressed archive with gzip headers:
- sqfs2tar --compressor gzip rootfs.sqfs > rootfs.tar.gz
- Compressing the output archive, but using custom compressor flags:
- sqfs2tar rootfs.sqfs | xz -9e > rootfs.tar.xz
rdsquashfs(1), tar2sqfs(1)
Written by David Oberhollenzer.
Copyright © 2019 David Oberhollenzer License GPLv3+: GNU GPL version 3 or
later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |