From Fedora Project Wiki

libguestfs is a set to virt tools and a library for viewing, editing and inspecting virtual machines and disk images. Some of the tools include guestfish, virt-df, virt-edit, virt-inspector, virt-rescue, virt-resize, virt-sparsify, virt-win-reg.

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[edit]

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[edit]

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, in which case sorry.


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[edit]

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.