libguestfs
tools for accessing and modifying virtual machine disk images

Downloads

For source see the downloads directory.

In Fedora or Red Hat Enterprise Linux 6:

yum install '*guestf*'

Binaries for Debian, Ubuntu and more.

This software is distibuted under the terms of the GNU LGPL and GPL version 2 or above. See individual files and licenses for details.

Mailing list and chat

Join us on the libguestfs mailing list, or on IRC channel #libguestfs on FreeNode.

Documentation

Frequently Asked Questions (FAQ) and recipes page

guestfs(3) — main API documentation
guestfish(1) — interactive shell
guestmount(1) — mount guest filesystem in host
guestunmount(1) — unmount guest filesystem
virt-alignment-scan(1) — check alignment of virtual machine partitions
virt-builder(1) — quick image builder
virt-cat(1) — display a file
virt-copy-in(1) — copy files and directories into a VM
virt-copy-out(1) — copy files and directories out of a VM
virt-customize(1) — customize virtual machines
virt-df(1) — free space
virt-diff(1) — differences
virt-edit(1) — edit a file
virt-filesystems(1) — display information about filesystems, devices, LVM
virt-format(1) — erase and make blank disks
virt-inspector(1) — inspect VM images
virt-list-filesystems(1) — list filesystems
virt-list-partitions(1) — list partitions
virt-ls(1) — list files
virt-make-fs(1) — make a filesystem
virt-rescue(1) — rescue shell
virt-resize(1) — resize virtual machines
virt-sparsify(1) — make virtual machines sparse (thin-provisioned)
virt-sysprep(1) — unconfigure a virtual machine before cloning
virt-tar(1) — archive and upload files
virt-tar-in(1) — archive and upload files
virt-tar-out(1) — archive and download files
virt-win-reg(1) — export and merge Windows Registry keys
libguestfs-test-tool(1) — test libguestfs
libguestfs-make-fixed-appliance(1) — make libguestfs fixed appliance
hivex(3) — extract Windows Registry hive
hivexregedit(1) — merge and export Registry changes from regedit-format files
hivexsh(1) — Windows Registry hive shell
hivexml(1) — convert Windows Registry hive to XML
hivexget(1) — extract data from Windows Registry hive
febootstrap(8) — tool for building supermin appliances
febootstrap-supermin-helper(8) — febootstrap helper

supermin(1) — tool for building supermin appliances
supermin-helper(1) — supermin helper
guestfsd(8) — guestfs daemon

For programmers: examples in C/C++, Erlang, Golang, Java, Lua, OCaml, Perl, Python, Ruby, guestfs-performance(1).

For developers: README, TODO, FAQ, guestfs-release-notes(1).

For testers: guestfs-testing(1).

Bug reports

List of bugs in libguestfs and in Fedora packaging of libguestfs

Enter a new bug report

Git repository

git clone git://github.com/libguestfs/libguestfs.git

Latest development version: 1.27.6 (released 2014-04-22).
Stable branches: 1.26.x, Old stable: 1.24.x, 1.22.x, 1.20.x

libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. You can use this for viewing and editing files inside guests, scripting changes to VMs, monitoring disk used/free statistics, creating guests, P2V, V2V, performing backups, cloning VMs, building VMs, formatting disks, resizing disks, and much more.

libguestfs can access almost any disk image imaginable. It can do it securely — without needing root and with multiple layers of defence against rogue disk images. It can access disk images on remote machines or on CDs/USB sticks. It can access proprietary systems like VMware and Hyper-V.

All this functionality is available through a scriptable shell called guestfish, or an interactive rescue shell virt-rescue.

libguestfs is a C library that can be linked with C and C++ management programs and has bindings for about a dozen other programming languages. Using our FUSE module you can also mount guest filesystems on the host.

The hivex subproject lets you merge changes into the Windows Registry in Windows guests. You can examine unknown disk images to find out what they contain.

libguestfs has been in continuous development since 2009, with a 250 page manual, deployed in enterprise environments, and with many happy and successful users.

Dozens of projects are using libguestfs today including: OpenStack, Oz, and virt-v2v.

Latest blog entries

Getting started

yum install '*guestf*'
guestfish --ro -i -a disk.img

For examples using guestfish and other tools see the recipes page. For other examples see these blog entries.

rjones AT redhat DOT com