libguestfs is a library and a set of tools for reading, writing,
managing, inspecting, rescuing and resizing disk images and offline
and live virtual machines.
I'm pleased to announce the release of libguestfs 1.12, the next
stable branch of libguestfs. There are many changes and new features
in this release: please see the notes below.
You can get source from the website:
http://libguestfs.org/
http://libguestfs.org/download/1.12-stable/
Binary packages will be available by the end of the week from:
http://koji.fedoraproject.org/koji/packageinfo?packageID=8391 (Fedora)
http://libguestfs.org/download/binaries/ (Debian, Ubuntu)
Release notes for libguestfs 1.12.0
-----------------------------------
These release notes only cover the differences from the previous
stable/dev branch split (1.10.0). For detailed changelogs, please see
the git repository, or the ChangeLog file distributed in the tarball.
New features
guestfish:
- guestfish strings can use escapes,
eg. ><fs> write /foo "line 1\nline 2\n"
- guestfish write-append command can be used to append to files.
- Long-running file uploads and downloads can be cancelled through the
API or by hitting ^C in guestfish.
- New guestfish "display" command for displaying graphical files
inside guests.
- In guestfish, tab completion now works on /dev/mapper devices.
virt-inspector:
- Inspection API can get an icon or logo for certain guests.
- virt-inspector includes the logo and hostname for certain guests.
- virt-inspector can now get the version and release numbers for RPM
packages.
- CentOS and Scientific Linux are now treated as separate distros by
the inspection API.
virt-resize:
- virt-resize can now handle btrfs.
- New virt-resize --ntfsresize-force option allows Windows VMs to be
resized multiple times.
other virt tools:
- guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,
virt-inspector, virt-ls and virt-rescue now allow you to use
"-d UUID" option to specify a guest by UUID. This makes them more
robust to use from other programs.
- virt-ls -lR option allows complex file iteration and guest analysis.
- virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
- virt-win-reg new option --unsafe-printable-strings allows printable
strings to be displayed in the output (unsafely: read the documentation
before using).
- virt-edit has been rewritten in C.
API and language bindings:
- Java is now completely supported.
See
http://libguestfs.org/guestfs-java.3.html
- JRuby is supported via the Java bindings.
- guestfs_close now appears in trace messages.
- Python binding adds explicit g.close() method.
- Python programs can now use the new event API.
- Python GIL is released during libguestfs calls, allowing multithreaded
Python programs to work properly.
- 9pfs (Plan 9 filesystems exported from the host) are now supported.
- Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
functions in C programs.
- New manual page guestfs-recipes(1) with recipes.
- mkfs-opts can now set inode size and sector size on created filesystems
(thanks Nikita Menkovich).
- guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).
Security
- optargs_bitmask is checked even for calls that have no optional
arguments. This closes a possible exploit in the daemon from
untrusted callers.
New APIs
btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero,
is-zero-device, list-9p, list-dm-devices, mount-9p, ntfsresize-opts,
set-pgroup, write-append
Internals
- Coverity (a static analysis tool) was run across the codebase and
many fixes were made.
- Generator can handle functions that return RBufferOut and have
optional arguments.
- Compatible with Perl 5.14.
- Compatible with gcc 4.6.
- Perform safety checks on QEMU.
- C API tests can now fully test calls that have optional arguments.
- Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.
- po-docs directory now covers all man pages.
- stderr from qemu process is now captured by the event subsystem.
Bugs fixed
- 602997 part-get-bootable gives wrong result with an unordered part layout
- 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or
directory"
- 700369 qemu-system-x86_64 says 'KVM not supported for this target'
- 705200 guestmount attempt results in access denied
- 714981 'list-filesystems' does not know about virtio 9p filesystems or detect
existing mounts
- 717786 libguestfs python bindings should have an explicit close call
- 721275 virt-resize in F16 should support btrfs
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top