]> wimlib.net Git - wimlib/blobdiff - doc/imagex-mount.1.in
Fix typo
[wimlib] / doc / imagex-mount.1.in
index 51098671f34c13f7718599303464d9bd337dc9d7..69c31099a04a04cd45350dba0b743308721ccec4 100644 (file)
@@ -1,15 +1,13 @@
-.TH IMAGEX "1" "November 2012" "imagex (wimlib) wimlib @VERSION@" "User Commands"
+.TH IMAGEX "1" "March 2013" "imagex (wimlib) wimlib @VERSION@" "User Commands"
 .SH NAME
 imagex-mount, imagex-mountrw, imagex-unmount \- Mount and unmount an image from a WIM archive
 
 .SH SYNOPSIS
-\fBimagex mount\fR \fIWIMFILE\fR \fIIMAGE\fR \fIDIRECTORY\fR [--check]
-[--streams-interface=\fIINTERFACE\fR] [--ref="\fIGLOB\fR"]
+\fBimagex mount\fR \fIWIMFILE\fR \fIIMAGE\fR \fIDIRECTORY\fR [\fIOPTION\fR]...
 .br
-\fBimagex mountrw\fR \fIWIMFILE\fR \fIIMAGE\fR \fIDIRECTORY\fR [--check]
-[--streams-interface=\fIINTERFACE\fR] [--staging-dir=\fIDIR\fR]
+\fBimagex mountrw\fR \fIWIMFILE\fR \fIIMAGE\fR \fIDIRECTORY\fR [\fIOPTION\fR]...
 .br
-\fBimagex unmount\fR \fIDIRECTORY\fR [--commit] [--check]
+\fBimagex unmount\fR \fIDIRECTORY\fR [--commit] [--check] [--rebuild]
 
 .SH DESCRIPTION
 .PP
@@ -43,7 +41,7 @@ included in the glob (but the first part MUST be specified as \fIWIMFILE\fR as
 well).
 
 Here's an example.  The names for the split WIMs usually go something like:
-       
+
 .RS
 .PP
 .nf
@@ -63,7 +61,7 @@ imagex mount mywim.swm 1 dir --ref="mywim*.swm"
 
 .SH NOTES
 
-If wimlib was configured using the --without-fuse flag, then the \fBimagex
+If wimlib was configured using the \fB--without-fuse\fR flag, then the \fBimagex
 mount\fR, \fBimagex mountrw\fR, and \fBimagex unmount\fR commands will not work.
 
 You can mount multiple images from a WIM file read-only at the same time, but
@@ -77,6 +75,13 @@ descriptor.  Although there is support for accessing named data streams (see the
 to set or get DOS names, file attributes, or security
 descriptors in a mounted WIM.
 
+By default, changes to a read-write WIM are made in-place by appending to the
+WIM.  This is nice for big WIM files, since the entire file doesn't have to be
+rebuilt to make a small change.  But, if you are making many changes to a
+read-write mounted WIM, especially deleting large files, it is suggested to
+provide the \fB--rebuild\fR option to \fBimagex unmount\fR to force the WIM to
+be rebuilt, or else run \fBimagex optimize\fR on the WIM afterwards.
+
 .SH MOUNT OPTIONS
 
 .TP
@@ -117,17 +122,43 @@ mountrw\fR.  See \fBSPLIT_WIMS\fR.
 \fB--staging-dir\fR=\fIDIR\fR
 Store temporary staging files in the directory \fIDIR\fR.  Only valid for
 \fBimagex mountrw\fR.
+.TP
+\fB--unix-data\fR
+By default, \fBimagex mount\fR and \fBimagex mountrw\fR will ignore both
+Windows-style security descriptors (which may have been set either from Windows or by
+\fBimagex capture\fR from a NTFS-volume) and UNIX-specific data (which is from using
+\fBimagex capture\fR with the \fB--unix-data\fR flag).  In this default mode,
+all files will simply be owned by the user running \fBimagex\fR and will have mode 0777.
+(Note: they will still not be accessible to other users unless you also specify
+\fB--allow-other\fR.)  If you instead provide the \fB--unix-data\fR flag, these
+default permissions will be overridden on a per-file basis with the
+UNIX-specific data when available, and in the case of \fBimagex mountrw\fR it
+will be possible to change the UNIX permissions using the standard UNIX
+tools and functions.
+.TP
+\fB--allow-other\fR
+Pass the \fBallow_other\fR option to the FUSE mount.  See \fBmount.fuse\fR (8).
+Note: to do this is a non-root user, \fBuser_allow_other\fR needs to be
+specified in /etc/fuse.conf (with the FUSE implementation on Linux, at least).
 
 .SH UNMOUNT OPTIONS
 
 .TP
 \fB--commit\fR
-Recreate the WIM file with the changes that have been made.  Has no effect if
-the mount is read-only.
-.TP 6
+Update the WIM file with the changes that have been made.  Has no effect if the
+mount is read-only.
+.TP
 \fB--check\fR
 When writing \fIWIMFILE\fR, include an integrity table.  Has no effect if the
-mount is read-only or if --commit was not specified.
+mount is read-only or if \fB--commit\fR was not specified.
+.TP
+\fB--rebuild\fR
+Rebuild the entire WIM rather than appending any new data to the end of it.
+Rebuilding the WIM is slower, but will save a little bit of space that would
+otherwise be left as a hole in the WIM.  Even more space will be saved if the
+read-write mount resulted in streams being deleted from the WIM.  Also see
+\fBimagex optimize\fR.  Has no effect if the mount is read-only or if
+\fB--commit\fR was not specified.
 
 .SH IMPLEMENTATION DETAILS
 
@@ -135,21 +166,16 @@ Since a WIM is an archive and not a filesystem, \fBimagex mountrw\fR creates a
 temporary staging directory to contain files that are created or modified.  This
 directory is located in the same directory as \fIWIMFILE\fR by default, but the
 location can be set using the \fB--staging-dir\fR option.  When the filesystem
-is unmounted with \fB--commit\fR, the WIM is rebuilt, merging in the staging
-files as needed.  Then, the temporary staging directory is deleted.
-
-\fBimagex unmount\fR executes the \fBfusermount\fR (1) program, which should be
-installed as part of libfuse, to unmount the filesystem.  It then uses a POSIX
-message queue (see \fBmq_overview\fR (7)) to communicate with the filesystem
-daemon (the instance of \fBimagex\fR that has mounted the WIM image) so that it
-can know whether whether changes are to be committed and whether an integrity
-table is to be included.  A message is then sent from the filesystem daemon to
-unmounting process when the unmounting has been completed, and this message
-indicates whether the unmounting was successful or not.
-
-If the filesystem daemon has crashed or been killed, is possible for \fBimagex
-unmount\fR to wait a very long time before timing out.  A solution to this
-problem may be implemented in the future.
+is unmounted with \fB--commit\fR, the WIM is modified in-place (or rebuild
+completely with \fB--rebuild\fR), merging in the staging files as needed.  Then,
+the temporary staging directory is deleted.
+
+\fBimagex unmount\fR runs in a separate process from the process that previously
+ran \fBimagex mount\fR, and these two processes communicate using POSIX message
+queues.  See \fIsrc/mount_image.c\fR in the sources for details.  Note: As of
+wimlib v1.2.1, \fBimagex unmount\fR correctly fails with an error within a
+reasonable amount of time (1 second) if the filesystem daemon is abnormally
+terminated.
 
 .SH SEE ALSO
 .BR imagex (1)