GUESTFS-RELEASE-NOTES-1.28(1)
π NAME π
guestfs-release-notes β libguestfs Release Notes. The header calls this manual page guestfs-rel...-notes-1.28(1) and files it under Virtualization Support, and bestie, it is literally serving release-notes realness. π
πΈ RELEASE NOTES FOR LIBGUESTFS 1.28 πΈ
Okay so these release notes only cover the differences from the previous stable/dev branch split (1.26.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball. Periodt. β¨
β¨ New features β¨
π§° Tools π§°
First up, the tools. virt-v2v(1) and virt-p2v(1) are tools for converting from foreign hypervisors (such as VMware or Xen) or physical machines, to KVM. These tools were previously a separate project. The code for both tools has been integrated into the libguestfs tree. As part of the refactoring, virt-p2v has been rewritten (from Ruby, now C), and virt-v2v now uses several modern features of qemu which make it run many times faster than before. No cap, that's a glow-up. π¦
virt-v2v(1)can import from:- VMware vCenter
- VMware OVA files
- local disk files
- libvirt
- RHEL 5 Xen
- It can output to:
- oVirt or Red Hat Enterprise Virtualization (RHEV-M)
- OpenStack Glance
- libvirt
- qemu
- local disk files
virt-log(1)is a new tool for listing log files from guests. It supports a variety of guests including Linux traditional, Linux using journal, and Windows event log. πvirt-builder(1)has a new--machine-readableoption to make it simpler to consume virt-builder from other programs.- New
virt-builder(1)andvirt-customize(1)--chmodoption. virt-sysprep(1)will now remove: systemd journals, anaconda logs, lightdm logs, debian-installer files, apt logs, exim logs, ConsoleKit logs, firewalld logs, grubby logs, proftpd logs, libvirt/libxml logs, and several other log files. The virt-sysprepuser-accountoperation is now able to remove or keep particular user accounts. (Pino Toscano).- New
guestmount(1)--fdoption, allowing you to run guestmount captive under another process. virt-sparsify(1)has a new--tmpoption allowing you to precisely control where temporary files are stored.virt-sparsify(1)can now write to a block device.virt-customize(1)andvirt-sysprep(1)now support adding firstboot scripts to Windows guests.virt-cat(1),virt-edit(1),virt-ls(1)now support the-moption, allowing you to override automatic inspection of guests and instead specify where to mount partitions (Pino Toscano).- The virt tools now have coloured output: green for OK, red for errors, blue for warnings. π
π Language bindings π
- You can build a Python distribution using
make -C python sdist - Ruby bindings have switched from
Test::UnittoMiniTest. - The Java bindings are now compatible with OpenJDK 8 (Pino Toscano).
π Inspection π
- Oracle Linux is returned as
oraclelinux(Nikos Skalkotos). - Linux guests which do not have
/etc/fstabcan now be handled (Pino Toscano). - Minix is returned as
minix(Pino Toscano).
ποΈ Architectures ποΈ
- Aarch64 (64 bit ARM) support has been added.
- Inspection and the
guestfs_file_architecturecall can now recognize arm (32 bit) and aarch64 guests.
π₯ Security π₯
CVE-2014-0191 Network usage and entity resolution in XML parsing
Okay so this one is important, bestie. Libguestfs previously used unsafe libxml2 APIs for parsing libvirt XML. These APIs defaulted to allowing network connections to be made when certain XML documents were presented. Using a malformed XML document it was also possible to exhaust all CPU, memory or file descriptors on the machine.
Security note: since the libvirt XML comes from a trusted source (the libvirt daemon) it is not thought that this could have been exploitable.
This was fixed in libguestfs β₯ 1.27.9 and the fix was backported to stable versions β₯ 1.26.2, β₯ 1.24.9, β₯ 1.22.10 and β₯ 1.20.13. (Thanks: Dan Berrange, Pino Toscano).
Shellshock (bash CVE-2014-6271)
This bash bug indirectly affects libguestfs. For more information see:
https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html
π API π
β¨ New APIs β¨
guestfs_clear_backend_setting,guestfs_get_backend_setting,guestfs_set_backend_settingβ use these APIs to set individual backend settings.guestfs_cpio_outβ convert a directory within the disk image to cpio format.guestfs_journal_get_realtime_usecβ fetch precise journal times, seesd_journal_get_realtime_usec(3).guestfs_lstatns,guestfs_lstatnslist,guestfs_statnsβ enhanced versions ofguestfs_lstat,guestfs_lstatlist,guestfs_statwhich return nanosecond timestamps.
π οΈ Build changes π οΈ
- Libguestfs can now be built with qemu 2.x.
- Add support for packaging the appliance on Mageia (Joseph Wang, Thierry Vignaud).
- Augeas is now a required dependency.
- Flex and bison are now required dependencies.
π§ Internals π§
- User-Mode Linux (UML) is no longer a supported backend (although still available). It will be supported again once someone steps in and fixes various regressions and brokenness in the UML (Linux) kernel.
- You can now connect gdb to qemu by specifying
LIBGUESTFS_BACKEND_SETTINGS=gdb - Serial BIOS (sgabios) is now used by the libvirt backend (on x86 only) so that we see early BIOS messages.
- For the OCaml virt tools, exceptions are now handled and printed by a common function.
- A GCC warning about large stack frames is now enabled by default. Several places that used large arrays and structures on the stack have been fixed.
- There is now a test for booting the appliance repeatedly. Useful for finding kernel leaks. See:
tests/qemu/qemu-boot.c - There is a test for testing the speed of various qemu features such as virtio-serial uploads and block device writes. See:
tests/qemu/qemu-speed-test.c - GCC warnings are now enabled for OCaml-C bindings in the OCaml virt tools.
- The code for editing files used by
virt-edit(1),guestfish(1)editcommand,virt-customize(1)--editoption and more is now shared between all these utilities (thanks Pino Toscano). - The FUSE tests were rewritten in C to ensure finer control over how system calls are tested.
- The
update-bugs.shscript has been fixed so it should no longer create an emptyBUGSfile if the Bugzilla server is unavailable. - The
virt-resize(1)tests now use a stochastic method to ensure much deeper and broader testing. - When the network is enabled, the appliance now uses DHCP to acquire an IP address.
- If libvirt is being used then the appliance will connect to
virbr0(can be overridden by settingLIBGUESTFS_BACKEND_SETTINGS=network_bridge=<some_bridge>). This enables full-featured network connections, with working ICMP, ping and so on.
π Bugs fixed π
The receipts section is here, and every URL and every description stays exactly as it was β no erasing, no "fixing" the typos. π
https://bugzilla.redhat.com/1153515β empty (but set)LIBGUESTFS_BACKENDprintslibguestfs: error: invalid backend:https://bugzilla.redhat.com/1151766β libguestfs-bash-completion package contains file/usr/share/bash-completion/completions/virt-log, but no_virt_log()function in that filehttps://bugzilla.redhat.com/1151738β typo error in man page of virt-edithttps://bugzilla.redhat.com/1151033β virt-v2v conversions from VMware vCenter server run slowlyhttps://bugzilla.redhat.com/1150880β virt-v2v: warning: display<graphics type='sdl'>was ignored when converting rhel5 guest with sdl graphicshttps://bugzilla.redhat.com/1150867β'copy-file-to-file /src /dest'create file/desteven if command'copy-file-to-file /src /dest'failedhttps://bugzilla.redhat.com/1150815β Can not find"RECURSIVE LONG LISTING"in'man virt-diff'https://bugzilla.redhat.com/1150701β virt-v2v does not fstrim data disks and non-mounted filesystemshttps://bugzilla.redhat.com/1150475β Exporting 2+ disk guest to RHEV, only one disk shows after importhttps://bugzilla.redhat.com/1148355β virt-filesystems: incorrect LVM vg name when listing Fedora 21 Alpha Atomic image filesystemshttps://bugzilla.redhat.com/1148072β Option missing--no-selinux-relabelhttps://bugzilla.redhat.com/1148012β RFE: Allow qemu-bridge-helper to be used to implementguestfs_set_networkhttps://bugzilla.redhat.com/1146815β virt-v2v prints warning:/files/etc/fstab/8/specreferences unknown device"cdrom"https://bugzilla.redhat.com/1146275β regression setting root password with virt-builder/virt-customizehttps://bugzilla.redhat.com/1146017βvirt-v2v -v -xduring windows guest conversion will hang at hivex:hivex_open: used block id β¦β¦https://bugzilla.redhat.com/1145995β Improve the error info when converting windows guest with unclean file systemhttps://bugzilla.redhat.com/1145916β virt-v2v fails to convert win7 guesthttps://bugzilla.redhat.com/1144891β RFE: stat calls do not return nanosecond timestampshttps://bugzilla.redhat.com/1144766βfutimens()is a no-op via guestmounthttps://bugzilla.redhat.com/1144201β guestfish can not restore terminal's output colour when exit guestfish, if the terminal's background colour is black then it will make a inconvenienthttps://bugzilla.redhat.com/1143949β virt-customize option'--password-crypto'do not workhttps://bugzilla.redhat.com/1143887β Warning shows when converting guests to rhev:chown: changing ownership of β/tmp/v2v.u48xag/*.ovfβ: Invalid argumenthttps://bugzilla.redhat.com/1143883β warning shows when converting rhel7 guest:virt-v2v:could not update grub2 console: aug_get: no matching node (ignored)https://bugzilla.redhat.com/1143866β virt-v2v fails with error: cannot open Packages index using db5https://bugzilla.redhat.com/1142416β part-get-name give'libguestfs: error: part_get_name: parted does not support the machine output (-m)'error message when run'part-get-name /dev/sda 1'https://bugzilla.redhat.com/1142186β virt-sysprep option'--mount-options'don't work wellhttps://bugzilla.redhat.com/1142158β Illegal command'part-get-name /dev/sda1 1'cause libguestfs appliance crashedhttps://bugzilla.redhat.com/1142004β virt-v2v prints warning:WARNING:/files/boot/grub/device.mapreferences unknown device"xvda"https://bugzilla.redhat.com/1141723β virt-v2v: error: disk sda has no defined format shows when converting xen hvm guesthttps://bugzilla.redhat.com/1141680β [RFE] virt-v2 should support convert a domain with using domain's UUID instead of domain namehttps://bugzilla.redhat.com/1141631β [RFE] virt-v2 should support convert a guest to a dir-pool with using pool's uuidhttps://bugzilla.redhat.com/1141157β virt-sysprep option'--user-accounts'don't work wellhttps://bugzilla.redhat.com/1141145β virt-v2v fails to convert xen pv guests.
β¦and the list literally keeps going, bestie π the bug-squashing did NOT stop. Every single one of these got fixed in 1.28, and we're archiving them here for the culture:
https://bugzilla.redhat.com/1141113β virt-v2v fails to convert esx guestshttps://bugzilla.redhat.com/1140946β qemu-img shows error message for backing file twicehttps://bugzilla.redhat.com/1140894β No error messages output if append '--format qcow2' after '-a guest.img', guest.img is a raw format image filehttps://bugzilla.redhat.com/1140547β virt-builder option '--format' don't work wellhttps://bugzilla.redhat.com/1140156β RFE: Export to RHEV data domainhttps://bugzilla.redhat.com/1140050β No error shows when multiple conflicting options used with virt-v2vhttps://bugzilla.redhat.com/1139973β Improve the error info when converting xen guest with no passwordless SSH access configuredhttps://bugzilla.redhat.com/1139543β Improve the error info when converting guest with no space lefthttps://bugzilla.redhat.com/1138586β No error shows when converting running guest with virt-v2vhttps://bugzilla.redhat.com/1138184β virt-v2v will fail when converting guests with initramfs-*kdump.img under /boothttps://bugzilla.redhat.com/1138182β xen guest will be kernel panic after converted by virt-v2vhttps://bugzilla.redhat.com/1130189β Annoying message about permissions of /dev/kvmhttps://bugzilla.redhat.com/1123007β libguestfs 'direct' backend should close file descriptors before exec-ing qemu to avoid leaking !O_CLOEXEC fdshttps://bugzilla.redhat.com/1122557β virt-sparsify overwrites block devices if used as output fileshttps://bugzilla.redhat.com/1113156β Empty fstab breaks libguestfs inspectionhttps://bugzilla.redhat.com/1111662β Guestfs.Error("vgchange_uuid_all: Volume group has active logical volumes")https://bugzilla.redhat.com/1109174β virt-win-reg manual page is corruptedhttps://bugzilla.redhat.com/1106548β root gets an error accessing to a non-root dir on a snapshot guestmount VMDK imghttps://bugzilla.redhat.com/1103877β These APIs also need to add toguestfish -hcommand listhttps://bugzilla.redhat.com/1102448β mageia package list is incorrecthttps://bugzilla.redhat.com/1102447β libguestfs 1.27.13 does not build due to libxml library orderhttps://bugzilla.redhat.com/1100498β RFE: non-polling mechanism to detect guestmount --no-fork readinesshttps://bugzilla.redhat.com/1099490β scrub-file can't handle link filehttps://bugzilla.redhat.com/1099284β typo errors in man pages (the irony, we love it π )https://bugzilla.redhat.com/1098718β RFE: virt-builder aliaseshttps://bugzilla.redhat.com/1096465β virt-builder "proxy=off" setting doesn't turn off the proxy for downloadshttps://bugzilla.redhat.com/1094746β virt-sparsify man fails to mention what happens to snapshots within a qcow2 image (they are discarded)https://bugzilla.redhat.com/1092753β virt-builder: If several repos contain the same os-version images, then they are duplicated in -l outputhttps://bugzilla.redhat.com/1091803β tar-in-opts execute failed that cause libguestfs appliance crashedhttps://bugzilla.redhat.com/1088424β virt-resize: libguestfs error: part_set_name: parted: /dev/sdb: Error during translation: Invalid or incomplete multibyte or wide characterhttps://bugzilla.redhat.com/1088262β virt-builder cannot write to a block devicehttps://bugzilla.redhat.com/1085029β Ruby tests fail with latest Rubyhttps://bugzilla.redhat.com/1079210β virt-sparsify --in-place cannot sparsify as much as it shouldhttps://bugzilla.redhat.com/1079182β virt-df cannot report used disk space of windows guest when updated to 6.5https://bugzilla.redhat.com/1077817β virt-builder error: "syntax error at line 3: syntax error"https://bugzilla.redhat.com/1056290β virt-sparsify overwrites block devices if used as output fileshttps://bugzilla.redhat.com/812970βvirt-rescue cannot set β₯<rescue> prompt, on Ubuntu 12.04
fr fr that last one, <rescue> in a manpage, iconic chaotic energy π«Ά
π SEE ALSO
Go read these next, bestie, they're the whole extended universe:
guestfs-examples(1)guestfs-faq(1)guestfs-performance(1)guestfs-recipes(1)guestfs-testing(1)guestfs(3)guestfish(1)http://libguestfs.org/
βοΈ AUTHOR
The one and only Richard W.M. Jones. king behavior π
Β© COPYRIGHT
Copyright (C) 2009-2025 Red Hat Inc.
π LICENSE
Okay so legal stuff, but make it slay β 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. π€ (yes the caps are load-bearing, don't come for me)
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
Found something cursed? We wanna know π
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 β like, actually supply these, don't leave us guessing π₯Ί:
- 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.
"complete, unedited" is doing so much heavy lifting in that last bullet, please don't trim it, the whole output is the vibe check π₯
And that's the page, bestie! π This was libguestfs-1.61.3, dated 2026-09-16, you're reading guestfs-rel...-notes-1.28(1) β go forth and virtualize responsibly πβ¨π¦
π¦ where this page comes from
- centos-stream 10: libguestfs 1:1.61.3-1.el10 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms