]> wimlib.net Git - wimlib/blobdiff - doc/imagex.1.in
Update version number to 1.4.0; update NEWS
[wimlib] / doc / imagex.1.in
index 7fee130d3228208c741c7f03177b2f29e9c22884..2fa5013a701b6b61c09d0dedeecb21676984336b 100644 (file)
-.TH IMAGEX 1 "May 2012" "imagex (wimlib @VERSION@)" "User Commands"
+.TH IMAGEX 1 "May 2013" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
 .SH NAME
-imagex \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
+@IMAGEX_PROGNAME@ \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
 .SH SYNOPSIS
-\fBimagex append\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ append\fR \fIarguments...\fR
 .br
-\fBimagex apply\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ apply\fR \fIarguments...\fR
 .br
-\fBimagex capture\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ capture\fR \fIarguments...\fR
 .br
-\fBimagex delete\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ delete\fR \fIarguments...\fR
 .br
-\fBimagex dir\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ dir\fR \fIarguments...\fR
 .br
-\fBimagex export\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ export\fR \fIarguments...\fR
 .br
-\fBimagex info\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ extract\fR \fIarguments...\fR
 .br
-\fBimagex join\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ info\fR \fIarguments...\fR
 .br
-\fBimagex mount\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ join\fR \fIarguments...\fR
 .br
-\fBimagex mountrw\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ mount\fR \fIarguments...\fR
 .br
-\fBimagex split\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ mountrw\fR \fIarguments...\fR
 .br
-\fBimagex unmount\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ optimize\fR \fIarguments...\fR
+.br
+\fB@IMAGEX_PROGNAME@ split\fR \fIarguments...\fR
+.br
+\fB@IMAGEX_PROGNAME@ unmount\fR \fIarguments...\fR
+.br
+\fB@IMAGEX_PROGNAME@ update\fR \fIarguments...\fR
 
 .SH DESCRIPTION
-\fBimagex\fR is able to deal with archives in the Windows Imaging Format (.wim
+\fB@IMAGEX_PROGNAME@\fR is able to deal with archives in the Windows Imaging Format (.wim
 files). Its interface is meant to be similar to Microsoft's imagex.exe program.
 
-To do its work, \fBimagex\fR uses \fBwimlib\fR, a library which provides
-interfaces for manipulating WIM archives.  You could wimlib in your own programs
-if you wanted to.  Wimlib's public interface is documented.
-
-See \fBWARNING\fR.
+To do its work, \fB@IMAGEX_PROGNAME@\fR uses \fBwimlib\fR, a library which
+provides interfaces for manipulating WIM archives.  You could wimlib in your own
+programs if you wanted to.  wimlib's public interface is documented.
 
 .SH COMMANDS
 
-There is a separate manual page for each \fBimagex\fR command.
+There is a separate manual page for each \fB@IMAGEX_PROGNAME@\fR command.
 
 .SH SUPPORTED FEATURES
 
-The following features are currently supported:
-
-.IP \[bu] 2
-Mount an image in a WIM read-only (\fBimagex mount\fR)
-.IP \[bu] 2
-Mount an image in a WIM read-write (\fBimagex mountrw\fR)
-.IP \[bu] 2
-Create a WIM from a directory (\fBimagex capture\fR)
-.IP \[bu] 2
-Append a directory onto a WIM as a new image (\fBimagex append\fR)
-.IP \[bu] 2
-Delete image(s) from a WIM (\fBimagex delete\fR)
-.IP \[bu] 2
-Export image(s) from a WIM (\fBimagex export\fR)
-.IP \[bu] 2
-Display information about a WIM file (\fBimagex info\fR, \fBimagex dir\fR)
-.IP \[bu] 2
-Change the name or description of an image in the WIM (\fBimagex info\fR)
-.IP \[bu] 2
-Change which image in a WIM is bootable (\fBimagex info\fR)
-.IP \[bu] 2
-Combining split WIMs into one WIM (\fBimage join\fR)
-.IP \[bu] 2
-Splitting a WIM into multiple parts (\fBimage split\fR)
-.IP \[bu] 2
+The following general features are currently supported (note: this is not a
+complete list; also, certain features, such as mounting, are supported on UNIX
+but not Windows):
+
+.IP \[bu] 3
+Create a stand-alone WIM from a directory or NTFS volume (\fB@IMAGEX_PROGNAME@ capture\fR)
+.IP \[bu]
+Append a directory or NTFS volume onto a stand-alone WIM as a new image (\fB@IMAGEX_PROGNAME@
+append\fR)
+.IP \[bu]
+Apply an image from a stand-alone or split WIM to a directory or NTFS volume
+(\fB@IMAGEX_PROGNAME@ apply\fR)
+.IP \[bu]
+Mount an image from a stand-alone or split WIM read-only (\fB@IMAGEX_PROGNAME@ mount\fR)
+.IP \[bu]
+Mount an image from a stand-alone WIM read-write (\fB@IMAGEX_PROGNAME@ mountrw\fR)
+.IP \[bu]
+Extract individual files or directories from a WIM without mounting it
+(\fB@IMAGEX_PROGNAME@ extract\fR)
+.IP \[bu]
+Make changes to a WIM image without mounting it (\fB@IMAGEX_PROGNAME@ update\fR)
+.IP \[bu]
+Delete image(s) from a stand-alone WIM (\fB@IMAGEX_PROGNAME@ delete\fR)
+.IP \[bu]
+Export image(s) from a stand-alone or split WIM (\fB@IMAGEX_PROGNAME@ export\fR)
+.IP \[bu]
+Display information about a WIM file (\fB@IMAGEX_PROGNAME@ info\fR, \fB@IMAGEX_PROGNAME@ dir\fR)
+.IP \[bu]
+Change the name or description of an image in the WIM (\fB@IMAGEX_PROGNAME@ info\fR)
+.IP \[bu]
+Change which image in a WIM is bootable (\fB@IMAGEX_PROGNAME@ info\fR)
+.IP \[bu]
+Combine split WIMs into one stand-alone WIM (\fB@IMAGEX_PROGNAME@ join\fR)
+.IP \[bu]
+Split a stand-alone WIM into multiple parts (\fB@IMAGEX_PROGNAME@ split\fR)
+.IP \[bu]
 Support for all WIM compression types, both compression and decompression (LZX,
 XPRESS, and none)
-.IP \[bu] 2
-Integrity table
-.IP \[bu] 2
-XML data (parsed and written using \fBlibxml\fR(3))
-
-.SH UNSUPPORTED FEATURES
-The following features are currently unsupported:
-.IP \[bu] 2
-Wimlib cannot add security data when it captures a WIM file, although it will
-preserve security data for existing WIM files.  New files added to a mounted
-WIM will be added without security data.  This does not seem to matter for
-Windows PE, but this means that you should not use this program to image a drive
-containing Windows Vista/7/8 and expect it to be applied with the correct file
-permissions.
-.IP \[bu] 2
-Alternate file streams are unsupported and will be lost when wimlib writes a WIM
-file.  Note that you shouldn't really have these on your Windows system anyway
-because they are unneeded and a security risk.
-.IP \[bu] 2
-Directly applying or mounting split WIMs is unsupported.  You have to combine
-them together with \fBimagex join\fR first.
-.IP \[bu] 2
-The \fB--verify\fR option, for all commands that use it is unsupported.  Without
-this option, there theoretically could be a SHA1 hash collision between two
-files, although it's very unlikely.  You can still verify a WIM manually by
-capturing it, then applying it to a different location, then running a recursive
-diff on the two directory trees.
-.IP \[bu] 2
-The \fB--config\fR option, for all commands that use it.
-.IP \[bu] 2
-Different versions of the WIM file format (if different versions even exist).
-
-Also see the Doxygen documentation for Wimlib.
+.IP \[bu]
+WIM integrity table is supported (\fB--check\fR option to many commands)
+.IP \[bu]
+WIM XML data (parsed and written using \fBlibxml\fR(3))
 
 .SH DIFFERENCES FROM MICROSOFT IMAGEX
 
-See \fBUNSUPPORTED FEATURES\fR.
-
-The most important difference is that this version of \fBimagex\fR cannot
-capture and restore Windows images losslessly because file permissions and
-alternate file streams cannot be captured.  This is because Microsoft designed
-the WIM format to be specific to their NTFS filesystem and the Windows security
-model/API, which is difficult to support in a non-Windows program.  However, you
-can still create images of Windows PE, even from a directory tree on a non-NTFS
-filesystem.
+While similar to Microsoft's "imagex.exe" program, this program is designed for
+UNIX-based systems and by the nature of the platform cannot be exactly the same
+as Microsoft's version.  In addition, I have added additional useful features
+when appropriate.
 
-See the documentation for each subcommand of \fBimagex\fR; in some cases they do
-not do exactly the same thing as imagex.exe.
+.IP \[bu] 4
+Because Microsoft designed the WIM file format to accomodate Windows-specific
+and NTFS-specific features, wimlib must have two separate image capture and
+application modes (although the \fB@IMAGEX_PROGNAME@\fR subcommands for the modes are the
+same): one for general image capture and application, and one for the capture or
+application of an image specifically from/to an NTFS volume.
 
-Some features, such as the ability to keep files hard-linked when they are
-extracted from a WIM, are not available in Microsoft's version of imagex.
-Also, doesn't seem to be an equivalent of \fBimagex join\fR in Microsoft's
-version; you would have to use \fBimagex.exe /export\fR, but that doesn't let
-you export all images at once.
+Note: the above applies to UNIX builds.  On the Windows builds of wimlib, there
+is only one image capture and application mode, similar to Microsoft's ImageX.
 
+.IP \[bu]
 Microsoft's version has some weird limitations, like it won't let you extract a
 WIM on a shared folder, and it requires some commands to be run only from
 Windows PE and not from regular Windows.  This version does not have these
-unusual limitations, although it won't actually run on Windows anyway.
+unusual limitations.
+
+.IP \[bu]
+There are bugs in Microsoft's WIM library and I obviously have not included the
+same bugs in wimlib, although in some cases I have had to work around bugs for
+compatibility purposes.
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@\fR offers the extra command \fB@IMAGEX_PROGNAME@ optimize\fR,
+which lets you easily remove wasted space in a WIM (which can arise after
+a WIM image is appended or mounted read-write).
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@\fR also offers the command \fB@IMAGEX_PROGNAME@ join\fR, which lets you
+easily join the parts of a split WIM.
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@\fR offers the extra commands \fB@IMAGEX_PROGNAME@
+extract\fR and \fB@IMAGEX_PROGNAME@ update\fR, which let you quickly extract
+files from or make changes to a WIM image without mounting it.
 
-The \fB/scroll\fR and \fB/log\fR switches from Microsoft's version of imagex
-will not be implemented.  Note that to scroll the output in the UNIX shell you
-can just pipe the output into \fBless\fR(1).
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@ apply\fR supports keeping files hard-linked or symlinked
+across WIM images when extracted from a WIM.  So you can, for example, extract
+different versions of Windows from an install.wim without using much extra
+space.  (Note: this functionality is only available in UNIX builds of wimlib.)
 
-Obviously, this version of imagex is free software but Microsoft's version is
-not.
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@ capture\fR supports combining multiple separate directories
+and files together in a configurable way to create a WIM image.
+
+.IP \[bu]
+wimlib's XPRESS compressor is better than Microsoft's.
+
+.IP \[bu]
+wimlib supports multithreaded compression, which can make it much faster to
+create compressed WIM files.
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@ capture\fR supports a special mode where UNIX file modes,
+owners, and groups are stored.  (Note: this functionality is only available in
+UNIX builds.)
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR are much faster than
+Microsoft's versions for some reason.  I don't know what they have their program
+do that takes so long to simply set up a mountpoint.  (Note: this functionality
+is only available in UNIX builds.)
+
+.IP \[bu]
+\fB@IMAGEX_PROGNAME@ mount\fR supports mounting an image from a split WIM, but
+Microsoft's software does not.  (Note: this functionality is only available in
+UNIX builds.)
+
+.SH LOCALES AND CHARACTER ENCODINGS
+
+On Windows, wimlib 1.3.2 and later works in UTF-16LE, and there should be no
+problems with character encodings.
+
+On UNIX, wimlib works primarily in the locale-dependent multibyte encoding,
+which you are strongly recommended to set to UTF-8 to avoid any problems.
 
 .SH WARNING
 
-Note: \fBwimlib\fR and \fBimagex\fR are experimental.  Use Microsoft's
-imagex.exe if you have to make sure your WIM files are made "correctly".  Not
-all features listed under \fBSUPPORTED FEATURES\fR have been thoroughly tested.
-Feel free to submit a bug report if you find a bug.
+Note: \fBwimlib\fR and \fB@IMAGEX_PROGNAME@\fR are experimental.  Use Microsoft's
+imagex.exe if you have to make sure your WIM files are made "correctly".  Feel
+free to submit a bug report if you find a bug.
 
 Some parts of the WIM file format are poorly documented or even completely
 undocumented, so I've just had to do the best I can to read and write WIMs in a
@@ -152,16 +187,18 @@ way that appears to be compatible with Microsoft's software.
 Report bugs to ebiggers3@gmail.com.
 
 .SH SEE ALSO
-.BR imagex-append (1),
-.BR imagex-apply (1),
-.BR imagex-capture (1),
-.BR imagex-delete (1),
-.BR imagex-dir (1),
-.BR imagex-export (1),
-.BR imagex-info (1),
-.BR imagex-join (1),
-.BR imagex-mount (1),
-.BR imagex-mountrw (1),
-.BR imagex-split (1),
-.BR imagex-unmount (1),
-
+.BR @IMAGEX_PROGNAME@-append (1),
+.BR @IMAGEX_PROGNAME@-apply (1),
+.BR @IMAGEX_PROGNAME@-capture (1),
+.BR @IMAGEX_PROGNAME@-delete (1),
+.BR @IMAGEX_PROGNAME@-dir (1),
+.BR @IMAGEX_PROGNAME@-export (1),
+.BR @IMAGEX_PROGNAME@-extract (1),
+.BR @IMAGEX_PROGNAME@-info (1),
+.BR @IMAGEX_PROGNAME@-join (1),
+.BR @IMAGEX_PROGNAME@-mount (1),
+.BR @IMAGEX_PROGNAME@-mountrw (1),
+.BR @IMAGEX_PROGNAME@-optimize (1),
+.BR @IMAGEX_PROGNAME@-split (1),
+.BR @IMAGEX_PROGNAME@-unmount (1),
+.BR @IMAGEX_PROGNAME@-update (1),