aboutsummaryrefslogtreecommitdiff
path: root/doc/sqfs2tar.1
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sqfs2tar.1')
-rw-r--r--doc/sqfs2tar.142
1 files changed, 22 insertions, 20 deletions
diff --git a/doc/sqfs2tar.1 b/doc/sqfs2tar.1
index a71f603..7d91396 100644
--- a/doc/sqfs2tar.1
+++ b/doc/sqfs2tar.1
@@ -1,22 +1,20 @@
.TH SQFS2TAR "1" "June 2019" "sqfs2tar" "User Commands"
.SH NAME
-sqfs2tar \- turn a squashfs image into a tar archive
+sqfs2tar \- turn a SquashFS image into a tar archive
.SH SYNOPSIS
.B sqfs2tar
[\fI\,OPTIONS\/\fR...] \fI\,<sqfsfile>\/\fR
.SH DESCRIPTION
-Read a squashfs archive and turn it into a tar archive, written to stdout.
-
-The idea is to 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.
+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.
.PP
Possible options:
.TP
\fB\-\-subdir\fR, \fB\-d\fR <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 node of the archive file system tree.
+becomes the new root of the archive filesystem tree.
.TP
\fB\-\-keep\-as\-dir\fR, \fB\-k\fR
If \fB\-\-subdir\fR is used only once, don't make the subdir the archive root,
@@ -24,11 +22,11 @@ instead keep it as prefix for all unpacked files. Using \fB\-\-subdir\fR more
than once implies \fB\-\-keep\-as\-dir\fR.
.TP
\fB\-\-no\-xattr\fR, \fB\-X\fR
-Discard extended attributes from the squashfs image. The default behavior is
-to copy all xattrs attached to squashfs inodes into the resulting tar archive.
+Discard extended attributes from the SquashFS image. The default behavior is
+to copy all xattrs attached to SquashFS inodes into the resulting tar archive.
.TP
\fB\-\-no\-skip\fR, \fB\-s\fR
-Abort if file cannot be stored in a tar record instead of skipping it.
+Abort if a file cannot be stored in a tar record instead of skipping it.
.TP
\fB\-\-help\fR, \fB\-h\fR
Print help text and exit.
@@ -36,27 +34,31 @@ Print help text and exit.
\fB\-\-version\fR, \fB\-V\fR
Print version information and exit.
.SH COMPATIBILITY
-To be compatible with as many tools as possible, the output format is pre-POSIX
-ustar archive using GNU extensions where necessary. This seems to be more
-widely supported by many tar programs (besides GNU tar), even more than the
-newer POSIX format and PAX extensions.
-
-It is not possible to store socket files in a tar or pax archive. Also, in the
-current implementation, all extended attribuates are lost.
+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 \fB\-\-no\-skip\fR
option is set, which aborts processing if a file cannot be converted.
+
+This is 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.
.SH EXAMPLES
-Turn a squashfs image into a tar archive:
+Turn a SquashFS image into a tar archive:
.IP
sqfs2tar rootfs.sqfs > rootfs.tar
.TP
-Turn a squashfs image into a gzip'ed tar archive:
+Turn a SquashFS image into a gzip'ed tar archive:
.IP
sqfs2tar rootfs.sqfs | gzip > rootfs.tar.gz
.TP
-Turn a squashfs image into an LZMA2 compressed tar archive:
+Turn a SquashFS image into an LZMA2 compressed tar archive:
.IP
sqfs2tar rootfs.sqfs | xz > rootfs.tar.xz
.SH SEE ALSO