1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
|
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Podwrapper::Man 1.54.1 (Pod::Simple 3.45)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Required to disable full justification in groff 1.23.0.
.if n .ds AD l
.\" ========================================================================
.\"
.IX Title "guestfs-release-notes-1.22 1"
.TH guestfs-release-notes-1.22 1 2025-02-18 libguestfs-1.54.1 "Virtualization Support"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH 名前
.IX Header "名前"
guestfs\-release\-notes \- libguestfs リリースノート
.SH "RELEASE NOTES FOR LIBGUESTFS 1.22"
.IX Header "RELEASE NOTES FOR LIBGUESTFS 1.22"
These release notes only cover the differences from the previous stable/dev branch split (1.20.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
.SS "New features"
.IX Subsection "New features"
\fIAPI\fR
.IX Subsection "API"
.PP
Remote access to disks:
.IP \(bu 4
Network Block Device (nbd)
.IP \(bu 4
Secure Shell (ssh)
.IP \(bu 4
HTTP and HTTPS
.IP \(bu 4
FTP and FTPS
.IP \(bu 4
iSCSI
.IP \(bu 4
Gluster
.IP \(bu 4
Ceph/rbd (Mike Kelly)
.IP \(bu 4
Sheepdog
.IP \(bu 4
TFTP
.PP
The SYSLINUX and EXTLINUX bootloaders can now be installed in disk images using the API.
.PP
Inspection can now handle filesystems such as btrfs where subvolumes are separately mountable (Matthew Booth).
.PP
"Attach methods" are now known as "backends". Compatibility with existing code is preserved.
.PP
Filenames can contain \*(Aq:\*(Aq, as long as newer QEMU is being used.
.PP
\fITools\fR
.IX Subsection "Tools"
.PP
Virt\-alignment\-scan and virt\-df scan multiple guests in parallel.
.PP
Guestmount now passes errno accurately back to userspace in almost all cases.
.PP
Guestfish and other tools can now use a URI\-like syntax to access remote disks, eg:
.PP
.Vb 1
\& guestfish \-a ssh://example.com/path/to/disk.img
.Ve
.PP
Guestfish and guestmount now allow you to specify the filesystem type when mounting, which is more secure (Dave Vasilevsky).
.PP
Guestfish is now the "guest filesystem shell".
.PP
Guestfish allows only \f(CW1\fR \f(CW\*(C`true\*(C'\fR \f(CW\*(C`t\*(C'\fR \f(CW\*(C`yes\*(C'\fR \f(CW\*(C`y\*(C'\fR \f(CW\*(C`on\*(C'\fR \f(CW0\fR \f(CW\*(C`false\*(C'\fR \f(CW\*(C`f\*(C'\fR \f(CW\*(C`no\*(C'\fR \f(CW\*(C`n\*(C'\fR \f(CW\*(C`off\*(C'\fR for boolean values (case insensitive), and gives an error for all other strings.
.PP
New tool \f(CW\*(C`guestunmount\*(C'\fR for unmounting FUSE filesystems safely.
.PP
\&\f(CW\*(C`guestmount \-\-no\-fork\*(C'\fR flag prevents guestmount from daemonizing.
.PP
Virt\-resize now uses sparse copies by default, saving considerable space for guests which are mostly empty.
.PP
Bash tab completion has been rewritten and can now handle most tools, and correctly tab\-complete \f(CW\*(C`\-\-long\*(C'\fR options. In addition, bash completion scripts are loaded on demand.
.PP
\fILanguage bindings\fR
.IX Subsection "Language bindings"
.PP
The Java API now supports events.
.PP
The Python object now inherits from the \f(CW\*(C`object\*(C'\fR base class.
.PP
Python methods which previously returned lists of tuples can now be made to return a Python dict. For backwards compatibility, you have to enable this by using the constructor option \f(CW\*(C`guestfs.GuestFS\ (python_return_dict=True)\*(C'\fR.
.PP
The PHP bindings are now tested properly, and have had multiple fixes.
.PP
The long\-deprecated Perl \f(CW\*(C`Sys::Guestfs::Lib\*(C'\fR library has been removed. https://www.redhat.com/archives/libguestfs/2013\-April/msg00001.html
.PP
\fI例\fR
.IX Subsection "例"
.PP
新しいプログラム例は、デバッグを有効化し、ログメッセージを採取する方法を示します。
.PP
\fIOther\fR
.IX Subsection "Other"
.PP
Distributors can add arbitrary extra packages to the appliance by doing:
.PP
.Vb 1
\& ./configure \-\-with\-extra\-packages="list of package names"
.Ve
.PP
Distributors can use:
.PP
.Vb 1
\& ./configure \-\-with\-supermin\-extra\-options="..."
.Ve
.PP
to add arbitrary extra options to supermin.
.SS Security
.IX Subsection "Security"
No security issues were found in this release.
.SS "New APIs"
.IX Subsection "New APIs"
.Vb 10
\& cp\-r
\& extlinux
\& feature\-available
\& get\-program
\& is\-whole\-device
\& part\-get\-gpt\-type
\& part\-set\-gpt\-type
\& rename
\& set\-program
\& syslinux
.Ve
.PP
C のみ:
.PP
.Vb 1
\& guestfs_event_to_string
.Ve
.SS 内部
.IX Subsection "内部"
The febootstrap tool has now been renamed to "supermin". Libguestfs can use either, but now prefers "supermin". http://people.redhat.com/~rjones/supermin/
.PP
libxml2 が libguestfs をビルドするために必要です。
.PP
(hivex の) hivexregedit プログラムが git からビルドするために必要です。
.PP
Internal functions can no longer be used unless the caller defines \f(CW\*(C`\-DGUESTFS_PRIVATE=1\*(C'\fR.
.PP
Enable C compiler warnings in Python, Ruby bindings.
.PP
Fail early and clearly if libvirt does not support qemu/KVM (eg. if default libvirt connection is to Xen).
.PP
\&\f(CW\*(C`make print\-subdirs\*(C'\fR rule, useful for selectively running tests.
.PP
Multiple fixes to allow separated (sourcedir != builddir) builds.
.PP
Multiple fixes to Haskell bindings.
.PP
\&\f(CW\*(C`ln\*(C'\fR and \f(CW\*(C`ln\-f\*(C'\fR APIs now capture \f(CW\*(C`errno\*(C'\fR correctly.
.PP
Language binding tests use (mostly) a standard numbering scheme and aim to test the same range of features in each language. Also the number of launches required has been reduced so these tests should run much more quickly.
.PP
Library code internally uses GCC \f(CW\*(C`_\|_attribute_\|_((cleanup))\*(C'\fR (if available) to simplify memory allocation.
.PP
Internal header files have been reorganized. See the comments in \fIsrc/guestfs\-internal*.h\fR
.PP
Internal code shared between the library and certain tools is now located in a static \f(CW\*(C`libutils\*(C'\fR library.
.PP
Almost all subdirectories can now use parallel builds, although note that the top\-level directories still build in series.
.PP
Use of \f(CW\*(C`PATH_MAX\*(C'\fR and \f(CW\*(C`NAME_MAX\*(C'\fR has been eliminated from the code.
.PP
The Java API now requires JVM ≥ 1.6.
.PP
Force use of \f(CW\*(C`serial\-tests\*(C'\fR with automake ≥ 1.12.
.PP
Use of sockets in the library protocol layer is abstracted, allowing other non\-POSIX layers to be added in future (see \fIsrc/conn\-socket.c\fR).
.PP
\&\f(CW\*(C`qemu\-img info \-\-output json\*(C'\fR is used if available, for more secure parsing of the output of this command.
.PP
Distros can now use \f(CW\*(C`make INSTALLDIRS=vendor install\*(C'\fR to place Ruby bindings in vendordir. This eliminates a non\-upstream patch carried by both Fedora and Debian.
.PP
Valgrind log files are now written to \fItmp/valgrind\-DATE\-PID.log\fR
.PP
\&\f(CW\*(C`make clean\*(C'\fR cleans the local \f(CW\*(C`tmp/\*(C'\fR directory.
.PP
The C API tests have been rewritten using a more flexible generator language that allows arbitrary C code to be executing during tests.
.SS バグ修正
.IX Subsection "バグ修正"
.IP https://bugzilla.redhat.com/961812 4
.IX Item "https://bugzilla.redhat.com/961812"
Segfault in inspect\-fs.c in mountable code
.IP https://bugzilla.redhat.com/957772 4
.IX Item "https://bugzilla.redhat.com/957772"
tar\-out and base64\-out quoting error
.IP https://bugzilla.redhat.com/957380 4
.IX Item "https://bugzilla.redhat.com/957380"
libguestfs: error: btrfsvol:/dev/sda2/root: root device not found: only call this function with a root device previously returned by guestfs_inspect_os
.IP https://bugzilla.redhat.com/948324 4
.IX Item "https://bugzilla.redhat.com/948324"
inspection fails if libosinfo is not installed
.IP https://bugzilla.redhat.com/928995 4
.IX Item "https://bugzilla.redhat.com/928995"
file on zero\-sized file now produces "empty " instead of "empty"
.IP https://bugzilla.redhat.com/921292 4
.IX Item "https://bugzilla.redhat.com/921292"
qemu: could not open disk image /tmp/.../snapshot1: Permission denied
.IP https://bugzilla.redhat.com/921040 4
.IX Item "https://bugzilla.redhat.com/921040"
"error: external command failed, see earlier error messages" message needs to change
.IP https://bugzilla.redhat.com/920225 4
.IX Item "https://bugzilla.redhat.com/920225"
libguestfs should use \-\-output json (if supported) to safely parse the output of qemu\-img command
.IP https://bugzilla.redhat.com/916780 4
.IX Item "https://bugzilla.redhat.com/916780"
機能リクエスト: guestmount \-\-with\-cleanup\-pipefd
.IP https://bugzilla.redhat.com/914934 4
.IX Item "https://bugzilla.redhat.com/914934"
oom\-killer kills guestfsd when tar\-in a lot of data
.IP https://bugzilla.redhat.com/914931 4
.IX Item "https://bugzilla.redhat.com/914931"
FileIn commands cause segfault if appliance dies during the file copy in
.IP https://bugzilla.redhat.com/913145 4
.IX Item "https://bugzilla.redhat.com/913145"
Misc leaks in virNetClientProgramCall in libvirt 1.0.2
.IP https://bugzilla.redhat.com/912499 4
.IX Item "https://bugzilla.redhat.com/912499"
Security context on image file gets reset
.IP https://bugzilla.redhat.com/909836 4
.IX Item "https://bugzilla.redhat.com/909836"
libguestfs\-test\-tool \-\-qemu segfaults
.IP https://bugzilla.redhat.com/909624 4
.IX Item "https://bugzilla.redhat.com/909624"
Unexpected non\-tail recursion in recv_from_daemon results in stack overflow in very long\-running API calls that send progress messages
.IP https://bugzilla.redhat.com/908322 4
.IX Item "https://bugzilla.redhat.com/908322"
virt\-tar fails on non\-existent directory names "error in chunked encoding at /home/rjones/d/libguestfs/tools/virt\-tar line 272."
.IP https://bugzilla.redhat.com/908321 4
.IX Item "https://bugzilla.redhat.com/908321"
virt\-cat fails on directory names "/dev/stdout: error in chunked encoding"
.IP https://bugzilla.redhat.com/907554 4
.IX Item "https://bugzilla.redhat.com/907554"
btrfs causes subsequent ntfs\-3g filesystem to fail
.IP https://bugzilla.redhat.com/905341 4
.IX Item "https://bugzilla.redhat.com/905341"
"No such file or directory" when execute "hivex\-commit"
.IP https://bugzilla.redhat.com/903620 4
.IX Item "https://bugzilla.redhat.com/903620"
btrfs_subvolume_list broken due to change in subvolume list output
.IP https://bugzilla.redhat.com/895910 4
.IX Item "https://bugzilla.redhat.com/895910"
guestmount: \fBrename()\fR incorrectly follows symbolic links
.IP https://bugzilla.redhat.com/895905 4
.IX Item "https://bugzilla.redhat.com/895905"
guestmount: \fBlink()\fR incorrectly returns ENOENT, when it should be EXDEV
.IP https://bugzilla.redhat.com/895904 4
.IX Item "https://bugzilla.redhat.com/895904"
checksums\-out fail to compute the checksums of all regular files in directory
.IP https://bugzilla.redhat.com/894545 4
.IX Item "https://bugzilla.redhat.com/894545"
libguestfs FTBFS on Fedora 19 because of new ruby
.IP https://bugzilla.redhat.com/890027 4
.IX Item "https://bugzilla.redhat.com/890027"
virt\-sysprep: Setting hostname, domain name and pretty name on Fedora 18 correctly
.IP https://bugzilla.redhat.com/887971 4
.IX Item "https://bugzilla.redhat.com/887971"
pvcreate fails if partition contains a swap signature
.IP https://bugzilla.redhat.com/887520 4
.IX Item "https://bugzilla.redhat.com/887520"
zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate memory
.IP https://bugzilla.redhat.com/886915 4
.IX Item "https://bugzilla.redhat.com/886915"
libguestfs with libvirt attach\-method fails with odd error if default hypervisor is Xen
.IP https://bugzilla.redhat.com/847549 4
.IX Item "https://bugzilla.redhat.com/847549"
Adding a zero\-length virtio\-scsi disk causes: qemu\-kvm: hw/scsi\-bus.c:1568: scsi_req_complete: Assertion \`req\->status == \-1\*(Aq failed.
.IP https://bugzilla.redhat.com/811649 4
.IX Item "https://bugzilla.redhat.com/811649"
libguestfs cannot open disk images which are symlinks to files that contain \*(Aq:\*(Aq (colon) character
.IP https://bugzilla.redhat.com/664558 4
.IX Item "https://bugzilla.redhat.com/664558"
RFE: Allow to set log callback in Ruby bindings
.SH 関連項目
.IX Header "関連項目"
\&\fBguestfs\-examples\fR\|(1), \fBguestfs\-faq\fR\|(1), \fBguestfs\-performance\fR\|(1), \fBguestfs\-recipes\fR\|(1), \fBguestfs\-testing\fR\|(1), \fBguestfs\fR\|(3), \fBguestfish\fR\|(1), http://libguestfs.org/
.SH 著者
.IX Header "著者"
Richard W.M. Jones
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright (C) 2009\-2023 Red Hat Inc.
.SH LICENSE
.IX Header "LICENSE"
.SH BUGS
.IX Header "BUGS"
To get a list of bugs against libguestfs, use this link:
https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
.PP
To report a new bug against libguestfs, use this link:
https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
.PP
When reporting a bug, please supply:
.IP \(bu 4
The version of libguestfs.
.IP \(bu 4
Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
.IP \(bu 4
Describe the bug accurately and give a way to reproduce it.
.IP \(bu 4
Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR
output into the bug report.
|