]> wimlib.net Git - wimlib/blobdiff - doc/imagex.1.in
imagex.1.in: Update difference list
[wimlib] / doc / imagex.1.in
index d526ff7f787253c7db2e23cbb30e7115320245cd..a9ef7b14ac52e21a9770127e09734c3d41e84d8a 100644 (file)
-.TH IMAGEX 1 "May 2012" "imagex (wimlib @VERSION@)" "User Commands"
+.TH IMAGEX 1 "May 2013" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
 .SH NAME
 .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
 .SH SYNOPSIS
-\fBimagex append\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ append\fR \fIarguments...\fR
 .br
 .br
-\fBimagex apply\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ apply\fR \fIarguments...\fR
 .br
 .br
-\fBimagex capture\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ capture\fR \fIarguments...\fR
 .br
 .br
-\fBimagex delete\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ delete\fR \fIarguments...\fR
 .br
 .br
-\fBimagex dir\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ dir\fR \fIarguments...\fR
 .br
 .br
-\fBimagex export\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ export\fR \fIarguments...\fR
 .br
 .br
-\fBimagex info\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ extract\fR \fIarguments...\fR
 .br
 .br
-\fBimagex join\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ info\fR \fIarguments...\fR
 .br
 .br
-\fBimagex mount\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ join\fR \fIarguments...\fR
 .br
 .br
-\fBimagex mountrw\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ mount\fR \fIarguments...\fR
 .br
 .br
-\fBimagex split\fR \fIarguments...\fR
+\fB@IMAGEX_PROGNAME@ mountrw\fR \fIarguments...\fR
 .br
 .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
 .SH DESCRIPTION
-\fBimagex\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.
-
+\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.
+.PP
+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
 .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
 .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] 4
+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)
 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
-File permissions and security descriptors are ignored.  The information
-contained in them in an existing WIM will be lost when wimlib writes a WIM file.
-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.
-.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
 .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 are ignored.  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.  You can
-still create images of Windows PE, however.
-
-See the documentation for each subcommand of \fBimagex\fR; in some cases they do
-not do exactly the same thing as imagex.exe.
-
-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.
-
+Although \fB@IMAGEX_PROGNAME@\fR is similar to Microsoft's implementation of
+ImageX, there are a number of key differences between the two programs:
+.IP \[bu] 6
+\fB@IMAGEX_PROGNAME@\fR is supported on both UNIX-based systems and Windows;
+thus, much functionality was designed around this.
+.IP \[bu]
+The command-line syntax of the two programs is similar but not exactly the same.
+.IP \[bu]
+On UNIX, 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.
+.IP ""
+Note: the above applies to UNIX builds of \fB@IMAGEX_PROGNAME@\fR.  On the
+Windows build, 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
 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.
-
-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).
-
-Obviously, this version of imagex is free software but Microsoft's version is
-not.
-
+Windows PE and not from regular Windows.  \fB@IMAGEX_PROGNAME@\fR does not have
+these 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.
+.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.)
+.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's LZX compressor is worse 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 works in UTF-16LE, and there should be no problems with
+character encodings.
+.PP
+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
 .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.
+.PP
 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
 way that appears to be compatible with Microsoft's software.
 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
 way that appears to be compatible with Microsoft's software.
-
 .SH REPORTING BUGS
 .SH REPORTING BUGS
-
 Report bugs to ebiggers3@gmail.com.
 Report bugs to ebiggers3@gmail.com.
-
 .SH SEE ALSO
 .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),