guestmount -d Guest -i --ro /mnt
If you don't know what filesystems are contained in a guest or
-disk image, use L<virt-list-filesystems(1)> first:
+disk image, use L<virt-filesystems(1)> first:
- virt-list-filesystems MyGuest
+ virt-filesystems MyGuest
If you want to trace the libguestfs calls but without excessive
debugging information, 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
(see the FUSE option I<-o attr_timeout>), but the FUSE cache
does not anticipate future requests, only cache existing ones.
-=item B<--format=raw|qcow2|..> | B<--format>
+=item B<--echo-keys>
+
+When prompting for keys and passphrases, guestfish normally turns
+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|..>
+
+=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
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
mounted on the real virtual machine.
-=item B<-m dev[:mnt]> | B<--mount dev[:mnt]>
+=item B<--keys-from-stdin>
+
+Read key or passphrase parameters from stdin. The default is
+to try to read passphrases from the user by opening C</dev/tty>.
+
+=item B<--live>
+
+Connect to a live virtual machine.
+(Experimental, see L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>).
+
+=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).
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.
=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.
then there is a strong risk of disk corruption in the guest. We try
to prevent this from happening, but it is not always possible.
+See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
+
=item B<--selinux>
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<-x> | B<--trace>
+=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.
+
+See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
+
+=item B<-x>
+
+=item B<--trace>
-Trace libguestfs calls.
+Trace libguestfs calls and entry into each FUSE function.
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)>,