Section 1 · User commands

guestfs-release-notes-1.6.1

Package: libguestfs

guestfs-release-notes-1.6

NAME
RELEASE NOTES FOR LIBGUESTFS 1.6
SEE ALSO
AUTHOR
COPYRIGHT
LICENSE
BUGS


NAME

guestfs−release−notes − libguestfs Release Notes

RELEASE NOTES FOR LIBGUESTFS 1.6

These release notes only cover the differences from the previous stable/dev branch split (1.4.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.

New features

− Use a new method for creating and caching the appliance. This
greatly improves the performance of libguestfs, often by a factor
of x 4 to x 5.
− Support for guest inspection (like virt−inspector) via the ordinary
API and all language bindings. ‘guestfish −i’ option is as a side−
effect much quicker.
− virt−inspector and core inspection API can now detect guests running:
Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.
− Support for LUKS whole−disk encryption in guests.
− PHP bindings.
− Progress messages (and progress bars in guestfish and virt−resize)
for certain long−running operations.
− virt−df is now much more efficient. Use ‘−−one−per−guest’ to restore
the old per−guest isolation behaviour.
− guestfish ‘copy−in’ and ‘copy−out’ commands for copying files and
directories recursively in and out of the guest.
− guestfish ‘hexedit’ command for doing binary edits to devices and
files.
− Change guestfish −i syntax to allow commands to be specified on the
command line (retaining backwards compatibility).
− guestfish ‘−d <domain>’ for adding disks from libvirt domains.
− guestfish ‘−N’ option supports several new prepared disk image types:
lvfs : disk with LV formatted with filesystem
lv : disk with LV
bootroot : boot+root
bootrootlv : boot and root on LV
− guestfish ‘more’ and ‘edit’ commands now work with arbitrary files.
− guestfish ‘−−echo−keys’ option allows you to echo keys/passphrases
while typing them.
− guestmount now supports −a / −d / −i options, like guestfish.
− Use virtio−serial for communications with the appliance. This
also has a major performance benefit.
− virt−edit ‘−b’ option to create a backup of edited files.
− virt−edit ‘−e’ option for non−interactive edits to files.
− Ability to capture core dumps from the appliance (thanks Matthew Booth).
− virt−rescue now shuts down cleanly (thanks Matthew Booth).
− virt−rescue now has a −−network option to enable network access.
− virt−resize can now handle guests which use GPT partition table format.
− virt−resize has better support for shrinking guests.
− virt−resize supports qcow2−format guests.
− $TMPDIR can be used to override almost all temporary directory usage.
− OCaml users can use an alternate OO−style of coding, eg. g#launch ()
− The API supports calls which take optional parameters, eg.
$g−>add_drive_opts (“disk”, readonly => 1);
− Trace output now escapes and shortens large strings (thanks
Matthew Booth).
− Autosync is now on by default, resulting in more reliable behaviour
when the handle is closed.
− virt−df −−uuid option allows you to follow a domain across migration
and renaming.
− Translations of manual pages.

Security

− CVE−2010−3851 libguestfs: missing disk format specifier when adding a disk
https://www.redhat.com/archives/libguestfs/2010−October/msg00036.html
This is comprehensively fixed in this release, and the fix will be
backported to the other stable branches after more testing.
− virt−inspector no longer relies on untrusted guest code to list
applications in some guests.

New APIs

download−offset, file−architecture, findfs−label, findfs−uuid,
inspect−os, inspect−get−arch, inspect−get−distro,
inspect−get−filesystems, inspect−get−major−version,
inspect−get−minor−version, inspect−get−mountpoints,
inspect−get−product−name, inspect−get−type, is−blockdev, is−chardev,
is−fifo, is−lv, is−socket, is−symlink, list−filesystems, luks−add−key,
luks−close, luks−format, luks−format−cipher, luks−kill−slot,
luks−open, luks−open−ro, lvm−clear−filter, lvm−canonical−lv−name,
lvm−set−filter, part−to−dev, pread−device, pwrite−device,
upload−offset

Internals

− Use size_t for loop iterators.
− Refactor the library code into separate files.
− Refactor the generator code into separate files.
− Generate guestfish commands.
− guestfish & guestmount options processing is unified.
− Protocol changes:
error message size increased to 64K
send errno to library
− Add ‘make bindist’ to make a binary distribution.
− Cleaner behaviour under valgrind.
− More testing of the guestfish command line options and libvirt
integration.
− The Perl inspection code is no longer used by any of the tools.

Bugs fixed

− 646822 libguestfs trace mode should not print long binary strings
− 646821 virt−df should have −−uuid option
− 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
− 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
− 642934 No way to specify disk format when adding a disk to libguestfs
− 642933 guestfs_list_filesystems should be used in all possible places
− 642932 guestmount options should match guestfish options
− 642930 virt−inspector (Sys::Guestfs::Lib) should use C inspection APIs
− 642929 C inspection code should ignore /dev/fd* in /etc/fstab
− 642826 virt−resize converts any other image format to raw without notifying user, instructions do not account for this
− 640961 Document that grub−install might be needed for old Linux guests after virt−resize
− 639986 virt−df −−csv does not properly quote ” in libvirt domain names
− 639405 Interrupted cached appliance creation leaves libguestfs unusable
− 638901 Appliance filename should not contain repository name
− 638899 /dev/mapper paths should not be returned from C inspection APIs
− 636918 Updates to Spanish translation
− 636061 [abrt] guestfish−1.2.11−1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
− 635969 glob echo mkfs ext2 /dev/vd[b−t]1 prints garbage
− 634246 guestfs_part_get_parttype returns “loop” when run against a partition, LV or filesystem
− 633766 virt−resize −−shrink fails
− 633357 Updates to Spanish translation
− 633096 virt−resize calculates block device size incorrectly, doesn’t work with qcow2 target
− 629593 Dutch translation added
− 627556 Updates to Spanish translations of libguestfs
− 626843 Updates to Spanish translations
− 619793 [RFE] Need a way to determine if a particular block device is a logical volume
− 618556 virt−rescue return none zero value when exit
− 617200 mount operation failed and hung on some images which running in read−only mode
− 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
− 599503 document that mkmountpoint and umount−all cannot be mixed
− 571714 Running virt−df on disk image relabels it, so qemu can no longer write to it.
− 502533 Updated Polish translation of libguestfs

SEE ALSO

guestfs−examples(1), guestfs−faq(1), guestfs−performance(1), guestfs−recipes(1), guestfs−testing(1), guestfs(3), guestfish(1), http://libguestfs.org/

AUTHOR

Richard W.M. Jones

Copyright (C) 2009−2023 Red Hat Inc.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110−1301 USA.

BUGS

To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

When reporting a bug, please supply:

•The version of libguestfs.
•Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
•Describe the bug accurately and give a way to reproduce it.
•Run libguestfs−test−tool(1) and paste the complete, unedited output into the bug report.