guestfs-release-notes-1.30(1) | Virtualization Support | guestfs-release-notes-1.30(1) |
guestfs-release-notes - libguestfs リリースノート
These release notes only cover the differences from the previous stable/dev branch split (1.28.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
New tools
virt-dib(1) is a secure and safe alternative to the OpenStack "diskimage-builder" tool. It is compatible with diskimage-builder elements. (Pino Toscano)
virt-get-kernel(1) extracts the kernel and ramdisk from a disk image. Previously this functionality was part of virt-builder(1), but the new tool is more featureful. (Pino Toscano)
New features in existing tools
virt-v2v(1) -i ova mode can now read a wider range of OVA files, and also unpacked files (directories).
virt-v2v now securely passes options to curl, so passwords, cookies and so on cannot be seen by users with shell access on the same machine.
virt-v2v has a new --password-file option to allow you to securely pass in a password, and to avoid an interactive prompt.
virt-v2v disables Windows autoreboot, making debugging conversion failures on Windows easier.
virt-v2v now comes with an extensive external test suite. See virt-v2v-test-harness(1).
virt-v2v allows virtio drivers to come from any location (Roman Kagan), and drivers can be read directly from the virtio ISO.
virt-v2v supports conversion of Windows ≥ 8. Note this is experimental, and possibly broken. Use with caution.
virt-v2v can now convert UEFI guests.
virt-p2v(1) adds a network configuration dialog.
virt-p2v now has "p2v.pre", "p2v.post" and "p2v.fail" triggers, allowing arbitrary scripts for preparing the host for conversion and tidying up post-conversion.
virt-p2v now uses the more advanced metacity window manager (instead of matchbox).
virt-sysprep(1) will remove "/var/spool/mail/username" for non-root accounts (Hu Tao).
virt-customize(1), virt-builder(1) and virt-sysprep have the following new options:
Improvements to virt-customize firstboot support. In particular, Windows firstboot should work as well as Linux (Roman Kagan).
virt-df(1) can now use PolicyKit, SASL and other authentication methods when getting the list of domains from libvirt.
Improvements to guestfish bash completion (Pino Toscano).
Bash completion now completes short options as well as long options (Pino Toscano).
guestfish(1) now displays a command synopsis if the number of parameters given to a command is wrong (Hu Tao).
virt-builder now supports Red Hat Enterprise Linux versions back to RHEL 3.
virt-builder supports SUSE guests using zypper (Cédric Bosdonnat).
Language bindings
The Java bindings now include validated Javadoc, and other improvements (Pino Toscano).
Multiple fixes and improvements to the PHP bindings (Pino Toscano).
Inspection
Inspection can now get icons from RHEL 7 and CentOS 7.
/etc/favicon.png is now allowed to be a symbolic link.
For RPM-based guests, inspection now returns RPM Epoch fields.
Debian packages now have separate Epoch and Version fields (Nikos Skalkotos).
OpenBSD detection added, FreeBSD and NetBSD added as separate "distros", and other BSD inspection improvements and bug fixes (Nikos Skalkotos).
CoreOS detection added (Nikos Skalkotos).
The package manager in Fedora ≥ 22 is "dnf".
ReactOS guests can be inspected (Maros Zatko).
Add support for UEFI guests.
Inspection now works when kernel modules are gzip or xz compressed (Pino Toscano).
Inspection now recognizes ppc64 and ppc64le guests (Maros Zatko).
Inspection lists the installed applications on Archlinux guests (Nikos Skalkotos).
Architectures and platforms
PPC64 (POWER7) and PPC64LE (POWER8) architectures are now much better supported, and should work out of the box.
For aarch64, we use AAVMF (an open source UEFI implementation based on OVMF) if available to run the appliance.
For armv7, we now use the -M virt machine type by default.
There is better support for compiling on non-Linux platforms (Pino Toscano, Margaret Lewicka).
Libguestfs should now work on MIPS 32 bit little endian ("mipsel"). I have not been able to try 64 bit or big endian.
For further information, see upstream commit https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0
Libguestfs was modified so that it uses resource limits to limit the space and time used by "qemu-img info", to avoid this problem. If a malicious user tries to pass one of these disk images to libguestfs, "qemu-img" will crash and the crash is reported back to libguestfs callers as an error message.
New APIs
Other API changes
"guestfs_disk_create" can now use VMDK files as backing files.
"guestfs_btrfs_subvolume_snapshot" takes extra optional parameters (all added by Hu Tao):
"guestfs_btrfs_subvolume_create" can also take the optional "qgroupid" parameter (Hu Tao).
"guestfs_set_uuid" can set UUID of swap partitions, Btrfs (Hu Tao, Chen Hanxiao).
"guestfs_copy_device_to_file" and "guestfs_copy_file_to_file" have a new optional "append" parameter, allowing you to append to the output file instead of truncating it.
"guestfs_mkfs" has a new optional "label" parameter to set the initial label of the new filesystem (Pino Toscano).
"guestfs_set_label" and "guestfs_set_uuid" now set "ENOTSUP" as errno when there is no implemented support for the filesystem of the specified mountable (Chen Hanxiao).
Environment variables now let you write "LIBGUESTFS_DEBUG=true", "LIBGUESTFS_DEBUG=0" and so on.
All "guestfs_sfdisk*" APIs have been deprecated. Because sfdisk(8) was rewritten, incompatibly, upstream, we don't recommend using these APIs in future code. Use the "guestfs_part*" APIs as replacements.
APIs such as "guestfs_download" do not truncate /dev/stdout or /dev/stderr when writing to them, meaning that if you redirect stdout or stderr to a file, the file is no longer truncated.
The daemon no longer uses its own separate copy of gnulib. Instead it shares a single copy with the library.
OCaml .annot files are now created, so IDEs and editors like emacs and vi can browse OCaml types in the source code.
Various fixes to allow different host/appliance architecture builds (Pino Toscano).
Automake is now used directly to build all the OCaml programs, instead of ad hoc Makefile rules. One side effect of this is to enable warnings in all the C code used by OCaml programs.
"-fno-strict-overflow" is used throughout the build to avoid dubious GCC optimizations.
Multiple cleanups to support GCC 5.
OCaml OUnit2 is needed to run some OCaml tests.
Creating a statically linked libguestfs.a should work again.
The src/api-support subdirectory and its scripts are no longer used. Instead we store in the generator/actions.ml when the API was added to libguestfs.
The translation service has changed from Transifex to Zanata.
Many more translations are available now, for both library and tools messages and documentation.
In all OCaml tools, there are now common "error", "warning", "info" functions, and common way to set and get the --quiet, -x (trace) and -v (verbose) flags, and colour highlighting used consistently.
"COMPILE_REGEXP" macros are used to simplify PCRE constructors and destructors.
In the generator, "Pointer" arguments have finally been implemented.
Internal identifiers no longer use double and triple underscores (eg. "guestfs___program_name"). These identifiers are invalid for C99 and C++ programs, although compilers would accept them.
The daemon no longer parses "guestfs_*" options from /proc/cmdline. Instead it only takes ordinary command line options. The appliance init script turns /proc/cmdline into daemon command line options.
The tests can now run the daemon as a "captive process", allowing it to be run directly on the host. The main advantage of this is we can run valgrind directly on the daemon during testing.
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org/
Richard W.M. Jones
Copyright (C) 2009-2020 Red Hat Inc.
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:
2021-01-05 | libguestfs-1.44.0 |