From Fedora Project Wiki

Revision as of 13:29, 3 April 2012 by Rjones (talk | contribs)

libguestfs is a set to virt tools and a library for viewing, editing and inspecting virtual machines and disk images.

In Fedora 17, libguestfs 1.17.x will be available (upgraded from 1.10 in Fedora 15 and 1.16 in Fedora 16).


You will need a Fedora 17 machine. Having at least one guest will be very helpful.

You can test libguestfs inside an F17 virtual machine, but it will run a lot slower. For best performance, run the tests in F17 running on baremetal with VT extensions.

Installing libguestfs and the virt tools

As root, do:

# yum install libguestfs-tools

If you want to write libguestfs scripts or programs, install one of the language bindings, eg:

# yum install libguestfs-devel \
      perl-Sys-Guestfs python-libguestfs \
      ruby-libguestfs ocaml-libguestfs-devel

Basic checks

Check it's working by running this command (you don't need to be root):

$ libguestfs-test-tool

This command will run some simple tests and eventually print out:

===== TEST FINISHED OK =====

If it doesn't print this out, or seems to fail for some other reason, please file a bug including the complete, unedited output.

Now check how fast the appliance gets created:

$ time guestfish -a /dev/null run

Run this a few times so the cache is "hot". Note that the first time you run it, it creates a cached appliance (in /var/tmp/.guestfs-*) so that is much slower. As a typical guide, you should see times like:

  • 3-6 seconds, on modern hardware with virtualization extensions and KVM enabled
  • 30-60 seconds, in a VM

If you get times wildly outside these ranges, let us know, unless you're using an AMD Geode.


There is a good set of tests upstream, and rather than just copying them here, follow the link:


If you find bugs, please file them using this link:

IRC and mailing list

During the test day (2012-04-12) we will be on the #fedora-test-day IRC channel. The rest of the time, find us on #libguestfs (on FreeNode). There is also a mailing list.