spacer

libguestfs
tools for accessing and modifying virtual machine disk images

spacer

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.

spacer

Mailing list and chat

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

spacer

Documentation

Frequently Asked Questions (FAQ) and recipes page

guestfs(3) — main API documentation
guestfish(1) — interactive shell
guestmount(1) — mount guest filesystem in host
virt-alignment-scan(1) — check alignment of virtual machine partitions
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-df(1) — free space
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

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

For developers: README, TODO, FAQ, RELEASE-NOTES, ROADMAP.

For testers: guestfs-testing(1).

spacer

Bug reports

List of bugs in libguestfs and in Fedora packaging of libguestfs

Enter a new bug report

spacer

Git repository

git clone git://github.com/libguestfs/libguestfs.git
(note: moved to github on 2012-01-10)

Latest development version: 1.19.4 (released 2012-06-07).
Stable branches: 1.18.x, 1.16.x ,
Old stable branches (major bugs and security fixes only): 1.14.x, 1.12.x, 1.10.x, 1.8.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, P2V, V2V, performing partial backups, cloning VMs, and much else besides.

libguestfs can access nearly any type of filesystem including: all known types of Linux filesystem (ext2/3/4, XFS, btrfs etc), any Windows filesystem (VFAT and NTFS), any Mac OS X and BSD filesystems, LVM2 volume management, MBR and GPT disk partitions, raw disks, qcow2, VirtualBox VDI, VMWare VMDK, CD and DVD ISOs, SD cards, and dozens more. libguestfs doesn't need root permissions.

All this functionality is available through a convenient shell called guestfish, or use virt-rescue to get a rescue shell for fixing unbootable virtual machines.

libguestfs is also a library that can be linked with C and C++ management programs and has bindings for Perl, Python, Ruby, Java, OCaml, PHP, Haskell, Erlang and C#. You can also use it from shell scripts or the command line. Using our FUSE module you can also mount guest filesystems on the host.

There is a subproject to allow you to merge changes into the Windows Registry in Windows guests. You can examine unknown disk images to find out what they contain.

libguestfs is a mature program, in development since Feb 2009, with a 150 page manual, deployed in enterprise environments, and with many successful users.

Some projects using libguestfs today: Aeolus cloud project, JBoss Boxgrinder, virt-tools, 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
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.