]> wimlib.net Git - wimlib/blobdiff - doc/man1/wimlib-imagex.1
Don't run man pages through configure
[wimlib] / doc / man1 / wimlib-imagex.1
diff --git a/doc/man1/wimlib-imagex.1 b/doc/man1/wimlib-imagex.1
new file mode 100644 (file)
index 0000000..bdea8d9
--- /dev/null
@@ -0,0 +1,261 @@
+.TH WIMLIB-IMAGEX 1 "November 2014" "wimlib 1.7.3" "User Commands"
+.SH NAME
+wimlib-imagex \- Extract, create, modify, or mount a WIM (Windows Imaging Format) archive
+.SH SYNOPSIS
+\fBwimlib-imagex append\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex apply\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex capture\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex delete\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex dir\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex export\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex extract\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex info\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex join\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex mount\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex mountrw\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex optimize\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex split\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex unmount\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex update\fR \fIarguments...\fR
+.br
+\fBwimlib-imagex verify\fR \fIarguments...\fR
+.SH DESCRIPTION
+\fBwimlib-imagex\fR deals with archives in the Windows Imaging Format (WIM).
+Its interface is similar to Microsoft's ImageX, but \fBwimlib-imagex\fR is
+cross-platform and has useful improvements and extensions.
+.PP
+To do its work, \fBwimlib-imagex\fR uses \fBwimlib\fR, an open source C
+library that provides interfaces for manipulating WIM archives.  wimlib is
+completely independent from the equivalent Microsoft implementation (WIMGAPI, or
+wimgapi.dll).  You can use wimlib in your own programs, although for
+command-line use \fBwimlib-imagex\fR already provides access to most of
+wimlib's functionality.
+.SH BACKGROUND INFORMATION
+The Windows Imaging Format (WIM) was designed by Microsoft primarily for
+archiving Windows filesystems, such as NTFS.  However, it can be used on other
+platforms as well, with some limitations.  A WIM archive contains one or more
+images, each of which is a logically independent directory tree.  Images are
+indexed starting from 1, and each may also have a name.  File data is stored as
+content-addressable "streams" that are deduplicated across the entire archive.
+Streams may be compressed using one of several compression algorithms, including
+XPRESS and LZX.
+.PP
+An update of the WIM format released with Windows 8 features solid compression
+using the LZMS compression algorithm.  Such files are also called "ESD files"
+and may carry the extension \.esd instead of .wim.  \fBwimlib-imagex\fR
+v1.6.0 and later supports these new files, unless they are encrypted.
+.SH COMMANDS
+\fBwimlib-imagex\fR accepts one of a number of commands (listed above in
+\fBSYNOPSYS\fR), and additional arguments depending on the specific command.
+Although \fBwimlib-imagex\fR will print usage information with \fB--help\fR
+or if you invoke it incorrectly, the full documentation for each
+\fBwimlib-imagex\fR command can be found in the appropriate manual page.
+.PP
+Note: to save typing, if appropriate hard links or batch files have been
+installed, a command \fBwimlib-imagex \fICOMMAND\fR can also be accessed as
+simply \fBwim\fICOMMAND\fR; for example, \fBwimapply\fR for \fBwimlib-imagex
+apply\fR.
+.SH GENERAL FEATURES
+The following are some of the general features, or use cases, currently
+supported by \fBwimlib-imagex\fR, and pointers to the relevant commands:
+.IP \[bu] 4
+Display information about a WIM file
+ (\fBwimlib-imagex info\fR)
+.IP \[bu]
+List the files in a WIM image
+ (\fBwimlib-imagex dir\fR)
+.IP \[bu]
+Extract, or "apply", a full WIM image
+ (\fBwimlib-imagex apply\fR)
+.IP \[bu]
+Extract files or directories from a WIM image
+ (\fBwimlib-imagex extract\fR)
+.IP \[bu] 4
+Capture a WIM image and save it to a new WIM file
+ (\fBwimlib-imagex capture\fR)
+.IP \[bu]
+Capture a WIM image and append it to an existing WIM file
+ (\fBwimlib-imagex append\fR)
+.IP \[bu]
+Modify a WIM image by adding, deleting, or renaming files
+ (\fBwimlib-imagex update\fR)
+.IP \[bu]
+(Linux only) Mount a WIM image read-only
+ (\fBwimlib-imagex mount\fR)
+.IP \[bu]
+(Linux only) Mount a WIM image read-write
+ (\fBwimlib-imagex mountrw\fR)
+.IP \[bu]
+Delete an image from a WIM file
+ (\fBwimlib-imagex delete\fR)
+.IP \[bu]
+Export image(s) from a WIM file
+ (\fBwimlib-imagex export\fR)
+.IP \[bu]
+Change the name or description of a WIM image
+ (\fBwimlib-imagex info\fR)
+.IP \[bu]
+Change the bootable image index of a WIM file
+ (\fBwimlib-imagex info\fR)
+.IP \[bu]
+Rebuild, and optionally recompress, a WIM file
+ (\fBwimlib-imagex optimize\fR)
+.IP \[bu]
+Split a WIM file into multiple parts
+ (\fBwimlib-imagex split\fR)
+.IP \[bu]
+Join a split WIM
+ (\fBwimlib-imagex join\fR)
+.IP \[bu]
+Verify a WIM file
+ (\fBwimlib-imagex verify\fR)
+.SH DETAILED FEATURES
+This section presents some of the interesting features of
+\fBwimlib-imagex\fR in more detail.
+.IP \[bu] 4
+Multi-platform support.  \fBwimlib-imagex\fR is supported on both UNIX-like
+systems (mainly Linux, but also FreeBSD, Mac OS X, etc.) and Windows, and most
+code is shared among all platforms.  However, platform-specific features are
+supported when possible.
+.IP \[bu]
+On UNIX-like systems, integration with libntfs-3g allows capturing a WIM image
+directly from a block device containing an NTFS volume, or applying a WIM image
+directly to a block device containing an NTFS volume.  This allows saving and
+restoring NTFS-specific data, such as security descriptors and named data
+streams, which is otherwise only supported on Windows.  This feature is
+unavailable if wimlib was configured using --without-ntfs-3g.
+.IP \[bu]
+Long path support on Windows.  \fBwimlib-imagex\fR can capture and apply
+files with paths exceeding the MAX_PATH (260 character) limitation of the Win32
+subsystem.
+.IP \[bu]
+Non-Administrator support on Windows.  You can run \fBwimlib-imagex\fR
+without Administrator rights, subject to some limitations.
+.IP \[bu]
+Support for WIM integrity tables.  An integrity table is a list of SHA-1 message
+digests appended to the end of a WIM file which gives checksums over the WIM
+file itself.  The \fB--check\fR option to several \fBwimlib-imagex\fR
+commands can be used to verify or add integrity tables.
+.IP \[bu]
+Support for "pipable" WIMs.  This is a wimlib extension and is not compatible
+with the Microsoft implementation.  A pipable WIM, created with
+\fBwimlib-imagex capture\fR with the \fB--pipable\fR option, can be written
+to standard output or read from standard input.  This can be used to pipe images
+to or from a server over the network to implement fast filesystem imaging and
+restore.
+.IP \[bu]
+On UNIX-like systems, support for saving and restoring UNIX uids (user IDs),
+gids (group IDs), and modes to/from WIM images.  This is a wimlib extension, but
+the Microsoft implementation ignores this extra metadata.
+.IP \[bu]
+Multithreaded compression.  By default, data compression is multithreaded and
+will use all available processors.  In most cases, this can be changed by the
+\fB--threads\fR option.
+.IP \[bu]
+XPRESS, LZX, and LZMS decompression and compression.  wimlib contains
+independent implementations of all these compression algorithms.  Sometimes they
+can do better than the equivalent Microsoft implementations.
+.IP \[bu]
+"ESD file" support.  As mentioned in \fBBACKGROUND INFORMATION\fR, "ESD files"
+use a new WIM format that features solid blocks and LZMS compression.  This
+support was first present in wimlib v1.6.0, but v1.7.0 and later have improved
+compatibility.
+.IP \[bu]
+Mounting WIM images.  This relies on FUSE (Filesystem in UserSpacE) and is only
+supported on compatible UNIX-like systems, in particular Linux.  FreeBSD may
+work but is untested.
+.IP \[bu]
+Split WIMs.  A split WIM is a WIM archive split into multiple parts.
+\fBwimlib-imagex split\fR can create a split WIM from a standalone WIM, and
+\fBwimlib-imagex join\fR can create a standalone WIM from a split WIM.
+.IP \[bu]
+Delta WIMs.  A delta WIM contains image metadata but excludes file data already
+present in another WIM file.  A delta WIM can be created using
+\fBwimlib-imagex capture\fR with the \fB--delta-from\fR option.
+.IP \[bu]
+WIMBoot support.  On Windows 8.1 and later, files on an NTFS volume can be
+externally backed by a WIM archive with the help of Microsoft's Windows Overlay
+FileSystem Filter Driver (WOF).  With the \fB--wimboot\fR flag,
+\fBwimlib-imagex apply\fR will extract "pointer files" (actually NTFS
+reparse points handled by the WOF driver) to the WIM archive rather than the
+files themselves.
+.IP \[bu]
+Fast incremental backups.  Using the \fB--update-of\fR option of
+\fBwimlib-imagex capture\fR or \fBwimlib-imagex append\fR, you can
+optimize an image capture so that files that are unmodified based on timestamps
+are not be read from disk.  But even without this option, since the WIM format
+features single-instance files, a file identical to any already present in the
+WIM archive (in any image) will not be written, but rather a reference to the
+stored file will be used.
+.SH LOCALES AND CHARACTER ENCODINGS
+WIM files themselves store file and stream names using Windows native "wide
+character strings", which are UTF-16.  On Windows, wimlib works using these same
+strings, so conversions are usually not necessary and there should be no
+problems with character encodings.
+.PP
+On UNIX-like systems, wimlib works primarily in the locale-dependent multibyte
+encoding, which you are strongly recommended to set to UTF-8 to avoid any
+problems.  You can alternatively set the environmental variable
+\fBWIMLIB_IMAGEX_USE_UTF8\fR to force \fBwimlib-imagex\fR to use UTF-8
+internally, even if the current locale is not UTF-8 compatible.
+.SH CASE SENSITIVITY
+By default, the case sensitivity of \fBwimlib-imagex\fR differs somewhat
+between UNIX-like systems and Windows.  WIM images may (but usually do not) have
+multiple files with the same case-insensitive name.  Internally, wimlib
+stores filenames as case-sensitive, but on Windows paths
+actually provided by the user for use in a WIM image (e.g. for extracting,
+adding, renaming, or deleting files) will by default be treated as
+case-insensitive in order to get the "expected" behavior. This differs from the
+default behavior on UNIX-like systems, where such paths will be treated as
+case-sensitive.
+.PP
+Note that with case insensitivity, a path component may in general be ambiguous
+due to multiple files or directories having the same case-insensitive name.  In
+such cases, if there is a file or directory with an exactly matching name, it is
+chosen; otherwise, one of the case-insensitively matching file or directories is
+chosen arbitrarily.
+.PP
+The default case sensitivity of \fBwimlib-imagex\fR can be overridden by
+explicitly setting the environmental variable \fBWIMLIB_IMAGEX_IGNORE_CASE\fR to
+1, in which case such paths will be treated case insensitively, or 0, in which
+such paths will be treated case sensitively.
+.PP
+Regardless of these settings, options and non-path arguments must be specified
+in lower case.
+.SH LICENSE
+wimlib-imagex is provided to you under the GNU General Public License
+version 3.  Be aware this means this software is provided as-is and has no
+warranty.
+.SH REPORTING BUGS
+Report bugs to ebiggers3@gmail.com.  Feedback and suggestions are also welcome.
+.SH SEE ALSO
+.BR wimlib-imagex-append (1),
+.BR wimlib-imagex-apply (1),
+.BR wimlib-imagex-capture (1),
+.BR wimlib-imagex-delete (1),
+.BR wimlib-imagex-dir (1),
+.BR wimlib-imagex-export (1),
+.BR wimlib-imagex-extract (1),
+.BR wimlib-imagex-info (1),
+.BR wimlib-imagex-join (1),
+.BR wimlib-imagex-mount (1),
+.BR wimlib-imagex-mountrw (1),
+.BR wimlib-imagex-optimize (1),
+.BR wimlib-imagex-split (1),
+.BR wimlib-imagex-unmount (1),
+.BR wimlib-imagex-update (1),
+.BR wimlib-imagex-verify (1),