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