File: guestfs-release-notes-1.34.1

package info (click to toggle)
libguestfs 1%3A1.44.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 118,932 kB
  • sloc: ansic: 458,017; ml: 51,424; sh: 13,191; java: 9,578; makefile: 7,931; cs: 6,328; haskell: 5,674; python: 3,871; perl: 3,528; erlang: 2,446; xml: 1,347; ruby: 350; pascal: 257; javascript: 157; lex: 135; yacc: 128; cpp: 10
file content (810 lines) | stat: -rw-r--r-- 48,084 bytes parent folder | download
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
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.40)
.\"
.\" 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
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    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
.\" ========================================================================
.\"
.IX Title "guestfs-release-notes-1.34 1"
.TH guestfs-release-notes-1.34 1 "2021-01-05" "libguestfs-1.44.0" "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 "НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.34"
.IX Header "НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.34"
Ці нотатки щодо випуску стосуються лише відмінностей від попереднього
стабільного випуску (1.32.0). Докладний журнал змін є частиною журналу змін
сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву
tar із кодом бібліотеки.
.SS "Нові можливості"
.IX Subsection "Нові можливості"
Декілька поліпшень швидкодії у libguestfs. Час «кешування угарячу» для
запуску базової системи має бути меншим за 1 секунду, якщо встановлено
новітні qemu та ядро. Також створено нові інструменти для точного тестування
швидкодії libguestfs (\fIutils/boot\-benchmark\fR та \fIutils/boot\-analysis\fR у
ієрархії початкового коду).
.PP
Програма virt\-p2v для перетворення фізичних машин на віртуальні машини
зазнала значного поліпшення. Це зокрема простіше розфарбоване виведення
даних під час перетворень, підтримка Gtk 3, докладніші відомості щодо
обладнання, реалізація клацання для ідентифікації інтерфейсів мережі, більше
засобів діагностики, що включаються до \s-1ISO\s0 та багато виправлень вад.
.PP
Реалізовано підтримку f2fs (дружньої до флешок файлової системи) (Pino
Toscano).
.PP
\fIНові інструменти\fR
.IX Subsection "Нові інструменти"
.PP
Реалізовано можливість скористатися \fBvirt\-p2v\-make\-kiwi\fR\|(1) для збирання
образів \s-1ISO\s0 virt\-p2v на основі \s-1SLES\s0 і openSUSE за допомогою інструментарію
kiwi (Cédric Bosdonnat).
.PP
\fIНові можливості у наявних інструментах\fR
.IX Subsection "Нові можливості у наявних інструментах"
.PP
Нова версія virt-resize зберігає \s-1GUID GPT.\s0 Ця версія є обов'язковою для
роботи з Windows Server 2012 R2, де завантажувач не працюватиме, якщо
змінюється \s-1GUID\s0 (Maxim Perevedentsev).
.PP
Нова версія virt-resize використовує розріджене копіювання для розширених
розділів (у старому стилі \s-1MBR\s0). Значно пришвидшує зміну розмірів гостьових
систем, які використовують розширені розділи (Maxim Perevedentsev).
.PP
Реалізовано використання параметрів командного рядка ядра virt\-p2v для
встановлення типових значень у графічному засобі налаштовування.
.PP
Повністю вилучено параметри діагностики virt\-p2v, що спростило інтерфейс і
документацію. Діагностичні відомості тепер перехоплюються повністю
автоматично.
.PP
virt\-p2v\-make\-disk у новій версії надає вам змогу вказати параметр
\&\fI\-\-arch\fR, уможливлюючи збирання 32\-бітової virt\-p2v для сумісності із
застарілими системами.
.PP
Для нової версії virt\-p2v\-make\-disk більше немає потреби вказувати
\&\f(CW\*(C`версію\-ОС\*(C'\fR для диска virt\-p2v. Якщо версію не вказано, програма
намагатиметься вибрати відповідну \f(CW\*(C`версію\-ОС\*(C'\fR за вашою основною системою.
.PP
До virt\-p2v\-make\-disk і virt\-p2v\-make\-kickstart додано новий параметр
\&\fI\-\-install\fR, за допомогою якого можна додавати довільні пакунки до образу
\&\s-1ISO\s0 virt\-p2v, для налаштовування, отримання додаткових інструментів
діагностики тощо.
.PP
Нова версія virt\-v2v вилучає Parallels Tools (або еквівалентні Virtuozzo
Tools) з гостьових систем Linux. Також припинено завантаження драйверів
Windows під час завантаження системи . (Roman Kagan і Pavel Butsykin)
.PP
Розширено можливості режиму virt\-v2v \fI\-\-in\-place\fR так, щоб уможливити для
функції виклику вибір, встановлювати чи ні певні драйвери virtio до
гостьової системи (Roman Kagan).
.PP
Засоби перетворення virt\-v2v гостьових систем Windows значно переписано і
спрощено (Roman Kagan).
.PP
У новій версії режиму virt\-v2v \fI\-\-in\-place\fR передбачено підтримку
встановлення драйверів virtio-scsi до гостьової системи (Roman Kagan).
.PP
Нова версія virt\-v2v може перетворювати гостьові системи \s-1SUSE\s0 та гостьові
системи \s-1SUSE\s0 з використанням \s-1UEFI\s0 (Cédric Bosdonnat і Jim Fehlig).
.PP
Нова версія virt\-v2v може перетворювати гостьові системи Glance із
декількома дисками. Раніше програма показувала повідомлення про помилку для
таких гостьових систем.
.PP
Параметри virt\-v2v \fI\-\-no\-trim\fR і \fI\-\-vmtype\fR тепер не призводять до
виконання будь\-яких дій. Програма показує попередження і просто ігнорує
параметри. Нова версія virt\-v2v може створювати vmtype \s-1OVF\s0 правильно без
втручання користувача.
.PP
Нову версію virt\-v2v можна тестувати у Xen \s-1SUSE\s0 як початковому гіпервізорі
(Cédric Bosdonnat).
.PP
У virt\-v2v додано підтримку драйверів \s-1VMDP SUSE\s0 (Cédric Bosdonnat).
.PP
Нова версія virt\-v2v може перетворювати файли \s-1OVA,\s0 які містять підтеки, які
створено за допомогою \s-1SUSE\s0 Studio (Cédric Bosdonnat).
.PP
Нова версія virt\-v2v правильно встановлює елемент \s-1OVF\s0
\&\f(CW\*(C`<Origin>\*(C'\fR. Можливості oVirt розширено з метою підтримки ширшого
спектра гіпервізорів (Shahar Havivi).
.PP
У новій версії virt\-v2v передбачено підтримку Windows Server 2016 (Tomáš
Golembiovský).
.PP
Параметром virt-builder \fI\-\-list\fR тепер можна скористатися для перегляду
усіх шаблонів або окремого шаблона (Pino Toscano).
.PP
В усіх заснованих на OCaml інструментах тепер використовується
\&\fBgetopt_long\fR\|(3) для обробки параметрів. Поліпшено виведення \fI\-\-help\fR
(Pino Toscano).
.PP
За допомогою параметра \fI\-\-selinux\-relabel\fR virt-builder і virt-customize у
новій версії можна повністю повторно встановити мітки для усієї гостьової
файлової системи під час збирання без потреби у довгому автоматичному
повторному встановленні міток під час першого завантаження.
.PP
virt-customize \fI\-\-delete\fR у новій версії може обробляти символи\-замінники.
.PP
За допомогою нового параметра virt-customize \fI\-\-uninstall\fR ви зможете
вилучати пакунки.
.PP
Нова версія virt-customize може використовувати \f(CW\*(C`pvvxsvc\*(C'\fR як альтернативу
до \f(CW\*(C`rhsrvany\*(C'\fR для запуску скриптів firstboot у гостьових системах Windows
(Cédric Bosdonnat).
.PP
virt-customize тепер використовує найстійкішу схему хешування паролів у Arch
та Void Linux (Pino Toscano).
.PP
virt-customize \fI\-\-install\fR тепер працює належним чином у Arch (Pino
Toscano).
.PP
virt-inspector має нові параметри \fI\-\-no\-applications\fR і \fI\-\-no\-icon\fR для
запобігання включенню списку програм та піктограм до виведених даних \s-1XML\s0
(Pino Toscano).
.PP
Додано новий параметр virt-sysprep \fI\-\-network\fR, за допомогою якого ви
можете насправді скористатися параметрами \fI\-\-install\fR та іншими, які були у
virt-sysprep і раніше, але не працювали. Зауважте, що типово мережу все ще
вимкнено.
.PP
Дія virt-sysprep \f(CW\*(C`fs\-uuids\*(C'\fR більше не завершує роботу помилкою для
гостьових систем btrfs (Maxim Perevedentsev).
.PP
virt-dib тепер може виводити образи для Docker (Pino Toscano).
.PP
У virt-dib реалізовано новий параметр \fI\-\-drive\-format\fR, за допомогою якого
можна вказати формат допоміжного диска (Pino Toscano).
.PP
Усі засоби віртуалізації OCaml тепер мають параметр
\&\fI\-\-colors\fR/\fI\-\-colours\fR, який вмикає розфарбовування виведених даних (за
допомогою екранованих послідовностей \s-1ANSI\s0), навіть якщо виведення
відбувається не до tty. Типовою поведінкою є перевірка, чи виводяться дані
до tty, і вимикання розфарбовування даних, якщо ні. Це надає змогу
передавати розфарбовані виведені дані для обробки іншим програмам.
.PP
\fIПрив’язки до мов програмування\fR
.IX Subsection "Прив’язки до мов програмування"
.PP
Удосконалено покриття тестами \s-1PHP\s0 (Pino Toscano).
.PP
Реалізовано підтримку \s-1PHP 7\s0 (Pino Toscano).
.PP
Прив'язки Python тепер сумісні з \s-1PEP 8\s0 (Pino Toscano).
.PP
Пакунок pip Python доступний з http://libguestfs.org/download/python/
.PP
Прив'язки до Ruby тепер виводять текст виключення повністю, якщо такий
видано зворотним викликом події. Зауважте, що це не зовсім коректна
поведінка, оскільки зворотні виклики подій не повинні видавати виключення,
але це допомагає у діагностиці.
.PP
Усі бібліотеки і програми OCaml тепер збираються з прапорцем
\&\fI\-safe\-string\fR, якщо його підтримку передбачено у компіляторі OCaml.
.PP
\fIПеревірка\fR
.IX Subsection "Перевірка"
.PP
Тепер можна інспектувати Alpine Linux з використанням busybox. Крім того, у
virt-customize передбачено підтримку засобу керування пакунками \s-1APK\s0 (Pino
Toscano).
.PP
Реалізовано інспектування Mageia 4 (Pino Toscano).
.PP
Повністю реалізовано підтримку Void Linux та засобу керування пакунками pbs
з Void Linux xbps (Pino Toscano).
.PP
Удосконалено обробку даних щодо версії CoreOS (Pino Toscano).
.PP
Уможливлено отримання піктограми з \s-1ALT\s0 Linux (Pino Toscano).
.PP
Тепер розпізнаються версії \s-1PLD\s0 Linux < 3 (Pino Toscano).
.PP
Реалізовано повернення літер дисків Windows для гостьових систем з
використанням розділів \s-1GPT\s0 (Dawid Zamirski).
.PP
Реалізовано правильне інспектування гостьових систем Unix, у яких немає
файла \fI/etc/fstab\fR (Pino Toscano).
.PP
Додано нове джерело піктограми Ubuntu, яке не покладається на встановлення
\&\s-1GNOME\s0 у гостьовій системі.
.PP
Реалізовано отримання піктограми для 64\-бітових гостьових систем Windows 7.
.PP
Переписано код інтеграції libosinfo так, щоб можна було працювати із новим
форматом бази даних від osinfo (Pino Toscano).
.PP
\fIДокументація\fR
.IX Subsection "Документація"
.PP
Нова сторінка підручника, \fBguestfs\-building\fR\|(1), де наведено настанови щодо
того, як зібрати libguestfs з початкових кодів.
.PP
Сторінки підручника, засоби та виведення параметра \fI\-\-help\fR тепер
автоматично перевіряються так, щоб забезпечити повне документування,
включення належних розділів попередження та додавання до кожної сторінки
розділу опису.
.PP
Оновлено сторінку підручника \fBguestfs\-testing\fR\|(1); тепер дані на ній
відповідають новішій libguestfs.
.PP
\fIАрхітектури і платформи\fR
.IX Subsection "Архітектури і платформи"
.PP
virt-customize тепер працює на платформах \s-1POWER7\s0 і \s-1POWER8,\s0 у обох варіантах,
із прямим та зворотним порядком байтів (Xianghua Chen і Hu Zhang).
.SS "Безпека"
.IX Subsection "Безпека"
Див. також \fBguestfs\-security\fR\|(1).
.PP
\fI\s-1CVE\-2015\-8869\s0\fR
.IX Subsection "CVE-2015-8869"
.PP
https://bugzilla.redhat.com/CVE\-2015\-8869
.PP
Ця вразливість у OCaml може стосуватися усіх інструментів віртуалізації, які
написано мовою програмування OCaml. Вона стосується лише 64\-бітових
платформ. Оскільки ця вада стосується створення коду, важко визначити точний
перелік вражених програм, тому рекомендують повторно зібрати libguestfs за
допомогою версії компілятора OCaml, де цю ваду виправлено (або попросити
розробників вашого дистрибутива Linux зробити це для вас).
.PP
\fIПрава власності virt-customize на \fI.ssh\fI, \fI.ssh/authorized_keys\fI\fR
.IX Subsection "Права власності virt-customize на .ssh, .ssh/authorized_keys"
.PP
https://bugzilla.redhat.com/1337561
.PP
Раніше, коли virt-customize вставляла ключ \s-1SSH\s0 до гостьової системи,
створюючи у каталозі \fI~/.ssh\fR файл \fI~/.ssh/authorized_keys\fR (якщо їх ще не
було), вона надавала їм права власності \f(CW\*(C`root.root\*(C'\fR. Цю помилку було
виправлено. Тепер використовується правильні значення користувача і
групи. Ми думаємо, що цією вразливість було неможливо скористатися.
.PP
\fIWindows \f(CI\*(C`%systemroot%\*(C'\fI\fR
.IX Subsection "Windows %systemroot%"
.PP
Код засобу інспектування було зроблено стійкішим до гостьових систем, де міг
використовуватися дуже довгий \f(CW\*(C`%systemroot%\*(C'\fR (успадкований від керованого
гостьовою системою реєстру Windows). Ми вважаємо, що цією вразливістю
неможливо скористатися.
.PP
\fIУ базовій системі тепер доступною є програма Virtio-rng\fR
.IX Subsection "У базовій системі тепер доступною є програма Virtio-rng"
.PP
virtio-rng (віртуальний пристрій\-генератор випадкових чисел) тепер
передається до базової системи, що має поліпшити якість псевдовипадкових
чисел, які використовуються для \s-1GUID\s0 та створення криптографічних ключів.
.SS "\s-1API\s0"
.IX Subsection "API"
\fIНові програмні інтерфейси\fR
.IX Subsection "Нові програмні інтерфейси"
.ie n .IP """btrfs_filesystem_show""" 4
.el .IP "\f(CWbtrfs_filesystem_show\fR" 4
.IX Item "btrfs_filesystem_show"
Реалізовано показу усіх пристроїв, на які поширюється файлова система btrfs
(Pino Toscano).
.ie n .IP """download_blocks""" 4
.el .IP "\f(CWdownload_blocks\fR" 4
.IX Item "download_blocks"
.PD 0
.ie n .IP """download_inode""" 4
.el .IP "\f(CWdownload_inode\fR" 4
.IX Item "download_inode"
.ie n .IP """filesystem_walk""" 4
.el .IP "\f(CWfilesystem_walk\fR" 4
.IX Item "filesystem_walk"
.PD
Отримує блоки даних файлової системи для вказаного розділу. Отримує довільні
файли за номером inode. Отримує усі файли з файлової системи, включно із
вилученими.
.Sp
Зауважте, що ці зміни потребують встановлення додаткової залежності, The
Sleuth Kit.  (Matteo Cafasso)
.ie n .IP """get_sockdir""" 4
.el .IP "\f(CWget_sockdir\fR" 4
.IX Item "get_sockdir"
Реалізовано читання шляху, де зберігаються тимчасові сокети (Pino Toscano).
.ie n .IP """mountable_device""" 4
.el .IP "\f(CWmountable_device\fR" 4
.IX Item "mountable_device"
.PD 0
.ie n .IP """mountable_subvolume""" 4
.el .IP "\f(CWmountable_subvolume\fR" 4
.IX Item "mountable_subvolume"
.PD
Реалізовано поділ адреси змонтованого пристрою на назву пристрою і підтом
(Cédric Bosdonnat).
.ie n .IP """ntfscat_i""" 4
.el .IP "\f(CWntfscat_i\fR" 4
.IX Item "ntfscat_i"
Реалізовано отримання файлів \s-1NTFS\s0 за номером inode (Matteo Cafasso).
.ie n .IP """part_expand_gpt""" 4
.el .IP "\f(CWpart_expand_gpt\fR" 4
.IX Item "part_expand_gpt"
Уможливлює розширення розділів \s-1GPT\s0 на місці з пересуванням другої
(резервної) таблиці розділів у напрямку кінця диска (Maxim Perevedentsev).
.ie n .IP """part_get_disk_guid""" 4
.el .IP "\f(CWpart_get_disk_guid\fR" 4
.IX Item "part_get_disk_guid"
.PD 0
.ie n .IP """part_set_disk_guid""" 4
.el .IP "\f(CWpart_set_disk_guid\fR" 4
.IX Item "part_set_disk_guid"
.ie n .IP """part_set_disk_guid_random""" 4
.el .IP "\f(CWpart_set_disk_guid_random\fR" 4
.IX Item "part_set_disk_guid_random"
.PD
Отримує і встановлює \s-1GUID\s0 диска \s-1GPT\s0 або встановлює для них свіже випадкове
значення (Maxim Perevedentsev).
.ie n .IP """selinux_relabel""" 4
.el .IP "\f(CWselinux_relabel\fR" 4
.IX Item "selinux_relabel"
Виконує оновлення міток SELinux для частини гостьової файлової системи або
для усієї гостьової файлової системи.
.PP
\fIІнші зміни у програмному інтерфейсі\fR
.IX Subsection "Інші зміни у програмному інтерфейсі"
.PP
\&\f(CW\*(C`guestfs_set_selinux\*(C'\fR, \f(CW\*(C`guestfs_get_selinux\*(C'\fR, \f(CW\*(C`guestfs_setcon\*(C'\fR,
\&\f(CW\*(C`guestfs_getcon\*(C'\fR і \f(CW\*(C`guestfs_llz\*(C'\fR тепер вважаються
застарілими. Скористайтеся новим програмним інтерфейсом
\&\f(CW\*(C`guestfs_selinux_relabel\*(C'\fR для повторного встановлення міток у файлових
системах. Скористайтеся \f(CW\*(C`guestfs_lgetxattrs\*(C'\fR, щоб отримати список
розширених атрибутів \f(CW\*(C`security.selinux\*(C'\fR наявних файлів.
.PP
\&\f(CW\*(C`guestfs_vfs_minimum_size\*(C'\fR тепер можна використовувати для файлових систем
у проміжних станах (Maxim Perevedentsev).
.PP
\&\f(CW\*(C`guestfs_ll\*(C'\fR тепер працює для шляхів, які містять абсолютні символічні
посилання (Pino Toscano).
.PP
\&\f(CW\*(C`guestfs_glob_expand\*(C'\fR тепер має необов'язковий булевий параметр
\&\f(CW\*(C`directoryslash\*(C'\fR, який керує тим, чи повертатимуться кінцеві похилі риски у
назвах каталогів (Pino Toscano).
.PP
\&\f(CW\*(C`guestfs_lvs\*(C'\fR більше не повертає логічні томи, для яких встановлено
прапорець \f(CW\*(C`activationskip\*(C'\fR. Причиною є те, що такі логічні томи не мають
вузла пристрою \f(CW\*(C`/dev/VG/LV\*(C'\fR, отже, код, який читає список логічних томів, а
потім зондує самі пристрої, негайно повертає помилку. Ви можете скористатися
\&\f(CW\*(C`guestfs_lvs_full\*(C'\fR, якщо хочете прочитати усі логічні томи (Pino Toscano).
.PP
\&\f(CW\*(C`guestfs_list_disk_labels\*(C'\fR більше не повертає повідомлення про помилку,
якщо не було додано жодного диска із мітками. Замість цього, буде повернуто
порожній список (Pino Toscano).
.PP
\&\f(CW\*(C`guestfs_is_lv\*(C'\fR більше не повертає повідомлення про помилку, якщо передано
підтом btrfs. Замість цього буде повернуто false (Maxim Perevedentsev).
.SS "Зміни у збиранні"
.IX Subsection "Зміни у збиранні"
Потрібен qemu ≥ 1.3.0.
.PP
Для збирання libguestfs потрібна yajl (бібліотека для обробки коду \s-1JSON\s0).
.PP
Тепер можливе збирання за допомогою \s-1GCC 6.\s0
.PP
\&\f(CW\*(C`make check\-valgrind\*(C'\fR тепер має суттєво ліпше покриття.
.PP
\&\f(CW\*(C`make check\-slow\*(C'\fR тепер знову є працездатним.
.PP
Скористайтеся \f(CW\*(C`make \-C appliance clean\-supermin\-appliance\*(C'\fR щоб спорожнити
базову систему supermin (її буде перезібрано під час наступного \f(CW\*(C`make\*(C'\fR).
.PP
Реалізовано спектр нових правил для запуску virt\-p2v з каталогу початкового
коду: \f(CW\*(C`make \-C p2v run\-virt\-p2v\-directly\*(C'\fR | \f(CW\*(C`run\-virt\-p2v\-in\-a\-vm\*(C'\fR |
\&\f(CW\*(C`run\-virt\-p2v\-non\-gui\-conversion\*(C'\fR. Документацію щодо цього можна знайти на
сторінці \fBguestfs\-hacking\fR\|(1).
.PP
virt\-p2v може бути зібрано з використанням Gtk 2 або Gtk 3. Щоб примусово
вказати версію Gtk, скористайтеся \f(CW\*(C`./configure \-\-with\-gtk=2|3\*(C'\fR
.PP
Параметри \f(CW\*(C`./configure\*(C'\fR тепер здебільшого документовано на сторінці
\&\fBguestfs\-building\fR\|(1).
.SS "Внутрішня частина роботи програми"
.IX Subsection "Внутрішня частина роботи програми"
У git версії тепер позначаються \f(CW\*(C`v1.XX.YY\*(C'\fR (раніше вони позначалися
\&\f(CW\*(C`1.XX.YY\*(C'\fR). Використання префікса \f(CW\*(C`v\-\*(C'\fR є поширенішим для сховищ git.
.PP
Якщо використовується модуль обробки libvirt, тепер програма очікує на
коректне завершення роботи qemu, замість того, щоб примусово завершувати
роботу за 15 секунд. Це має допомогти у записі на повільні пристрої
(особливо, дешеві флешки \s-1USB\s0).
.PP
До повідомлень про помилки від libvirt тепер додається поле
\&\f(CW\*(C`err\->int1\*(C'\fR, у якому, зазвичай, міститься \f(CW\*(C`errno\*(C'\fR.
.PP
На \s-1ARM\s0 вилучено увесь код \s-1DTB\s0 (ієрархії пристроїв). qemu створює належну
ієрархію на льоту, нам не потрібно вказувати її власноруч.
.PP
У тестах програмного інтерфейсу C тепер використовуються більші тестові
диски, що надає змогу належно перевірити \s-1BTRFS\s0 (Pino Toscano).
.PP
Тести тепер мають належним чином працювати у основній системі, де
встановлено лише Python 3 (Pino Toscano).
.PP
У прив'язках до C реалізовано однорідне (майже) іменування
\&\f(CW\*(C`guestfs_int_*\*(C'\fR. Раніше не було якоїсь спільної схеми визначення назв.
.PP
Застарілі функції \f(CW\*(C`safe_malloc\*(C'\fR та інші тепер не експортуються бібліотекою
і не використовуються у прив'язках до мов програмування.
.PP
Встановлення для \s-1TMPDIR\s0 шляху, довшого за ~ 100 символів, більше не
спричиняє аварійного випадкового завершення libguestfs без повідомлень під
час створення сокетів доменів Unix (Pino Toscano).
.PP
Тепер у фоновій службі можна використовувати макрос \f(CW\*(C`COMPILE_REGEXP\*(C'\fR.
.PP
Під час трасування тепер повністю виводяться результати, які містять
структури (Pino Toscano).
.PP
До модуля Perl \f(CW\*(C`Sys::Guestfs\*(C'\fR більше не вбудовується програмний інтерфейс
збільшення номера версії. Тепер цей модуль завжди має фіктивну версію
1.0. Щоб визначити справжню версію libguestfs з Perl, вам слід викликати
\&\f(CW\*(C`$g\->version\*(C'\fR.
.PP
Увесь код було зібрано з \f(CW\*(C`\-Wstack\-usage=10000\*(C'\fR, внесено багато змін для
вилучення розміщень у стеку великих рядків та буферів.
.PP
Тепер усюди використовується функція \fBerror\fR\|(3), якою замінено більшість
колишніх вживань \fBperror\fR\|(3) + \fBexit\fR\|(3) та \fBfprintf\fR\|(3) + exit.
.PP
У коді C коментарі \f(CW\*(C`/**\*(C'\fR перетворено на документацію, яка автоматично
додається до сторінки підручника \fBguestfs\-hacking\fR\|(1).
.PP
Було додано безпечну функцію getumask. У свіжих ядрах Linux ця функція
використовує нещодавно додане поле \f(CW\*(C`Umask\*(C'\fR у \fI/proc/self/status\fR. У
давніших Linux та інших системах Unix ця функція використовує безпечну щодо
потоків методику з використанням \fBfork\fR\|(2) (подяки: Josh Stone, Jiri
Jaburek, Eric Blake).
.PP
Було додано безпечні обгортки \fBposix_fadvise\fR\|(2), також у код додано більше
орієнтирів, які можуть трошки поліпшити швидкодію.
.PP
Додано безпечну обгортку до \fBwaitpid\fR\|(2), яка належним чином обробляє
властивість \f(CW\*(C`INTR\*(C'\fR.
.PP
\&\f(CW\*(C`podwrapper.pl\*(C'\fR (використовується для створення сторінок підручника) тепер
припиняє роботу, якщо знайдено будь\-яку помилку у \s-1POD.\s0 Новий скрипт із
назвою \f(CW\*(C`podcheck.pl\*(C'\fR виконує перехресну перевірку даних, виведених
\&\fI\-\-help\fR, параметрів засобів та сторінок підручника.
.PP
Усі номери версій у бібліотеці (наприклад, версії qemu, версії libvirt,
версії гостьових операційних систем) уніфіковано у єдиному файлі
\&\fIsrc/version.c\fR (Pino Toscano).
.PP
У гостьових системах Windows virt-customize використовуватиме нейтральний
щодо постачальника шлях \f(CW\*(C`C:\eProgram Files\eGuestfs\eFirstboot\*(C'\fR для
зберігання скриптів першого завантаження. Раніше використовувався
\&\f(CW\*(C`C:\eProgram Files\eRed Hat\eFirstboot\*(C'\fR. Ця зміна має бути непомітною для
самих скриптів. (Cédric Bosdonnat)
.PP
У гостьових системах Linux служби першого завантаження, створені
virt-builder \fI\-\-firstboot\fR тощо, було перейменовано на \f(CW\*(C`guestfs\-firstboot\*(C'\fR
(Pino Toscano).
.PP
Тепер існує загальна функція \f(CW\*(C`debug\*(C'\fR, яка використовується усіма засобами
OCaml і замінює собою попередній код, який виконував \f(CW\*(C`if verbose () then printf ...\*(C'\fR.
.PP
virt\-p2v копіює файли, які їй потрібні на сервер перетворення virt\-v2v за
допомогою \fBscp\fR\|(1), замість спроб надсилати їх через сеанс оболонки. Це має
поліпшити стійкість процесу і має бути повністю прозорим для кінцевого
користувача.
.PP
Увесь код у \fImllib\fR тепер збирається до єдиної бібліотеки \f(CW\*(C`mllib.cma\*(C'\fR або
\&\f(CW\*(C`mllib.cmxa\*(C'\fR. Увесь код у \fIcustomize\fR тепер збирається до єдиної
бібліотеки \f(CW\*(C`customize.cma\*(C'\fR або \f(CW\*(C`customize.cmxa\*(C'\fR. Це спрощує збирання
засобів OCaml.
.PP
Тепер у базовій системі використовується \fBlvmetad\fR\|(8), якщо доступна (Pino
Toscano).
.PP
Використовуються «мовчазні правила» для OCaml, Java, Erlang і
\&\s-1POD.\s0 Скористайтеся \f(CW\*(C`make V=1\*(C'\fR, щоб знову побачити рядки команд повністю
(Pino Toscano).
.SS "Виправлені вади"
.IX Subsection "Виправлені вади"
.IP "https://bugzilla.redhat.com/1364347" 4
.IX Item "https://bugzilla.redhat.com/1364347"
virt-sparsify \-\-in\-place failed with \s-1UEFI\s0 system
.IP "https://bugzilla.redhat.com/1362357" 4
.IX Item "https://bugzilla.redhat.com/1362357"
run_command runs exit handlers when execve fails (e.g. due to missing
executable)
.IP "https://bugzilla.redhat.com/1362354" 4
.IX Item "https://bugzilla.redhat.com/1362354"
virt-dib failed to create image using \s-1DIB_YUM_REPO_CONF\s0
.IP "https://bugzilla.redhat.com/1359652" 4
.IX Item "https://bugzilla.redhat.com/1359652"
Fail to inspect Windows \s-1ISO\s0 file
.IP "https://bugzilla.redhat.com/1358142" 4
.IX Item "https://bugzilla.redhat.com/1358142"
Some info will show when convert guest to libvirt by virt\-v2v with parameter
\&\-\-quiet
.IP "https://bugzilla.redhat.com/1354335" 4
.IX Item "https://bugzilla.redhat.com/1354335"
overlay of disk images does not specify the format of the backing file
.IP "https://bugzilla.redhat.com/1352761" 4
.IX Item "https://bugzilla.redhat.com/1352761"
Virt-manager can't show \s-1OS\s0 icons of win7/win8/ubuntu guest.
.IP "https://bugzilla.redhat.com/1350363" 4
.IX Item "https://bugzilla.redhat.com/1350363"
Improve error info \*(L"remote server timeout unexpectedly waiting for password
prompt\*(R" when connect to a bogus server at p2v client
.IP "https://bugzilla.redhat.com/1348900" 4
.IX Item "https://bugzilla.redhat.com/1348900"
virt\-p2v should update error prompt when 'Test connection' with a
non-existing user in conversion server
.IP "https://bugzilla.redhat.com/1345813" 4
.IX Item "https://bugzilla.redhat.com/1345813"
virt-sysprep \-\-install always failed to install the packages specified
.IP "https://bugzilla.redhat.com/1345809" 4
.IX Item "https://bugzilla.redhat.com/1345809"
virt-customize \-\-truncate\-recursive should give an error message when
specifying a no-existing path
.IP "https://bugzilla.redhat.com/1343423" 4
.IX Item "https://bugzilla.redhat.com/1343423"
[\s-1RFE\s0]Should give a better description about 'curl error 22' when failed
using ssh identity http url at p2v client
.IP "https://bugzilla.redhat.com/1343414" 4
.IX Item "https://bugzilla.redhat.com/1343414"
Failed \s-1SSH\s0 to conversion server by ssh identity http url at p2v client
.IP "https://bugzilla.redhat.com/1343375" 4
.IX Item "https://bugzilla.redhat.com/1343375"
[\s-1RFE\s0] uninstall packages inside the \s-1VM\s0
.IP "https://bugzilla.redhat.com/1342447" 4
.IX Item "https://bugzilla.redhat.com/1342447"
Ifconfig command is not supported on p2v client
.IP "https://bugzilla.redhat.com/1342398" 4
.IX Item "https://bugzilla.redhat.com/1342398"
Convert a guest from \s-1RHEL\s0 by virt\-v2v but its origin info shows \s-1RHEV\s0 at
rhevm
.IP "https://bugzilla.redhat.com/1342337" 4
.IX Item "https://bugzilla.redhat.com/1342337"
Should remind a warning about disk image has a partition when using
virt\-p2v\-make\-disk
.IP "https://bugzilla.redhat.com/1341984" 4
.IX Item "https://bugzilla.redhat.com/1341984"
virt-get-kernel prompts an 'invalid value' error when using \-\-format auto
.IP "https://bugzilla.redhat.com/1341564" 4
.IX Item "https://bugzilla.redhat.com/1341564"
virt\-p2v spinner should be hidden when it stops spinning
.IP "https://bugzilla.redhat.com/1340809" 4
.IX Item "https://bugzilla.redhat.com/1340809"
Testing connection timeout when input regular user of conversion server with
checked \*(L"use sudo......\*(R"button
.IP "https://bugzilla.redhat.com/1340464" 4
.IX Item "https://bugzilla.redhat.com/1340464"
[\s-1RFE\s0] Suggestion give user a reminder for \*(L"Cancel conversion\*(R" button
.IP "https://bugzilla.redhat.com/1340407" 4
.IX Item "https://bugzilla.redhat.com/1340407"
Multiple network ports will not be aligned at p2v client
.IP "https://bugzilla.redhat.com/1338083" 4
.IX Item "https://bugzilla.redhat.com/1338083"
Update \s-1UEFI\s0 whitelist for official fedora packages
.IP "https://bugzilla.redhat.com/1337561" 4
.IX Item "https://bugzilla.redhat.com/1337561"
virt-customize \-\-ssh\-inject не застосовує належних прав доступу до файлів
.IP "https://bugzilla.redhat.com/1335671" 4
.IX Item "https://bugzilla.redhat.com/1335671"
extra quotes around \s-1UUID\s0 confuses findfs in \s-1RHEL\s0 (but not in Fedora)
.IP "https://bugzilla.redhat.com/1332025" 4
.IX Item "https://bugzilla.redhat.com/1332025"
Inspection does not parse /etc/redhat\-release containing \*(L"Derived from Red
Hat Enterprise Linux 7.1 (Source)\*(R"
.IP "https://bugzilla.redhat.com/1327488" 4
.IX Item "https://bugzilla.redhat.com/1327488"
\&\s-1RFE:\s0 Allow p2v kernel options without p2v.server to set defaults
.IP "https://bugzilla.redhat.com/1325825" 4
.IX Item "https://bugzilla.redhat.com/1325825"
virt\-v2v should prevent using multiple '\-b' and '\-n' option appears on the
command line
.IP "https://bugzilla.redhat.com/1321620" 4
.IX Item "https://bugzilla.redhat.com/1321620"
libguestfs: error: could not parse integer in version number: 7"
.IP "https://bugzilla.redhat.com/1321338" 4
.IX Item "https://bugzilla.redhat.com/1321338"
[1.33.16] Compilation Error: Unbound value List.sort_uniq in v2v.ml line
988, characters 10\-24:
.IP "https://bugzilla.redhat.com/1317843" 4
.IX Item "https://bugzilla.redhat.com/1317843"
`virt\-builder \-\-update` fails with: \*(L"dnf \-y \-\-best upgrade: command exited
with an error\*(R"
.IP "https://bugzilla.redhat.com/1316479" 4
.IX Item "https://bugzilla.redhat.com/1316479"
v2v cmd cannot exit and \*(L"block I/O error in device 'appliance': No space
left on device (28)\*(R" is printed when specified \*(L"\-v \-x\*(R"
.IP "https://bugzilla.redhat.com/1316041" 4
.IX Item "https://bugzilla.redhat.com/1316041"
virt-rescue fails, but missing error message
.IP "https://bugzilla.redhat.com/1314244" 4
.IX Item "https://bugzilla.redhat.com/1314244"
\&\s-1RFE:\s0 virt\-p2v log window should process colour escapes and backspaces
.IP "https://bugzilla.redhat.com/1312254" 4
.IX Item "https://bugzilla.redhat.com/1312254"
virt\-v2v \-o libvirt doesn't preserve or use correct <graphics
type=\*(L"vnc|spice\*(R">
.IP "https://bugzilla.redhat.com/1309706" 4
.IX Item "https://bugzilla.redhat.com/1309706"
error: internal error: Invalid floppy device name: hdb
.IP "https://bugzilla.redhat.com/1309619" 4
.IX Item "https://bugzilla.redhat.com/1309619"
Wrong warning info \*(L"use standard \s-1VGA\*(R"\s0 shows when converting windows > 7 by
virt\-v2v
.IP "https://bugzilla.redhat.com/1309580" 4
.IX Item "https://bugzilla.redhat.com/1309580"
\&\s-1OS\s0 name of win8.1 x64 guest shows incorrect in rhevm3.6 general info
.IP "https://bugzilla.redhat.com/1308769" 4
.IX Item "https://bugzilla.redhat.com/1308769"
virt\-v2v does not copy additional disks to Glance
.IP "https://bugzilla.redhat.com/1306666" 4
.IX Item "https://bugzilla.redhat.com/1306666"
Failure when disk contains an \s-1LV\s0 with activationskip=y
.IP "https://bugzilla.redhat.com/1296606" 4
.IX Item "https://bugzilla.redhat.com/1296606"
virt\-v2v doesn't remove VirtualBox additions correctly because of file
quoting
.IP "https://bugzilla.redhat.com/1293527" 4
.IX Item "https://bugzilla.redhat.com/1293527"
There should be a reminder to avoid user to edit a guest image by multiple
tools at the same time in guestfish man page
.IP "https://bugzilla.redhat.com/1293276" 4
.IX Item "https://bugzilla.redhat.com/1293276"
guestfish can not ll a symbolic link dir or edit a file in it
.IP "https://bugzilla.redhat.com/1278878" 4
.IX Item "https://bugzilla.redhat.com/1278878"
guestfish should be able to handle \s-1LVM\s0 thin layouts
.IP "https://bugzilla.redhat.com/1264835" 4
.IX Item "https://bugzilla.redhat.com/1264835"
ppc64le: virt-customize \-\-install fail to detect the guest arch
.IP "https://bugzilla.redhat.com/1264332" 4
.IX Item "https://bugzilla.redhat.com/1264332"
Test that trimming in virt\-v2v doesn't regress
.IP "https://bugzilla.redhat.com/1232192" 4
.IX Item "https://bugzilla.redhat.com/1232192"
Virt\-v2v gives an error on a blank disk: part_get_parttype: unknown
signature, of the output: \s-1BYT\s0;
.IP "https://bugzilla.redhat.com/1229386" 4
.IX Item "https://bugzilla.redhat.com/1229386"
virt\-p2v in non-GUI mode doesn't show any conversion progress or status
.IP "https://bugzilla.redhat.com/1227599" 4
.IX Item "https://bugzilla.redhat.com/1227599"
P2V invalid password prints unexpected end of file waiting for command
prompt.
.IP "https://bugzilla.redhat.com/1224795" 4
.IX Item "https://bugzilla.redhat.com/1224795"
On Ubuntu, virt-builder \-\-install and \-\-update cannot use the network
.IP "https://bugzilla.redhat.com/1213324" 4
.IX Item "https://bugzilla.redhat.com/1213324"
virt\-v2v: warning: unknown guest operating system: windows windows 6.3 when
converting win8,win8.1,win2012,win2012R2,win10 to rhev
.IP "https://bugzilla.redhat.com/1203898" 4
.IX Item "https://bugzilla.redhat.com/1203898"
Support inspecting docker images without /etc/fstab
.IP "https://bugzilla.redhat.com/1186935" 4
.IX Item "https://bugzilla.redhat.com/1186935"
libguestfs cannot inspect recent Fedora / \s-1RHEL\s0 >= 7 when /usr is a separate
partition
.IP "https://bugzilla.redhat.com/1167916" 4
.IX Item "https://bugzilla.redhat.com/1167916"
P2V: invalid conversion server prints unexpected end of file waiting for
password prompt.
.IP "https://bugzilla.redhat.com/1152825" 4
.IX Item "https://bugzilla.redhat.com/1152825"
virt-rescue \-\-selinux can not work well, when enable selinux in the command
line the value of 'getenforce' is still Disabled in virt-rescue appliance
.IP "https://bugzilla.redhat.com/1150298" 4
.IX Item "https://bugzilla.redhat.com/1150298"
\&\s-1ARM 32\s0 bit on Ubuntu: warning: cast to pointer from integer of different
size [\-Wint\-to\-pointer\-cast]
.IP "https://bugzilla.redhat.com/1089100" 4
.IX Item "https://bugzilla.redhat.com/1089100"
NetworkManager avc unlink denied for resolv.conf after using
\&\-\-selinux\-relabel
.IP "https://bugzilla.redhat.com/983969" 4
.IX Item "https://bugzilla.redhat.com/983969"
\&\s-1RFE:\s0 virt-sysprep має враховувати роботу SELinux
.IP "https://bugzilla.redhat.com/855058" 4
.IX Item "https://bugzilla.redhat.com/855058"
\&\s-1RFE:\s0 virt\-p2v: display more information about storage devices
.IP "https://bugzilla.redhat.com/554829" 4
.IX Item "https://bugzilla.redhat.com/554829"
SELinux handling could be done better.
.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 "АВТОРСЬКІ ПРАВА"
.IX Header "АВТОРСЬКІ ПРАВА"
Copyright (C) 2009\-2020 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.