Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.135. libguestfs

Updated libguestfs packages that fix multiple bugs and add one enhancement are now available for Red Hat Enterprise Linux 6.
The libguestfs packages contain a library, which is used for accessing and modifying guest disk images.

Bug Fixes

Previously, the do_part_get_bootable() API function parsed the output of parted with an assumption that the partition layout on the guest image was well ordered. As a consequence, the part-get-bootable API would produce an incorrect result or even terminate with disks where the partitions were not in the usual order or were missing. With this update, the source code is modified so that libuguestfs can correctly handle disks with unordered partitions.
Previously, libguestfs protocol lost synchronization when using the upload command in the guestfish command line tool before mounting any disks. Uploading files failed and an error message was reported due to the library and the daemon sending cancel messages in an incorrect order. With this update, if the daemon detects cancellation, it sends the remaining data in its output buffer instead of discarding it.
BZ#666578, BZ#678231
Previously, if guests used the LABEL or UUID (Universal Unique Identifier) identifiers for swap devices in the guest /etc/fstab file, the virt-inspector utility reported the unknown filesystem error message. The source code has been modified, and the utility now works correctly and no longer displays error messages.
Prior to this update, libguestfs could have incorrectly detected Red Hat Enterprise Linux Desktop distributions as a "redhat-based" instead of "redhat". As a consequence, the virt-v2v utility failed to convert such guests. With this update, libguestfs is modified to detect these distributions correctly as "redhat". Now, conversion is successful.
Calling the guestfs_kill_subprocess() function and then closing the connection handle by calling guestfs_close() could cause the libguestfs connection to become unresponsive. The source code has been modified to close the connection correctly so that the connections no longer hangs.
After the resize operation, the ntfsresize utility marks the file system as requiring a consistency check. As a consequence, an error message can appear when resizing the same file system multiple times in a row without rebooting the virtual machine. With this update, the ntfsresize(8) manual page describes this behavior.
Previously, when pressing the tab key in the guestfish command line tool, the mapped devices created by luks-open were not listed. With this update, /dev/mapper/ paths are added to tab-completion and the devices are displayed when pressing the tab key.
Querying a fully-virtualized guest works reliably only for Linux guests. With this update, the virt-inspector(1) manual page is modified to note this.
Previously, the inspect-list-applications API and virt-inspector2 utility did not detect 32-bit applications installed under the WoW64 (Windows 32-bit on Windows 64-bit) emulator on a 64-bit Windows guest. With this update, the source code is modified to display the installed applications with their description in the output.
Iterables passed instead of plain lists could cause the RuntimeError exception to be thrown when calling libguestfs' Python interface. The Python bindings have been modified so that any iterable argument can be used as a list.
Previously, the virt-make-fs tool generated the qemu-img command which contained an incorrect decimal point in the output. As a result, an error message was reported. With this update, the source code is modified so that the virt-make-fs tool invokes qemu-img correctly in all cases.
Due to incorrect mounting of guest file systems, the virt-v2v utility could fail when the guest /etc/fstab file contained file systems marked with LABEL. This update modifies the source code so that the file systems are mounted correctly. As a result, virt-v2v no longer fails.
With this update, libguestfs is rebuilt against the latest parted package, which adds support for the Legacy BIOS Bootable flag in the GPT (GUID Partition Table) attribute field.
Prior to this update, a build error prevented libguestfs from working on LUKS (Linux Unified Key Setup) encrypted disks. As a result, loading of shared libraries failed with an error message. An upstream patch has been applied to address this issue and libguestfs now works correctly on LUKS devices.
This update adds the description of typecheck lenses in the guestfish(1) manual page.
The guestfish(1) manual page has been modified to mention that guestfish --remote run should not be used in a command substitution context.


Prior to this update, the guestfs_last_errno() function was not exposed in the Perl bindings. As a consequence, it was not directly possible to determine the precise cause of some failures. To fix this problem, guestfs_last_errno() is now exposed in the Perl bindings.
All users of libguestfs are advised to upgrade to these updated packages, which fix these bugs and add this enhancement.
Enhanced libguestfs packages are now available for Red Hat Enterprise Linux 6.
[Updated 6 Apr 2011] The text of this advisory has been updated to reflect the fact that these packages are not new in Red Hat Enterprise Linux 6.
The libguestfs library allows guest disk images to be accessed and modified. It also enables the making of batch configuration changes to guests, manages migrations between virtualization systems (but also see the virt-p2v utility), obtains information about disk usage (see also the virt-df utility), performs partial backups, guest clones and partial guest clones, and is able to carry out configuration changes to the registry, UUI, and hostname, among other duties.
The libguestfs library can be linked with C and C++ management programs.
The guestfish package enables shell scripting and command line access to libguestfs.
The libguestfs-mount package allows guest file systems to be mounted on the host using the FUSE (Filesystem in Userspace) file system.
Included among these packages are several which enable language bindings:
  • for Perl bindings, see the perl-Sys-Guestfs package.
  • for OCaml bindings, see the ocaml-libguestfs-devel package.
  • for Python bindings, see the python-libguestfs package.
  • for Ruby bindings, see the ruby-libguestfs package.
  • for Java bindings, see the libguestfs-java-devel package.


This enhancement update moves the python-libguestfs package from the Red Hat Enterprise Linux 6 Optional channels to the Red Hat Enterprise Linux 6 base channels. This update does not make any other changes to these packages.
All users who require libguestfs should install these enhanced packages.