X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=doc%2Fimagex.1.in;h=a9ef7b14ac52e21a9770127e09734c3d41e84d8a;hp=1352ce77a489e9ad83c8394930e37cd8c44b2aa6;hb=ee742f0a166d4aa4a1ab5c495aaa5029d8cf8e66;hpb=64f1e9b6bb2bb4d5b16240ae731bd8a84117cc98 diff --git a/doc/imagex.1.in b/doc/imagex.1.in index 1352ce77..a9ef7b14 100644 --- a/doc/imagex.1.in +++ b/doc/imagex.1.in @@ -1,146 +1,184 @@ -.TH IMAGEX 1 "September 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 -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 - -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 or NTFS volume (\fBimagex capture\fR) -.IP \[bu] 2 -Append a directory or NTFS volume onto a WIM as a new image (\fBimagex +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] 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 -Combine split WIMs into one WIM (\fBimage join\fR) -.IP \[bu] 2 -Split a WIM into multiple parts (\fBimage split\fR) -.IP \[bu] 2 +.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 - -As of version 1.0.0, wimlib supports capturing and applying WIMs directly from -NTFS and has much improved support for hard links and symbolic links. I don't -think there are many other features that would be worth it to implement; the -only significant thing missing (in my opinion) is that split WIMs need to be -handled better (e.g. it should be possible to apply a split WIM using \fBimagex -apply\fR). And if Microsoft updates the WIM format, I'd need to support it, but -it looks like the format for Windows 8 is the same as that of Windows 7. - +.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 - -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 particular, because Microsoft designed the WIM file format to accomodate -Windows-specific and NTFS-specific features, we must have two separate image -capture and application modes (although the \fBimagex\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 across WIM images -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 -Windows PE and not from regular Windows. This version does not have these -unusual limitations, although it won't actually run on Windows anyway. - -There are bugs in Microsoft's WIM library and I obviously have not included -these bugs in my version; however it's to be expected that despite that fact, my -version has more bugs because it's been less widely tested and used. - -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 - -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. - .SH REPORTING BUGS - 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),