33102ff9e21049b2657bccc7819149dc0677ec9c
[wimlib] / doc / imagex-mount.1.in
1 .TH WIMLIB-IMAGEX "1" "August 2013" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
2 .SH NAME
3 @IMAGEX_PROGNAME@-mount, @IMAGEX_PROGNAME@-mountrw, @IMAGEX_PROGNAME@-unmount \- Mount and unmount an image from a WIM archive
4 .SH SYNOPSIS
5 \fB@IMAGEX_PROGNAME@ mount\fR \fIWIMFILE\fR [\fIIMAGE\fR] \fIDIRECTORY\fR [\fIOPTION\fR...]
6 .br
7 \fB@IMAGEX_PROGNAME@ mountrw\fR \fIWIMFILE\fR [\fIIMAGE\fR] \fIDIRECTORY\fR [\fIOPTION\fR...]
8 .br
9 \fB@IMAGEX_PROGNAME@ unmount\fR \fIDIRECTORY\fR [--commit] [--check] [--rebuild]
10 .SH DESCRIPTION
11 The \fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR commands
12 will mount the image in the Windows Imaging (WIM) file \fIWIMFILE\fR specified
13 by \fIIMAGE\fR on the directory \fIDIRECTORY\fR using FUSE (Filesystem in
14 Userspace).  \fB@IMAGEX_PROGNAME@ mount\fR will mount the image read-only, while
15 \fB@IMAGEX_PROGNAME@ mountrw\fR will mount the image read-write.
16 These commands are also available as simply \fBwimmount\fR, \fBwimmountrw\fR,
17 and \fBwimunmount\fR if the appropriate hard links or batch files are installed.
18 .PP
19 \fIIMAGE\fR may be a 1-based index of the image in the WIM to mount, or it may
20 be the name of an image in the WIM.  Use the \fB@IMAGEX_PROGNAME@ info\fR (1)
21 command to see the available images in the WIM.  \fIIMAGE\fR may be omitted if
22 \fIWIMFILE\fR contains only one image.
23 .PP
24 The WIM image can be unmounted using the \fB@IMAGEX_PROGNAME@ unmount\fR command.  Changes
25 made to a WIM mounted read-write will be discarded unless the \fB--commit\fR
26 flag is provided to \fB@IMAGEX_PROGNAME@ unmount\fR.
27 .SH SPLIT WIMS
28 You may use \fB@IMAGEX_PROGNAME@ mount\fR to mount an image from a split WIM read-only.
29 However, you may not mount an image from a split WIM read-write.
30 .PP
31 The \fIWIMFILE\fR argument is used to specify the first part of the split WIM, and
32 the \fB--refs\fR="\fIGLOB\fR" option is used to provide a shell-style file glob
33 that specifies the additional parts of the split WIM.  \fIGLOB\fR is expected to
34 be a single string on the command line, so \fIGLOB\fR must be quoted so that it
35 is protected against shell expansion.  \fIGLOB\fR must expand to all parts of
36 the split WIM, except optionally the first part which may either omitted or
37 included in the glob (but the first part MUST be specified as \fIWIMFILE\fR as
38 well).
39 .PP
40 Here's an example.  The names for the split WIMs usually go something like:
41 .RS
42 .PP
43 .nf
44 mywim.swm
45 mywim2.swm
46 mywim3.swm
47 mywim4.swm
48 mywim5.swm
49 .RE
50 .PP
51 To mount the first image of this split WIM to the directory "dir", we would do:
52 .PP
53 .RS
54 @IMAGEX_PROGNAME@ mount mywim.swm 1 dir --ref="mywim*.swm"
55 .RE
56 .PP
57 .SH NOTES
58 If wimlib was configured using the \fB--without-fuse\fR flag, then the
59 \fB@IMAGEX_PROGNAME@ mount\fR, \fB@IMAGEX_PROGNAME@ mountrw\fR, and
60 \fB@IMAGEX_PROGNAME@ unmount\fR commands will not work.  Also, these commands
61 are not available in the Windows builds of wimlib.
62 .PP
63 You can mount multiple images from a WIM file read-only at the same time, but
64 you can only mount one image at a time from a WIM read-write.
65 .PP
66 All files in the mounted WIM will be accessible regardless of whether there is a
67 security descriptor in the WIM associated with the file or not.  New files or
68 directories created in a read-write mounted WIM will be created with no security
69 descriptor.  Although there is support for accessing named data streams (see the
70 \fB--streams-interface\fR option), it is currently not possible
71 to set or get DOS names, file attributes, or security
72 descriptors in a mounted WIM.
73 .PP
74 By default, changes to a read-write WIM are made in-place by appending to the
75 WIM.  This is nice for big WIM files, since the entire file doesn't have to be
76 rebuilt to make a small change.  But, if you are making many changes to a
77 read-write mounted WIM, especially deleting large files, it is suggested to
78 provide the \fB--rebuild\fR option to \fB@IMAGEX_PROGNAME@ unmount\fR to force the WIM to
79 be rebuilt, or else run \fB@IMAGEX_PROGNAME@ optimize\fR on the WIM afterwards.
80 .SH MOUNT OPTIONS
81 .TP 6
82 \fB--check\fR
83 When reading the WIM, verify its integrity if it contains an integrity table.
84 .TP
85 \fB--streams-interface\fR=\fIINTERFACE\fR
86 This option is inspired by the ntfs-3g filesystem driver (see \fBntfs-3g\fR
87 (8)).  It controls how alternate data streams, or named data streams, in WIM
88 files are made available.
89 .IP ""
90 If "none", it will be impossible to read or write the named data streams.
91 .IP ""
92 If "xattr" (default), named data streams will be accessible through extended
93 file attributes, unless this support was disabled when compiling wimlib.  The
94 named data streams may be accessed through extended attributes named "user.*",
95 where the * is the name of the named data stream.  See \fBsetfattr\fR (1) and
96 \fBgetfattr\fR (1).
97 .IP ""
98 If "windows", the named data streams will be accessible by specifying the
99 filename, then a colon, then the name of the named data stream; for example,
100 "myfile:mystream".
101 .IP ""
102 Please note that named data streams are a somewhat obscure NTFS feature that
103 aren't actually used much, even though they complicate the WIM file format
104 considerably.  Normally, all you care about is the default or "unnamed" data
105 stream.
106 .TP
107 \fB--debug\fR
108 Turn on debugging information printed by the FUSE library, and do not fork into
109 the background.
110 .TP
111 \fB--ref\fR="\fIGLOB\fR"
112 File glob of additional split WIM parts that are part of the split WIM being
113 mounted.  This option is valid for \fB@IMAGEX_PROGNAME@ mount\fR but not \fB@IMAGEX_PROGNAME@
114 mountrw\fR.  See \fBSPLIT_WIMS\fR.
115 .TP
116 \fB--staging-dir\fR=\fIDIR\fR
117 Store temporary staging files in a subdirectory of the directory \fIDIR\fR.
118 Only valid for \fB@IMAGEX_PROGNAME@ mountrw\fR.
119 .TP
120 \fB--unix-data\fR
121 By default, \fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR will ignore both
122 Windows-style security descriptors (which may have been set either from Windows or by
123 \fB@IMAGEX_PROGNAME@ capture\fR from a NTFS-volume) and UNIX-specific data (which is from using
124 \fB@IMAGEX_PROGNAME@ capture\fR with the \fB--unix-data\fR flag).  In this default mode,
125 all files will simply be owned by the user running \fB@IMAGEX_PROGNAME@\fR and will have mode 0777.
126 (Note: they will still not be accessible to other users unless you also specify
127 \fB--allow-other\fR.)  If you instead provide the \fB--unix-data\fR flag, these
128 default permissions will be overridden on a per-file basis with the
129 UNIX-specific data when available, and in the case of \fB@IMAGEX_PROGNAME@ mountrw\fR it
130 will be possible to change the UNIX permissions using the standard UNIX
131 tools and functions.
132 .TP
133 \fB--allow-other\fR
134 Pass the \fBallow_other\fR option to the FUSE mount.  See \fBmount.fuse\fR (8).
135 Note: to do this is a non-root user, \fBuser_allow_other\fR needs to be
136 specified in /etc/fuse.conf (with the FUSE implementation on Linux, at least).
137 .SH UNMOUNT OPTIONS
138 .TP
139 \fB--commit\fR
140 Update the WIM file with the changes that have been made.  Has no effect if the
141 mount is read-only.
142 .TP
143 \fB--check\fR
144 When writing \fIWIMFILE\fR, include an integrity table.  Has no effect if the
145 mount is read-only or if \fB--commit\fR was not specified.  The default behavior
146 is to include an integrity table if and only if there was one present before.
147 .TP
148 \fB--rebuild\fR
149 Rebuild the entire WIM rather than appending any new data to the end of it.
150 Rebuilding the WIM is slower, but will save a little bit of space that would
151 otherwise be left as a hole in the WIM.  Even more space will be saved if the
152 read-write mount resulted in streams being deleted from the WIM.  Also see
153 .TP
154 \fB--lazy\fR
155 Pass the \fB-z\fR option to \fBfusermount\fR, which performs a "lazy" unmount
156 where the filesystem is detached immediately even if it is still busy.  However,
157 even with this option, \fB@IMAGEX_PROGNAME@ unmount\fR still waits for the
158 filesystem to become unbusy; \fB--lazy\fR will only stop the unmount from
159 immediately failing.
160 .SH IMPLEMENTATION DETAILS
161 Since a WIM is an archive and not a filesystem, \fB@IMAGEX_PROGNAME@ mountrw\fR creates a
162 temporary staging directory to contain files that are created or modified.  This
163 directory is located in the same directory as \fIWIMFILE\fR by default, but the
164 location can be set using the \fB--staging-dir\fR option.  When the filesystem
165 is unmounted with \fB--commit\fR, the WIM is modified in-place (or rebuild
166 completely with \fB--rebuild\fR), merging in the staging files as needed.  Then,
167 the temporary staging directory is deleted.
168 .PP
169 \fB@IMAGEX_PROGNAME@ unmount\fR runs in a separate process from the process that previously
170 ran \fB@IMAGEX_PROGNAME@ mount\fR, and these two processes communicate using POSIX message
171 queues.  See \fIsrc/mount_image.c\fR in the sources for details.  Note: As of
172 wimlib v1.2.1, \fB@IMAGEX_PROGNAME@ unmount\fR correctly fails with an error within a
173 reasonable amount of time (1 second) if the filesystem daemon is abnormally
174 terminated.
175 .SH SEE ALSO
176 .BR @IMAGEX_PROGNAME@ (1)