1guestfs-release-notes-1.26(1)Virtualization Supportguestfs-release-notes-1.26(1)
2
3
4

NAME

6       guestfs-release-notes - libguestfs Release Notes
7

RELEASE NOTES FOR LIBGUESTFS 1.26

9       These release notes only cover the differences from the previous
10       stable/dev branch split (1.24.0).  For detailed changelogs, please see
11       the git repository, or the ChangeLog file distributed in the tarball.
12
13   New features
14       Tools
15
16       virt-customize(1) is a new tool for customizing virtual machine disk
17       images.  It lets you install packages, edit configuration files, run
18       scripts, set passwords and so on.  virt-builder(1) and virt-sysprep(1)
19       use virt-customize, and command line options across all these tools are
20       now identical.
21
22       virt-diff(1) is a new tool for showing the differences between the
23       filesystems of two virtual machines.  It is mainly useful when showing
24       what files have been changed between snapshots.
25
26       virt-builder(1) has been greatly enhanced.  There are many more ways to
27       customize the virtual machine.  It can pull templates from multiple
28       repositories.  A parallelized internal xzcat implementation speeds up
29       template decompression.  Virt-builder uses an optimizing planner to
30       choose the fastest way to build the VM.  It is now easier to use virt-
31       builder from other programs.  Internationalization support has been
32       added to metadata.  More efficient SELinux relabelling of files.  Can
33       build guests for multiple architectures.  Error messages have been
34       improved.  (Pino Toscano)
35
36       virt-sparsify(1) has a new --in-place option.  This sparsifies an image
37       in place (without copying it) and is also much faster.  (Lots of help
38       provided by Paolo Bonzini)
39
40       virt-sysprep(1) can delete and scrub files under user control.  You can
41       lock user accounts or set random passwords on accounts.  Can remove
42       more log files.  Can unsubscribe a guest from Red Hat Subscription
43       Manager.  New flexible way to enable and disable operations.  (Wanlong
44       Gao, Pino Toscano)
45
46       virt-win-reg(1) allows you to use URIs to specify remote disk images.
47
48       virt-format(1) can now pass the extra space that it recovers back to
49       the host.
50
51       guestfish(1) has additional environment variables to give fine control
52       over the "><fs>" prompt.  Guestfish reads its (rarely used)
53       configuration file in a different order now so that local settings
54       override global settings.  (Pino Toscano)
55
56       virt-make-fs(1) was rewritten in C, but is unchanged in terms of
57       functionality and command line usage.
58
59       Language bindings
60
61       The OCaml bindings have a new "Guestfs.Errno" module, used to check the
62       error number returned by "Guestfs.last_errno".
63
64       PHP tests now work.  (Pino Toscano)
65
66       Inspection
67
68       Inspection can recognize Debian live images.
69
70       Architectures
71
72       ARMv7 (32 bit) now supports KVM acceleration.
73
74       Aarch64 (ARM 64 bit) is supported, but the appliance part does not work
75       yet.
76
77       PPC64 support has been fixed and enhanced.
78
79   Security
80       Denial of service when inspecting disk images with corrupt btrfs
81       volumes
82           It was possible to crash libguestfs (and programs that use
83           libguestfs as a library) by presenting a disk image containing a
84           corrupt btrfs volume.
85
86           This was caused by a NULL pointer dereference causing a denial of
87           service, and is not thought to be exploitable any further.
88
89           See commit d70ceb4cbea165c960710576efac5a5716055486 for the fix.
90           This fix is included in libguestfs stable branches ≥ 1.26.0,
91           ≥ 1.24.6 and ≥ 1.22.8, and also in RHEL ≥ 7.0.  Earlier versions of
92           libguestfs are not vulnerable.
93
94       Better generation of random root passwords and random seeds
95           When generating random root passwords and random seeds, two bugs
96           were fixed which are possibly security related.  Firstly we no
97           longer read excessive bytes from /dev/urandom (most of which were
98           just thrown away).  Secondly we changed the code to avoid modulo
99           bias.  These issues were not thought to be exploitable.  (Both
100           changes suggested by Edwin Török)
101
102   API
103       GUID parameters are now validated when they are passed to API calls,
104       whereas previously you could have passed any string.  (Pino Toscano)
105
106       New APIs
107
108       "guestfs_add_drive_opts": new "discard" parameter
109           The new "discard" parameter allows fine-grained control over
110           discard/trim support for a particular disk.  This allows the host
111           file to become more sparse (or thin-provisioned) when you delete
112           files or issue the "guestfs_fstrim" API call.
113
114       "guestfs_add_domain": new parameters: "cachemode", "discard"
115           These parameters are passed through when adding the domain's disks.
116
117       "guestfs_blkdiscard"
118           Discard all blocks on a guestfs device.  Combined with the
119           "discard" parameter above, this makes the host file sparse.
120
121       "guestfs_blkdiscardzeroes"
122           Test if discarded blocks read back as zeroes.
123
124       "guestfs_compare_*"
125       "guestfs_copy_*"
126           For each struct returned through the API, libguestfs now generates
127           "guestfs_compare_*" and "guestfs_copy_*" functions to allow you to
128           compare and copy structs.
129
130       "guestfs_copy_attributes"
131           Copy attributes (like permissions, xattrs, ownership) from one file
132           to another.  (Pino Toscano)
133
134       "guestfs_disk_create"
135           A flexible API for creating empty disk images from scratch.  This
136           avoids the need to call out to external programs like qemu-img(1).
137
138       "guestfs_get_backend_settings"
139       "guestfs_set_backend_settings"
140           Per-backend settings (can also be set via the environment variable
141           "LIBGUESTFS_BACKEND_SETTINGS").  The main use for this is forcing
142           TCG mode in the qemu-based backends, for example:
143
144            export LIBGUESTFS_BACKEND=direct
145            export LIBGUESTFS_BACKEND_SETTINGS=force_tcg
146
147       "guestfs_part_get_name"
148           Get the label or name of a partition (for GPT disk images).
149
150   Build changes
151       The following extra packages are required to build libguestfs 1.26:
152
153       supermin ≥ 5
154           Supermin version 5 is required to build this version of libguestfs.
155
156       flex, bison
157           Virt-builder now uses a real parser to parse its metadata file, so
158           these tools are required.
159
160       xz  This is now a required build dependency, where previously it was
161           (in theory) optional.
162
163   Internals
164       PO message extraction rewritten to be more robust.  (Pino Toscano)
165
166       "podwrapper" gives an error if the --insert or --verbatim argument
167       pattern is not found.
168
169       Libguestfs now passes the qemu -enable-fips option to enable FIPS, if
170       qemu supports it.
171
172       "./configure --without-qemu" can be used if you don't want to specify a
173       default hypervisor.
174
175       Copy-on-write [COW] overlays, used for example for read-only drives,
176       are now created through an internal backend API
177       (".create_cow_overlay").
178
179       Libvirt backend uses some funky C macros to generate XML.  These are
180       simpler and safer.
181
182       The ChangeLog file format has changed.  It is now just the same as "git
183       log", instead of using a custom format.
184
185       Appliance start-up has changed:
186
187       •   The libguestfs appliance now initializes LVM the same way as it is
188           done on physical machines.
189
190       •   The libguestfs appliance does not write an empty string to
191           /proc/sys/kernel/hotplug when starting up.
192
193           Note that you must configure your kernel to have
194           "CONFIG_UEVENT_HELPER_PATH=""" otherwise you will get strange LVM
195           errors (this applies as much to any Linux machine, not just
196           libguestfs).  (Peter Rajnoha)
197
198       Libguestfs can now be built on arches that have ocamlc(1) but not
199       ocamlopt(1).  (Hilko Bengen, Olaf Hering)
200
201       You cannot use "./configure --disable-daemon --enable-appliance".  It
202       made no sense anyway.  Now it is expressly forbidden by the configure
203       script.
204
205       The packagelist file uses "m4" for macro expansion instead of "cpp".
206
207   Bugs fixed
208       https://bugzilla.redhat.com/1073906
209           java bindings inspect_list_applications2 throws
210           java.lang.ArrayIndexOutOfBoundsException:
211
212       https://bugzilla.redhat.com/1063374
213           [RFE] enable subscription manager clean or unregister operation to
214           sysprep
215
216       https://bugzilla.redhat.com/1060404
217           virt-resize does not preserve GPT partition names
218
219       https://bugzilla.redhat.com/1057504
220           mount-local should give a clearer error if root is not mounted
221
222       https://bugzilla.redhat.com/1056290
223           virt-sparsify overwrites block devices if used as output files
224
225       https://bugzilla.redhat.com/1055452
226           libguestfs: error: invalid backend: appliance
227
228       https://bugzilla.redhat.com/1054761
229           guestfs_pvs prints "unknown device" if a physical volume is missing
230
231       https://bugzilla.redhat.com/1053847
232           Recommended default clock/timer settings
233
234       https://bugzilla.redhat.com/1046509
235           ruby-libguestfs throws "expecting 0 or 1 arguments" on
236           Guestfs::Guestfs.new
237
238       https://bugzilla.redhat.com/1045450
239           Cannot inspect cirros 0.3.1 disk image fully
240
241       https://bugzilla.redhat.com/1045033
242           LIBVIRT_DEFAULT_URI=qemu:///system breaks libguestfs
243
244       https://bugzilla.redhat.com/1044585
245           virt-builder network (eg. --install) doesn't work if resolv.conf
246           sets nameserver 127.0.0.1
247
248       https://bugzilla.redhat.com/1044014
249           When SSSD is installed, libvirt configuration requires
250           authentication, but not clear to user
251
252       https://bugzilla.redhat.com/1039995
253           virt-make-fs fails making fat/vfat whole disk: Device partition
254           expected, not making filesystem on entire device '/dev/sda' (use -I
255           to override)
256
257       https://bugzilla.redhat.com/1039540
258           virt-sysprep to delete more logfiles
259
260       https://bugzilla.redhat.com/1033207
261           RFE: libguestfs inspection does not recognize Free4NAS live CD
262
263       https://bugzilla.redhat.com/1028660
264           RFE: virt-sysprep/virt-builder should have an option to lock a user
265           account
266
267       https://bugzilla.redhat.com/1026688
268           libguestfs fails examining libvirt guest with ceph drives: rbd:
269           image name must begin with a '/'
270
271       https://bugzilla.redhat.com/1022431
272           virt-builder fails if $HOME/.cache doesn't exist
273
274       https://bugzilla.redhat.com/1022184
275           libguestfs: do not use versioned jar file
276
277       https://bugzilla.redhat.com/1020806
278           All libguestfs LVM operations fail on Debian/Ubuntu
279
280       https://bugzilla.redhat.com/1008417
281           Need update helpout of part-set-gpt-type
282
283       https://bugzilla.redhat.com/953907
284           virt-sysprep does not correctly set the hostname on Debian/Ubuntu
285
286       https://bugzilla.redhat.com/923355
287           guestfish prints literal "\n" in error messages
288
289       https://bugzilla.redhat.com/660687
290           guestmount: "touch" command fails: touch: setting times of
291           `timestamp': Invalid argument
292
293       https://bugzilla.redhat.com/593511
294           [RFE] function to get partition name
295
296       https://bugzilla.redhat.com/563450
297           list-devices returns devices of different types out of order
298

SEE ALSO

300       guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
301       guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
302       http://libguestfs.org/
303

AUTHOR

305       Richard W.M. Jones
306
308       Copyright (C) 2009-2020 Red Hat Inc.
309

LICENSE

311       This program is free software; you can redistribute it and/or modify it
312       under the terms of the GNU General Public License as published by the
313       Free Software Foundation; either version 2 of the License, or (at your
314       option) any later version.
315
316       This program is distributed in the hope that it will be useful, but
317       WITHOUT ANY WARRANTY; without even the implied warranty of
318       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
319       General Public License for more details.
320
321       You should have received a copy of the GNU General Public License along
322       with this program; if not, write to the Free Software Foundation, Inc.,
323       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
324

BUGS

326       To get a list of bugs against libguestfs, use this link:
327       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
328
329       To report a new bug against libguestfs, use this link:
330       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
331
332       When reporting a bug, please supply:
333
334       •   The version of libguestfs.
335
336       •   Where you got libguestfs (eg. which Linux distro, compiled from
337           source, etc)
338
339       •   Describe the bug accurately and give a way to reproduce it.
340
341       •   Run libguestfs-test-tool(1) and paste the complete, unedited output
342           into the bug report.
343
344
345
346libguestfs-1.49.9                 2023-01-19     guestfs-release-notes-1.26(1)
Impressum