guestmount: Fix --live option (RHBZ#744795).
[libguestfs.git] / fuse / guestmount.pod
index 338af97..40a7698 100644 (file)
@@ -26,9 +26,9 @@ userspace") to make it appear as a mountable device.
 
 Along with other options, you have to give at least one device (I<-a>
 option) or libvirt domain (I<-d> option), and at least one mountpoint
-(I<-m> option) or use the I<-i> inspection option.  How this works is
-better explained in the L<guestfish(1)> manual page, or by looking at
-the examples below.
+(I<-m> option) or use the I<-i> inspection option or the I<--live>
+option.  How this works is better explained in the L<guestfish(1)>
+manual page, or by looking at the examples below.
 
 FUSE lets you mount filesystems as non-root.  The mountpoint must be
 owned by you, and the filesystem will not be visible to any other
@@ -70,29 +70,56 @@ If you want to debug the program, we recommend:
 
  guestmount [...] --trace --verbose /mnt
 
+=head1 NOTES
+
+=head2 Other users cannot see the filesystem by default
+
+If you mount a filesystem as one user (eg. root), then other users
+will not be able to see it by default.  The fix is to add the FUSE
+C<allow_other> option when mounting:
+
+ sudo guestmount [...] -o allow_other /mnt
+
+=head2 Enabling FUSE
+
+On some distros, you may need to add yourself to a special group
+(eg. C<fuse>) before you can use any FUSE filesystem.  This is
+necessary on Debian and derivatives.
+
+On other distros, no special group is required.  It is not necessary
+on Fedora or Red Hat Enterprise Linux.
+
 =head1 OPTIONS
 
 =over 4
 
-=item B<-a image> | B<--add image>
+=item B<-a image>
+
+=item B<--add image>
 
 Add a block device or virtual machine image.
 
 The format of the disk image is auto-detected.  To override this and
 force a particular format use the I<--format=..> option.
 
-=item B<-c URI> | B<--connect URI>
+=item B<-c URI>
+
+=item B<--connect URI>
 
 When used in conjunction with the I<-d> option, this specifies
 the libvirt URI to use.  The default is to use the default libvirt
 connection.
 
-=item B<-d libvirt-domain> | B<--domain libvirt-domain>
+=item B<-d libvirt-domain>
+
+=item B<--domain libvirt-domain>
 
 Add disks from the named libvirt domain.  If the I<--ro> option is
 also used, then any libvirt domain can be used.  However in write
 mode, only libvirt domains which are shut down can be named here.
 
+Domain UUIDs can be used instead of names.
+
 =item B<--dir-cache-timeout N>
 
 Set the readdir cache timeout to I<N> seconds, the default being 60
@@ -112,7 +139,9 @@ echoing off so you cannot see what you are typing.  If you are not
 worried about Tempest attacks and there is no one else in the room
 you can specify this flag to see what you are typing.
 
-=item B<--format=raw|qcow2|..> | B<--format>
+=item B<--format=raw|qcow2|..>
+
+=item B<--format>
 
 The default for the I<-a> option is to auto-detect the format of the
 disk image.  Using this forces the disk format for I<-a> options which
@@ -132,7 +161,9 @@ Display help on special FUSE options (see I<-o> below).
 
 Display brief help and exit.
 
-=item B<-i> | B<--inspector>
+=item B<-i>
+
+=item B<--inspector>
 
 Using L<virt-inspector(1)> code, inspect the disks looking for
 an operating system and mount filesystems as they would be
@@ -148,7 +179,9 @@ to try to read passphrases from the user by opening C</dev/tty>.
 Connect to a live virtual machine.
 (Experimental, see L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>).
 
-=item B<-m dev[:mnt]> | B<--mount dev[:mnt]>
+=item B<-m dev[:mountpoint[:options]]>
+
+=item B<--mount dev[:mountpoint[:options]]>
 
 Mount the named partition or logical volume on the given mountpoint
 B<in the guest> (this has nothing to do with mountpoints in the host).
@@ -156,14 +189,28 @@ B<in the guest> (this has nothing to do with mountpoints in the host).
 If the mountpoint is omitted, it defaults to C</>.  You have to mount
 something on C</>.
 
-=item B<-n> | B<--no-sync>
+The third (and rarely used) part of the mount parameter is the list of
+mount options used to mount the underlying filesystem.  If this is not
+given, then the mount options are either the empty string or C<ro>
+(the latter if the I<--ro> flag is used).  By specifying the mount
+options, you override this default choice.  Probably the only time you
+would use this is to enable ACLs and/or extended attributes if the
+filesystem can support them:
+
+ -m /dev/sda1:/:acl,user_xattr
+
+=item B<-n>
+
+=item B<--no-sync>
 
 By default, we attempt to sync the guest disk when the FUSE mountpoint
 is unmounted.  If you specify this option, then we don't attempt to
 sync the disk.  See the discussion of autosync in the L<guestfs(3)>
 manpage.
 
-=item B<-o option> | B<--option option>
+=item B<-o option>
+
+=item B<--option option>
 
 Pass extra options to FUSE.
 
@@ -198,7 +245,9 @@ to the chosen values.
 
 =back
 
-=item B<-r> | B<--ro>
+=item B<-r>
+
+=item B<--ro>
 
 Add devices and mount everything read-only.  Also disallow writes and
 make the disk appear read-only to FUSE.
@@ -214,20 +263,30 @@ See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
 
 Enable SELinux support for the guest.
 
-=item B<-v> | B<--verbose>
+=item B<-v>
+
+=item B<--verbose>
 
 Enable verbose messages from underlying libguestfs.
 
-=item B<-V> | B<--version>
+=item B<-V>
+
+=item B<--version>
 
 Display the program version and exit.
 
-=item B<-w> | B<--rw>
+=item B<-w>
+
+=item B<--rw>
+
+This changes the I<-a>, I<-d> and I<-m> options so that disks are
+added and mounts are done read-write.
 
-This option does nothing at the moment.
 See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
 
-=item B<-x> | B<--trace>
+=item B<-x>
+
+=item B<--trace>
 
 Trace libguestfs calls and entry into each FUSE function.
 
@@ -235,6 +294,26 @@ This also stops the daemon from forking into the background.
 
 =back
 
+=head1 FILES
+
+=over 4
+
+=item $HOME/.libguestfs-tools.rc
+
+=item /etc/libguestfs-tools.conf
+
+This configuration file controls the default read-only or read-write
+mode (I<--ro> or I<--rw>).
+
+See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
+
+=back
+
+=head1 EXIT STATUS
+
+This program returns 0 if successful, or non-zero if there was an
+error.
+
 =head1 SEE ALSO
 
 L<guestfish(1)>,