Provided by: libguestfs0_1.40.2-2ubuntu6_amd64 bug

НАЗВА

       guestfs-release-notes - нотатки щодо випусків libguestfs

RELEASE NOTES FOR LIBGUESTFS 1.40

       These release notes only cover the differences from the previous stable/dev branch split
       (1.38.0).  For detailed changelogs, please see the git repository, or the ChangeLog file
       distributed in the tarball.

   Нові можливості
       Нові можливості у наявних інструментах

       Virt-inspector now displays the libosinfo short ID for guests (Pino Toscano).

       Guestfish -N will now generate 1G disks instead of 100M disks by default.

       Virt-resize supports f2fs filesystems (Pino Toscano).

       libguestfs-test-tool now supports bash tab completion (Pino Toscano).

       The --machine-readable option now supports sending output to files or stdout/stderr.  This
       works uniformly across most OCaml-based virt tools, specifically: virt-builder, virt-
       builder-repository, virt-dib, virt-get-kernel, virt-resize, virt-sparsify, and virt-v2v
       (Pino Toscano).

       Virt-builder --uninstall option now works on SUSE (Sebastian Meyer).

       Virt-builder now supports Windows.  We are not able to ship Windows templates in the
       public respository for obvious licensing reasons, but if you are an MSDN subscriber you
       may build your own.  See
       https://rwmj.wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder/

       Many tools now support a --key option allowing you to pass in decryption keys for
       filesystems stored in local files on the host rather than having to feed them in over
       stdin (Pino Toscano).

       virt-v2v і virt-p2v

       New -o rhv-upload mode for directly uploading images to RHV, bypassing the Export Storage
       Domain (Tomáš Golembiovský, Nir Soffer, Daniel Erez, Pino Toscano).

       New -o openstack mode for directly uploading images to OpenStack and Cinder using
       OpenStack APIs.

       Virt-v2v now has a general mechanism for input and output options: -io and -oo.

       Virt-v2v can now install the RHV tools or QEMU GA in guests (Tomáš Golembiovský).

       The huge manual has now been split into several smaller documents and is more focused on
       helping users to accomplish specific v2v tasks.

       Multiple improvements to the OVF metadata when converting to RHV (Tomáš Golembiovský, Pino
       Toscano, Arik Hadas).

       Virt-v2v can now convert Linux guests with split kernel packages, especially Ubuntu 18.04
       (Pino Toscano).

       Virt-v2v old --password-file option has been replaced by -ip (the old option remains for
       backwards compatibility).

       Virt-v2v now preserves the VM Generation ID.

       Virt-v2v has a new --mac option allowing specific NICs to be mapped precisely to networks
       or bridges on the target.

       New virt-v2v --print-estimate option to estimate the size of data that virt-v2v will copy.

       Virt-v2v is now usually able to remove open-vm-tools and VMware Tools from the Linux guest
       during conversion (Pino Toscano).

       Virt-v2v can now support UEFI conversions to RHV (Tomáš Golembiovský).

       Virt-p2v now prefers you to shut down instead of rebooting the machine after conversion
       has finished (Pino Toscano).

       Virt-v2v now writes the libosinfo short ID to the libvirt metadata when using -o local and
       -o libvirt output modes (Martin Kletzander).

       Прив’язки до мов програмування

       OpenJDK 10+ is supported (Pino Toscano).

       Java bindings fixed for Gentoo host (Martin Kletzander).

       Перевірка

       Support Kali Linux (Pino Toscano).

       When inspecting mountpoints, look for /etc/mdadm/mdadm.conf as well as /etc/mdadm.conf
       (Nikolay Ivanets).

       Improved support for OpenSUSE Tumbleweed (Pino Toscano).

       Архітектури і платформи

       Miscellaneous macOS build fixes (Adam Robinson).

       Інше

       Multiple documentation typos fixed (Yuri Chornoivan).

   Безпека
       Див. також guestfs-security(1).

       CVE-2018-11806

       Qemu's slirp (userspace networking) had several buffer overflows which could be triggered
       from the guest or network side.

   API
       Нові програмні інтерфейси

       "f2fs_expand"
           Expand an f2fs filesystem (Pino Toscano).

       "inspect_get_osinfo"
           Get the libosinfo short ID for the inspected guest (Pino Toscano).

       "lvm_scan"
           This rescans all PVs, VGs and LVs, optionally activating them.

       Інші зміни у програмному інтерфейсі

       "part_get_mbr_part_type" was reimplemented in OCaml (Nikolay Ivanets).

       "list_filesystems" now filters out MBR extended partitions (Nikolay Ivanets).

       "vgscan" has been deprecated.  Use the new "lvm_scan" API in preference.

   Зміни у збиранні
       The JSON library switched from yajl to Jansson ≥ 2.7 (Pino Toscano).

       Support for The Sleuth Kit 4.5 (Pino Toscano).

       Multiple improvements in the "./configure" script (Lin Ma).

       More out-of-tree build fixes (Hilko Bengen).

       Some work on reproducible builds (Bernhard M. Wiedemann).

   Внутрішня частина роботи програми
       lvmetad is now used unconditionally, and is started much earlier in the appliance boot
       process.  This fixes support for certain PV types.

       On Debian, dash is installed inside the appliance and in virt-rescue (Pino Toscano).

       The amount of RAM assigned to the appliance has been increased from 500M to 768M (on
       x86_64, other architectures have different limits).  This enables use of up to 255 disks
       when using recent Linux kernels.

       Virt-v2v now models the source machine type (eg. i440FX, Q35 or virt).

       Virt-p2v now generates configuration code automatically, also code for parsing the kernel
       command line.

       Use "LT_INIT" instead of "AC_PROG_LIBTOOL".

       The OCaml "JSON" code for parsing and serializing has been unified into a single abstract
       data type.

       Most OCaml tools are now built using the PIC runtime.  This has a performance penalty on
       i686, but is relatively free on other architectures and has security benefits.

       The direct backend now queries the qemu binary for availability of KVM, instead of using a
       heuristic based on /dev/kvm (Andrea Bolognani).

       Our "clever" libxml2 writer macros are now used consistently across all parts of the code
       base.

       Qemu dropped -nodefconfig without telling us.  The equivalent -no-user-config option is
       now used instead.  Qemu also moved the "serial" option from -drive to -device, again
       without any notice, and this is also fixed.

   Виправлені вади
       https://bugzilla.redhat.com/1664310
           [RHEL 7.6 LP] openstack output leaks passwords

       https://bugzilla.redhat.com/1661038
           virt-inspector fails with "error: int_of_string" on a Linux image when /etc/fstab
           contains a partionless device

       https://bugzilla.redhat.com/1651432
           v2v - support for -insecure option to support OSP SSL connection for VM migrations

       https://bugzilla.redhat.com/1642044
           [RFE] virt-p2v UI should give the option to shutdown after conversion is finished

       https://bugzilla.redhat.com/1634248
           virt-v2v cannot convert opensuse15 guest

       https://bugzilla.redhat.com/1624902
           Fix rhev-apt command that virt-v2v runs in Windows guests on first boot

       https://bugzilla.redhat.com/1624878
           Update v2v docs to describe support for SHA 2 certs required for converting Windows 7
           and 2008 R2 guests

       https://bugzilla.redhat.com/1615885
           Minor log issue of virt-v2v

       https://bugzilla.redhat.com/1614276
           VixDiskLib: VixDiskLib_Read: Read 4096 sectors at 57516160 failed. Error 2 (Memory
           allocation failed. Out of memory.) (DiskLib error 802: NBD_ERR_INSUFFICIENT_RESOURCES)
           at 5240.

       https://bugzilla.redhat.com/1612785
           "warning: <target dev='sr0'> was ignored because the device name could not be
           recognized" should be hidden since convert cdrom is supported by virt-v2v

       https://bugzilla.redhat.com/1611690
           part_to_dev "/dev/sdp1" returns "/dev/sd" instead of "/dev/sdp"

       https://bugzilla.redhat.com/1608131
           inspection fails when swap partition in /etc/fstab has incorrect UUID compared to
           actual swap partition

       https://bugzilla.redhat.com/1605071
           On machines where /dev/kvm exists but KVM doesn't work, libguestfs will not fall back
           to TCG

       https://bugzilla.redhat.com/1602353
           virt-inspector can't inspect LUKS-encrypted RHEL7 guest image

       https://bugzilla.redhat.com/1601943
           Improve error "No module named ovirtsdk4" in v2v rhv-upload conversion

       https://bugzilla.redhat.com/1598715
           Adding QXL device in OVF causes Cirrus Logic device to be added to guest

       https://bugzilla.redhat.com/1598350
           RFE: virt-v2v should preserve <genid>

       https://bugzilla.redhat.com/1596851
           Transfer fails if local host is in maintenance mode

       https://bugzilla.redhat.com/1596810
           Transfer fails if local host belongs to another DC

       https://bugzilla.redhat.com/1592468
           v2v to RHV transfer fails with: error: [empty name]: cannot read '//*/disksection'
           with value: null

       https://bugzilla.redhat.com/1592061
           virt-v2v convert rhel5.3 failure when executing rpm -ql kernel-2.6.18-128.el5 command

       https://bugzilla.redhat.com/1591789
           p2v: error: XML error: CPU vendor specified without CPU model

       https://bugzilla.redhat.com/1590220
           Hide rhv-upload option in virt-p2v client

       https://bugzilla.redhat.com/1588451
           Don't use relative socket paths for NBD

       https://bugzilla.redhat.com/1588088
           RFE: Support for -o rhv-upload via Unix domain socket

       https://bugzilla.redhat.com/1586198
           ovirt-imageio-daemon times out during migration

       https://bugzilla.redhat.com/1580309
           virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z build

       https://bugzilla.redhat.com/1580292
           Virt-v2v rhel7.6 build can't convert guest with qemu-kvm rhel7.5.z build

       https://bugzilla.redhat.com/1579047
           virt-builder: ubuntu-18.04 template has stray HTTP proxy configured for apt

       https://bugzilla.redhat.com/1575640
           virt-builder: error: host cpu (x86_64) and guest arch (unknown) are not compatible

       https://bugzilla.redhat.com/1570407
           virt-v2v -i ova gives checksum error when missing files are mentioned in .mf

       https://bugzilla.redhat.com/1567763
           guestfsd: error: /Windows/Drivers/VirtIO: Read-only file system

       https://bugzilla.redhat.com/1564983
           The mount-vfs failed to mount the logical volume

       https://bugzilla.redhat.com/1561828
           RHV tools not properly installed in migrated Windows VM's causing boot failure

       https://bugzilla.redhat.com/1559027
           virt-v2v does not honor --network with -o rhv-upload

       https://bugzilla.redhat.com/1557273
           [RFE] Upload images directly to oVirt (virt-v2v -o rhv-upload)

       https://bugzilla.redhat.com/1544842
           [RFE] Add libosinfo short-id to virt-inspector output

       https://bugzilla.redhat.com/1544674
           virt-inspector --help differs from manpage

       https://bugzilla.redhat.com/1544227
           RFE: recognize the Kali Linux distribution

       https://bugzilla.redhat.com/1532224
           Resume=/dev/sdaX can't be updated to resume=/dev/vdaX in rhel7 guest's grub file after
           v2v conversion

       https://bugzilla.redhat.com/1530967
           Change categories of "Guest Operating system management by VIX API" in v2v man page

       https://bugzilla.redhat.com/1527334
           Various -it vddk -io vddk* options should be documented, removed or fixed

       https://bugzilla.redhat.com/1148012
           Reverted: RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.38

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.36.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Нові інструменти

       Virt-builder-repository — новий інструмент, який надає кінцевим користувачам змогу
       створювати і оновлювати сховища virt-builder (Cédric Bosdonnat).

       Virt-rescue (хоча це і не новий інструмент) було суттєво переписано, реалізовано керування
       завданнями, параметри -m та -i, клавіші скасовування тощо.

       Нові можливості у наявних інструментах

       Поліпшено планувальник virt-builder. У новій версії програма вибирає швидші та ефективніші
       плани збирання для складних випадків, особливо якщо тимчасовий каталог або каталог
       виведення даних перебувають на сховищі даних у мережі.

       Нові шаблони virt-builder для Fedora (починаючи з Fedora 26) матимуть просте компонування
       розділів і використовуватимуть GPT.

       Скрипти першого завантаження virt-customize у гостьових системах, де використовується
       systemd, тепер встановлюються до "multi-user.target", а не до "default.target", отже
       запускаються лише тоді, коли система завантажується у звичайному режимі.

       Virt-customize тепер встановлює випадковий /etc/machine-id для гостьових систем Linux,
       якщо такий ще не встановлено.

       Virt-df now works correctly on filesystems with block sizes smaller than 1K (Nikolay
       Ivanets).

       Virt-dib містить подальші поліпшення у сумісності з diskimage-builder (Pino Toscano).

       Virt-sysprep вилучає "DHCP_HOSTNAME" з файлів ifcfg-*.

       Virt-sysprep тепер працює і в Oracle Linux (Jamie Iles).

       Virt-resize тепер правильно копіює атрибути розділів GPT з джерела до призначення (Cédric
       Bosdonnat).

       Реалізовано або поліпшено доповнення за tab у bash для таких програм: virt-win-reg,
       virt-v2v-copy-to-local.

       virt-v2v і virt-p2v

       Virt-v2v тепер може читати файли VMX VMware безпосередньо або з локального диска, сховища
       NFS, або за допомогою SSH з гіпервізору ESXi.

       Virt-v2v тепер може використовувати VDDK як джерело вхідних даних.

       Обидві програми, virt-v2v і virt-p2v, тепер можуть передавати дані щодо виробника
       процесора, моделі і топології початкової системи. Втім, на жаль, не усі гіпервізори
       поточних версій здатні надати або використати ці дані (Tomáš Golembiovský).

       У virt-v2v реалізовано підтримку шифрованих гостьових систем (Pino Toscano).

       Virt-v2v тепер може працювати зі знімками VMware. Зауважте, що знімки мають бути
       згорнутими —  програма не перетворює ланцюжок знімків у ланцюжок знімків.

       Virt-v2v тепер встановлює блокові пристрої virtio Windows 10 / Windows Server 2016
       належним чином  (Pavel Butsykin, Kun Wei).

       У virt-v2v реалізовано встановлення драйверів virtio-rng, balloon та pvpanic та належне
       налаштовування цих драйверів у метаданих гіпервізору призначення для гіпервізорів, у яких
       передбачено підтримку цього (Tomáš Golembiovský).

       У virt-v2v реалізовано встановлення застарілих і сучасних ключів virtio у реєстрі Windows
       (Ladi Prosek).

       У virt-p2v реалізовано збереження (у певних випадках) часового поясу у годиннику реального
       часу (RTC).

       Тепер virt-p2v поєднує декілька команд scp до сервера перетворення у одну команду, щоб
       зменшує час, потрібний на перетворення.

       У virt-v2v реалізовано виявлення спеціалізованих ядер Linux лише для паравіртуалізації у
       Xen належним чином (Laszlo Ersek).

       У virt-v2v -o glance реалізовано підтримку створення належних властивостей для гостьових
       систем UEFI (Pino Toscano).

       Тепер virt-v2v -o null уникає буферизації гостьової системи до тимчасового файла. Замість
       цього, виконується запис до «нульового блокового пристрою» qemu. Це пришвидшує роботу і
       знижує потребу у використанні місця на диску.

       У virt-v2v -o rhv реалізовано підтримку типу гостьової системи Windows 2016 Server.

       У virt-v2v -i libvirtxml реалізовано підтримку відкриття мережевих дисків за допомогою
       http або https.

       У virt-v2v реалізовано попереджання щодо транзитних пристроїв у основній системі (Pino
       Toscano).

       Розширено можливості виведення virt-v2v --machine-readable так, щоб було включено факти
       "vcenter-https", "xen-ssh" і "in-place" (Pino Toscano).

       Прив’язки до мов програмування

       Усунено декілька витоків пам'яті та інших проблем із пошкодженням даних у прив'язках до
       Java (Pino Toscano).

       Відкинуто підтримку у Perl %guestfs_introspection.

       Перевірка

       Підтримку інспектування було переписано на OCaml і включено у фонову службу. Це значно
       пришвидшує інспектування, збільшує його стійкість та поліпшує можливості із його
       розширення у майбутньому.

       Краща підтримка піктограм гостьових систем ALT Linux (Pino Toscano).

       Краща підтримка NeoKylin (Qingzheng Zhang).

       Уможливлено роботу з операційними системами, подібними до Void Linux, у яких "VERSION_ID"
       не включено до /etc/os-release (Pino Toscano).

       Add support for Microsoft MS-DOS (Daniel Berrangé).

       Архітектури і платформи

       Декілька виправлень для архітектури S/390. Libguestfs і усі інструменти тепер можна
       зібрати і запустити на цій архітектурі.

       Інше

       Програмний інтерфейс libguestfs тепер є безпечним щодо потоків обробки (хоча ще не є
       паралелізованим). Ви можете викликати інтерфейс для одного дескриптора із декількох
       потоків без потреби у блокуванні.

   Безпека
       Було виявлено декілька вразливостей у програмі icoutils "wrestool", яку libguestfs
       запускала для створення піктограм гостьових систем Windows. Рекомендуємо використовувати
       лише найсвіжішу версію "wrestool".

   API
       Нові програмні інтерфейси

       "hivex_value_string"
           Замінює собою застарілий програмний інтерфейс "hivex_value_utf8", виконуючи ті самі
           завдання.

       "part_get_gpt_attributes"
       "part_set_gpt_attributes"
           Читання і запис прапорців атрибутів розділів GPT (Cédric Bosdonnat).

       "part_resize"
           Збільшення і зменшення наявного розділу (Nikos Skalkotos).

       "yara_destroy"
       "yara_load"
       "yara_scan"
           Підтримка рушія пошуку шкідливого програмного забезпечення Yara (Matteo Cafasso).

       Інші зміни у програмному інтерфейсі

       Програмні інтерфейси, реалізовані у фоновій службі, тепер можна писати на C або OCaml.
       Декілька програмних інтерфейсів було переписано на OCaml, хоча ми і не плануємо
       переписувати цією мовою усі інтерфейси.

       Тепер ви отримуватимете зрозуміле повідомлення про помилку, якщо спробуєте додати забагато
       дисків до базової системи, замість доволі розпливчастого повідомлення про помилку від
       qemu.

       У деяких програмних інтерфейсах випадково можна було скористатися "/dev/urandom" як
       «пристроєм» вхідних даних. Приклад: "g.copy_device_to_device("/dev/urandom", "/dev/sda")".
       Код було змінено таким чином, щоб не можна було так робити.

       Усі програмні інтерфейси для інспектування компакт-дисків із засобом для встановлення
       визнано застарілими. Для виконання цього завдання слід використовувати libosinfo.

   Зміни у збиранні
       Для збирання libguestfs нової версії потрібен компілятор OCaml ≥ 4.01. Параметр
       "./configure --disable-ocaml" лишається працездатним, але використовується лише для
       вимикання прив'язок до мови OCaml.

       Додано файл "RELEASES" зі списком дат усіх випусків libguestfs. Цей файл слід оновлювати
       під час кожного випуску.

       Було вилучено документацію, яку створює "gtk-doc". Тепер використання "./configure
       --enable-gtk-doc" не має жодних наслідків.

       Для функції XDR та rpcgen тепер використовується libtirpc. Зауважте, що для glibc вона
       вважається застарілою і у більшості дистрибутивів Linux ці залежності викинуто, тому для
       більшості користувачів ця залежність буде додатковою (Martin Kletzander).

       Тепер для crypt(3) використовується libxcrypt. Ця бібліотека є обов'язковою, якщо
       використовується glibc ≥ 2.27.

       "ocaml-hivex" is now required.

       Тепер обов'язковою є libvirt ≥ 1.2.20.

       Тепер для тестів, які слід запускати від імені користувача root, передбачено нову ціль,
       "make check-root" (аналогічно до "make check-slow").

       Перевірка щодо часу "./configure" для "__attribute__((cleanup))" тепер працює і у випадку
       крос-компіляції (Yann E. Morin).

       Файли "AUTHORS" і "p2v/about-authors.c" тепер створюються із одного джерела.

       Можна використовувати і GnuPG v1, і v2.

       Для визначення типового значення "LIBGUESTFS_PATH" може бути використано "./configure
       --with-guestfs-path". Крім того, трохи змінено спосіб, у який виконується пошук за шляхом,
       для того, щоб виконати пошук усіх типів базових систем у кожному з елементів шляху окремо
       (Pavel Butsykin).

       Змінну "GUESTFSD_EXT_CMD", яка використовувалася для позначення зовнішніх команд у фоновій
       службі, вилучено. Її спочатку використовували для збирання у SUSE, але там тепер вона не
       використовується.

       Виведені дані "./configure" тепер візуально групуються за заголовками, відповідними до
       виконуваної дії, що спрощує пошук потрібних даних (Pino Toscano).

       Залежності OCaml тепер створюються з одного скрипту, замість декількох трохи різних
       фрагментів Makefile.

       "./configure --with-distro=ідентифікатор" можна скористатися для перевизначення
       автоматичного визначення дистрибутива Linux під час збирання (Pino Toscano).

       qemu ≥ 2.10 is supported (but not required).  This adds mandatory locking to disks and
       libguestfs turns this off in certain circumstances when it is known to be safe (Lars
       Seipel, Peter Krempa, Daniel Berrangé, Pino Toscano, Fam Zheng, Yongkui Guo, Václav
       Kadlčík).

   Внутрішня частина роботи програми
       Найвикористовуваніший код пересунуто до підкаталогу common/, а спільний код OCaml тепер
       зберігається у каталогах common/ml* (наприклад, common/visit і common/mlvisit містять
       бібліотеку visitor мовами C та OCaml, відповідно). Каталог mllib вилучено і замінено
       каталогом common/mltools.

       Реалізовано невибагливу до ресурсів прив'язку OCaml для PCRE, див. common/mlpcre.
       Використання бібліотеки OCaml "Str" здебільшого замінено на PCRE.

       Додано більше викликів до "udev_settle" для поліпшення стабільності коду поділу на розділи
       (Dawid Zamirski).

       Реалізовано запуск "udev_settle" з параметром --exit-if-exists, який пришвидшує виконання
       команди (Pavel Butsykin).

       Реалізовано виявлення нових місць зберігання major(3), minor(3), makedev(3).

       Дії тепер може бути визнано застарілими без пропозицій щодо заміни для програмних
       інтерфейсів, подібних до "guestfs_wait_ready", які слід просто вилучити з коду клієнта.

       Реалізовано використання обгортки "set_nonblocking_flag" gnulib замість виклику fcntl(2) з
       "O_NONBLOCK" (Eric Blake).  Те саме для "set_cloexec_flag".

       Усунено виток пам'яті у версії XFS "guestfs_vfs_minimum_size" (Pino Toscano).

       Перевірки valgrind тепер працюють для виконуваного файла virt-p2v.

       Тепер у коді і документації використовується одинарні лапки Unicode ("‘’") замість '' і
       `'. Те саме стосується "’s" замість "'s".

       Функцію "is_zero" було реалізовано заново із суттєвим пришвидшенням (Eric Blake).

       У модулі безпосередньої обробки вилучено підтримку virtio-blk. Тепер єдиним підтримуваним
       способом додавання дисків є virtio-scsi.

       Рядковий параметр і повернуті типи засобу створення раціоналізовано так, щоб було лише два
       типи ("String", "StringList") з багатьма підтипами, наприклад "FileIn" став "String
       (FileIn, ...)".

       Тепер можна використовувати формати образу диска базово системи, відмінні від простого
       (raw) (Pavel Butsykin).

       Декілька поліпшень у автоматичному збиранні шаблонів Debian для virt-builder (Pino
       Toscano). Уможливлено послідовну консоль для цих шаблонів (Florian Klink).

       У фоновій службі замість створення приватної копії lvm.conf і внесення змін до неї
       (наприклад для фільтрів) створюється порожній файл, оскільки LVM розуміє, що означає «усе
       типове» (Alasdair Kergon, Zdenek Kabelac).

       Модуль "direct" тепер може запускати запити QMP щодо виконуваного файла QEMU, що розширює
       типи інформації, які можна виявляти. Крім того, код для надсилання запитів до QEMU
       зроблено стійкішим для обробки декількох паралельних запитів до різних версій QEMU.

       Прив'язки Augeas до OCaml зібрано у common/mlaugeas. Згідно з довготерміновим планом їх
       має бути вилучено з метою використання загальносистемного ocaml-augeas, коли він стане
       широкодоступним у дистрибутивах (Pino Toscano).

       Усі модулі OCaml (файли "*.ml") тепер повинні мати файл інтерфейсу ("*.mli"). Якщо ці
       модулі нічого не експортують, файл інтерфейсу буде порожнім, окрім коментарів.

       У коді використовуються певні особливості OCaml ≥ 4.01, зокрема заміна «{ поле = поле }»
       на «{ поле }».

       Інструмент virt-builder "make-template" тепер використовує параметр "virt-install
       --transient", отже, тепер немає потреби у чищенні залишків доменів після аварійного
       завершення роботи. Це також заощаджує запуски kickstart та virt-install, зміни щодо чого
       внесено до git із довідковою метою.

       /dev/shm тепер створюється у базовій системі (Nicolas Hicher).

       У докладному режимі на гостьових системах Fedora virt-customize тепер використовує "dnf
       --verbose", що дає змогу отримати докладніші діагностичні дані.

       У класах введення і виведення virt-v2v тепер міститься метод "#precheck", який
       використовується для виконання перевірки середовища до того, як буде розпочато
       перетворення.

       Virt-p2v уможливлює діагностику miniexpect. Дані виводяться до stderr (у virt-p2v).

       Перевірки щодо вільного місця virt-v2v тепер є ліберальнішими, особливо для невеликих
       гостьових систем (Pino Toscano).

   Виправлені вади
       https://bugzilla.redhat.com/1540535
           Example URI of "Convert from ESXi hypervisor over SSH to local libvirt" is incorrect
           in v2v man page

       https://bugzilla.redhat.com/1539395
           Помилки сегментації virt-customize після оновлення до 1.37.35-3

       https://bugzilla.redhat.com/1536765
           У прив'язках до Perl libguestfs можуть траплятися незначні витоки пам'яті, якщо
           станеться помилка

       https://bugzilla.redhat.com/1536763
           У прив'язках libguestfs до Lua використовується strerror(), що не є безпечним щодо
           потоків виконання

       https://bugzilla.redhat.com/1536603
           man page makes no mention of using '--' when trying to change exit on error behavior

       https://bugzilla.redhat.com/1525241
           virt-df показує нулі для файлових систем із розміром блоку =512

       https://bugzilla.redhat.com/1519204
           v2v should improve the result when convert a rhel7.4 guest with no available kernels
           found in the bootloader

       https://bugzilla.redhat.com/1518517
           virt-v2v fails with "unsupported configuration: shared access for disk 'sdb' requires
           use of supported storage format"

       https://bugzilla.redhat.com/1516094
           Mere presence of QEMU file locking options breaks NBD (Block protocol 'nbd' doesn't
           support the option 'locking')

       https://bugzilla.redhat.com/1514756
           ./configure --disable-ocaml breaks building common/mlpcre which breaks building daemon

       https://bugzilla.redhat.com/1513884
           [RFE]Should update some vddk info in v2v man page

       https://bugzilla.redhat.com/1508874
           virt-v2v: warning: ova disk has an unknown VMware controller type (20)

       https://bugzilla.redhat.com/1506572
           virt-v2v '-i ova' is not parsing the MAC address from the source OVF

       https://bugzilla.redhat.com/1506511
           virt-builder fails to parse repo file if it has blank space after the repository
           identifier

       https://bugzilla.redhat.com/1503958
           Failed to convert the rhel5 guest with kmod-xenpv installed from xen server by
           virt-v2v

       https://bugzilla.redhat.com/1503497
           qemu-kvm fails to open qcow2 files in read-only mode with qemu-kvm 1.5.3

       https://bugzilla.redhat.com/1500673
           Error info shows wrong sometimes when ssh to conversion server using non-root user
           with sudo on p2v client

       https://bugzilla.redhat.com/1500537
           /dev/shm does not exist in the appliance environment

       https://bugzilla.redhat.com/1497475
           guestfish cannot list commands from interactive mode

       https://bugzilla.redhat.com/1493048
           Unbound constructor Hivex.OPEN_UNSAFE

       https://bugzilla.redhat.com/1484957
           bump debian images to use single-partition layout

       https://bugzilla.redhat.com/1482737
           virt-resize failed to expand swap partition for RHEL5.11 guest image with "parsing
           UUID failed"

       https://bugzilla.redhat.com/1477623
           Running file API on a special chardev may hang forever

       https://bugzilla.redhat.com/1476081
           inspect-os report error: could not parse integer in version number: V7Update2

       https://bugzilla.redhat.com/1472719
           [RFE]Add warning in process of v2v converting guest which has pci passthrough device

       https://bugzilla.redhat.com/1472208
           virt-v2v fails on opensuse 13.2 guest with error: statns: statns_stub: path must start
           with a / character

       https://bugzilla.redhat.com/1469655
           Скрипти firstboot неправильно встановлюються у Fedora 26

       https://bugzilla.redhat.com/1466563
           Libguestfs should pass copyonread flag through to the libvirt XML

       https://bugzilla.redhat.com/1465665
           1.36.x build failure: gtkdocize fails using newer autotools due to missing
           GTK_DOC_CHECK in configure.ac

       https://bugzilla.redhat.com/1460338
           guestfs_shutdown повисає, якщо основний процес встановлює обробники сигналів

       https://bugzilla.redhat.com/1459979
           guestfs_add_domain_argv fails with readonly option when vdi/vhd disk is attached to
           libvirt domain

       https://bugzilla.redhat.com/1451665
           RFE: Virt-v2v не здатна перетворювати гостьові системи із зашифрованими розділами

       https://bugzilla.redhat.com/1450325
           Потрібна документація до формату адреси параметрів -a інструментів

       https://bugzilla.redhat.com/1448739
           RFE: Support multicore decompression for OVA files using pigz and pxz

       https://bugzilla.redhat.com/1447202
           Гостьова система Win 2016 описується як Win 10 після імпортування до RHEVM

       https://bugzilla.redhat.com/1441197
           RFE: ability to convert VMware virtual machines via vmx

       https://bugzilla.redhat.com/1438939
           Будь ласка, викиньте або оновіть залежність від GnuPG (1.4.x)

       https://bugzilla.redhat.com/1438794
           [RFE] Install Windows virtio-rng drivers on VMs imported

       https://bugzilla.redhat.com/1433937
           virt-inspector can't get icon info from altlinux-centaurus

       https://bugzilla.redhat.com/1433577
           policycoreutils setfiles >= 2.6 does .. nothing

       https://bugzilla.redhat.com/1431579
           Windows 8 UEFI from VMware to KVM fails to boot after conversion

       https://bugzilla.redhat.com/1430680
           There is error info about "No such file or directory" when convert a guest from ova
           file by v2v

       https://bugzilla.redhat.com/1430184
           virt-dib should generate sha256 checksum instead of sha512

       https://bugzilla.redhat.com/1429506
           RFE: OVMF should be detected on conversion server to prevent failed conversion

       https://bugzilla.redhat.com/1429491
           Should rename network name of rhv in virt-v2v man page

       https://bugzilla.redhat.com/1427529
           virt-sysprep should remove DHCP_HOSTNAME

       https://bugzilla.redhat.com/1417306
           QEMU image file locking (libguestfs)

       https://bugzilla.redhat.com/1409024
           [Debian] Missing db_dump abort inspection

       https://bugzilla.redhat.com/1406906
           Помилка сегментації при читанні пошкодженого шляху за допомогою прив'язок до Python 3

       https://bugzilla.redhat.com/1379289
           RFE: virt-p2v має підтримувати мнемонічні операції

       https://bugzilla.redhat.com/1378022
           There is virt-v2v warning about <listen type='none'> during converting a guest which
           has listen type='none' in XML

       https://bugzilla.redhat.com/1376547
           qemu-system-s390x: -device isa-serial,chardev=charserial0,id=serial0: 'isa-serial' is
           not a valid device model name

       https://bugzilla.redhat.com/1374232
           selinux relabel fails on RHEL 6.2 guests with "libguestfs error: selinux_relabel: :
           Success"

       https://bugzilla.redhat.com/1367738
           Missing bash completion scripts for: virt-diff guestunmount virt-copy-in virt-copy-out
           virt-customize virt-get-kernel virt-p2v-make-disk virt-p2v-make-kickstart virt-tar-in
           virt-tar-out virt-v2v-copy-to-local virt-win-reg

       https://bugzilla.redhat.com/1362649
           RFE: virt-sysprep does not utilize libguestfs encryption support

       https://bugzilla.redhat.com/1172425
           [RFE]virt-v2v failed to convert VMware ESX VM with snapshot

       https://bugzilla.redhat.com/1171654
           Modify a file in virt-rescue with vi on some linux terminal such as yakuake, can lead
           to abnormal display in virt-rescue shell

       https://bugzilla.redhat.com/1167623
           Remove "If reporting bugs, run virt-v2v with debugging enabled .." message when
           running virt-p2v

       https://bugzilla.redhat.com/1152819
           Can not end a running command in virt-rescue by press ^C or other keys, the only way
           is to exit virt-rescue

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.36

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.34.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Нові інструменти

       Virt-tail — новий інструмент для стеження (за кінцем) файлів журналу у гостьовій системі,
       подібний до звичайної команди "tail -f".

       Нові можливості у наявних інструментах

       Virt-customize, virt-get-kernel, virt-sparsify і virt-sysprep тепер можуть працювати із
       зашифрованими гостьовими системами (Pino Toscano).

       У virt-builder і virt-customize тепер передбачено підтримку --append-line, що корисно для
       додавання рядків наприкінці файлів налаштувань.

       Virt-resize тепер може зменшувати і збільшувати розміри розділів резервної пам'яті (Pino
       Toscano).

       Virt-resize тепер може виводити дані на нелокальні диски (Pino Toscano).

       У virt-sysprep передбачено нову операцію із назвою "backup-files" для вилучення резервних
       копій редактора і "passwd-backups" для вилучення /etc/passwd- та подібних файлів.

       Virt-dib тепер може створювати контрольні суми за допомогою нового параметра --checksum
       (Pino Toscano).

       Virt-dib тепер може створювати файли tgz. Крім того, у виведеному файлі tar зберігаються
       розширені атрибути і мітки SELinux (Pino Toscano).

       Virt-dib тепер може створювати файли squashfs (Pino Toscano).

       Автоматичне доповнення за Tab у bash тепер доступне для усіх інструментів командного
       рядка, який постачається у пакунках.

       virt-v2v і virt-p2v

       Передбачено підтримку перетворень Debian (6+) і Ubuntu (10.04+) (Tomáš Golembiovský, Pino
       Toscano).

       Перевірено перетворення з гіпервізору Xen SUSE (Cédric Bosdonnat).

       Під час перетворення Windows тепер встановлюється програма "pnp_wait.exe", яка запобігає
       конфліктам між Керуванням Plug-and-Play Windows і нашими скриптами, які встановлюють
       драйвери пристроїв virtio. Вмикання цієї можливості потребує, щоб програму "pnp_wait.exe"
       було зібрано окремо (Roman Kagan).

       Тепер можна перетворювати файли OVA, експортовані з AWS (Shahar Havivi).

       Під час перетворення файлів OVA за певних обставин virt-v2v тепер може читати образи
       дисків безпосередньо з вхідного файла OVA, замість розпаковування файла OVA до тимчасового
       каталогу. Це може заощадити місце на диску і пришвидшити обробку (Tomáš Golembiovský).

       Virt-p2v тепер можна зібрати на RHEL 5 (приблизно 2007 рік) Linux та RHEL 6, що означає,
       що 32-бітові системи та обладнання із давніми дисками fakeraid можна віртуалізувати.
       Виконувані файли virt-p2v, засновані на цих застарілих версіях RHEL, можна знайти на
       http://oirase.annexia.org/virt-p2v/

       Virt-p2v тепер може використовувати nbdkit (сервер NBD) як альтернативу qemu-nbd. Крім
       того, virt-p2v тепер може використовувати «активацію сокетом», яка є стійкішим методом для
       відкриття сокета для очікування даних NBD. Активація за сокетом працює з qemu-nbd і
       nbdkit, але потребує найновіших версій цих компонентів.

       Щоб запобігти перевищенню часу очікування під час перетворень P2V, virt-p2v успадковує
       параметри заощадження енергії від фізичної машини і також надсилає луна-пакети крізь
       з'єднання керування ssh та даних.

       Virt-v2v більше не вилучає вузли "Processor" і "Intelppm" з реєстру Windows.

       Перетворення Xen і vCenter тепер можна виконувати за допомогою модуля libvirt, якщо
       використовується libvirt ≥ 2.1.0.

       Ігноруються пристрої /dev/srX (SCSI CD-ROM) (Tomáš Golembiovský).

       Під час перетворення гостьових систем SUSE Linux реалізовано використання
       /etc/modprobe.conf.local, якщо такий файл існує.

       Вилучення інструментів VMware з гостьових систем Linux тепер має працювати надійно (Pino
       Toscano).

       Під час перетворення файлів OVA virt-v2v тепер перевіряє хеш образу диска, який міститься
       у файлі маніфесту, тоді як раніше цей хеш ігнорувався через помилку у коді. Крім того,
       тепер передбачено підтримку хешів SHA256 (Tomáš Golembiovský).

       Під час перетворення файлів OVA, який містить стиснені образи дисків, тепер враховується
       атрибут "ovf:compression" з метаданих, замість безпосереднього аналізу образу диска (Tomáš
       Golembiovský).

       Додано новий прапорець --vdsm-compat до режиму -o vdsm. За його допомогою можна створювати
       ефективніші образи qcow2.

       Оскільки продукт RHEV [комерційно підтримувану версію oVirt] тепер перейменовано на RHV,
       «RHEV» було замінено на «RHV» у всьому інструментарії. Зокрема, -o rhev тепер стало -o
       rhv, хоча і стара назва використовується для забезпечення зворотної сумісності.

       Програма "RHEV-APT" встановлюється тепер лише, якщо гіпервізором виведення даних є oVirt
       або RHV.

       Має бути вирішено проблему із нестачею пам'яті для роботи virt-v2v при виконанні
       повторного встановлення міток SELinux у гостьовій файловій системі.

       Прив’язки до мов програмування

       Встановлення значення "EXTRA_JAVAC_FLAGS" до ./configure надає вам змогу додавати довільні
       прапорці до "javac" під час збирання прив'язок до Java.

       Використання будь-якого програмного інтерфейсу libguestfs, який повертає окрему структуру,
       з прив'язок до Perl або Java призводило до витоку пам'яті. Тепер цю помилку виправлено.
       (Pino Toscano).

       Перевірка

       Інспектування гостьових систем Windows із помірно пошкодженими роями регістру Windows
       тепер спрацьовує, замість завершення з повідомленням про помилку. Для користування цією
       можливістю слід встановити hivex ≥ 1.3.14 (Dawid Zamirski).

       Для пакунків Debian тепер передбачено можливість читати адресу, назву початкового пакунка,
       резюме і повний опис встановлених пакунків. Для гостьових систем на основі RPM можливе
       читання адреси, резюме та опису (Pino Toscano).

       Інспектування гостьових операційних систем, де використовується окремий розділ /usr, тепер
       має працювати надійніше (Pino Toscano).

       Під час обробки /etc/fstab гостьової системи шляхи згортаються до канонічної форми
       (наприклад, "///usr//local//" → "/usr/local").

       Інспектування підтомів btrfs тепер працює там, де поле параметрів /etc/fstab містить коми.

       Ігноруються пристрої /dev/cdN у /etc/fstab гостьової системи (Pino Toscano).

       Архітектури і платформи

       Тепер стабільні випуски тестуються на архітектурах aarch64, ppc64 та ppc64le.

       Архітектура RISC-V тепер обробляється як гостьова, а libguestfs принаймні збирається на
       RISC-V (але, ймовірно, не працює, оскільки там немає придатного до користування qemu на
       час написання цього запису).

       Реалізовано підтримку виявлення бінарних файлів і гостьових систем S/390 та S/390x.

       Інше

       Реалізовано підтримку файлових систем ExFAT (Miles Wolbe).

   Безпека
       Див. також guestfs-security(1).

       Протягом цього циклу розробки не було повідомлено про жодну вразливість захисту. Втім,
       було виконано певні роботи із удосконалення захисту, які описано нижче.

       Назви тимчасових файлів тепер завжди створюються з використанням випадкових значень з
       /dev/urandom (раніше в одному випадку використовувалася функція C random(3)).

       Реалізовано перевірку змінної середовища $TERM перед передаванням її до командного рядка
       ядра базової системи.

   API
       Нові програмні інтерфейси

       "guestfs_aug_transform"
           Надає доступ до програмного інтерфейсу Augeas "aug_transform" (Pino Toscano).

       "guestfs_find_inode"
           Пошук файлів за номером inode (Matteo Cafasso).

       "guestfs_inspect_get_windows_software_hive"
       "guestfs_inspect_get_windows_system_hive"
           Повертає шлях до роїв Windows "HKLM\SYSTEM" та "HKLM\SOFTWARE", який було визначено
           під час інспектування.

       "guestfs_mksquashfs"
           Створює файлову систему squashfs зі шляху (Pino Toscano).

       Інші зміни у програмному інтерфейсі

       "guestfs_add_domain"
           Цей виклик тепер коректно обробляє томи libvirt, засновані на файлах. Раніше такі томи
           ігнорувалися. Також реалізовано обробку дисків, які потребують розпізнавання за
           реєстраційними даними для відкриття їх у libvirt (Pino Toscano).

       "guestfs_canonical_device_name"
           Цей виклик більше не помиляється при внесенні змін до назв пристроїв програмного RAID
           у Linux (зокрема /dev/mdX).

       "guestfs_file_architecture"
           Раніше програмний інтерфейс "file_architecture" між повертати будь-який рядок, "i386"
           або "i486", для 32-бітових виконуваних файлів x86. Тепер він повертає лише "i386" (за
           документацією).

           Цей програмний інтерфейс тепер може повертати такі нові значення: "riscv32",
           "riscv64", "riscv128", "s390", "s390x".

       "guestfs_hivex_open"
           Цей виклик тепер має необов'язковий прапорець "GUESTFS_HIVEX_OPEN_UNSAFE", який надає
           змогу відкривати деякі пошкоджені рої реєстру Windows. Для користування цією
           можливістю слід встановити hivex ≥ 1.3.14 (Dawid Zamirski).

       "guestfs_list_partitions"
           Цей виклик тепер повертає програмні розділи RAID у Linux.

       "guestfs_part_to_dev"
           Цей виклик тепер коректно обробляє назви розділів, які містять "p<N>" (Pino Toscano).

       "guestfs_set_label"
           Цей виклик тепер може змінювати мітки розділів резервної пам'яті (Pino Toscano).

   Зміни у збиранні
       libmagic, бібліотечна частина програми "file", тепер потрібна для збирання (раніше вона
       була необов'язковою).

       Реалізовано підтримку GCC 7.

       Тепер програми OCaml та прив'язки до Java використовують «мовчазні правила». Щоб
       переглянути рядок команди, яка виконується, додайте "V=1" до рядка команди make (Pino
       Toscano).

       Повільне тестування ("make check-slow") тепер покриває: скрипти firstboot у гостьових
       системах Linux; перетворення v2v набору справжніх гостьових систем Linux; параметри virt-
       customize --hostname та --timezone; параметр --root-password; те, що послідовна консоль
       працює у гостьових системах virt-builder.

       Великі автоматично створені файли з кодом мовою C, наприклад список команд у fish/cmds.c
       (та багато інших), поділено на менші файли для пришвидшення паралельного збирання.

       "make maintainer-check-extra-dist" тепер перевіряє, чи усі створені файли було включено до
       архіву tar.

       Тести тепер не припускають, що "." перебуває у @INC Perl, оскільки її скоро збираються
       вилучити (Pino Toscano).

       Реалізовано підтримку основних систем Debian з UsrMerge (Pino Toscano).

       Файли заголовків та структури C тепер можуть містити вбудовану документацію з використання
       спеціальних коментарів "/** ... */".

       Підстановки "@VAR@" у "./run" тепер повністю екрануються лапками. Це потрібно для того,
       щоб (наприклад) команда "./configure PYTHON=/якийсь/шлях" працювала належним чином, якщо у
       "/якийсь/шлях" містяться символи, які слід екранувати (Hilko Bengen).

       Реалізовано підтримку gperf ≥ 3.1.

       Старі збірки Kraxel-я для edk2 тепер не можна використовувати для забезпечення підтримки
       UEFI. Код UEFI тепер повністю програмний, тому слід використовувати версії з комплекту
       вашого дистрибутива Linux.

       Virt-p2v тепер можна зібрати на Linux RHEL 5 (випущено у 2007 році) з Gtk 2.10.

   Внутрішня частина роботи програми
       Тепер модулі generator та mllib "Common_utils" використовуються спільно з одного файла
       початкового коду.

       Значну частку загального коду було пересунуто до каталогу common у початковому коді. Тепер
       вона збирається лише одного разу. Мінібібліотеки, які містяться у цьому каталозі:
       common/edit, common/errnostring, common/miniexpect, common/options, common/parallel,
       common/progress, common/protocol, common/utils, common/visit, common/windows.

       Каталог, у якому зберігається основний код бібліотеки пересунуто, srclib.

       Усі тести, які було написано мовою командної оболонки, тепер використовують спільний файл
       із допоміжними функціями (tests/test-functions.sh). Написано ще декілька нових допоміжних
       функцій, зокрема для пропускання певних перевірок. Крім того, ці скрипти тестування тепер
       можуть використовувати autoconf-подібні змінні шляхів, зокрема $abs_top_srcdir.

       Шляхи UEFI тепер зберігаються у generator (generator/uefi.ml).

       Спосіб, у який засіб створення обробляє дії і номери процедур, було суттєво змінено. Див.
       generator/actions_*.ml і generator/proc_nr.ml.

       Тепер модуль gnulib "getprogname" використовується всюди, де потрібна назва програми чи
       виведення назви програми (Pino Toscano).

       perl/Guestfs.c не придатний до перекладу (Nikos Skalkotos).

       Шаблони virt-builder пересунуто з builder/website до builder/templates. Тепер є одна
       уніфікована програма, яка може зібрати будь-який шаблон.

       Усі засоби роботи з реєстром Windows, які використовуються virt-customize і virt-v2v, було
       пересунуто до спільного модуля із назвою "Registry" у mllib.

       Усі прив'язки POSIX було пересунуто до нового модуля з назвою "Unix_utils" у mllib.

       У засобі інспектування, virt-customize та virt-v2v у декількох місцях усунено повторне
       визначення "%systemroot%", "CurrentControlSet" та шляхів до роїв "HKLM\SYSTEM" і
       "HKLM\SOFTWARE" у Windows. Усі ці дані визначаються один раз (під час інспектування) і
       передаються іншим інструментам за допомогою різноманітних програмних інтерфейсів
       "guestfs_inspect_get_windows_*".

       "/dev/pts" тепер доступний у базовій системі, отже будь-які інструменти, які потребують
       для роботи pty, тепер працюватимуть (Pino Toscano).

       Виправлено більшу частину попереджень OCaml.

       Тепер існує єдина загальна функція для створення тимчасових файлів
       ("guestfs_int_make_temp_path") (Matteo Cafasso).

       Реалізовано перевірку змінної середовища $TERM перед передаванням її до командного рядка
       ядра базової системи.

       У базовій системі більше не створюються непотрібні пристрої USB та memballoon (Laine
       Stump).

       На aarch64 для базової системи тепер використовується virtio-pci. Це дещо швидше за
       virtio-mmio.

       Було мінімізовано використання srandom(3) і random(3). Зокрема, тимчасові назви файлів
       більше не створюються на основі даних, які повертає random(3), замість цього
       використовується /dev/urandom.

   Виправлені вади
       https://bugzilla.redhat.com/1425306
           описка на сторінці підручника virt-tail

       https://bugzilla.redhat.com/1418283
           virt-v2v: вичерпання пам'яті базовою системою під час виконання команди setfiles

       https://bugzilla.redhat.com/1417549
           /usr/bin/x86_64-linux-gnu-ld.bfd.real:
           ../common/progress/.libs/libprogress.a(libprogress_la-progress.o): undefined reference
           to symbol 'UP@@NCURSES_TINFO_5.0.19991023'

       https://bugzilla.redhat.com/1417444
           *** Немає правила для створення ../perl/lib/Sys/Guestfs.c, потрібне для libguestfs.pot

       https://bugzilla.redhat.com/1416941
           не вдається зібрати 1.34.3 з gperf 3.1

       https://bugzilla.redhat.com/1414682
           guestfs_canonical_device_name incorrectly returns /dev/sd0 for MD devices (/dev/md0)

       https://bugzilla.redhat.com/1414510
           guestfs_list_filesystems не розпізнає розділи ddf

       https://bugzilla.redhat.com/1409023
           [Debian] у базовій системі не встановлено ldmtool

       https://bugzilla.redhat.com/1404287
           qemu-kvm cannot boot RHEL 7 kernel with TCG, hangs at "Probing EDD (edd=off to
           disable)..."

       https://bugzilla.redhat.com/1404182
           RFE: virt-resize має підтримувати адресу як диск виведення

       https://bugzilla.redhat.com/1401474
           Importing VMs from VMware is failing with error "Inspection field 'i_arch' was
           'unknown'"

       https://bugzilla.redhat.com/1401320
           RFE: дещо збільшити покриття virt-sysprep

       https://bugzilla.redhat.com/1400205
           Додати прапорець --vdsm-compat=1.1 для VDSM

       https://bugzilla.redhat.com/1398070
           описка на сторінці підручника

       https://bugzilla.redhat.com/1392798
           не читаються реєстраційні дані з доменів libvirt

       https://bugzilla.redhat.com/1390876
           дані щодо --machine-readable на сторінці підручника virt-v2v слід оновити

       https://bugzilla.redhat.com/1379289
           RFE: virt-p2v має підтримувати мнемонічні операції

       https://bugzilla.redhat.com/1378022
           There is virt-v2v warning about <listen type='none'> during converting a guest which
           has listen type='none' in XML

       https://bugzilla.redhat.com/1377081
           на сторінці підручника virt-p2v слід оновити дані щодо діалогу

       https://bugzilla.redhat.com/1375157
           virt-v2v: -i ova: заборонено доступ, якщо використовується libvirt і запуск
           відбувається від імені root

       https://bugzilla.redhat.com/1374651
           Can't install qxl driver for display device in win7 guest after converting to glance
           by virt-v2v

       https://bugzilla.redhat.com/1374405
           There is HTTP 404 error info when convert guest to glance by virt-v2v

       https://bugzilla.redhat.com/1374232
           selinux relabel fails on RHEL 6.2 guests with "libguestfs error: selinux_relabel: :
           Success"

       https://bugzilla.redhat.com/1372668
           Стан процесу у гостьовій системі windows після перетворення з kvm на rhev за допомогою
           virt-v2v не є нормальним

       https://bugzilla.redhat.com/1372269
           Засіб збирання не встановлює належним чином назву вузла для Debian 8 (Jessie)

       https://bugzilla.redhat.com/1371843
           Поліпшення сумісності імпортування OVA

       https://bugzilla.redhat.com/1370424
           virt-manager coredump when vm with gluster image exists

       https://bugzilla.redhat.com/1367839
           Cannot import VMs from Xen and VMware when using RHEL7.3 host.

       https://bugzilla.redhat.com/1367738
           Missing bash completion scripts for: virt-diff guestunmount virt-copy-in virt-copy-out
           virt-customize virt-get-kernel virt-p2v-make-disk virt-p2v-make-kickstart virt-tar-in
           virt-tar-out virt-v2v-copy-to-local virt-win-reg

       https://bugzilla.redhat.com/1367615
           OVMF file which is built for rhel7.3 can't be used for virt-v2v uefi conversion

       https://bugzilla.redhat.com/1366456
           Converting rhel7 host installed on RAID:warning: fstrim: fstrim: /sysroot/: the
           discard operation is not supported

       https://bugzilla.redhat.com/1366049
           RFE: libvirt backend: support handling disks stored as volume name in a pool

       https://bugzilla.redhat.com/1365005
           Назва гостьової системи є помилковою, якщо перетворення гостьової системи з образу
           диска виконується virt-v2v

       https://bugzilla.redhat.com/1362649
           RFE: virt-sysprep does not utilize libguestfs encryption support

       https://bugzilla.redhat.com/1354507
           virt-v2v conversions from vCenter do not consistently obey the proxy environment
           variables

       https://bugzilla.redhat.com/1168144
           warning: fstrim: fstrim: /sysroot/: FITRIM ioctl failed: Operation not supported
           (ignored) when convert win2003 guest from xen server

       https://bugzilla.redhat.com/1161019
           RFE: Only install RHEV-APT if virt-v2v -o rhev/-o vdsm option is used

       https://bugzilla.redhat.com/1152369
           virt-v2v failed to convert RHEL 6.7 UEFI guest: no grub1/grub-legacy or grub2
           configuration file was found

       https://bugzilla.redhat.com/1141631
           [RFE] virt-v2v should support convert a guest to a dir-pool with using pool's uuid

       https://bugzilla.redhat.com/1134878
           libvirt reports json "backing file" is missing

       https://bugzilla.redhat.com/1019388
           Скрипти firstboot (virt-builder, virt-sysprep) не працюють у гостьових системах Debian
           6 і 7

       https://bugzilla.redhat.com/737600
           virt-v2v windows xp - machine dies BSOD - processr,sys - workaround provided

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.34

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.32.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Декілька поліпшень швидкодії у libguestfs. Час «кешування угарячу» для запуску базової
       системи має бути меншим за 1 секунду, якщо встановлено новітні qemu та ядро. Також
       створено нові інструменти для точного тестування швидкодії libguestfs
       (utils/boot-benchmark та utils/boot-analysis у ієрархії початкового коду).

       Програма virt-p2v для перетворення фізичних машин на віртуальні машини зазнала значного
       поліпшення. Це зокрема простіше розфарбоване виведення даних під час перетворень,
       підтримка Gtk 3, докладніші відомості щодо обладнання, реалізація клацання для
       ідентифікації інтерфейсів мережі, більше засобів діагностики, що включаються до ISO та
       багато виправлень вад.

       Реалізовано підтримку f2fs (дружньої до флешок файлової системи) (Pino Toscano).

       Нові інструменти

       Реалізовано можливість скористатися virt-p2v-make-kiwi(1) для збирання образів ISO
       virt-p2v на основі SLES і openSUSE за допомогою інструментарію kiwi (Cédric Bosdonnat).

       Нові можливості у наявних інструментах

       Нова версія virt-resize зберігає GUID GPT. Ця версія є обов'язковою для роботи з Windows
       Server 2012 R2, де завантажувач не працюватиме, якщо змінюється GUID (Maxim
       Perevedentsev).

       Нова версія virt-resize використовує розріджене копіювання для розширених розділів (у
       старому стилі MBR). Значно пришвидшує зміну розмірів гостьових систем, які використовують
       розширені розділи (Maxim Perevedentsev).

       Реалізовано використання параметрів командного рядка ядра virt-p2v для встановлення
       типових значень у графічному засобі налаштовування.

       Повністю вилучено параметри діагностики virt-p2v, що спростило інтерфейс і документацію.
       Діагностичні відомості тепер перехоплюються повністю автоматично.

       virt-p2v-make-disk у новій версії надає вам змогу вказати параметр --arch, уможливлюючи
       збирання 32-бітової virt-p2v для сумісності із застарілими системами.

       Для нової версії virt-p2v-make-disk більше немає потреби вказувати "версію-ОС" для диска
       virt-p2v. Якщо версію не вказано, програма намагатиметься вибрати відповідну "версію-ОС"
       за вашою основною системою.

       До virt-p2v-make-disk і virt-p2v-make-kickstart додано новий параметр --install, за
       допомогою якого можна додавати довільні пакунки до образу ISO virt-p2v, для
       налаштовування, отримання додаткових інструментів діагностики тощо.

       Нова версія virt-v2v вилучає Parallels Tools (або еквівалентні Virtuozzo Tools) з
       гостьових систем Linux. Також припинено завантаження драйверів Windows під час
       завантаження системи . (Roman Kagan і Pavel Butsykin)

       Розширено можливості режиму virt-v2v --in-place так, щоб уможливити для функції виклику
       вибір, встановлювати чи ні певні драйвери virtio до гостьової системи (Roman Kagan).

       Засоби перетворення virt-v2v гостьових систем Windows значно переписано і спрощено (Roman
       Kagan).

       У новій версії режиму virt-v2v --in-place передбачено підтримку встановлення драйверів
       virtio-scsi до гостьової системи (Roman Kagan).

       Нова версія virt-v2v може перетворювати гостьові системи SUSE та гостьові системи SUSE з
       використанням UEFI (Cédric Bosdonnat і Jim Fehlig).

       Нова версія virt-v2v може перетворювати гостьові системи Glance із декількома дисками.
       Раніше програма показувала повідомлення про помилку для таких гостьових систем.

       Параметри virt-v2v --no-trim і --vmtype тепер не призводять до виконання будь-яких дій.
       Програма показує попередження і просто ігнорує параметри. Нова версія virt-v2v може
       створювати vmtype OVF правильно без втручання користувача.

       Нову версію virt-v2v можна тестувати у Xen SUSE як початковому гіпервізорі (Cédric
       Bosdonnat).

       У virt-v2v додано підтримку драйверів VMDP SUSE (Cédric Bosdonnat).

       Нова версія virt-v2v може перетворювати файли OVA, які містять підтеки, які створено за
       допомогою SUSE Studio (Cédric Bosdonnat).

       Нова версія virt-v2v правильно встановлює елемент OVF "<Origin>". Можливості oVirt
       розширено з метою підтримки ширшого спектра гіпервізорів (Shahar Havivi).

       У новій версії virt-v2v передбачено підтримку Windows Server 2016 (Tomáš Golembiovský).

       Параметром virt-builder --list тепер можна скористатися для перегляду усіх шаблонів або
       окремого шаблона (Pino Toscano).

       В усіх заснованих на OCaml інструментах тепер використовується getopt_long(3) для обробки
       параметрів. Поліпшено виведення --help (Pino Toscano).

       За допомогою параметра --selinux-relabel virt-builder і virt-customize у новій версії
       можна повністю повторно встановити мітки для усієї гостьової файлової системи під час
       збирання без потреби у довгому автоматичному повторному встановленні міток під час першого
       завантаження.

       virt-customize --delete у новій версії може обробляти символи-замінники.

       За допомогою нового параметра virt-customize --uninstall ви зможете вилучати пакунки.

       Нова версія virt-customize може використовувати "pvvxsvc" як альтернативу до "rhsrvany"
       для запуску скриптів firstboot у гостьових системах Windows (Cédric Bosdonnat).

       virt-customize тепер використовує найстійкішу схему хешування паролів у Arch та Void Linux
       (Pino Toscano).

       virt-customize --install тепер працює належним чином у Arch (Pino Toscano).

       virt-inspector має нові параметри --no-applications і --no-icon для запобігання включенню
       списку програм та піктограм до виведених даних XML (Pino Toscano).

       Додано новий параметр virt-sysprep --network, за допомогою якого ви можете насправді
       скористатися параметрами --install та іншими, які були у virt-sysprep і раніше, але не
       працювали. Зауважте, що типово мережу все ще вимкнено.

       Дія virt-sysprep "fs-uuids" більше не завершує роботу помилкою для гостьових систем btrfs
       (Maxim Perevedentsev).

       virt-dib тепер може виводити образи для Docker (Pino Toscano).

       У virt-dib реалізовано новий параметр --drive-format, за допомогою якого можна вказати
       формат допоміжного диска (Pino Toscano).

       Усі засоби віртуалізації OCaml тепер мають параметр --colors/--colours, який вмикає
       розфарбовування виведених даних (за допомогою екранованих послідовностей ANSI), навіть
       якщо виведення відбувається не до tty. Типовою поведінкою є перевірка, чи виводяться дані
       до tty, і вимикання розфарбовування даних, якщо ні. Це надає змогу передавати розфарбовані
       виведені дані для обробки іншим програмам.

       Прив’язки до мов програмування

       Удосконалено покриття тестами PHP (Pino Toscano).

       Реалізовано підтримку PHP 7 (Pino Toscano).

       Прив'язки Python тепер сумісні з PEP 8 (Pino Toscano).

       Пакунок pip Python доступний з http://libguestfs.org/download/python/

       Прив'язки до Ruby тепер виводять текст виключення повністю, якщо такий видано зворотним
       викликом події. Зауважте, що це не зовсім коректна поведінка, оскільки зворотні виклики
       подій не повинні видавати виключення, але це допомагає у діагностиці.

       Усі бібліотеки і програми OCaml тепер збираються з прапорцем -safe-string, якщо його
       підтримку передбачено у компіляторі OCaml.

       Перевірка

       Тепер можна інспектувати Alpine Linux з використанням busybox. Крім того, у virt-customize
       передбачено підтримку засобу керування пакунками APK (Pino Toscano).

       Реалізовано інспектування Mageia 4 (Pino Toscano).

       Повністю реалізовано підтримку Void Linux та засобу керування пакунками pbs з Void Linux
       xbps (Pino Toscano).

       Удосконалено обробку даних щодо версії CoreOS (Pino Toscano).

       Уможливлено отримання піктограми з ALT Linux (Pino Toscano).

       Тепер розпізнаються версії PLD Linux < 3 (Pino Toscano).

       Реалізовано повернення літер дисків Windows для гостьових систем з використанням розділів
       GPT (Dawid Zamirski).

       Реалізовано правильне інспектування гостьових систем Unix, у яких немає файла /etc/fstab
       (Pino Toscano).

       Додано нове джерело піктограми Ubuntu, яке не покладається на встановлення GNOME у
       гостьовій системі.

       Реалізовано отримання піктограми для 64-бітових гостьових систем Windows 7.

       Переписано код інтеграції libosinfo так, щоб можна було працювати із новим форматом бази
       даних від osinfo (Pino Toscano).

       Документація

       Нова сторінка підручника, guestfs-building(1), де наведено настанови щодо того, як зібрати
       libguestfs з початкових кодів.

       Сторінки підручника, засоби та виведення параметра --help тепер автоматично перевіряються
       так, щоб забезпечити повне документування, включення належних розділів попередження та
       додавання до кожної сторінки розділу опису.

       Оновлено сторінку підручника guestfs-testing(1); тепер дані на ній відповідають новішій
       libguestfs.

       Архітектури і платформи

       virt-customize тепер працює на платформах POWER7 і POWER8, у обох варіантах, із прямим та
       зворотним порядком байтів (Xianghua Chen і Hu Zhang).

   Безпека
       Див. також guestfs-security(1).

       CVE-2015-8869

       https://bugzilla.redhat.com/CVE-2015-8869

       Ця вразливість у OCaml може стосуватися усіх інструментів віртуалізації, які написано
       мовою програмування OCaml. Вона стосується лише 64-бітових платформ. Оскільки ця вада
       стосується створення коду, важко визначити точний перелік вражених програм, тому
       рекомендують повторно зібрати libguestfs за допомогою версії компілятора OCaml, де цю ваду
       виправлено (або попросити розробників вашого дистрибутива Linux зробити це для вас).

       Права власності virt-customize на .ssh, .ssh/authorized_keys

       https://bugzilla.redhat.com/1337561

       Раніше, коли virt-customize вставляла ключ SSH до гостьової системи, створюючи у каталозі
       ~/.ssh файл ~/.ssh/authorized_keys (якщо їх ще не було), вона надавала їм права власності
       "root.root". Цю помилку було виправлено. Тепер використовується правильні значення
       користувача і групи. Ми думаємо, що цією вразливість було неможливо скористатися.

       Windows "%systemroot%"

       Код засобу інспектування було зроблено стійкішим до гостьових систем, де міг
       використовуватися дуже довгий "%systemroot%" (успадкований від керованого гостьовою
       системою реєстру Windows). Ми вважаємо, що цією вразливістю неможливо скористатися.

       У базовій системі тепер доступною є програма Virtio-rng

       virtio-rng (віртуальний пристрій-генератор випадкових чисел) тепер передається до базової
       системи, що має поліпшити якість псевдовипадкових чисел, які використовуються для GUID та
       створення криптографічних ключів.

   API
       Нові програмні інтерфейси

       "btrfs_filesystem_show"
           Реалізовано показу усіх пристроїв, на які поширюється файлова система btrfs (Pino
           Toscano).

       "download_blocks"
       "download_inode"
       "filesystem_walk"
           Отримує блоки даних файлової системи для вказаного розділу. Отримує довільні файли за
           номером inode. Отримує усі файли з файлової системи, включно із вилученими.

           Зауважте, що ці зміни потребують встановлення додаткової залежності, The Sleuth Kit.
           (Matteo Cafasso)

       "get_sockdir"
           Реалізовано читання шляху, де зберігаються тимчасові сокети (Pino Toscano).

       "mountable_device"
       "mountable_subvolume"
           Реалізовано поділ адреси змонтованого пристрою на назву пристрою і підтом (Cédric
           Bosdonnat).

       "ntfscat_i"
           Реалізовано отримання файлів NTFS за номером inode (Matteo Cafasso).

       "part_expand_gpt"
           Уможливлює розширення розділів GPT на місці з пересуванням другої (резервної) таблиці
           розділів у напрямку кінця диска (Maxim Perevedentsev).

       "part_get_disk_guid"
       "part_set_disk_guid"
       "part_set_disk_guid_random"
           Отримує і встановлює GUID диска GPT або встановлює для них свіже випадкове значення
           (Maxim Perevedentsev).

       "selinux_relabel"
           Виконує оновлення міток SELinux для частини гостьової файлової системи або для усієї
           гостьової файлової системи.

       Інші зміни у програмному інтерфейсі

       "guestfs_set_selinux", "guestfs_get_selinux", "guestfs_setcon", "guestfs_getcon" і
       "guestfs_llz" тепер вважаються застарілими. Скористайтеся новим програмним інтерфейсом
       "guestfs_selinux_relabel" для повторного встановлення міток у файлових системах.
       Скористайтеся "guestfs_lgetxattrs", щоб отримати список розширених атрибутів
       "security.selinux" наявних файлів.

       "guestfs_vfs_minimum_size" тепер можна використовувати для файлових систем у проміжних
       станах (Maxim Perevedentsev).

       "guestfs_ll" тепер працює для шляхів, які містять абсолютні символічні посилання (Pino
       Toscano).

       "guestfs_glob_expand" тепер має необов'язковий булевий параметр "directoryslash", який
       керує тим, чи повертатимуться кінцеві похилі риски у назвах каталогів (Pino Toscano).

       "guestfs_lvs" більше не повертає логічні томи, для яких встановлено прапорець
       "activationskip". Причиною є те, що такі логічні томи не мають вузла пристрою
       "/dev/VG/LV", отже, код, який читає список логічних томів, а потім зондує самі пристрої,
       негайно повертає помилку. Ви можете скористатися "guestfs_lvs_full", якщо хочете прочитати
       усі логічні томи (Pino Toscano).

       "guestfs_list_disk_labels" більше не повертає повідомлення про помилку, якщо не було
       додано жодного диска із мітками. Замість цього, буде повернуто порожній список (Pino
       Toscano).

       "guestfs_is_lv" більше не повертає повідомлення про помилку, якщо передано підтом btrfs.
       Замість цього буде повернуто false (Maxim Perevedentsev).

   Зміни у збиранні
       Потрібен qemu ≥ 1.3.0.

       Для збирання libguestfs потрібна yajl (бібліотека для обробки коду JSON).

       Тепер можливе збирання за допомогою GCC 6.

       "make check-valgrind" тепер має суттєво ліпше покриття.

       "make check-slow" тепер знову є працездатним.

       Скористайтеся "make -C appliance clean-supermin-appliance" щоб спорожнити базову систему
       supermin (її буде перезібрано під час наступного "make").

       Реалізовано спектр нових правил для запуску virt-p2v з каталогу початкового коду: "make -C
       p2v run-virt-p2v-directly" | "run-virt-p2v-in-a-vm" | "run-virt-p2v-non-gui-conversion".
       Документацію щодо цього можна знайти на сторінці guestfs-hacking(1).

       virt-p2v може бути зібрано з використанням Gtk 2 або Gtk 3. Щоб примусово вказати версію
       Gtk, скористайтеся "./configure --with-gtk=2|3"

       Параметри "./configure" тепер здебільшого документовано на сторінці guestfs-building(1).

   Внутрішня частина роботи програми
       У git версії тепер позначаються "v1.XX.YY" (раніше вони позначалися "1.XX.YY").
       Використання префікса "v-" є поширенішим для сховищ git.

       Якщо використовується модуль обробки libvirt, тепер програма очікує на коректне завершення
       роботи qemu, замість того, щоб примусово завершувати роботу за 15 секунд. Це має допомогти
       у записі на повільні пристрої (особливо, дешеві флешки USB).

       До повідомлень про помилки від libvirt тепер додається поле "err->int1", у якому,
       зазвичай, міститься "errno".

       На ARM вилучено увесь код DTB (ієрархії пристроїв). qemu створює належну ієрархію на
       льоту, нам не потрібно вказувати її власноруч.

       У тестах програмного інтерфейсу C тепер використовуються більші тестові диски, що надає
       змогу належно перевірити BTRFS (Pino Toscano).

       Тести тепер мають належним чином працювати у основній системі, де встановлено лише Python
       3 (Pino Toscano).

       У прив'язках до C реалізовано однорідне (майже) іменування "guestfs_int_*". Раніше не було
       якоїсь спільної схеми визначення назв.

       Застарілі функції "safe_malloc" та інші тепер не експортуються бібліотекою і не
       використовуються у прив'язках до мов програмування.

       Встановлення для TMPDIR шляху, довшого за ~ 100 символів, більше не спричиняє аварійного
       випадкового завершення libguestfs без повідомлень під час створення сокетів доменів Unix
       (Pino Toscano).

       Тепер у фоновій службі можна використовувати макрос "COMPILE_REGEXP".

       Під час трасування тепер повністю виводяться результати, які містять структури (Pino
       Toscano).

       До модуля Perl "Sys::Guestfs" більше не вбудовується програмний інтерфейс збільшення
       номера версії. Тепер цей модуль завжди має фіктивну версію 1.0. Щоб визначити справжню
       версію libguestfs з Perl, вам слід викликати "$g->version".

       Увесь код було зібрано з "-Wstack-usage=10000", внесено багато змін для вилучення
       розміщень у стеку великих рядків та буферів.

       Тепер усюди використовується функція error(3), якою замінено більшість колишніх вживань
       perror(3) + exit(3) та fprintf(3) + exit.

       У коді C коментарі "/**" перетворено на документацію, яка автоматично додається до
       сторінки підручника guestfs-hacking(1).

       Було додано безпечну функцію getumask. У свіжих ядрах Linux ця функція використовує
       нещодавно додане поле "Umask" у /proc/self/status. У давніших Linux та інших системах Unix
       ця функція використовує безпечну щодо потоків методику з використанням fork(2) (подяки:
       Josh Stone, Jiri Jaburek, Eric Blake).

       Було додано безпечні обгортки posix_fadvise(2), також у код додано більше орієнтирів, які
       можуть трошки поліпшити швидкодію.

       Додано безпечну обгортку до waitpid(2), яка належним чином обробляє властивість "INTR".

       "podwrapper.pl" (використовується для створення сторінок підручника) тепер припиняє
       роботу, якщо знайдено будь-яку помилку у POD. Новий скрипт із назвою "podcheck.pl" виконує
       перехресну перевірку даних, виведених --help, параметрів засобів та сторінок підручника.

       Усі номери версій у бібліотеці (наприклад, версії qemu, версії libvirt, версії гостьових
       операційних систем) уніфіковано у єдиному файлі src/version.c (Pino Toscano).

       У гостьових системах Windows virt-customize використовуватиме нейтральний щодо
       постачальника шлях "C:\Program Files\Guestfs\Firstboot" для зберігання скриптів першого
       завантаження. Раніше використовувався "C:\Program Files\Red Hat\Firstboot". Ця зміна має
       бути непомітною для самих скриптів. (Cédric Bosdonnat)

       У гостьових системах Linux служби першого завантаження, створені virt-builder --firstboot
       тощо, було перейменовано на "guestfs-firstboot" (Pino Toscano).

       Тепер існує загальна функція "debug", яка використовується усіма засобами OCaml і замінює
       собою попередній код, який виконував "if verbose () then printf ...".

       virt-p2v копіює файли, які їй потрібні на сервер перетворення virt-v2v за допомогою
       scp(1), замість спроб надсилати їх через сеанс оболонки. Це має поліпшити стійкість
       процесу і має бути повністю прозорим для кінцевого користувача.

       Увесь код у mllib тепер збирається до єдиної бібліотеки "mllib.cma" або "mllib.cmxa".
       Увесь код у customize тепер збирається до єдиної бібліотеки "customize.cma" або
       "customize.cmxa". Це спрощує збирання засобів OCaml.

       Тепер у базовій системі використовується lvmetad(8), якщо доступна (Pino Toscano).

       Використовуються «мовчазні правила» для OCaml, Java, Erlang і POD. Скористайтеся "make
       V=1", щоб знову побачити рядки команд повністю (Pino Toscano).

   Виправлені вади
       https://bugzilla.redhat.com/1364347
           virt-sparsify --in-place failed with UEFI system

       https://bugzilla.redhat.com/1362357
           run_command runs exit handlers when execve fails (e.g. due to missing executable)

       https://bugzilla.redhat.com/1362354
           virt-dib failed to create image using DIB_YUM_REPO_CONF

       https://bugzilla.redhat.com/1359652
           Fail to inspect Windows ISO file

       https://bugzilla.redhat.com/1358142
           Some info will show when convert guest to libvirt by virt-v2v with parameter --quiet

       https://bugzilla.redhat.com/1354335
           overlay of disk images does not specify the format of the backing file

       https://bugzilla.redhat.com/1352761
           Virt-manager can't show OS icons of win7/win8/ubuntu guest.

       https://bugzilla.redhat.com/1350363
           Improve error info "remote server timeout unexpectedly waiting for password prompt"
           when connect to a bogus server at p2v client

       https://bugzilla.redhat.com/1348900
           virt-p2v should update error prompt when 'Test connection' with a non-existing user in
           conversion server

       https://bugzilla.redhat.com/1345813
           virt-sysprep --install always failed to install the packages specified

       https://bugzilla.redhat.com/1345809
           virt-customize --truncate-recursive should give an error message when specifying a no-
           existing path

       https://bugzilla.redhat.com/1343423
           [RFE]Should give a better description about 'curl error 22' when failed using ssh
           identity http url at p2v client

       https://bugzilla.redhat.com/1343414
           Failed SSH to conversion server by ssh identity http url at p2v client

       https://bugzilla.redhat.com/1343375
           [RFE] uninstall packages inside the VM

       https://bugzilla.redhat.com/1342447
           Ifconfig command is not supported on p2v client

       https://bugzilla.redhat.com/1342398
           Convert a guest from RHEL by virt-v2v but its origin info shows RHEV at rhevm

       https://bugzilla.redhat.com/1342337
           Should remind a warning about disk image has a partition when using virt-p2v-make-disk

       https://bugzilla.redhat.com/1341984
           virt-get-kernel prompts an 'invalid value' error when using --format auto

       https://bugzilla.redhat.com/1341564
           virt-p2v spinner should be hidden when it stops spinning

       https://bugzilla.redhat.com/1340809
           Testing connection timeout when input regular user of conversion server with checked
           "use sudo......"button

       https://bugzilla.redhat.com/1340464
           [RFE] Suggestion give user a reminder for "Cancel conversion" button

       https://bugzilla.redhat.com/1340407
           Multiple network ports will not be aligned at p2v client

       https://bugzilla.redhat.com/1338083
           Update UEFI whitelist for official fedora packages

       https://bugzilla.redhat.com/1337561
           virt-customize --ssh-inject не застосовує належних прав доступу до файлів

       https://bugzilla.redhat.com/1335671
           extra quotes around UUID confuses findfs in RHEL (but not in Fedora)

       https://bugzilla.redhat.com/1332025
           Inspection does not parse /etc/redhat-release containing "Derived from Red Hat
           Enterprise Linux 7.1 (Source)"

       https://bugzilla.redhat.com/1327488
           RFE: Allow p2v kernel options without p2v.server to set defaults

       https://bugzilla.redhat.com/1325825
           virt-v2v should prevent using multiple '-b' and '-n' option appears on the command
           line

       https://bugzilla.redhat.com/1321620
           libguestfs: error: could not parse integer in version number: 7"

       https://bugzilla.redhat.com/1321338
           [1.33.16] Compilation Error: Unbound value List.sort_uniq in v2v.ml line 988,
           characters 10-24:

       https://bugzilla.redhat.com/1317843
           `virt-builder --update` fails with: "dnf -y --best upgrade: command exited with an
           error"

       https://bugzilla.redhat.com/1316479
           v2v cmd cannot exit and "block I/O error in device 'appliance': No space left on
           device (28)" is printed when specified "-v -x"

       https://bugzilla.redhat.com/1316041
           virt-rescue fails, but missing error message

       https://bugzilla.redhat.com/1314244
           RFE: virt-p2v log window should process colour escapes and backspaces

       https://bugzilla.redhat.com/1312254
           virt-v2v -o libvirt doesn't preserve or use correct <graphics type="vnc|spice">

       https://bugzilla.redhat.com/1309706
           error: internal error: Invalid floppy device name: hdb

       https://bugzilla.redhat.com/1309619
           Wrong warning info "use standard VGA" shows when converting windows > 7 by virt-v2v

       https://bugzilla.redhat.com/1309580
           OS name of win8.1 x64 guest shows incorrect in rhevm3.6 general info

       https://bugzilla.redhat.com/1308769
           virt-v2v does not copy additional disks to Glance

       https://bugzilla.redhat.com/1306666
           Failure when disk contains an LV with activationskip=y

       https://bugzilla.redhat.com/1296606
           virt-v2v doesn't remove VirtualBox additions correctly because of file quoting

       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

       https://bugzilla.redhat.com/1293276
           guestfish can not ll a symbolic link dir or edit a file in it

       https://bugzilla.redhat.com/1278878
           guestfish should be able to handle LVM thin layouts

       https://bugzilla.redhat.com/1264835
           ppc64le: virt-customize --install fail to detect the guest arch

       https://bugzilla.redhat.com/1264332
           Test that trimming in virt-v2v doesn't regress

       https://bugzilla.redhat.com/1232192
           Virt-v2v gives an error on a blank disk: part_get_parttype: unknown signature, of the
           output: BYT;

       https://bugzilla.redhat.com/1229386
           virt-p2v in non-GUI mode doesn't show any conversion progress or status

       https://bugzilla.redhat.com/1227599
           P2V invalid password prints unexpected end of file waiting for command prompt.

       https://bugzilla.redhat.com/1224795
           On Ubuntu, virt-builder --install and --update cannot use the network

       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

       https://bugzilla.redhat.com/1203898
           Support inspecting docker images without /etc/fstab

       https://bugzilla.redhat.com/1186935
           libguestfs cannot inspect recent Fedora / RHEL >= 7 when /usr is a separate partition

       https://bugzilla.redhat.com/1167916
           P2V: invalid conversion server prints unexpected end of file waiting for password
           prompt.

       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

       https://bugzilla.redhat.com/1150298
           ARM 32 bit on Ubuntu: warning: cast to pointer from integer of different size
           [-Wint-to-pointer-cast]

       https://bugzilla.redhat.com/1089100
           NetworkManager avc unlink denied for resolv.conf after using --selinux-relabel

       https://bugzilla.redhat.com/983969
           RFE: virt-sysprep має враховувати роботу SELinux

       https://bugzilla.redhat.com/855058
           RFE: virt-p2v: display more information about storage devices

       https://bugzilla.redhat.com/554829
           SELinux handling could be done better.

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.32

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.30.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Нові інструменти

       Новий засіб virt-v2v-copy-to-local(1), який є допоміжним для virt-v2v(1), надає вам змогу
       перетворювати початкові гостьові системи, до яких virt-v2v не може отримати безпосередній
       доступ.

       Нові можливості у наявних інструментах

       Virt-customize тепер знає, як записати породжувач випадковості до CirrOS (Pino Toscano).

       У Fedora virt-customize запускає dnf(8) з прапорцем --best, забезпечуючи те, що програма
       завжди оновлює систему до найсвіжіших доступних пакунків.

       Virt-builder тепер містить 32-бітові шаблони для Fedora.

       Параметр virt-builder і virt-customize --install тепер працює у 32-бітових гостьових
       системах Fedora. Раніше його використання призводило до спроби встановити 64-бітові
       пакунки (Jan Sedlák).

       Virt-builder тепер може отримувати образи для хмар за допомогою метаданих Simple Streams
       v1.0 (Pino Toscano).

       Virt-builder тепер може отримувати хмарні образи openSUSE без додаткових налаштовувань
       (Cédric Bosdonnat).

       Virt-customize тепер використовує стійкіше типове шифрування паролів (SHA-512) у openSUSE
       ≥ 11 (Pino Toscano).

       Virt-builder тепер правильно обробляє вихідні назви файлів, що містять символи двокрапок
       (":"), і створює тимчасові файли у каталогу кешу libguestfs безпосередньо, замість
       типового /tmp (Pino Toscano).

       Virt-resize має новий параметр --unknown-filesystems для керування тим, що робити, якщо
       програму попросять змінити розмір файлової системи, спосіб зміни якої libguestfs не є
       відомим.

       Virt-v2v тепер має прапорець або режим --in-place, який уможливлює перетворення на місці
       гостьових систем (Roman Kagan).

       Virt-v2v має параметр --compressed для створення стиснених файлів виведення qcow2.

       Virt-v2v тепер може правильно отримувати шлях до датацентру VMware (dcPath) від libvirt,
       замість визначення його за допомогою алгоритму, який іноді визначає помилкову відповідь
       (Matthias Bolte, Tingting Zheng).

       Virt-v2v тепер правильно обробляє розміри оперативної пам'яті для 64-бітових гостьових
       систем, якщо програму запущено у 32-бітовій основній системі.

       Прив’язки до мов програмування

       У програмах мовами Perl і Python програмний інтерфейс "get_program_name" тепер повертає
       справжню назву програми, а не помилковий рядок "perl" або "python".

       Прив'язки до Python тепер можна зібрати для іншої версії libguestfs, що уможливлює
       збирання модуля pip для будь-якої версії libguestfs (замість строгої вимоги щодо однакових
       версій модуля pip і libguestfs).

       Поліпшено якість документації Ruby rdoc (Pino Toscano).

       У скриптах Perl більше немає рядка із жорсткою прив'язкою до розташування інтерпретатора
       perl, замість цього використовується env(1) (Pino Toscano).

       У програмах мовою OCaml дескриптор guestfs помилково вказував на загальну кореневу файлову
       систему, тобто його ніколи не можна було обробити засобом збирання сміття. Якщо ви не
       викликали функцію "close" явним чином, дескриптор не закривався, аж доки не завершувала
       роботу уся програма. Тепер цю помилку виправлено, отже дескриптори можуть прибиратися
       засобом збирання сміття у звичний спосіб. Це призвело до зміни програмного інтерфейсу
       функції OCaml "Guestfs.event_callback". Зауважте, що прив'язки до мов, відмінних від C, не
       мають гарантій щодо незмінності програмного інтерфейсу та бінарної сумісності, хоча ми і
       намагаємося не змінювати їх, але у цьому випадку зміна була важливою, оскільки надала
       змогу виправити дуже серйозну ваду.

       Перевірка

       Тепер розпізнаються Alpine Linux та засіб керування пакунками APK, ALT Linux, Frugalware
       та PLD Linux (Pino Toscano).

       Якщо існує /etc/os-release дані з нього матимуть пріоритет над безпосереднім
       інспектуванням гостьових систем Linux (Pino Toscano).

       Тепер повертається правильна версія ядра для гостьових систем Windows ≥ 10.

       Документація

       Велику сторінку підручника з guestfs(3) поділено на декілька окремих сторінок підручника:
       guestfs-hacking(1) guestfs-internals(1) guestfs-security(1). Ця документація міститься у
       новому каталозі docs ієрархії коду.

       Архітектури і платформи

       У новій версії libguestfs передбачено підтримку 64-бітовий платформ ARM з vGICv3.

   Безпека
       Див. також guestfs-security(1).

       "CVE-2015-5745"
           https://bugzilla.redhat.com/1251157

           Це не вразливість у libguestfs, але оскільки ми завжди надаємо порт virtio-serial для
           кожної гостьової системи (оскільки так здійснюється обмін даними між гостьовою і
           основною системами), можливе проникнення з базової системи до процесу qemu основної
           системи. Це може стосуватися таких випадків:

           ·   ваша програма libguestfs запускає ненадійні програми з гостьової системи (за
               допомогою "guestfs_sh" тощо) або

           ·   у коді файлових систем ядра буде виявлено іншу властивість (наприклад), яка надає
               змогу відповідним чином створеній файловій системі захопити контроль над базовою
               системою.

           Якщо ви використовуєте sVirt для обмеження qemu, це може запобігти деяким нападам.

       Права доступу virt-customize до .ssh, .ssh/authorized_keys
           https://bugzilla.redhat.com/1260778.

           Раніше, якщо надходила команда щодо вставляння ключа SSH до гостьової системи, virt-
           customize (а отже, virt-builder) створювала каталог .ssh і файл .ssh/authorized_keys
           із надто широким доступом, що надавало стороннім користувачам доступ до читання цих
           даних. Тепер цей каталог і файл створюються з правами доступу 0700 і 0600, відповідно,
           що збігається із правилами, які використовує програма ssh-copy-id(1).

   API
       Нові програмні інтерфейси

       "guestfs_get_identifier"
       "guestfs_set_identifier"
           Отримати або встановити окремий для обробника ідентифікатор. Основним ефектом цього є
           зміна виведення trace з такого:

            libguestfs: trace: foo

           на таке:

            libguestfs: trace: ID: foo

           що спрощує стеження за трасуванням у багатопотокових програма або там, де програма
           використовує декілька дескрипторів (особливо virt-v2v).

       "guestfs_vfs_minimum_size"
           Повертає мінімальний розмір файлової системи (після стискання). Передбачено підтримку
           ext2/3/4, XFS і btrfs, у майбутньому можлива підтримка інших файлових систем (Maxim
           Perevedentsev).

       Інші зміни у програмному інтерфейсі

       "guestfs_disk_create": додано "preallocation" = "off"/"metadata"/"full".
           Для raw це уможливлює "off" як синонім "sparse" (робить сумісним із qcow2). Для qcow2
           це уможливлює "sparse" як синонім "off".

           Це також додає "full", який відповідає повному розміщенню, але використовує
           posix_fallocate(3) для забезпечення ефективності.

       "guestfs_tar_in": нові параметри "xattrs", "selinux", "acl".
       "guestfs_tar_out": нові параметри "xattrs", "selinux", "acl".
           Ці додаткові параметри керують тим, чи буде відновлено розширені атрибути, контексти
           SELinux і/або ACL POSIX з /, збережених у архівах tar.

       "guestfs_add_drive"
           Наявними параметрами "username" і "secret" можна скористатися для надання підтримки
           розпізнавання для iSCSI (Pino Toscano).

   Зміни у збиранні
       Вилучено параметр "./configure --enable-valgrind-daemon".

       Тепер libguestfs не можна зібрати на дистрибутивах ери RHEL 5 (близько 2007 року). Див.
       гілку "oldlinux", якщо вам потрібна (обмежена) підтримка RHEL 5.

       Virt-p2v тепер можна зібрати на дистрибутивах Linux ери RHEL 6 (близько 2010 року).

       Тепер для збирання з git потрібен OCaml ≥ 3.11 (випущено у 2008 році).

       Для збирання прив'язок до Perl тепер потрібен "Module::Build" (замість
       "ExtUtils::MakeMaker").

       Збирання має пришвидшитися (особливо нарощувальне повторне збирання), оскільки виконано
       певну роботу із зменшення тривалості збирання.

       Для запуску генератора під час збирання потрібні OCaml і модуль findlib OCaml. Раніше
       збирання завершувалося помилкою, якщо не було встановлено findlib.

       Тести "make check" тепер виконуються у паралельному режимі (у межах кожного з каталогів
       тестування).

       "make install" тепер встановлює файли OCaml bindtests.* правильно.

       "make install" тепер можна запускати двічі. Раніше, під час другого запуску видавалося
       повідомлення про помилку.

       "make clean" тепер має вилучати майже усі файли, які створює "make".

       Додано нове правило "make installcheck", яке уможливлює тестування встановленої версії
       libguestfs.

   Внутрішня частина роботи програми
       Певних зусиль було докладено до мінімізації розміру базової системи, що зменшило об'єм
       тимчасового диска і час, потрібний на обробку у libguestfs.

       Базова система тепер передає назву NIC до dhcpd, це виправляє повисання під час роботи
       базової системи у деяких дистрибутивах (Cédric Bosdonnat).

       Тепер створюється "Guestfs.Errno" OCaml (Pino Toscano).

       У засобах мовою OCaml загальний код тепер обробляє --debug-gc, --verbose та інші загальні
       параметри (Roman Kagan, Pino Toscano).

       Комплекс тестування virt-v2v надає нам змогу завантажувати тестовані гостьові системи у
       фіксовані моменти часу у минулому, забезпечуючи надійну роботу системи повторної активації
       Windows.

       Реалізовано новий внутрішній програмний інтерфейс для читання і запису підпроцесів за
       допомогою каналу з коду бібліотеки.

       Використано програму "deheader" для вилучення невикористаних інструкцій "#include".

       У засобах мовою OCaml модулі "Char" і "String" тепер наявно посилаються на модулі
       "Common_utils.Char" і "Common_utils.String" (замість модулів зі stdlib). Модулі
       "Common_utils" містять декілька додаткових допоміжних функцій для роботи із символами і
       рядками, а також приховування деяких незахищених функцій у stdlib.

       Тепер запускається набагато більше тестів virt-v2v, навіть якщо не встановлено rhsrvany і
       virtio-win (Roman Kagan).

       Величезний файл configure.ac було поділено на декілька менших файлів із назвами
       m4/guestfs_*.m4.

       Застарілі каталоги tests/data і tests/guests було пересунуто до test-data/. Цей новий
       каталог верхнього рівня містить усі дані засобів тестування, які є спільними, великим
       і/або використовуються у декількох тестах.

       Створено новий каталог верхнього рівня website/, який містить загальнодоступні дані сайта
       http://libguestfs.org (або більшу частину цих даних).

       Нечітке тестування засобів інспектування (tests/fuzz) було вилучено.

       Virt-p2v тепер зберігає виведення dmesg фізичної машини джерела до каталогу діагностичних
       даних сервера перетворення, що діагностику у випадку нестачі драйверів, мікропрограми
       тощо.

   Виправлені вади
       https://bugzilla.redhat.com/1294956
           set-label повертає помилкове повідомлення про помилку, якщо встановлено мітку файлової
           системи ext3/ext4

       https://bugzilla.redhat.com/1288733
           Add a Fedora 23 32-bit base image for virt-builder

       https://bugzilla.redhat.com/1288201
           virt-builder записує тимчасові файли до /tmp

       https://bugzilla.redhat.com/1285847
           virt-resize не копіює логічні розділи

       https://bugzilla.redhat.com/1281578
           virt-inspector повертає версію 6.3 для образів win10 (має повертати 10.0)

       https://bugzilla.redhat.com/1281577
           virt-inspector --xpath segfault on attribute get

       https://bugzilla.redhat.com/1280029
           libguestfs can run commands with stdin not open (or worse still, connected to
           arbitrary guest-chosen random devices)

       https://bugzilla.redhat.com/1279273
           Про параметр стискання для qcow2

       https://bugzilla.redhat.com/1278878
           guestfish should be able to handle LVM thin layouts

       https://bugzilla.redhat.com/1278382
           DNF python programming error when run from virt-builder

       https://bugzilla.redhat.com/1278371
           inspection returns arch="unknown" for Windows guest if file command is not installed

       https://bugzilla.redhat.com/1277274
           Document permissions needed for non-admin users to use virt-v2v

       https://bugzilla.redhat.com/1277122
           RFE: virt-sparsify: make '--in-place' sparsification safe to abort (gracefully or
           ungracefully)

       https://bugzilla.redhat.com/1277074
           Virt-p2v client shouldn't present the vdsm option because it's not usable

       https://bugzilla.redhat.com/1276540
           virt-v2v fails to convert Windows raw image: error "device name is not a partition"

       https://bugzilla.redhat.com/1275806
           virt-builder: error: [file] is not a regular file in the guest

       https://bugzilla.redhat.com/1270011
           Simplestreams test fails: virt-builder: error: the value for the key 'size' is not an
           integer

       https://bugzilla.redhat.com/1267032
           guestfish copy-in command behaves oddly/unexpectedly with wildcards

       https://bugzilla.redhat.com/1262983
           python: Cannot compile pip module if installed libguestfs != pip guestfs version

       https://bugzilla.redhat.com/1262127
           Better diagnostic message when virbr0 doesn't exist

       https://bugzilla.redhat.com/1261436
           No warning shows when convert a win7 guest with AVG AntiVirus installed

       https://bugzilla.redhat.com/1260778
           virt-builder --ssh-inject doesn't set proper permissions on created files

       https://bugzilla.redhat.com/1260689
           RFE: V2V to check and warn user to disable group policy and anti virus on Windows
           guests

       https://bugzilla.redhat.com/1260590
           Wrong graphics protocal and video type set for guest after convert to rhev 3.6 by
           virt-v2v

       https://bugzilla.redhat.com/1258342
           extra slashes in vcenter URL confuses virt-v2v

       https://bugzilla.redhat.com/1257895
           [RHEV][V2V] virt-v2v ignores NIC if interface source/@network or source/@bridge is an
           empty string

       https://bugzilla.redhat.com/1256405
           virt-builder created Fedora 22 32bit disk image cannot be updated

       https://bugzilla.redhat.com/1256222
           virt-p2v no GUI mode:error opening control connection to $ip:22:unexpected …rompt

       https://bugzilla.redhat.com/1251909
           Option -oa preallocated -of qcow2 of virt-v2v didn't work efficiently

       https://bugzilla.redhat.com/1250715
           v2v: у шляхах пробіли слід екранувати, ось так: %20

       https://bugzilla.redhat.com/1248678
           Закрити усі вхідні порти на образі ISO virt-p2v

       https://bugzilla.redhat.com/1246882
           man virt-customize показував короткий опис двічі

       https://bugzilla.redhat.com/1242853
           mount-loop failed to setup loop device: No such file or directory

       https://bugzilla.redhat.com/1237136
           BUG: unable to handle kernel NULL pointer dereference at <addr> in function
           __blkg_lookup

       https://bugzilla.redhat.com/1230412
           virt-v2v should ignore bogus kernel entries in grub config

       https://bugzilla.redhat.com/1229119
           Unrelated info in fstab makes virt-v2v fail with unclear error info

       https://bugzilla.redhat.com/1227609
           virt-p2v: Using "Back" button causes output list to be repopulated multiple times

       https://bugzilla.redhat.com/1225789
           Wrong video driver is installed for rhel5.11 guest after conversion to libvirt

       https://bugzilla.redhat.com/1204131
           RFE: virt-builder creates qcow v3 images, add build option for qcow v2

       https://bugzilla.redhat.com/1176801
           File /etc/sysconfig/kernel isn't updated when convert XenPV guest with regular kernel
           installed

       https://bugzilla.redhat.com/1174551
           "lstatnslist" and "lstatlist" don't give an error if the API is used wrongly

       https://bugzilla.redhat.com/1168223
           koji spin-livecd cannot build a working live CD

       https://bugzilla.redhat.com/1165785
           mount-loop command fails: mount failed: Unknown error -1

       https://bugzilla.redhat.com/1164708
           set-label can only set <=127 bytes for btrfs and <=126 bytes for ntfs filesystem which
           not meet the help message. Also for ntfs it should give a warning message when the
           length >128 bytes

       https://bugzilla.redhat.com/1020216
           libvirt fails to shut down domain: could not destroy libvirt domain: Requested
           operation is not valid: domain is not running

       https://bugzilla.redhat.com/1011907
           mount-loop failed to setup loop device: No such file or directory

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.30

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.28.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Нові інструменти

       virt-dib(1) є безпечною і захищеною альтернативою до програми «diskimage-builder» з
       OpenStack. Вона сумісна із елементами diskimage-builder. (Pino Toscano)

       virt-get-kernel(1) видобуває ядро і диск у пам'яті з образу диска. Раніше ця функціональна
       можливість була частиною virt-builder(1), але нова програм є ширшою за можливостями. (Pino
       Toscano)

       Нові можливості у наявних інструментах

       У режимі virt-v2v(1) -i ova програма тепер здатна читати ширший діапазон файлів OVA, а
       також незапаковані файли (каталоги).

       virt-v2v тепер безпечно передає параметри до curl, отже, паролі, куки та інші дані будуть
       недоступними для перегляду іншими користувачами із доступом до командної оболонки та
       комп'ютері основної системи.

       У virt-v2v передбачено новий параметр --password-file, який надає вам змогу безпечно
       передати пароль і уникнути роботи із інтерактивним рядком запиту.

       virt-v2v вимикає автоматичне перезавантаження Windows, щоб робить діагностику помилок при
       перетворенні Windows простішою.

       virt-v2v тепер постачається із широким зовнішнім комплектом для тестування. Див.
       virt-v2v-test-harness(1).

       virt-v2v надає змогу використовувати драйвери virtio з будь-якого місця (Roman Kagan),
       драйвери тепер може бути прочитано безпосередньо з образу ISO virtio.

       У virt-v2v передбачено перетворення Windows ≥ 8. Зауважте, що ця можливість є
       експериментальною. Користуйтеся нею обережно.

       virt-v2v тепер може перетворювати гостьові системи з UEFI.

       До virt-p2v(1) додано діалог налаштовування мережі.

       virt-p2v тепер має перемикачі "p2v.pre", "p2v.post" і "p2v.fail", які уможливлюють
       довільні скрипти для приготування перетворення і коригування після перетворення.

       У virt-p2v тепер використовується досконаліший засіб керування вікнами metacity (замість
       matchbox).

       virt-sysprep(1) тепер вилучає "/var/spool/mail/ім'я_користувача" для облікових записів,
       відмінних від root (Hu Tao).

       virt-customize(1), virt-builder(1) і virt-sysprep тепер мають такі нові параметри:

       --commands-from-file
           надає змогу читати довгі списки команд з файла, а не з командного рядка (Pino Toscano)

       --copy
           копіює файли до гостьової системи (Maros Zatko)

       --copy-in
           рекурсивно копіює файли з основної системи до гостьової (Pino Toscano)

       --move
           пересуває файли у гостьовій системі (Maros Zatko)

       --ssh-inject
           вставляє ключі SSH до гостьової системи (Pino Toscano)

       --sm-attach
       --sm-credentials
       --sm-register
       --sm-remove
       --sm-unregister
           реєструє і скасовує реєстрацію гостьової системи у subscription-manager (Pino Toscano)

       --touch
           актуалізує часову позначку файла у гостьовій системі (Pino Toscano)

       --truncate
       --truncate-recursive
           обрізає файли (Maros Zatko)

       Поліпшення у підтримці firstboot у virt-customize. Зокрема у Windows firstboot має
       працювати як і у Linux (Roman Kagan).

       virt-df(1) тепер може використовувати PolicyKit, SASL та інші способи розпізнавання при
       отриманні списку доменів від libvirt.

       Поліпшення у доповненні команд guestfish у bash (Pino Toscano).

       Засіб доповнення команд у bash тепер доповнює і скорочені форми запису параметрів, і повні
       (Pino Toscano).

       guestfish(1) тепер показує короткий опис команди, якщо через командний рядок передається
       помилкова кількість параметрів (Hu Tao).

       У virt-builder тепер передбачено підтримку Red Hat Enterprise Linux версій, ах до RHEL 3.

       У virt-builder передбачено підтримку гостьових систем SUSE, де використовується zypper
       (Cédric Bosdonnat).

       Прив’язки до мов програмування

       До прив'язок до Java тепер включено перевірені Javadoc, інші поліпшення (Pino Toscano).

       Декілька виправлень і поліпшень у прив'язках до PHP (Pino Toscano).

       Перевірка

       Засіб інспектування тепер може отримувати піктограми з RHEL 7 та CentOS 7.

       /etc/favicon.png тепер може бути символічним посиланням.

       У заснованих на RPM гостьових системах засіб інспектування тепер повертає поля Epoch RPM.

       Пакунки Debian тепер мають окремі поля Epoch і Version (Nikos Skalkotos).

       Додано виявлення OpenBSD, FreeBSD і NetBSD додано як окремі дистрибутиви, інші поліпшення
       у інспектуванні BSD та виправлення вад (Nikos Skalkotos).

       Додано виявлення CoreOS (Nikos Skalkotos).

       Засобом керування пакунками у Fedora ≥ 22 є "dnf".

       Тепер можна інспектувати гостьові системи ReactOS (Maros Zatko).

       Додано підтримку гостьових систем UEFI.

       Інспектування тепер працює, якщо модулі ядра стиснуто за допомогою gzip або xz (Pino
       Toscano).

       Засіб інспектування тепер розпізнає гостьові системи ppc64 і ppc64le (Maros Zatko).

       Засіб інспектування тепер може показувати списки встановлених програм у гостьових системах
       Archlinux (Nikos Skalkotos).

       Архітектури і платформи

       Тепер підтримка архітектур PPC64 (POWER7) і PPC64LE (POWER8) є набагато ліпшою і має
       працювати без додаткових налаштовувань.

       Для aarch64 ми використовуємо AAVMF (реалізацію UEFI з відкритим кодом на основі OVMF),
       якщо вона доступна, для запуску базової системи.

       Для armv7 ми тепер використовуємо типово тип комп'ютера -M virt.

       Реалізовано кращу підтримку збирання на платформах, відмінних від Linux (Pino Toscano,
       Margaret Lewicka).

       Тепер libguestfs має працювати на 32-бітових MIPS з прямим порядком байтів ("mipsel"). Не
       вдалося перевірити 64-бітову версію або версію зі зворотним порядком байтів.

   Безпека
       CVE-2014-8484
       CVE-2014-8485
           Libguestfs раніше запускала програму strings(1) для недовірених файлів. Strings могла
           обробляти заголовки BFD у незахищений спосіб, що могло призвести до виконання
           довільного коду. Тепер libguestfs запускає strings з прапорцем для забезпечення того,
           щоб заголовки BFD не оброблятимуться. Обробка заголовків могла призвести до втручання
           у роботу базової системи libguestfs, але оскільки libguestfs додатково обмежує базову
           систему через віртуалізацію, SELinux та інші методики, це навряд чи могло призвести до
           розширення прав доступу в основній системі.

       XPath-ін'єкція у virt-v2v
           Було виправлено одну вразливість, пов'язану із XPath-ін'єкцією у virt-v2v. Вразливість
           могла призвести до того, що код зловмисника у гостьовій системі, яка перетворюється за
           допомогою virt-v2v, будував довільний вираз XPath, який мало бути оброблено у основній
           системі (за допомогою бібліотеки libxml2, скомпонованої із виконуваним файлом
           virt-v2v). Незрозуміло, яким міг бути ефект від усього цього.

           Щоб дізнатися більше, ознайомтеся із внеском
           https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0

       Проблеми із відмовою у обслуговуванні при використанні "qemu-img info"
           Використовуючи American Fuzzy Lop fuzzer ("afl-fuzz") на програмі "qemu-img info",
           Richard W.M. Jones виявив, що певні файли можуть спричинити до надмірного використання
           пам'яті та часу процесора у програмі "qemu-img" (наприклад, 6 ГБ оперативної пам'яті
           та 14 секунд процесорного часу на швидкому процесорі Intel), а іноді призводити до
           аварійного завершення роботи програми. Оскільки libguestfs може запускати "qemu-img
           info" на образах диска для визначення їхнього вмісту, це могло призвести до повисання
           або споживання надмірного об'єму пам'яті самою libguestfs.

           До libguestfs було внесено зміни щодо обмеження споживання ресурсів за об'ємом і
           часом, які стосуються "qemu-img info" і усувають вказану проблему. Якщо зловмисник
           спробує передати один зі спеціально створених образів диска libguestfs, "qemu-img"
           завершить роботу в аварійному режимі і поверне керування libguestfs, надавши дані щодо
           аварії як повідомлення про помилку.

   API
       Нові програмні інтерфейси

       "guestfs_add_libvirt_dom"
           Це розкриває раніше закритий програмний інтерфейс, який надає вам змогу передавати
           об'єкт "virDomainPtr" безпосередньо від libvirt до libguestfs.

       "guestfs_blockdev_setra"
           Коригує параметр readahead для пристроїв. Див. команду "blockdev --setra".

       "guestfs_btrfs_balance"
       "guestfs_btrfs_balance_cancel"
       "guestfs_btrfs_balance_pause"
       "guestfs_btrfs_balance_resume"
       "guestfs_btrfs_balance_status"
           Підтримка балансування для файлових систем Btrfs (Hu Tao).

       "guestfs_btrfs_filesystem_defragment"
           Підтримка дефрагментації файлових систем для файлових систем Btrfs (Hu Tao).

       "guestfs_btrfs_image"
           Створює образ файлової системи Btrfs (Chen Hanxiao)

       "guestfs_btrfs_qgroup_assign"
       "guestfs_btrfs_qgroup_create"
       "guestfs_btrfs_qgroup_destroy"
       "guestfs_btrfs_qgroup_limit"
       "guestfs_btrfs_qgroup_remove"
       "guestfs_btrfs_qgroup_show"
       "guestfs_btrfs_quota_enable"
       "guestfs_btrfs_quota_rescan"
           Підтримка квот для файлових систем Btrfs (Hu Tao).

       "guestfs_btrfs_rescue_chunk_recover"
           Сканування і відновлення ієрархії фрагментів у файлових системах Btrfs (Hu Tao).

       "guestfs_btrfs_rescue_super_recover"
           Відновлення суперблоків у файлових системах Btrfs (Hu Tao).

       "guestfs_btrfs_replace"
           Заміна пристрою у файловій системі Btrfs (Cao Jin).

       "guestfs_btrfs_scrub"
       "guestfs_btrfs_scrub_cancel"
       "guestfs_btrfs_scrub_resume"
       "guestfs_btrfs_scrub_status"
           Витирання файлової системи Btrfs (Hu Tao).

       "guestfs_btrfs_subvolume_get_default"
           Отримання типового підтому файлової системи Btrfs (Hu Tao).

       "guestfs_btrfs_subvolume_show"
           Виведення докладної інформації щодо підтому файлової системи Btrfs (Hu Tao).

       "guestfs_btrfstune_enable_extended_inode_refs"
       "guestfs_btrfstune_enable_skinny_metadata_extent_refs"
       "guestfs_btrfstune_seeding"
           Різноманітні параметри налаштовування для файлових систем Btrfs (Chen Hanxiao).

       "guestfs_c_pointer"
           Повертає вказівник C на підлеглий "guestfs_h *". Це надає змогу працювати спільно
           прив'язкам libguestfs та прив'язкам з інших бібліотек. Докладніше про це тут:
           https://bugzilla.redhat.com/1075164

       "guestfs_copy_in"
       "guestfs_copy_out"
           Гнучкі програмні інтерфейси для рекурсивного копіювання каталогів з файлами між
           основною і гостьовою файловими системами. Раніше цими можливостями можна було
           скористатися лише у командах guestfish, тепер же ними можуть користуватися будь-які
           засоби, які використовуються програмний інтерфейс (Pino Toscano).

       "guestfs_part_get_gpt_guid"
       "guestfs_part_set_gpt_guid"
           Отримання і встановлення GUID для окремих розділів GPT.

       "guestfs_part_get_mbr_part_type"
           Отримання типу розділу MBR (Chen Hanxiao).

       "guestfs_set_uuid_random"
           Встановлює для UUID файлової системи випадкове значення; підтримувані файлові системи
           у поточній версії — ext2/3/4, XFS, Btrfs та розділи swap (Chen Hanxiao).

       Інші зміни у програмному інтерфейсі

       "guestfs_disk_create" тепер може використовувати файли VMDK як файли резервної пам'яті.

       "guestfs_btrfs_subvolume_snapshot" приймає додаткові необов'язкові параметри (усі додано
       Hu Tao):

       "ro"
           для створення придатного лише для читання знімка Btrfs

       "qgroupid"
           для додавання знімка до qgroup

       "guestfs_btrfs_subvolume_create" також може приймати необов'язковий параметр "qgroupid"
       (Hu Tao).

       "guestfs_set_uuid" може встановлювати UUID розділів резервної пам'яті (swap), Btrfs (Hu
       Tao, Chen Hanxiao).

       "guestfs_copy_device_to_file" і "guestfs_copy_file_to_file" мають новий необов'язковий
       параметр "append", за допомогою якого ви можете дописувати дані до файла виведення,
       замість його заповнення від початку.

       "guestfs_mkfs" має новий необов'язковий параметр "label" для встановлення початкової мітки
       нової файлової системи (Pino Toscano).

       "guestfs_set_label" і "guestfs_set_uuid" тепер встановлюють "ENOTSUP" як номер помилки,
       якщо немає реалізованої підтримки файлової системи вказаного монтованого пристрою (Chen
       Hanxiao).

       Змінні середовища тепер надають вам змогу написати "LIBGUESTFS_DEBUG=true",
       "LIBGUESTFS_DEBUG=0" тощо.

       Увесь програмний інтерфейс "guestfs_sfdisk*" визнано застарілим. Оскільки sfdisk(8) було
       переписано у несумісний спосіб у головній гілці розробки, ми не рекомендуємо
       використовувати ці програмні інтерфейси у новому коді. Користуйтеся його замінниками —
       "guestfs_part*".

       Програмні інтерфейси, зокрема "guestfs_download", не обрізають /dev/stdout або /dev/stderr
       під час запису до них, тобто, якщо ви переспрямовуєте stdout або stderr до файла, файл
       більше не обрізається.

   Зміни у збиранні
       Фонова служба більше не використовує власну окрему копію gnulib. Замість цього, вона
       спільно використовує єдину копію з бібліотекою.

       Тепер автоматично створюються файли OCaml .annot, отже комплексні середовища для розробки
       та редактори, зокрема emacs і vi, можуть здійснювати навігацію типами OCaml у початковому
       коді програм.

       Різноманітні виправлення з метою уможливити збирання на різних основних системах та за
       різних архітектур (Pino Toscano).

       Тепер для збирання усіх програм OCaml безпосередньо використовується automake, замість
       ситуативних правил Makefile. Одним із побіжних ефектів цього є те, що тепер можна бачити
       попередження щодо усього коду C, який використовується програмами мовою OCaml.

       Для збирання використано "-fno-strict-overflow", що уникнути неоднозначних оптимізацій з
       боку GCC.

       Чищення коду з метою підтримки GCC 5.

       Для виконання деяких тестів OCaml потрібна бібліотека OCaml OUnit2.

       Знову має працювати створення статично скомпонованого libguestfs.a.

       Ми більше не використовуємо підкаталог src/api-support і скрипти у ньому. Замість цього,
       дані зберігаються у generator/actions.ml, коли до libguestfs додається програмний
       інтерфейс.

   Інтернаціоналізація
       Службу перекладу змінено з Transifex на Zanata.

       Виконано багато перекладів, інтерфейсу бібліотеки і програм та документації.

   Внутрішня частина роботи програми
       У всіх інструментах мовою OCaml тепер є загальні функції "error", "warning", "info" та
       загальний спосіб встановити і отримати прапорці --quiet, -x (трасування) та -v (докладний
       режим) і використовується однорідне підсвічування кольором.

       Для спрощення конструкторів і деструкторів PCRE використовуються макроси "COMPILE_REGEXP".

       У генераторі нарешті реалізовано аргументи "Pointer".

       У внутрішніх ідентифікаторах більше не використовуються подвійні і потрійні підкреслювання
       (наприклад, "guestfs___program_name"). Такі ідентифікатори є некоректними у програмах C99
       та C++, хоча компілятори і можуть їх використовувати.

       Фонова служба більше не обробляє параметри "guestfs_*" від /proc/cmdline. Замість цього,
       вона приймає лише звичайні параметри командного рядка. Скрипти ініціалізації базової
       системи перетворюють дані /proc/cmdline у параметри командного рядка фонової служби.

       Тести тепер можуть запускати фонову службу як «полонений процес», що уможливлює її роботу
       безпосередньо у основній системі. Головною перевагою цього є те, що ви можемо запускати
       valgrind безпосередньо для фонової служби під час тестування.

   Виправлені вади
       https://bugzilla.redhat.com/1239053
           virt-v2v error reporting when grub.conf cannot be parsed by Augeas

       https://bugzilla.redhat.com/1238053
           v2v:Duplicate disk target set when convert guest with cdrom attached

       https://bugzilla.redhat.com/1237869
           Virtio drivers are not installed for windows 2008 guests by virt-v2v

       https://bugzilla.redhat.com/1234351
           virt-v2v Support for Fedora virtio-win drivers

       https://bugzilla.redhat.com/1232192
           Virt-v2v gives an error on a blank disk: part_get_parttype: unknown signature, of the
           output: BYT;

       https://bugzilla.redhat.com/1229385
           virt-p2v in kernel command line mode should power off the machine after conversion

       https://bugzilla.redhat.com/1229340
           virt-p2v no GUI mode appends \n to the final command line parameter

       https://bugzilla.redhat.com/1229305
           virt-sysprep at cleanup deletes /var/spool/at/.SEQ which results in failing at

       https://bugzilla.redhat.com/1226794
           "Doing conversion……" still shows after cancel the conversion from virt-p2v client

       https://bugzilla.redhat.com/1215042
           Memory leak in virNetSocketNewConnectUNIX

       https://bugzilla.redhat.com/1213324
           virt-v2v: warning: unknown guest operating system: windows windows 6.3 when converting
           win8,win8.1,win2012,win2012R2 to rhev

       https://bugzilla.redhat.com/1213247
           virt tools should print the same format of version string

       https://bugzilla.redhat.com/1212808
           RFE: virt-builder --touch

       https://bugzilla.redhat.com/1212807
           virt-builder --selinux-relabel flag fails on cross-architecture builds

       https://bugzilla.redhat.com/1212680
           RFE: virt-inspector xpath query should output a neat format of the query element

       https://bugzilla.redhat.com/1212152
           virt-builder firstboot-command fails: File name too long

       https://bugzilla.redhat.com/1211996
           virt-inspector gives incorrect arch (ppc64) for ppc64le guest

       https://bugzilla.redhat.com/1203817
           RFE: virt-customize --move and --copy

       https://bugzilla.redhat.com/1201526
           index-parser can't parse systemd mount files properly

       https://bugzilla.redhat.com/1196101
           virt-builder --upload option doesn't work to a FAT partition

       https://bugzilla.redhat.com/1196100
           virt-builder -x option on its own does not enable tracing

       https://bugzilla.redhat.com/1195204
           `virt-builder` should create $HOME/.cache directory if it already doesn't exist

       https://bugzilla.redhat.com/1193237
           Virt-builder fingerprint is required even when no check desired

       https://bugzilla.redhat.com/1189284
           virt-resize should preserve GPT partition UUIDs, else EFI guests become unbootable

       https://bugzilla.redhat.com/1188866
           Performance regression in virt-builder when uncompressing image

       https://bugzilla.redhat.com/1186800
           virt-v2v should support gzip format ova as input

       https://bugzilla.redhat.com/1185561
           virt-sparsify should ignore read-only LVs

       https://bugzilla.redhat.com/1182463
           "mknod-b", "mknod-c", and "mkfifo" do not strip non-permissions bits from "mode"

       https://bugzilla.redhat.com/1176493
           virt-v2v ignores sound device when convert xen guest to local kvm

       https://bugzilla.redhat.com/1175676
           Друкарська помилка у «help ping-daemon»

       https://bugzilla.redhat.com/1175196
           "parse-environment" and "parse-environment-list" fail to parse "LIBGUESTFS_TRACE = 0"

       https://bugzilla.redhat.com/1175035
           "is-blockdev"/"is-blockdev-opts" fail to detect "/dev/sda"

       https://bugzilla.redhat.com/1174280
           RFE: Allow v2v conversion of Oracle Linux 5.8 VMware VM

       https://bugzilla.redhat.com/1174200
           New virt-v2v failure: CURL: Error opening file: NSS: client certificate not found
           (nickname not specified): Invalid argument

       https://bugzilla.redhat.com/1174123
           Graphics password disappear after conversion of virt-v2v

       https://bugzilla.redhat.com/1174073
           The listen address for vnc is changed after conversion by virt-v2v

       https://bugzilla.redhat.com/1171666
           Засіб інспектування вважає розділ EFI окремою операційною системою

       https://bugzilla.redhat.com/1171130
           virt-v2v conversion of RHEL 3 guest fails with: All of your loopback devices are in
           use

       https://bugzilla.redhat.com/1170685
           Conversion of RHEL 4 guest fails: rpm -ql 1:kernel-utils-2.4-23.el4: virt-v2v: error:
           libguestfs error: command_lines:

       https://bugzilla.redhat.com/1170073
           virt-v2v picks debug kernels over non-debug kernels when versions are equal

       https://bugzilla.redhat.com/1169045
           virt-sparsify: libguestfs error: qemu-img info: 'virtual-size' is not representable as
           a 64 bit integer

       https://bugzilla.redhat.com/1169015
           virt-resize --expand fails on ubuntu-14.04.img image (regression)

       https://bugzilla.redhat.com/1168144
           warning: fstrim: fstrim: /sysroot/: FITRIM ioctl failed: Operation not supported
           (ignored) when convert win2003 guest from xen server

       https://bugzilla.redhat.com/1167921
           p2v: No Network Connection dialog

       https://bugzilla.redhat.com/1167774
           virt-p2v fails with error:"nbd.c:nbd_receive_negotiate():L501: read failed"

       https://bugzilla.redhat.com/1167623
           Remove "If reporting bugs, run virt-v2v with debugging enabled .." message when
           running virt-p2v

       https://bugzilla.redhat.com/1167601
           "Conversion was successful" pop out even virt-p2v fails

       https://bugzilla.redhat.com/1167302
           virt-v2v: warning: ova hard disk has no parent controller when convert from a ova file

       https://bugzilla.redhat.com/1166618
           virt-resize should give out the detail warning info to let customers know what's going
           wrong

       https://bugzilla.redhat.com/1165975
           File "/boot/grub2/device.map" showing is not right after converting a rhel7 guest from
           esx server

       https://bugzilla.redhat.com/1165785
           mount-loop command fails: mount failed: Unknown error -1

       https://bugzilla.redhat.com/1165569
           Disable "cancel conversion" button after virt-p2v conversion finished

       https://bugzilla.redhat.com/1165564
           Provide Reboot/Shutdown button after virt-p2v

       https://bugzilla.redhat.com/1164853
           Booting in qemu found no volume groups and failed checking the filesystems

       https://bugzilla.redhat.com/1164732
           The description of 'help append' is not accurately, it add the kernel options to
           libguestfs appliance not the guest kernel

       https://bugzilla.redhat.com/1164697
           Друкарські помилки у сторінках man

       https://bugzilla.redhat.com/1164619
           Inspect-get-icon failed on RHEL7 guest

       https://bugzilla.redhat.com/1162966
           xfs should also give a warning out to let customer know the limitation

       https://bugzilla.redhat.com/1161575
           Failed to import guest with "rtl8139" nic to openstack server after converted by v2v

       https://bugzilla.redhat.com/1159651
           virt-sysprep firstboot script is not deleted if it reboot a RHEL 7 guest

       https://bugzilla.redhat.com/1159258
           esx win2008 32 bit guest fail to load after conversion because the firmware isn't ACPI
           compatible

       https://bugzilla.redhat.com/1159016
           libvirt backend does not set RBD password

       https://bugzilla.redhat.com/1158526
           Use password file instead of process interaction

       https://bugzilla.redhat.com/1157679
           virt-p2v-make-disk should add firmwares

       https://bugzilla.redhat.com/1156449
           libguestfs FTBFS on f21 ppc64le

       https://bugzilla.redhat.com/1156301
           virt-inspector support adding a remote disk, but in its man page -a URI / --add URI is
           missing

       https://bugzilla.redhat.com/1155121
           Virt-v2v will fail when using relative path for -i ova

       https://bugzilla.redhat.com/1153844
           Redundancy whitespace at the end of directory name when use <TAB> to complete the
           directory name in guestfish with a xfs filesystem in guest

       https://bugzilla.redhat.com/1153589
           virt-v2v will hang when converting esx guest before disk copy phase

       https://bugzilla.redhat.com/1152998
           virt-v2v / qemu-img fails on ova image

       https://bugzilla.redhat.com/1151910
           virt-ls should remove '/' in the output when specify the directory name as /etc/

       https://bugzilla.redhat.com/1151900
           Should also add a field for directory files when run virt-ls with --csv option

       https://bugzilla.redhat.com/1151033
           virt-v2v conversions from VMware vCenter server run slowly

       https://bugzilla.redhat.com/1146832
           virt-v2v fail to convert guest with disk type volume

       https://bugzilla.redhat.com/1146007
           Input/output error during conversion of esx guest.

       https://bugzilla.redhat.com/1135585
           [RFE] virt-builder should support copying in a directory/list of files

       https://bugzilla.redhat.com/1089566
           [abrt] livecd-tools: kickstart.py:276:apply:IOError: [Errno 2] No such file or
           directory:
           '/run/media/jones/2tp001data/createlive/temp/imgcreate-_dX8Us/install_root/etc/rpm/macros.imgcreate'

       https://bugzilla.redhat.com/1079625
           virt-sparsify fails if a btrfs filesystem contains readonly snapshots

       https://bugzilla.redhat.com/1075164
           RFE: allow passing in a pre-opened libvirt connection from python

       https://bugzilla.redhat.com/912499
           Security context on image file gets reset

       https://bugzilla.redhat.com/889082
           [RFE] virt-v2v should check whether guest with same name exist on target first then
           transfer the disk

       https://bugzilla.redhat.com/855059
           RFE: virt-p2v: display more information about network devices such as topology,
           bonding, etc.

       https://bugzilla.redhat.com/823758
           p2v client should have largest number restrictions for CPU and Memory settings

       https://bugzilla.redhat.com/709327
           hivex cannot read registry hives from ReactOS

       https://bugzilla.redhat.com/709326
           virt-inspector cannot detect ReactOS

       https://bugzilla.redhat.com/119673
           installation via NFS doesn't seem to work

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.28

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.26.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Інструменти

       virt-v2v(1) і virt-p2v(1) є інструментами для перетворення даних сторонніх гіпервізорів
       (зокрема VMware або Xen) чи фізичних машин на дані KVM. Ці інструменти раніше були
       частиною окремого проекту. Код обох цих інструментів інтегровано до ієрархії коду
       libguestfs. У межах перевпорядковування virt-p2v було переписано (з Ruby на C), а virt-v2v
       тепер використовує декілька сучасних можливостей qemu, що пришвидшують роботу програми у
       багато разів. virt-v2v(1) може імпортувати дані з VMware vCenter, файлів VMware OVA,
       локальних файлів дисків, libvirt, RHEL 5 Xen. Дані може бути виведено у таких форматах:
       oVirt або Red Hat Enterprise Virtualization (RHEV-M), OpenStack Glance, libvirt, qemu,
       локальні файли дисків.

       virt-log(1) —новий засіб для показу файлів журналу з гостьових систем. Передбачено
       підтримку широкого спектру гостьових систем, зокрема традиційних систем Linux, систем
       Linux із журналом та журналу подій Windows.

       У virt-builder(1) передбачено новий параметр "--machine-readable" для спрощення
       передавання даних virt-builder до інших програм.

       Новий параметр --chmod у програмах virt-builder(1) і virt-customize(1).

       virt-sysprep(1) тепер вилучає такі дані: журнали systemd, журнали anaconda, журнали
       lightdm, файли debian-installer, журнали apt, журнали exim, журнали ConsoleKit, журнали
       firewalld, журнали grubby, журнали proftpd, журнали libvirt/libxml та деякі інші файли
       журналів. Команда virt-sysprep "user-account" тепер здатна вилучати чи зберігати певні
       облікові записи користувачів. (Pino Toscano).

       Новий параметр guestmount(1) --fd, за допомогою якого ви можете запускати guestmount
       «полоненим» у іншому процесі.

       virt-sparsify(1) має новий параметр --tmp, який надає вам змогу точно контролювати, де
       зберігатимуться тимчасові файли.

       virt-sparsify(1) тепер може записувати на блоковий пристрій.

       у virt-customize(1) і virt-sysprep(1) тепер передбачено підтримку додавання скриптів
       firstboot до гостьових систем Windows.

       У virt-cat(1), virt-edit(1), virt-ls(1) тепер передбачено підтримку параметра -m, який
       надає вам змогу перевизначати автоматичне інспектування гостьових систем і, замість цього,
       вказувати, куди слід монтувати розділи (Pino Toscano).

       Для засобів віртуалізації тепер передбачено розфарбовування виведених даних: зелений — усе
       гаразд, червоний — помилки, синій — попередження.

       Прив’язки до мов програмування

       Ви можете зібрати дистрибутив для Python за допомогою команди "make -C python sdist"

       Прив'язки до Ruby перемкнуто з "Test::Unit" на "MiniTest".

       Прив'язки до Java тепер сумісні із OpenJDK 8 (Pino Toscano).

       Перевірка

       Для Oracle Linux тепер повертається "oraclelinux" (Nikos Skalkotos).

       Тепер можлива обробка гостьових систем Linux, де немає /etc/fstab (Pino Toscano).

       Для Minix тепер повертається "minix" (Pino Toscano).

       Архітектури

       Було додано підтримку Aarch64 (64-бітових ARM).

       Засіб інспектування та виклик "guestfs_file_architecture" тепер можуть розпізнавати
       гостьові системи arm (32-бітову) і aarch64.

   Безпека
       CVE-2014-0191 Використання мережі і визначення замінників при обробці коду XML
           У попередніх версіях libguestfs використовувала незахищені програмні інтерфейси
           libxml2 для обробки XML libvirt. Ці програмні інтерфейси типово надавали доступ до
           встановлення з'єднань мережі, якщо передавалися документи XML певного вмісту. За
           допомогою спеціально сформованого документа XML також можна було вичерпати можливості
           комп'ютера за процесорним часом, пам'яттю або дескрипторами файлів.

           Оскільки XML libvirt надходить із надійного джерела (фонової служби libvirt), ми
           вважаємо, що цією вразливістю неможливо було скористатися.

           Вразливість виправлено у libguestfs ≥ 1.27.9, виправлення було зворотно портовано до
           стабільних версій ≥ 1.26.2, ≥ 1.24.9, ≥ 1.22.10 та ≥ 1.20.13.  (Подяки: Dan Berrange,
           Pino Toscano).

       Shellshock (bash CVE-2014-6271)
           Вада у bash опосередковано торкнулася libguestfs. Докладніша інформація:
           https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html

   API
       Нові програмні інтерфейси

       "guestfs_clear_backend_setting"
       "guestfs_get_backend_setting"
       "guestfs_set_backend_setting"
           Скористайтеся цими програмними інтерфейсами для встановлення параметрів окремих
           модулів обробки.

       "guestfs_cpio_out"
           Перетворення каталогу у образі диска на формат cpio.

       "guestfs_journal_get_realtime_usec"
           Отримання точних значень часу у журналі, див. sd_journal_get_realtime_usec(3).

       "guestfs_lstatns"
       "guestfs_lstatnslist"
       "guestfs_statns"
           Удосконалені версії "guestfs_lstat", "guestfs_lstatlist", "guestfs_stat", які
           повертають часові позначки з точністю до наносекунд.

   Зміни у збиранні
       Libguestfs тепер можна зібрати з qemu 2.x.

       Додано підтримку пакування базової системи у Mageia (Joseph Wang, Thierry Vignaud).

       Augeas тепер є обов'язковою залежністю.

       Flex і bison тепер є обов'язковими залежностями.

   Внутрішня частина роботи програми
       User-Mode Linux (UML) виключено із переліку підтримуваних модулів (хоча він все ще
       доступний). Його буде включено знову,, якщо з'явиться хтось, хто виправить різноманітні
       регресії та помилки у ядрі UML (Linux).

       Тепер gdb можна з'єднати з qemu за допомогою значення змінної середовища
       "LIBGUESTFS_BACKEND_SETTINGS=gdb"

       Тепер модулем обробки libvirt використовується Serial BIOS (sgabios) (лише на x86), отже,
       ви зможете бачити ранні повідомлення BIOS.

       У засобах віртуалізації мовою OCaml обробкою і виведенням виключень займається загальна
       функція.

       Тепер типово увімкнено попередження GCC щодо великих кадрів стеку. Виправлено декілька
       місць, де використовувалися великі масиви або структури у стеку.

       Створено тест для кратного послідовного завантаження базової системи. Такий тест буде
       корисним для виявлення витоків пам'яті у ядрі. Див. tests/qemu/qemu-boot.c

       Створено тест для перевірки швидкості роботи різних можливостей qemu, зокрема вивантажень
       за допомогою virtio-serial та запису на блокові пристрої. Див.
       tests/qemu/qemu-speed-test.c

       Тепер увімкнено попередження GCC для прив'язок OCaml-C у засобах віртуалізації мовою
       OCaml.

       Код для редагування файлів у програмі virt-edit(1), командах guestfish(1) "edit" і
       virt-customize(1) --edit тощо тепер є спільним для усіх цих засобів (дякуємо Pino
       Toscano).

       Тести FUSE було переписано на C з метою забезпечення точнішого керування тестуванням
       системних викликів.

       Скрипт update-bugs.sh було виправлено — він більше не створює порожнього файла "BUGS",
       якщо сервер системи звітування щодо вад є недоступним.

       У тестах virt-resize(1) тепер використовується стохастичний метод для забезпечення
       глибшого і ширшого тестування.

       Якщо увімкнено мережу, базова система тепер використовує DHCP для отримання IP-адреси.

       Якщо використовується libvirt, базова система встановлюватиме з'єднання із "virbr0" (можна
       перевизначити за допомогою "LIBGUESTFS_BACKEND_SETTINGS=network_bridge=<якийсь місток>").
       Це уможливлює повноцінні мережеві з'єднання із працездатним ICMP, ping тощо.

   Виправлені вади
       https://bugzilla.redhat.com/1153515
           порожнє (але встановлене) LIBGUESTFS_BACKEND виводить libguestfs: помилка: некоректний
           модуль:

       https://bugzilla.redhat.com/1151766
           Пакунок libguestfs-bash-completion містить файл file
           /usr/share/bash-completion/completions/virt-log, але у цьому файлі немає функції
           _virt_log()

       https://bugzilla.redhat.com/1151738
           друкарська помилка у сторінці man virt-edit

       https://bugzilla.redhat.com/1151033
           virt-v2v conversions from VMware vCenter server run slowly

       https://bugzilla.redhat.com/1150880
           virt-v2v: warning: display <graphics type='sdl'> was ignored when converting rhel5
           guest with sdl graphics

       https://bugzilla.redhat.com/1150867
           'copy-file-to-file /src /dest' create file /dest even if command 'copy-file-to-file
           /src /dest' failed

       https://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 filesystems

       https://bugzilla.redhat.com/1150475
           Exporting 2+ disk guest to RHEV, only one disk shows after import

       https://bugzilla.redhat.com/1148355
           virt-filesystems: incorrect LVM vg name when listing Fedora 21 Alpha Atomic image
           filesystems

       https://bugzilla.redhat.com/1148072
           Не вистачає параметра --no-selinux-relabel

       https://bugzilla.redhat.com/1148012
           RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network

       https://bugzilla.redhat.com/1146815
           virt-v2v prints warning: /files/etc/fstab/8/spec references unknown device "cdrom"

       https://bugzilla.redhat.com/1146275
           regression setting root password with virt-builder/virt-customize

       https://bugzilla.redhat.com/1146017
           virt-v2v -v -x during 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 system

       https://bugzilla.redhat.com/1145916
           virt-v2v fails to convert win7 guest

       https://bugzilla.redhat.com/1144891
           RFE: stat calls do not return nanosecond timestamps

       https://bugzilla.redhat.com/1144766
           futimens() is a no-op via guestmount

       https://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 inconvenient

       https://bugzilla.redhat.com/1143949
           virt-customize option '--password-crypto' do not work

       https://bugzilla.redhat.com/1143887
           Warning shows when converting guests to rhev:chown: changing ownership of
           ‘/tmp/v2v.u48xag/*.ovf’: Invalid argument

       https://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 db5

       https://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 well

       https://bugzilla.redhat.com/1142158
           Illegal command 'part-get-name /dev/sda1 1' cause libguestfs appliance crashed

       https://bugzilla.redhat.com/1142004
           virt-v2v prints warning:WARNING:/files/boot/grub/device.map references unknown device
           "xvda"

       https://bugzilla.redhat.com/1141723
           virt-v2v: error: disk sda has no defined format shows when converting xen hvm guest

       https://bugzilla.redhat.com/1141680
           [RFE] virt-v2 should support convert a domain with using domain's UUID instead of
           domain name

       https://bugzilla.redhat.com/1141631
           [RFE] virt-v2 should support convert a guest to a dir-pool with using pool's uuid

       https://bugzilla.redhat.com/1141157
           virt-sysprep option '--user-accounts' don't work well

       https://bugzilla.redhat.com/1141145
           virt-v2v fails to convert xen pv guests.

       https://bugzilla.redhat.com/1141113
           virt-v2v fails to convert esx guests

       https://bugzilla.redhat.com/1140946
           qemu-img shows error message for backing file twice

       https://bugzilla.redhat.com/1140894
           No error messages output if append '--format qcow2' after '-a guest.img', guest.img is
           a raw format image file

       https://bugzilla.redhat.com/1140547
           virt-builder option '--format' don't work well

       https://bugzilla.redhat.com/1140156
           RFE: Export to RHEV data domain

       https://bugzilla.redhat.com/1140050
           No error shows when multiple conflicting options used with virt-v2v

       https://bugzilla.redhat.com/1139973
           Improve the error info when converting xen guest with no passwordless SSH access
           configured

       https://bugzilla.redhat.com/1139543
           Improve the error info when converting guest with no space left

       https://bugzilla.redhat.com/1138586
           No error shows when converting running guest with virt-v2v

       https://bugzilla.redhat.com/1138184
           virt-v2v will fail when converting guests with initramfs-*kdump.img under /boot

       https://bugzilla.redhat.com/1138182
           xen guest will be kernel panic after converted by virt-v2v

       https://bugzilla.redhat.com/1130189
           Annoying message about permissions of /dev/kvm

       https://bugzilla.redhat.com/1123007
           libguestfs 'direct' backend should close file descriptors before exec-ing qemu to
           avoid leaking !O_CLOEXEC fds

       https://bugzilla.redhat.com/1122557
           virt-sparsify overwrites block devices if used as output files

       https://bugzilla.redhat.com/1113156
           Empty fstab breaks libguestfs inspection

       https://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 corrupted

       https://bugzilla.redhat.com/1106548
           root gets an error accessing to a non-root dir on a snapshot guestmount VMDK img

       https://bugzilla.redhat.com/1103877
           These APIs also need to add to `guestfish -h` command list

       https://bugzilla.redhat.com/1102448
           Список пакунків mageia є помилковим

       https://bugzilla.redhat.com/1102447
           libguestfs 1.27.13 does not build due to libxml library order

       https://bugzilla.redhat.com/1100498
           RFE: non-polling mechanism to detect guestmount --no-fork readiness

       https://bugzilla.redhat.com/1099490
           scrub-file can't handle link file

       https://bugzilla.redhat.com/1099284
           Друкарські помилки у сторінках man

       https://bugzilla.redhat.com/1098718
           RFE: virt-builder aliases

       https://bugzilla.redhat.com/1096465
           virt-builder "proxy=off" setting doesn't turn off the proxy for downloads

       https://bugzilla.redhat.com/1094746
           virt-sparsify man failes 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 output

       https://bugzilla.redhat.com/1091803
           tar-in-opts execute failed that cause libguestfs appliance crashed

       https://bugzilla.redhat.com/1088424
           virt-resize: libguestfs error: part_set_name: parted: /dev/sdb: Error during
           translation: Invalid or incomplete multibyte or wide character

       https://bugzilla.redhat.com/1088262
           virt-builder cannot write to a block device

       https://bugzilla.redhat.com/1085029
           Ruby tests fail with latest Ruby

       https://bugzilla.redhat.com/1079210
           virt-sparsify --in-place cannot sparsify as much as it should

       https://bugzilla.redhat.com/1079182
           virt-df cannot report used disk space of windows guest when updated to 6.5

       https://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 files

       https://bugzilla.redhat.com/812970
           virt-rescue cannot set ≥<rescue> prompt, on Ubuntu 12.04

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.26

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.24.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Інструменти

       virt-customize(1) — новий інструмент для налаштовування образів дисків віртуальної машини.
       За його допомогою ви можете встановлювати пакунки, редагувати файли налаштувань, запускати
       скрипти, встановлювати паролі тощо. virt-builder(1) і virt-sysprep(1) використовують virt-
       customize. Параметри командного рядка усіх цих інструментів тепер є ідентичними.

       virt-diff(1) — новий інструмент для показу відмінностей між файловими системами двох
       віртуальних машин. Основним його призначенням є показ файлів, які було змінено між двома
       знімками віртуальної машини.

       Значно розширено можливості virt-builder(1). Передбачено набагато більше способів
       налаштовування віртуальної машини. Можливе отримання шаблонів з декількох сховищ.
       Паралелізована внутрішня реалізація xzcat пришвидшує розпаковування шаблонів. Virt-builder
       використовує оптимізований планувальник для вибору найшвидшого способу побудови
       віртуальної машини. Тепер простіше користуватися virt-builder з інших програм. Додано
       підтримку перекладу метаданих. Реалізовано ефективнішу процедуру повторного встановлення
       міток SELinux для файлів. Можлива побудова гостьових систем для декількох архітектур.
       Поліпшено повідомлення щодо помилок. (Pino Toscano)

       У virt-sparsify(1) передбачено новий параметр --in-place. Його використання призводить до
       розрідження системи на місці (без її копіювання), що набагато пришвидшує виконання
       завдання. (Значна допомога з боку Paolo Bonzini)

       virt-sysprep(1) може вилучати і витирати файли під керуванням користувача. Ви можете
       заблокувати облікові записи користувачів або встановити випадкові паролі для облікових
       записів. Можна вилучати більше файлів журналу. Можна скасовувати передплату гостьових
       систем у Red Hat Subscription Manager. Новий гнучкий спосіб вмикати і вимикати дії.
       (Wanlong Gao, Pino Toscano)

       У virt-win-reg(1) передбачено можливість використовувати адреси для визначення віддалених
       образів дисків.

       virt-format(1) тепер може повертати отримане додаткове вільне місце основній системі.

       guestfish(1) має додаткові змінні середовища для надання можливості точнішого
       налаштовування за допомогою запиту "><fs>". Guestfish тепер читає його (нечасто
       використовуваний) файл налаштувань у іншому порядку так, що локальні параметри
       перевизначають загальні параметри. (Pino Toscano)

       virt-make-fs(1) було переписано на C, але програма лишилася незмінною за функціональними
       можливостями і використанням командного рядка.

       Прив’язки до мов програмування

       Прив'язки до OCaml містять новий модуль "Guestfs.Errno", який використовується для
       перевірки номерів помилок, які повертає "Guestfs.last_errno".

       Відновлення працездатності тестів PHP. (Pino Toscano)

       Перевірка

       Засіб інспектування тепер може розпізнавати образи портативних систем Debian.

       Архітектури

       На ARMv7 (32-бітових) тепер передбачено підтримку пришвидшення KVM.

       Передбачено підтримку Aarch64 (ARM 64-бітових), але частина, пов'язана із базовою
       системою, ще не працює.

       Виправлено і удосконалено підтримку PPC64.

   Безпека
       Відмова у обслуговуванні при інспектуванні образів дисків із пошкодженими томами btrfs
           Можна було спричинити аварійне завершення роботи libguestfs (та програм, які
           використовують libguestfs як бібліотеку) передаванням їм образу диска, на якому
           містився пошкоджений том btrfs.

           Причиною було розіменування нульового вказівника, яке спричиняло відмову в
           обслуговуванні. Ми вважаємо, що ширше використання цієї вразливості неможливе.

           Див. внесок d70ceb4cbea165c960710576efac5a5716055486 із виправленням. Це виправлено
           включено до стабільних гілок libguestfs ≥ 1.26.0, ≥ 1.24.6 та ≥ 1.22.8, а також до
           RHEL ≥ 7.0. Старіші версії libguestfs не є вразливими.

       Якісніше створення випадкових паролів root та породжувачів псевдовипадкових послідовностей
           Виявлено і виправлено дві пов'язаних із захистом вади під час створення випадкових
           паролів root та породжувачів псевдовипадкових послідовностей чисел. По-перше, ми
           більше не читаємо зайві байти з /dev/urandom (більшу частину даних з якого ми просто
           відкидали). По-друге, ми змінили код, щоб уникнути нерівномірного розподілу за
           лишками. Ми вважаємо, що цими вразливостями не можна скористатися. (Обидві зміни
           запропоновано Edwin Török)

   API
       Тепер перевіряється коректність параметрів GUID, коли їх передають до викликів програмного
       інтерфейсу. Раніше можна було передати довільний рядок. (Pino Toscano)

       Нові програмні інтерфейси

       "guestfs_add_drive_opts": новий параметр "discard"
           За допомогою нового параметра "discard" можливий точніший контроль над підтримкою
           відкидання та обрізання для певного диска. Це уможливлює створення розрідженіших
           файлів у основній системі, коли ви вилучаєте файли або надсилаєте виклик до
           програмного інтерфейсу "guestfs_fstrim".

       "guestfs_add_domain": нові параметри: "cachemode", "discard"
           Ці параметри передаються під час додавання дисків домену.

       "guestfs_blkdiscard"
           Відкинути усі блоки на пристрої guestfs. У поєднанні із описаним вище параметром
           "discard" це робить файл у основній системі розрідженим.

       "guestfs_blkdiscardzeroes"
           Для перевірки того, чи відкинуті блоки читаються як нульові.

       "guestfs_compare_*"
       "guestfs_copy_*"
           Для усіх структури, повернути через програмний інтерфейс, libguestfs тепер створює
           функції "guestfs_compare_*" і "guestfs_copy_*", за допомогою яких можна порівнювати і
           копіювати структури.

       "guestfs_copy_attributes"
           Копіювання атрибутів (зокрема прав доступу, xattrs, прав власності) з одного файла до
           іншого. (Pino Toscano)

       "guestfs_disk_create"
           Гнучкий програмний інтерфейс для створення порожніх образів дисків з нуля. Надає змогу
           обійтися без викликів зовнішніх програм, зокрема qemu-img(1).

       "guestfs_get_backend_settings"
       "guestfs_set_backend_settings"
           Окремі параметри для різних модулів обробки (можна також встановити за допомогою
           змінної середовища "LIBGUESTFS_BACKEND_SETTINGS"). Основним призначенням є примусовий
           режим TCG у заснованих на qemu модулях обробки. Приклад:

            export LIBGUESTFS_BACKEND=direct
            export LIBGUESTFS_BACKEND_SETTINGS=force_tcg

       "guestfs_part_get_name"
           Отримання мітки або назви розділу (для образів дисків GPT).

   Зміни у збиранні
       Для збирання libguestfs 1.26 потрібні такі додаткові пакунки:

       supermin ≥ 5
           Для збирання цієї версії libguestfs потрібен supermin версії 5.

       flex, bison
           Virt-builder тепер використовує справжній засіб обробки для свого файла метаданих,
           отже ці інструменти тепер є обов'язковими.

       xz  Тепер це обов'язкова частина для збирання там, де раніше (теоретично) вона була
           необов'язковою.

   Внутрішня частина роботи програми
       Переписано засіб видобування повідомлень PO, що мало зробити його стійкішим. (Pino
       Toscano)

       "podwrapper" повідомляє про помилку, якщо не знайдено аргумент зразка для --insert або
       --verbatim.

       Libguestfs тепер передає параметр qemu -enable-fips для вмикання FIPS, якщо у qemu
       передбачено його підтримку.

       Якщо ви не хочете вказувати типовий гіпервізор, можете скористатися "./configure
       --without-qemu".

       Накладки copy-on-write [COW], які використовуються, наприклад, для придатних лише для
       читання дисків, тепер створюються за допомогою вбудованого програмного інтерфейсу
       (".create_cow_overlay").

       Модуль обробки libvirt використовує якийсь вигадливий макрос C для створення XML. Ці є
       простішими і безпечнішими.

       Було змінено формат файла ChangeLog. Тепер він такий самий як у "git log". Нетиповий
       формат більше не використовується.

       Змінено процедуру запуску базової системи:

       ·   Базова система libguestfs тепер ініціалізує LVM у той самий спосіб, у який це робиться
           на фізичних машинах.

       ·   Базова система libguestfs не записує порожній рядок до /proc/sys/kernel/hotplug під
           час запуску.

           Зауважте, що вам слід налаштувати ваше ядро так, щоб у ньому було
           "CONFIG_UEVENT_HELPER_PATH=""", інакше ви матимете справу із дивними помилками LVM (це
           стосується будь-якої машини Linux, не лише libguestfs). (Peter Rajnoha)

       Libguestfs тепер можна зібрати на архітектурах, де є ocamlc(1), але немає ocamlopt(1).
       (Hilko Bengen, Olaf Hering)

       Не можна використовувати "./configure --disable-daemon --enable-appliance". Така
       комбінація усе одно не мала сенсу. Тепер її заборонено явним чином у скрипті configure.

       Файл packagelist використовує "m4" для розгортання макросів замість "cpp".

   Виправлені вади
       https://bugzilla.redhat.com/1073906
           java bindings inspect_list_applications2 throws
           java.lang.ArrayIndexOutOfBoundsException:

       https://bugzilla.redhat.com/1063374
           [RFE] enable subscription manager clean or unregister operation to sysprep

       https://bugzilla.redhat.com/1060404
           virt-resize does not preserve GPT partition names

       https://bugzilla.redhat.com/1057504
           mount-local should give a clearer error if root is not mounted

       https://bugzilla.redhat.com/1056290
           virt-sparsify overwrites block devices if used as output files

       https://bugzilla.redhat.com/1055452
           libguestfs: error: invalid backend: appliance

       https://bugzilla.redhat.com/1054761
           guestfs_pvs prints "unknown device" if a physical volume is missing

       https://bugzilla.redhat.com/1053847
           Recommended default clock/timer settings

       https://bugzilla.redhat.com/1046509
           ruby-libguestfs throws "expecting 0 or 1 arguments" on Guestfs::Guestfs.new

       https://bugzilla.redhat.com/1045450
           Cannot inspect cirros 0.3.1 disk image fully

       https://bugzilla.redhat.com/1045033
           LIBVIRT_DEFAULT_URI=qemu:///system breaks libguestfs

       https://bugzilla.redhat.com/1044585
           virt-builder network (eg. --install) doesn't work if resolv.conf sets nameserver
           127.0.0.1

       https://bugzilla.redhat.com/1044014
           When SSSD is installed, libvirt configuration requires authentication, but not clear
           to user

       https://bugzilla.redhat.com/1039995
           virt-make-fs fails making fat/vfat whole disk: Device partition expected, not making
           filesystem on entire device '/dev/sda' (use -I to override)

       https://bugzilla.redhat.com/1039540
           virt-sysprep to delete more logfiles

       https://bugzilla.redhat.com/1033207
           RFE: libguestfs inspection does not recognize Free4NAS live CD

       https://bugzilla.redhat.com/1028660
           RFE: virt-sysprep/virt-builder повинні мати можливість блокувати обліковий запис
           користувача

       https://bugzilla.redhat.com/1026688
           libguestfs fails examining libvirt guest with ceph drives: rbd: image name must begin
           with a '/'

       https://bugzilla.redhat.com/1022431
           virt-builder не працює, якщо не існує $HOME/.cache

       https://bugzilla.redhat.com/1022184
           libguestfs: не слід використовувати файл jar із зазначенням версії

       https://bugzilla.redhat.com/1020806
           Усі дії libguestfs із LVM завершуються невдало у Debian/Ubuntu

       https://bugzilla.redhat.com/1008417
           Need update helpout of part-set-gpt-type

       https://bugzilla.redhat.com/953907
           virt-sysprep does not correctly set the hostname on Debian/Ubuntu

       https://bugzilla.redhat.com/923355
           guestfish виводить у повідомленнях про помилки «\n» буквально

       https://bugzilla.redhat.com/660687
           guestmount: "touch" command fails: touch: setting times of `timestamp': Invalid
           argument

       https://bugzilla.redhat.com/593511
           [RFE] function to get partition name

       https://bugzilla.redhat.com/563450
           list-devices returns devices of different types out of order

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.24

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.22.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       Можна використовувати User-Mode Linux (UML) як альтернативний модуль обробки (замість
       KVM). Використання цього модуля поліпшує швидкодію, особливо, якщо libguestfs
       використовується у віртуальній машині (наприклад, у хмарі). Підтримка UML здійснюється як
       для основного модуля. Див. "МОДУЛЬ USER-MODE LINUX" in guestfs(3), щоб дізнатися про цей
       модуль більше.

       Тепер повністю підтримуються архітектури ARM (32-бітова) та PPC64.

       Інструменти

       virt-builder(1) — новий інструмент для збирання образів для віртуальних машин. За його
       допомогою ви можете швидко і безпечно створювати і налаштовувати гостьові системи.

       Нові дії у virt-sysprep(1): вилучення файлів у /tmp і /var/tmp. Вилучення файлів баз даних
       RPM. Зміна паролів root та користувача. Вилучається більше файлів журналів. Нові дії, які
       типово не увімкнено: створення випадкових UUID для файлових систем. Скидання правил
       брандмауера. (Wanlong Gao)

       virt-resize(1) та virt-sysprep тепер можуть використовувати адреси для визначення
       віддаленого диска.

       Реалізовано використання "guestfish -N назва_файла=тип" для створення іменованого образу
       диска (замість типового test1.img тощо).

       virt-sparsify(1) тепер перевіряє, чи достатньо місця на диску для завершення дії. Тепер
       неможлива ситуація, коли місце вичерпується під час виконання завдання.

       virt-format(1) і virt-make-fs(1): новий параметр --label для встановлення мітки файлової
       системи.

       Тепер можна скористатися прапорцем virt-resize --no-sparse для зміни розмірів на розділи
       або інші незанулені місця.

       Прив’язки до мов програмування

       Нові прив'язки до мови програмування Go.

       API

       Підтримка журналу systemd.

       "guestfs_add_drive_opts" тепер може контролювати режим кешування qemu за допомогою нового
       параметра "cachemode". Ви можете вибрати поліпшену швидкодію для тимчасових дисків або
       надійний захист.

       "guestfs_set_label" тепер працює з XFS і btrfs.

       Нова подія GUESTFS_EVENT_WARNING для повідомлень із попередженнями.

       Перевірка

       Поліпшено інспектування гостьових систем SUSE (Olaf Hering).

       Поліпшено підтримку нестандартних %systemroot% у Windows (Matthew Booth).

       Удосконалено звітування про помилки у Augeas.

   Безпека
       CVE-2013-2124
           https://bugzilla.redhat.com/show_bug.cgi?id=968306

           Була можливою відмова у обслуговування під час інспектування певних гостьових систем.
           Виправлення зворотно портовано на гілки 1.20 і 1.22.

       CVE-2013-4419
           https://www.redhat.com/archives/libguestfs/2013-October/msg00031.html

           Виправлено незахищену обробку тимчасових каталогів для віддалених guestfish.
           Виправлення зворотно портовано на гілки 1.20 і 1.22.

   Нові програмні інтерфейси
        add-drive-scratch: додавання тимчасового диска
        aug-label
        aug-setm
        journal-open: підтримка журналу Systemd
        journal-close
        journal-next
        journal-skip
        journal-get
        journal-get-data-threshold
        journal-set-data-threshold
        remount: уможливлення коригування прапорця rw для змонтованих файлових систем
        set-uuid: встановлення UUID файлової системи

       У програмних інтерфейсів "is-file", "is-dir", "is-blockdev", "is-chardev", "is-fifo",
       "is-socket" тепер з'явився додатковий прапорець "followsymlinks".

       У "add-drive" передбачено новий параметр "cachemode".

   Зміни у збиранні
       Для збирання libguestfs 1.24 потрібні такі пакунки:

       Augeas ≥ 1.0.0

       Вказаними нижче пакунками можна скористатися для розширення можливостей, але вони не є
       обов'язковими:

       sd-journal
           Для читання файлів журналів з гостьових систем, де використовуються журнали.

       url_mkcow
           Для модуля обробки UML.

       curl
       gpg
       xz  Для virt-builder.

       golang ≥ 1.1.1
           Для прив’язок до мови Go.

   Внутрішня частина роботи програми
       Нові правила "make check-*", які замінили "make extra-tests". Докладніший опис можна
       отримати за допомогою команди "make help" і сторінки підручника guestfs(3).

       Тепер можна використовувати valgrind для коду мовою Perl.

       Код засобу інспектування перевірено за допомогою fuzz.

       "make" більше не переходить рекурсивно до каталогу generator у кожному іншому каталозі. Це
       значно зменшує час збирання.

       Додаткові тести для Augeas, hivex.

       Додано час очікування на запуск у 20 хвилин для базової системи.

       Додано час очікування (4 години) для усіх тестів, щоб можна було розібратися із випадком,
       коли повисає qemu або інші компоненти.

       Реалізовано використання kvmclock і "-cpu host". Це поліпшує стабільність відліку часу та
       загальну швидкодію.

       Виправлено режим "./configure --enable-packet-dump".

       Переписано режим "./configure --enable-valgrind-daemon". Тепер розробники можуть
       використовувати цей прапорець увесь час.

       Переписано модулі обробки так, щоб вони не залежали один від одного (хоча насправді вони
       не є завантажуваними модулями).

       Якщо мережу увімкнено, використовуються налаштування визначення адрес (тобто
       /etc/resolv.conf) з основної системи.

   Виправлені вади
       https://bugzilla.redhat.com/1019889
           libguestfs-tools.conf потрібна сторінка man

       https://bugzilla.redhat.com/1018149
           Помилки valgrind у btrfs_subvolume_list

       https://bugzilla.redhat.com/1002032
           mke2fs can't return the correct filesystem type when blockscount is less than 2048 for
           ext3

       https://bugzilla.redhat.com/1001876
           Update "rsync-out" helpout for using wildcard

       https://bugzilla.redhat.com/1001875
           Argument 'excludes' of tar-out does not work

       https://bugzilla.redhat.com/1000428
           virt-format uses wrong partition type for vfat filesystems

       https://bugzilla.redhat.com/1000121
           'sh' command before mount causes daemon to segfault

       https://bugzilla.redhat.com/998513
           guestfish does not work when you mix --remote and --add options

       https://bugzilla.redhat.com/998482
           guestfish remote prints "libguestfs: error: waitpid (qemu): No child processes"

       https://bugzilla.redhat.com/995711
           list-filesystems command fails if there are no block devices

       https://bugzilla.redhat.com/994517
           cache=none/O_DIRECT workaround doesn't work for images with backing files

       https://bugzilla.redhat.com/989356
           cap-get-file will return error if the file has not be set capabilities

       https://bugzilla.redhat.com/986877
           RFE: Implement set-uuid command

       https://bugzilla.redhat.com/986875
           RFE: Implement set-label for xfs

       https://bugzilla.redhat.com/985269
           Can't set acl value for a specified user with 'acl-set-file'

       https://bugzilla.redhat.com/983218
           libguestfs double free when kernel link fails during launch

       https://bugzilla.redhat.com/981715
           Make xfs filesystem failed with specified blocksize, gives "unknown option -b" error

       https://bugzilla.redhat.com/981683
           "hivex-commit" should fail with a relative path

       https://bugzilla.redhat.com/981663
           disk-format "qemu-img info: JSON parse error" when target file does not exist

       https://bugzilla.redhat.com/978302
           mke2fs-J should give a meaningful error when specified type is anything except
           'ext{2,3,4}'

       https://bugzilla.redhat.com/975797
           Specifying virtio interface ('iface' parameter) breaks the direct backend - libguestfs
           hangs

       https://bugzilla.redhat.com/975753
           "virt-resize --expand" and "virt-resize --resize" outputs error message for Win2008
           32bit OS

       https://bugzilla.redhat.com/975412
           inspection: Augeas expressions are broken with augeas >= 0.10

       https://bugzilla.redhat.com/974904
           virt-resize --expand fails on Ubuntu Cloud Image

       https://bugzilla.redhat.com/974489
           Regression: Fedora inspection broken by change from guestfs_exists to guestfs_is_file

       https://bugzilla.redhat.com/972775
           txz-out command produces a bzip2-compressed file (should be xz-compressed)

       https://bugzilla.redhat.com/969845
           upload to a directory occasionally hangs instead of failing

       https://bugzilla.redhat.com/968875
           virt-sysprep should support URL-type arguments

       https://bugzilla.redhat.com/624334
           blockdev-setbsz succeeds, but does not affect blockdev-getbsz

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.22

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.20.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       API

       Віддалений доступ до таких дисків:

       ·   Network Block Device (nbd)

       ·   Secure Shell (ssh)

       ·   HTTP та HTTPS

       ·   FTP та FTPS

       ·   iSCSI

       ·   Gluster

       ·   Ceph/rbd (Mike Kelly)

       ·   Sheepdog

       ·   TFTP

       Завантажувачі SYSLINUX і EXTLINUX тепер можна встановлювати на образи дисків за допомогою
       програмного інтерфейсу.

       Засіб інспектування тепер може обробляти файлові системи, зокрема btrfs, у яких підтомами
       є окремі точки монтування (Matthew Booth).

       «Методи долучення» тепер називатимуться «модулями обробки». Сумісність із наявним кодом
       збережено.

       У назвах файлів можуть міститися символи «:», якщо використовується нова версія QEMU.

       Інструменти

       Virt-alignment-scan і virt-df можуть сканувати декілька гостьових систем паралельно.

       Guestmount тепер передає до простору користувача точний номер помилки майже завжди.

       Guestfish та інші інструменти тепер можуть використовувати адресоподібний синтаксис для
       доступу до віддалених дисків. Приклад:

        guestfish -a ssh://example.com/шлях/до/диска.img

       Guestfish та guestmount тепер надають вам змогу вказувати тип файлової системи під час
       монтування, що є безпечнішими способом монтування (Dave Vasilevsky).

       Guestfish тепер є «командною оболонкою файлової системи гостьової операційної системи».

       Guestfish тепер надає змогу використовувати лише 1 "true" "t" "yes" "y" "on" 0 "false" "f"
       "no" "n" "off" як булеві значення (без врахування регістру символів) і повертає помилку
       для усіх інших рядків.

       Новий інструмент "guestunmount" для безпечного демонтування файлових систем FUSE.

       За допомогою прапорця "guestmount --no-fork" тепер можна запобігти перетворенню guestmount
       на фонову службу.

       Virt-resize тепер типово використовує розріджені копії, значно заощаджуючи місце на диску
       для гостьових систем, які є майже порожніми.

       Інструкції доповнення команд за Tab у bash було переписано, тепер у них враховано
       більшість інструментів та реалізовано правильне доповнення "--довгих" параметрів. Крім
       того, скрипти доповнення bash завантажуються на вимогу.

       Прив’язки до мов програмування

       У програмному інтерфейсі Java тепер передбачено підтримку подій.

       Об'єкт Python тепер успадковується від базового класу "object".

       Методи Python, які раніше повертали список кортежів, тепер можуть повертати словники
       Python. З метою забезпечення зворотної сумісності, вам доведеться увімкнути цю можливість
       за допомогою використання параметра конструктора
       "guestfs.GuestFS (python_return_dict=True)".

       Прив'язки до PHP тепер належним чином перевірено, у них виправлено декілька вад.

       Вилучено застарілу бібліотеку Perl "Sys::Guestfs::Lib".
       https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html

       Приклади

       Нові приклади програм показують, як увімкнути діагностику і перехопити повідомлення
       журналу.

       Інше

       Автори дистрибутивів можуть додавати довільні додаткові пакунки до базової системи за
       допомогою такої команди:

        ./configure --with-extra-packages="список назв пакунків"

       Автори дистрибутивів можуть скористатися такою командою:

        ./configure --with-supermin-extra-options="..."

       для додавання довільних додаткових параметрів supermin.

   Безпека
       У цьому випуску вад захисту не виявлено.

   Нові програмні інтерфейси
        cp-r
        extlinux
        feature-available
        get-program
        is-whole-device
        part-get-gpt-type
        part-set-gpt-type
        rename
        set-program
        syslinux

       Лише C:

        guestfs_event_to_string

   Внутрішня частина роботи програми
       Інструмент febootstrap перейменовано на «supermin». Libguestfs може використовувати обидві
       назви, але тепер пріоритетною назвою є «supermin».
       http://people.redhat.com/~rjones/supermin/

       Для збирання libguestfs тепер обов'язковою є libxml2.

       Для збирання версії з git тепер обов'язковою є програма hivexregedit (з hivex).

       Внутрішніми функціями більше не можна користуватися, якщо функція виклику не визначає
       "-DGUESTFS_PRIVATE=1".

       Увімкнено попередження компілятора C у прив'язках до Python і Ruby.

       Реалізовано раннє і зрозуміле завершення роботи, якщо у libvirt не передбачено підтримки
       qemu/KVM (наприклад, якщо типовим з'єднанням libvirt є Xen).

       Реалізовано правило "make print-subdirs", яке є корисним для вибіркового запуску тестів.

       Декілька виправлень, які уможливлюють роздільне збирання (каталог коду != каталог
       збирання).

       Декілька виправлень у прив’язках до Haskell.

       Програмні інтерфейси "ln" та "ln-f" тепер правильно перехоплюють "errno".

       Тести прив'язок до мов (здебільшого) використовують стандартну схему нумерування і
       тестують однаковий діапазон можливостей для усіх мов. Крім того, зменшено кількість
       запусків, які для цього потрібні, отже виконання тестів значно пришвидшено.

       Код бібліотеки на внутрішньому рівні використовує GCC "__attribute__((cleanup))" (якщо
       доступне) для спрощення отримання пам'яті.

       Перевпорядковано внутрішні файли заголовків. Див. коментарі у src/guestfs-internal*.h

       Код внутрішнього використання, який є спільним для бібліотеки та деяких інструментів,
       тепер зберігається у статичній бібліотеці "libutils".

       Майже у всіх підкаталогах тепер використовується паралельне збирання, хоча, слід
       зауважити, що усі каталоги верхнього рівня все ще збираються послідовно.

       З коду вилучено усі випадки використання "PATH_MAX" і "NAME_MAX".

       Для програмного інтерфейсу Java тепер потрібна JVM ≥ 1.6.

       Реалізовано примусове використання "serial-tests" із automake ≥ 1.12.

       Створено абстракцію використання сокетів у шарі протоколу бібліотеки, що уможливлює
       додавання інших нових шарів, відмінних від POSIX (див. src/conn-socket.c).

       Якщо можливо, використовується "qemu-img info --output json" з метою зробити обробку
       виведених цією командою даних безпечнішою.

       Тепер дистрибутиви можуть використовувати "make INSTALLDIRS=vendor install" для розміщення
       прив'язок до Ruby у відповідному каталозі. Таким чином усунено потребу у зовнішній латці у
       Fedora та Debian.

       Файли журналу valgrind тепер записуються до tmp/valgrind-ДАТА-PID.log

       "make clean" очищує локальний каталог "tmp/".

       Тести програмного інтерфейсу мовою C переписано із використанням гнучкішої мови
       генератора, що уможливило виконання довільного коду C під час тестування.

   Виправлені вади
       https://bugzilla.redhat.com/961812
           Segfault in inspect-fs.c in mountable code

       https://bugzilla.redhat.com/957772
           tar-out and base64-out quoting error

       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

       https://bugzilla.redhat.com/948324
           Не вдається виконати інспектування, якщо не встановлено libosinfo

       https://bugzilla.redhat.com/928995
           file on zero-sized file now produces "empty " instead of "empty"

       https://bugzilla.redhat.com/921292
           qemu: could not open disk image /tmp/.../snapshot1: Permission denied

       https://bugzilla.redhat.com/921040
           "error: external command failed, see earlier error messages" message needs to change

       https://bugzilla.redhat.com/920225
           libguestfs should use --output json (if supported) to safely parse the output of qemu-
           img command

       https://bugzilla.redhat.com/916780
           feature request: guestmount --with-cleanup-pipefd

       https://bugzilla.redhat.com/914934
           oom-killer kills guestfsd when tar-in a lot of data

       https://bugzilla.redhat.com/914931
           FileIn commands cause segfault if appliance dies during the file copy in

       https://bugzilla.redhat.com/913145
           Misc leaks in virNetClientProgramCall in libvirt 1.0.2

       https://bugzilla.redhat.com/912499
           Security context on image file gets reset

       https://bugzilla.redhat.com/909836
           libguestfs-test-tool --qemu segfaults

       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

       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."

       https://bugzilla.redhat.com/908321
           virt-cat fails on directory names "/dev/stdout: error in chunked encoding"

       https://bugzilla.redhat.com/907554
           btrfs causes subsequent ntfs-3g filesystem to fail

       https://bugzilla.redhat.com/905341
           "No such file or directory" when execute "hivex-commit"

       https://bugzilla.redhat.com/903620
           btrfs_subvolume_list broken due to change in subvolume list output

       https://bugzilla.redhat.com/895910
           guestmount: rename() incorrectly follows symbolic links

       https://bugzilla.redhat.com/895905
           guestmount: link() incorrectly returns ENOENT, when it should be EXDEV

       https://bugzilla.redhat.com/895904
           checksums-out fail to compute the checksums of all regular files in directory

       https://bugzilla.redhat.com/894545
           libguestfs FTBFS on Fedora 19 because of new ruby

       https://bugzilla.redhat.com/890027
           virt-sysprep: Setting hostname, domain name and pretty name on Fedora 18 correctly

       https://bugzilla.redhat.com/887971
           pvcreate fails if partition contains a swap signature

       https://bugzilla.redhat.com/887520
           zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate memory

       https://bugzilla.redhat.com/886915
           libguestfs with libvirt attach-method fails with odd error if default hypervisor is
           Xen

       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' failed.

       https://bugzilla.redhat.com/811649
           libguestfs cannot open disk images which are symlinks to files that contain ':'
           (colon) character

       https://bugzilla.redhat.com/664558
           RFE: Allow to set log callback in Ruby bindings

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.20

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.18.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       libvirt і sVirt (контейнер SELinux)

       Ви можете, якщо хочете, скористатися libvirt для запуску і керування базовою системою за
       допомогою:

       ·   встановленням "LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]"

       ·   за допомогою "./configure --with-default-attach-method=libvirt[:URI]"

       ·   або виклику методу "guestfs_set_attach_method" програмного інтерфейсу

       Для захисту базової системи libguestfs використовується SVirt (контейнер SELinux), якщо
       вибрано модуль обробки libvirt.

       virtio-scsi, більша кількість дисків, з'єднання у «гарячому» режимі

       Тепер типово використовується virtio-scsi, якщо цей інтерфейс доступний. Це набагато
       збільшує кількість дисків, які можна додати до одного дескриптора libguestfs (аж до 255).

       Тепер можна додавати і вилучати диски після запуску у «гарячому» режимі.

       Libguestfs тепер може працювати із > 25 дисками, в усіх програмних інтерфейсах, засобах та
       тестах.

       Тепер ви можете додавати до дисків мітку і посилатися на них за міткою
       (/dev/disk/guestfs/МІТКА) замість використання назв пристроїв (/dev/sda).

       Нові можливості бібліотеки

       Через програмний інтерфейс читаються і записуються списки керування доступом POSIX (ACL)
       та можливості файлової системи Linux.

       Реалізовано підтримку динамічних дисків Windows. Метадані можна лише читати (не можна
       вносити зміни до томів або створювати томи). Втім дані та файлові системи на томах можна
       монтувати, читати та записувати (Matthew Booth).

       Реалізовано Hivex (редагування реєстру Windows) безпосередньо за допомогою програмного
       інтерфейсу, що робить читання та редагування реєстру Windows набагато ефективнішим.

       Повторно реалізовано декілька програмних інтерфейсів libguestfs так, що у них більше немає
       жодних обмежень на виведення даних. Серед повторно реалізованих програмних інтерфейсів
       такі: "guestfs_cat", "guestfs_find", "guestfs_read_file", "guestfs_read_lines",
       "guestfs_write", "guestfs_write_append", "guestfs_lstatlist", "guestfs_lxattrlist",
       "guestfs_readlinklist", "guestfs_ls".

       virt tools

       "guestfish touch 'win:c:\новий_файл'" тепер працює як слід.

       У "guestfish" реалізовано новий параметр --network, за допомогою якого можна увімкнути для
       користувача мережу у libguestfs.

       Уможливлено встановлення змінної середовища "GUESTFISH_PS1" для використання форматованих
       запитів щодо команд у "guestfish".

       Тепер у virt-rescue доступні команди "rsync", "ssh", "less" та "lrzip". Крім того, для
       створення нарощувальних копій можна скористатися "rsync" за допомогою програмного
       інтерфейсу.

       "virt-sparsify" використовує qcow2 v3 для підвищення ефективності.

       Поліпшення у "virt-sysprep":

       ·   створення нових UUID для фізичних томів та груп томів

       ·   вилучення ідентифікатора локальної машини (Wanlong Gao)

       ·   вилучення даних ABRT (Wanlong Gao)

       ·   вилучення ключів і файлів журналів puppet (Wanlong Gao)

       ·   вилучення файлів обліку процесів (Wanlong Gao)

       ·   новий параметр --firstboot, який уможливлює створення скриптів firstboot для
           налаштовування гостьових систем

       ·   вилучення поля HOSTNAME з файлів "ifcfg-eth*" (Wanlong Gao)

       ·   різноманітні поліпшення для SuSE (Olaf Hering)

       ·   вилучення кешу сторінок підручника (Wanlong Gao)

       ·   вилучення даних щодо аварій, створених kexec-tools (Wanlong Gao)

       "virt-make-fs" тепер може створювати віртуальні дискети (VFD).

       У "guestmount" реалізовано параметр --pid-file, яким можна скористатися для уникнення
       конкуренції між демонтуванням файлової системи і використанням підлеглого образу диска.

       прив’язки до мов програмування

       У цьому випуску додано повноцінні прив'язки до Lua (дякуємо Jerome Vuarand за багато
       пропозицій).

       У Ruby хеш для необов'язкових аргументів є необов'язковим.

       У Python необов'язкові аргументи тепер не використовують спеціальних «сторожових» значень,
       отже як необов'язковий параметр можна передавати будь-яке ціле число.

       Прив'язки до Erlang тепер постачаються із прикладами і тестами.

       Прив'язки до Erlang тепер обробляють 64-бітові цілі параметри належним чином.

       Автоматизовані «bindtests» тепер тестують правильність передавання 64-бітових параметрів.
       У результатів виявлено і виправлено декілька вад у прив'язках до мов програмування.

       Поліпшено обробку блокування та впроваджено функції, які не блокують обробку. Це має
       зробити виклики libguestfs ефективнішими.

       перевірка

       Тепер передбачено обробку гостьових систем Windows без обмежень на розмір реєстру.
       Додавання програмного інтерфейсу hivex до програмного інтерфейсу libguestfs зробило
       інспектування на внесення змір до реєстру Windows у гостьових системах набагато
       ефективнішим.

       Поліпшено підтримку гостьових систем SuSE (Olaf Hering).

       Реалізовано повернення даних щодо архітектури встановлених програм (John Eckersberg).

       Реалізовано підтримку Windows 8.

       Тепер підтримується Fedora 18.

       Засіб інспектування ISO, CD та DVD тепер може використовувати базу даних libosinfo.

       порти

       Libguestfs без базової системи можна зібрати у Mac OS X (Masami HIRATA).

       RHEL 5 тепер явним чином підтримується у гілці «oldlinux» основного сховища git.

       Реалізовано підтримку 64-бітової архітектури PowerPC. Крім того, libguestfs було
       проінспектовано на вади, пов'язані із порядком байтів. Виявлені вади було виправлено.

       фонова служба

       Включено сторінку підручника для фонової служби (guestfsd(8)).

   Безпека
       Файл журналу guestfish

       Файл журналу $HOME/.guestfish тепер створюється із правами доступу 0600 (раніше
       використовувалася маска 0644), отже, його більше не зможуть читати сторонні користувачі.

       CVE-2012-2690

       У старих версіях програми "virt-edit" та команди команди "edit" "guestfish" створювався
       новий файл, у якому зберігалися зміни, але не встановлювалися права доступу та інші
       параметри так, щоб вони збігалися із параметрами старого редагованого файла. У результаті
       після редагування конфіденційного файла, зокрема /etc/shadow, він ставав доступним для
       сторонніх користувачів.

       Цій ваді було надано код CVE-2012-2690. Її було виправлено у libguestfs ≥ 1.16.

       Докладніші дані можна знайти на сторінці
       https://bugzilla.redhat.com/show_bug.cgi?id=788642

   Нові програмні інтерфейси
        acl-delete-def-file
        acl-get-file
        acl-set-file
        canonical-device-name
        cap-get-file
        cap-set-file
        create-flags
        device-index
        disk-has-backing-file
        disk-format
        disk-virtual-size
        filesystem-available
        fill-dir
        fstrim
        get-cachedir
        get-libvirt-requested-credentials
        get-libvirt-requested-credential-prompt
        get-libvirt-requested-credential-challenge
        get-libvirt-requested-credential-defresult
        get-tmpdir
        hivex-close
        hivex-commit
        hivex-node-add-child
        hivex-node-children
        hivex-node-delete-child
        hivex-node-get-child
        hivex-node-get-value
        hivex-node-name
        hivex-node-parent
        hivex-node-set-value
        hivex-node-values
        hivex-open
        hivex-root
        hivex-value-key
        hivex-value-type
        hivex-value-utf8
        hivex-value-value
        inspect-list-applications2 (John Eckersberg)
        list-ldm-volumes
        list-ldm-partitions
        ldmtool-create-all
        ldmtool-diskgroup-disks
        ldmtool-diskgroup-name
        ldmtool-diskgroup-volumes
        ldmtool-remove-all
        ldmtool-scan
        ldmtool-scan-devices
        ldmtool-volume-hint
        ldmtool-volume-partitions
        ldmtool-volume-type
        ls0
        max-disks
        mke2fs (Wanlong Gao)
        mklost-and-found
        mkswap [додано додаткові аргументи label та uuid]
        mktemp (Wanlong Gao)
        nr-devices
        parse-environment
        parse-environment-list
        rm-f
        rsync
        rsync-in
        rsync-out
        set-cachedir
        set-libvirt-supported-credentials
        set-libvirt-requested-credential
        set-tmpdir
        shutdown [зворотне портування на 1.16 та 1.18]
        tar-in [додано прапорець compress]
        tar-out [додано прапорці compress, numericowner, excludes]
        umount [додано додаткові аргументи force і lazy]
        utsname
        xfs-admin (Wanlong Gao)
        xfs-growfs (Wanlong Gao)
        xfs-info (Wanlong Gao)
        xfs-repair (Wanlong Gao)

       Лише у програмному інтерфейсі C:

        guestfs_push_error_handler
        guestfs_pop_error_handler

   Внутрішня частина роботи програми
       qemu ≥ 1.1 є обов'язковою (бажаною є версія ≥ 1.2).

       febootstrap ≥ 3.20 є обов'язковою.

       libvirt є необов'язковою, але якщо ви хочете користуватися новим модулем libvirt для
       запуску базової системи, тоді обов'язковою є libvirt ≥ 0.10.2.

       Для усього коду було виконано перевірку Coverity. Виправлено багато вад (дякуємо Ondrej
       Vasik, Kamil Dudka).

       Функції, у яких раніше не було необов'язкових аргументів, тепер можна перетворити на
       функції із необов'язковими аргументами, що робить розширення програмного інтерфейсу
       набагато гнучкішим. Для користувачів програмного інтерфейсу збережено зворотну сумісність
       за кодом і виконуваними файлами.

       Змінено спосіб, у який програмні інтерфейси і структури libguestfs представляються у
       генераторі, так, щоб використовувалися структури OCaml замість кортежів. Це робить описи у
       генераторів гнучкішими та простішими для розуміння. Подробиці викладено у внесках 39d1a7db
       і eb185eef.

       Поділ коду бібліотеки на більшу кількість файлів:

       ·   Модулі запуску тепер зберігаються у окремих файлах, наприклад src/launch-appliance.c,
           "src/launch-libvirt.c".

       ·   Породжений код дій тепер поділено на декілька файлів src/action*.c для пришвидшення
           збирання.

       ·   Величезний файл src/guestfs.c поділено на декілька менших логічних модулів.

       POD (документація) тепер створюється з використанням переписаної програми на Perl, а не
       pod2* + скриптів оболонки.

       Сторінки підручника тепер містять стабільні дати (Hilko Bengen).

       Пропущені тести тепер виходять із кодом 77, отже потрапляють до "SKIP:" у виведених "make
       check" даних.

       Паралельний тест щодо mount-local було переписано на C (RHBZ#838081).

       Тепер передбачено підтримку Ruby 1.8.5 (хоча перевага надається Ruby ≥ 1.9).

       Прив'язки до Perl тепер можна вимкнути за допомогою "./configure --disable-perl" (Wulf C.
       Krueger). Зауважте, що сам інтерпретатор Perl усе ще потрібен для збирання libguestfs.

       Прив'язки до Java тепер можна увімкнути або вимкнути за допомогою "./configure
       --with-java" або "./configure --without-java" (Wulf C. Krueger).

       Нові параметри налаштування: "./configure --enable-code-profiling" і "./configure
       --enable-code-coverage".

       Декілька виправлень щодо використання 64-бітових цілих чисел у прив'язках до мов
       програмування.

       Модуль базової системи тепер використовує sgabios замість vgabios (Dan Berrange).

       Скрипт "./run" тепер встановлює достатньо змінних середовища, щоб можна було запускати
       програми на OCaml, Python, Ruby, Java, GJS, Erlang, Lua.

       Реалізовано прапорець "./run --test" для запуску тестів із мінімальним виведенням. Також
       скрипт виводить час, який було витрачено на кожен із тестів.

       Скрипт "./run" тепер збирає шляхи накопичувально, тобто ви можете скористатися "./run"
       двічі або скористатися скриптами "./run" libguestfs і libvirt разом.

       Тепер можна видобути список зовнішніх команд, потрібних для роботи фонової служби, що
       робить збирання базової системи на деяких дистрибутивах простішим (Olaf Hering).

       Тепер під час виконання "make check" виконується тестування "virt-rescue".

       Генератор тепер вилучає невикористані створені файли. Це допомагає, якщо виконуються
       маневри модифікаціями коду за допомогою git rebase, git bisect тощо.

       Тести тепер запускаються у окремому каталозі "tmp/" верхнього рівня у ієрархії коду. Це
       надає змогу створювати мітки для каталогу для SELinux (sVirt), а також спрощує чищення
       ієрархії коду.

       Розширено діапазон роботи "make syntax-check" і усунено багато проблем у основному коді,
       які було виявлено за допомогою перевірки синтаксису (дякуємо Jim Meyering).

       До створених файлів додано режим Emacs (-*- foo -*-).

       Виведення смужки поступу тепер надсилається до /dev/tty, отже не потрапляє до звичайних
       виведених програмою даних. virt-resize і virt-sparsify тепер придушують дані смужки
       поступу, якщо стандартним виведенням не є tty.

       Впроваджено параметр "./configure --without-libvirt". Він є корисним для тестування того,
       чи можна зібрати код без libvirt.

       Впроваджено вбудовану мінібібліотеку для запуску команд. Це надало нам змогу
       переспрямувати повідомлення про помилки від зовнішніх команд до записів подій.

       Повністю переглянуто код для обробки тимчасових каталогів та кешу базової системи.

       Код для тимчасового ігнорування або вимикання повідомлень про помилки тепер виглядає так:

        guestfs_push_error_handler (g, NULL, NULL);
        guestfs_mkdir (g, "/foo"); /* Нам все одно, якщо спроба буде невдалою. */
        guestfs_pop_error_handler (g);

       Усунено каталог "tests/extra". «Додаткові тести» тепер поділено на декілька окремих цілей,
       наприклад "make check-valgrind".  Скористайтеся командою "make help", щоб дізнатися більше
       про ці цілі.

       Ядру базової системи тепер передається параметр "lpj", якщо використовується TCG. Це має
       поліпшити стабільність відліку часу (дякуємо Marcelo Tosatti, Olaf Hering).

   Виправлені вади
       https://bugzilla.redhat.com/882417
           Інструменти libguestfs показують повідомлення про незрозумілі помилки, якщо TMPDIR не
           є абсолютним шляхом

       https://bugzilla.redhat.com/882299
           Windows 8 guest disks can't be mounted: "The NTFS partition is in an unsafe state.
           Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount
           the volume read-only with the 'ro' mount option."

       https://bugzilla.redhat.com/881953
           libguestfs: перехід на /etc/hostname, /etc/vconsole.conf, /etc/locale.conf

       https://bugzilla.redhat.com/880801
           virt-df із двома параметрами -a options показує некоректну назву образу диска

       https://bugzilla.redhat.com/879416
           libguestfs-test-tool pauses when you use --help option

       https://bugzilla.redhat.com/876579
           mke2fs API does not apply block device naming translation to journaldevice optarg

       https://bugzilla.redhat.com/860235
           SELinux policy ought to allow qemu to write to unconfined_u:object_r:user_tmp_t:s0

       https://bugzilla.redhat.com/859949
           RFE: inspect-list-applications does not return the architecture of RPM packages

       https://bugzilla.redhat.com/859885
           inspect-list-applications does not list all installed RPM packages with same name and
           different versions

       https://bugzilla.redhat.com/859876
           guestfish printed paths are not canonicalized

       https://bugzilla.redhat.com/859875
           Progress bar output should go to tty(?) stderr(?)

       https://bugzilla.redhat.com/858696
           virt-sysprep reports Guestfs.Error("read_lines: fopen: /etc/sysconfig/network: No such
           file or directory") on some Fedora guests

       https://bugzilla.redhat.com/858128
           libguestfs fail to list devices added by add-drive-ro-with-if twice

       https://bugzilla.redhat.com/858126
           virt-inspector fail to work with some windows guests

       https://bugzilla.redhat.com/853762
           virt-sparsify should use a more robust method to detect the input format

       https://bugzilla.redhat.com/853393
           libvirt doesn't label console, serial sockets

       https://bugzilla.redhat.com/853159
           virt-rescue у Fedora 18 повністю непрацездатний

       https://bugzilla.redhat.com/852394
           libguestfs inspection limits registries to 100 MiB

       https://bugzilla.redhat.com/852194
           virt-sparsify --compress не працює, якщо дані виводяться у необробленому форматі (raw)

       https://bugzilla.redhat.com/847881
           RFE: allow extra arguments (like --exclude) to tar-out

       https://bugzilla.redhat.com/847880
           tar-out should allow (or force) --numeric-owner

       https://bugzilla.redhat.com/845522
           guestfish "copy-out / localdir" command fails with "No such file or directory"

       https://bugzilla.redhat.com/845488
           Long filenames on NTFS cause tar-out, copy-out etc to fail with error "Cannot open:
           File name too long"

       https://bugzilla.redhat.com/842307
           RFE: Need help designing and implementing selinux policy for libguestfs/sVirt

       https://bugzilla.redhat.com/840572
           virt-make-fs / tar-in має підтримувати vfat належним чином

       https://bugzilla.redhat.com/840115
           guestfish touch problem - case_sensitive_path API expects the file to exist

       https://bugzilla.redhat.com/836710
           Втрата даних під час запису до файлів дисків у форматі qcow2

       https://bugzilla.redhat.com/834712
           lvresize, lvresize-free fail unnecessarily if you don't change the size of the LV:
           "New size (nn extents) matches existing size (nn extents)"

       https://bugzilla.redhat.com/824716
           compress-device-out didn't support bzip2

       https://bugzilla.redhat.com/824043
           guestfish unrecognized mount option gives confusing error message

       https://bugzilla.redhat.com/823887
           Файли із китайськими ієрогліфами у назвах не можна створити у файловій системі vfat

       https://bugzilla.redhat.com/823885
           virt-make-fs cannot create vfat filesystem containing filesystems with Chinese
           characters

       https://bugzilla.redhat.com/823883
           virt-make-fs -t fat не працює, повідомляючи про незрозумілу помилку

       https://bugzilla.redhat.com/823821
           Inspection fails when /etc/HOSTNAME is empty

       https://bugzilla.redhat.com/801117
           libguestfs cannot get icon for Windows 8

       https://bugzilla.redhat.com/798979
           Ubuntu install CDs from oneiric onwards are not recognized: "multi-boot operating
           systems are not supported"

       https://bugzilla.redhat.com/782167
           libguestfs doesn't recognize Windows Dynamic disks in some configurations, eg. spanned

       https://bugzilla.redhat.com/713678
           Not all febootstrap messages are redirected to log callbacks

       https://bugzilla.redhat.com/627675
           libguestfs inspector code cannot handle /dev/disk/by-id/* paths

       https://bugzilla.redhat.com/602997
           part-get-bootable gives wrong result with an unordered part layout

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.18

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.16.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       virt tools

          - virt-sysprep переписано із розширенням можливостей (дякуємо Wanlong Gao)
            http://libguestfs.org/virt-sysprep.1.html

       - virt-sparsify --zero — новий параметр, який занулює вказаний за назвою розділ або
       файлову систему

       - virt-sparsify тепер може безпечно розріджувати розділи резервної пам'яті Linux

          - virt-sparsify виправлено так, щоб вона виконувала спорожнення після ^C
            http://libguestfs.org/virt-sparsify.1.html

       - створено новий інструмент «libguestfs-make-fixed-appliance» для збирання фіксованих
       базових систем, які може бути скопійовано на інші машини, де не передбачено підтримки
       febootstrap
            http://libguestfs.org/libguestfs-make-fixed-appliance.1.html

       - virt-filesystems тепер показує батьківські записи (контейнери) MD
            devices and volume groups

       - virt-alignment-scan, запущена без аргументів, показує дані щодо вирівнювання для усіх
       доменів libvirt

       - virt-df та virt-alignment-scan показують інформацію з усіх гостьових систем, навіть якщо
       диск недоступний

       - новий параметр virt-rescue --scratch для створення тестових дисків
            https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content

       - virt-make-fs тепер можна скористатися для створення btrfs

       - virt-edit зберігає права доступу, UID, GID та контекст SELinux під час редагування
       файлів

       - guestfish передає подію закриття за допомогою stdout та віддаленого зв'язку належним
       чином

       - новий параметр guestfish --pipe-error надає вам змогу виявляти помилку у каналах
       командної обробки

          - guestfish, у замінниках тепер розгортаються назви пристроїв

       - усі засоби віртуалізації тепер правильно обробляють коми і двокрапки у назвах файлів

       перевірка

          - додано підтримку Fedora 17+

       - додано підтримку FreeDOS

       - додано підтримку Buildroot та Cirros

       - засіб інспектування тепер повністю сумісний із гостьовими системами Windows, які
       оброблено sysprep (дякуємо Grant Williamson).

       API

       - реалізовано широку підтримку btrfs, зокрема додавання декількох пристроїв, fsck, знімки
       (дякуємо Wanlong Gao)

       - новий програмний інтерфейс mount-local впроваджує підтримку FUSE безпосередньо до
       основного програмного інтерфейсу libguestfs
            https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content

       - нова сторінка підручника: guestfs-performance(1), де містяться підказки щодо поліпшення
       швидкодії
            http://libguestfs.org/guestfs-performance.1.html

          - Нова сторінка підручника: guestfs-faq(1), Поширені питання та відповіді на них
            http://libguestfs.org/guestfs-faq.1.html

       - тепер для програмних інтерфейсів, підтримки яких не передбачено, повертається ENOTSUP
       (від guestfs_last_errno)

       приклади

       - у прикладі copy_over продемонстровано копіювання між двома дескрипторами

       - програма display_icon показує піктограму, пов'язану із гостьовою системою

       - приклад mount_local.c» демонструє, як користуватися програмним інтерфейсом mount-local

   Безпека
         (у цьому випуску не було виявлено або виправлено жодної проблеми захисту)

   Нові програмні інтерфейси
       rfs-device-add: додавання пристроїв до файлової системи btrfs.  btrfs-device-delete:
       вилучення пристроїв із файлової системи btrfs.  btrfs-filesystem-sync: синхронізація
       файлової системи btrfs.  btrfs-filesystem-balance: балансування файлової системи btrfs.
       btrfs-fsck: перевірка файлової системи btrfs.  btrfs-set-seeding: вмикання або вимикання
       розсіювання.  btrfs-subvolume-create: створення знімка btrfs.  btrfs-subvolume-delete:
       вилучення знімка btrfs.  btrfs-subvolume-list: виведення списку знімків і підтомів btrfs.
       btrfs-subvolume-set-default: встановлення типового підтому btrfs.  btrfs-subvolume-
       snapshot: створення придатного до запису знімка btrfs.  get-e2attrs: виведення списку
       атрибутів файла ext2.  get-e2generation: отримання засобу створення файла ext2.  isoinfo,
       isoinfo-device: отримання даних із заголовка файлів ISO.  llz: виведення списку файлів із
       даними SELinux.  lvcreate-free: створення логічного тому LVM у відсотках до залишкового
       вільного місця.  md-stat: повертає список підлеглих пристроїв пристрою MD.  mkfs-brtfs:
       створення файлової системи btrfs із усіма налаштовуваними параметрами.  mount-local,
       mount-local-run, umount-local: підтримка FUSE у програмному інтерфейсі.  ntfsclone-in,
       ntfsclone-out: збереження і відновлення NTFS з резервної копії.  ntfsfix: виправлення
       типових помилок і примусове виконання у Windows перевірки NTFS.  set-e2attrs: встановити
       або зняти атрибути ext2 файла.  set-e2generation: встановити створення файла ext2.  set-
       label: уніфікований інтерфейс для встановлення мітки файлової системи.  vgmeta: отримання
       метаданих групи томів.  wipefs: витирання підписів файлових систем з пристрою.  zero-free-
       space: занулення вільного місця у файловій системі.

   Внутрішня частина роботи програми
       - Вилучено підкаталог debian/. Рекомендуємо вам користуватися офіційними пакунками Debian,
       створеними Hilko Bengen.
          http://people.debian.org/~bengen/libguestfs/
          http://packages.debian.org/search?keywords=libguestfs

       - Тепер майже для усіх дескрипторів файлів, які відкриває файлова система,
       використовується O_CLOEXEC / SOCK_CLOEXEC.

       - при послідовному читанні або запису великих файлів викликається posix_fadvise.

       - реалізовано закриття усіх дескрипторів файлів та вилучення усіх обробників сигналів у
       процесі відновлення

       - виправлено декілька попереджень gcc та вад, виявлених Coverity; також було виправлено
       багато вад строго переповнення

       - впроваджено використання ./configure --enable-valgrind-daemon для того, щоб можна було
       скористатися valgrind для фонової служби; виправлено багато помилок

       - впроваджено використання ./configure --with-qemu-options для передавання додаткових
       параметрів qemu

       - тепер у фоновій службі є придатний до розширення тип рядкового буфера
       (DECLARE_STRINGSBUF)

       - файл заголовків <guestfs.h> тепер працює у C++, і у нас є перевірка пов'язаних із цим
       регресій

       - декілька програмних інтерфейсів, які слід викликати лише у стані CONFIG, тепер
       повідомляють про помилку, якщо їх викликано у іншому стані

       - виправлено .gitignore так, щоб шляхи були абсолютними

       - розгорнуто прив'язки до gobject, зокрема прив'язку подій libguestfs до сигналів gobject
       (дякуємо Matt Booth)

       - належним чином створюється документація gobject (дякуємо Matt Booth)

       - файли заголовків gobject тепер зберігаються у окремому підкаталозі

       - тепер працює тест CompareWithString у генераторі

       - у типах полів структур FUInt32, FUInt64 тепер використовуються належні типи XDR

       - тести OCaml тепер працюють із байткодом і звичайним кодом.

       - у java використовується -Xlint:all і виправлено усі попередження

        - bmptopng, wrestool (тощо) missing або failure більше не виводить повідомлень із попередженнями

       - ruby: використано RbConfig замість Config.

       - PYTHONPATH встановлюється скриптом ./run.

       - процес збирання базової системи тепер є безпечним щодо потоків виконання.

       - у базовій системі тепер використовується ip замість програм ifconfig і netstat

        - декілька виправлень, які уможливили належну роботу засобів паралельного збирання

        - guestfish --listen у новій версії належним чином виконує чищення від зайвих даних

        - вилучено стан BUSY

        - gettextize вилучено і замінено на простий Makefile.am

        - реалізовано підтримку gettext у virt-resize, virt-sparsify і virt-sysprep

        - ліпша підтримка архітектури arm

   Виправлені вади
        - 822490 virt-ls error: "libguestfs: error: checksum: path: parameter cannot be NULL"
        - 816839 data overflow error when debug progress -1
        - 816098 virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space
        - 811872 inspection fails on ubuntu 10.04 guest with encrypted swap
        - 811650 guestfs_last_error not set when qemu fails early during launch
        - 811649 libguestfs cannot open disk images which are symlinks to files that contain ':' (colon) character
        - 811117 [RFE][virt-sysprep] net-hwaddr not removed from "ifcfg-*" files on rhel
        - 811112 [RFE][virt-sysprep] hostname can not be changed on rhel system
        - 809361 inspection doesn't recognize Fedora 18 (grub2 + GPT)
        - 807905 mkfs blocksize option breaks when creating btrfs
        - 805070 virt-filesystems should show 'parents' of LV and RAID devices
        - 804464 libguestfs cannot be built when LINGUAS is different then ja or uk
        - 803664 libguestfs inspection fails on Windows XP: libguestfs: error: hivex: could not locate HKLM\SYSTEM\MountedDevices
        - 803533 guestfish: write error
        - 802389 event handlers for 'close' event doesn't work in remote mode
        - 802109 libguestfs uses putc on stderr, results in many individual 1 byte writes of debug messages
        - 801640 [RFE] the error reported by resize2fs-M need to be more clear
        - 801298 Possible null dereference and resource leaks
        - 801273 Document for set-pgroup need to be updated
        - 798196 virt-resize confuses format and output_format variables; using --output-format sets the input format
        - 797986 virt-resize on Windows XP in sysprep state causes "UNMOUNTABLE_BOOT_VOLUME" BSOD
        - 796520 [RFE] Prevent user from running some appliance configure commands after appliance boot up
        - 790721 multiprovider build error: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists
        - 789960 guestfsd crash when try to mount non-exist disk
        - 789504 virt-df (other tools?) should not give up if a guest disk is missing
        - 788641 virt-edit doesn't preserve file permissions
        - 786215 libguestfs inspection does not recognize FreeDOS operating system
        - 786188 libguestfs inspection does not recognize FreeDOS install CD
        - 785668 aug-defnode: daemon crash
        - 784647 Libguestfs uses deprecated net-tools
        - 769304 virt-resize on RHEL 6 kernel fails to re-read the partition table
        - 755729 Error message for resize2fs-M needs tweaking
        - 701814 virt-win-reg fails on a libvirt guest that has no defined disk format: "format parameter is empty or contains disallowed characters"
        - 679737 libguestfs: improve error message when zerofree is not available in the appliance
        - 635971 glob mkfs ext2 /dev/vd[b-t]1 does not expand

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.16

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.14.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       libguestfs

        - уможливлено створення файлових систем XFS на наявних файлових системах (Wanlong Gao)

       - (невказане) типове вирівнювання для part-disk змінено на 64 кБ для поліпшення підтримки
       високоякісних сховищ, з'єднаних із мережею

          - нова сторінка підручника, guestfs-testing(1)

        - list-filesystems тепер повертає пункти пристроїв MD, які містять файлові системи (Matthew Booth)

          - підтримка GCC >= 4.7 (Jim Meyering)

       - реалізовано перевірку повторного додавання користувачем диска (Wanlong Gao).

       прив’язки до мов програмування

       - експериментальні прив'язки до GObject із підтримкою інтроспекції GObject. Тепер ви
       можете використовувати libguestfs з Javascript. Будь ласка, зауважте, що прив'язки у цьому
       випуску не є стабільними і остаточними. (Matthew Booth).

          - підтримка Ruby >= 1.9

       - прив'язки до Ruby можна вимикати окремо (Hilko Bengen)

          - підтримка Python 2.6, 3.x (Richard Jones, Hilko Bengen)

          - підтримка PHP >= 5.4

       - у прив'язках до Perl доступний новий хеш %guestfs_introspection, отже ви можете
       виконувати за його допомогою опитування щодо необов'язкових аргументів

       перевірка

       - уможливлено інспектування пристроїв MD (Matthew Booth)

       - реалізовано підтримку гостьових систем GNU/Hurd

       guestfish

       - події libguestfs (зокрема події смужки поступу та повідомлення журналу) тепер можна
       перехоплювати і обробляти за допомогою визначених користувачем скриптів оболонки.

       - уможливлено доповнення за Tab для пристроїв MD (Matthew Booth)

       virt tools

       - новий інструмент virt-format для витирання і створення порожніх дисків

       - нові параметри virt-sparsify --compress і -o для уможливлення виведення стиснених даних
       та виведення у іншому форматі

       - virt-sparsify тепер може виявляти і розріджувати файли .vdi

       - virt-sysprep більше не потребує xmlstarlet; додано новий параметр virt-inspector --xpath
       для заміни цієї функціональної можливості

       - virt-rescue має новий параметр --suggest, за допомогою якого реалізовано пропозиції
       команд монтування для гостьової системи

       - virt-resize більше не потребує виконуваного файла pcre OCaml

       libguestfs live

       - фонова служба більше не намагається редагувати ваші поточні налаштування /etc/lvm

       - усунено потенційну проблему захисту, пов'язану із передбачуваними назвами у /tmp (Steve
       Kemp)

   Безпека
         CVE-2011-4127, RHBZ#757071
         Усунено можливе розширення прав доступу за допомогою SG_IO ioctl
         Докладніший опис: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db

   Нові програмні інтерфейси
       blkid: виводить усі атрибути пристрою, відомого blkid (Wanlong Gao) e2fsck: надає доступ
       до ширшого спектра можливостей e2fsck (Wanlong Gao) list-md-devices: повертає список
       пристроїв MD Linux (Matthew Booth) md-create: створює пристрій MD md-detail: повертає
       метадані пристрою MD (Matthew Booth) md-stop: зупиняє роботу пристрою MD (Wanlong Gao)
       tune2fs: надає змогу коригувати параметри файлових систем ext2/3/4

   Внутрішня частина роботи програми
       сховище коду git перенесено до http://github.com/libguestfs

       Різноманітні каталоги для тестування перевпорядковано логічно: тепер усі вони є
       підкаталогами tests/.

       Реалізовано правило make extra-tests, яке запускає звичайні тести і додаткові тести,
       використовуючи valgrind для пошуку проблем із пам'яттю.

       Виявлено за допомогою valgrind і усунено витоки пам'яті та інші проблеми.

       Підтримку необов'язкових аргументів у генераторі було переписано із метою розширення
       можливостей та поліпшення захисту (Matthew Booth).

       Використання gcc -fvisibility=hidden для внутрішніх символів надало змогу уникнути
       опосередкованих викликів за допомогою PLT.

       Уможливлено тестування функцій RHashtable у генераторі.

       Макрос ADD_ARG у фоновій службі надає змогу будувати списки аргументів без ризику
       порушення стека.

       Виправлено створення функцій OCaml, які мають понад 10 аргументів.

       у базову систему додано psmisc, що уможливлює використання fuser, killall та pstree для
       діагностування.

       bindtests тепер стосуються і RBufferOut та необов'язкових аргументів (Matthew Booth).

   Виправлені вади
        - 769680 temporary directories created during appliance builds are not cleaned up on error
        - 761460 guestfs_utimens hangs on named pipes
        - 761451 guestfs_utimens cannot set times on a directory
        - 760775 "guestfish: multi-boot operating systems are not supported by the -i option" should be more explanatory
        - 760669 guestfish copy-in and <! (inline execution) don't mix well: pclose: No child processes
        - 760000 libguestfs fails to compile with Ruby >= 1.9
        - 755729 Error message for resize2fs-M needs tweaking
        - 750889 Python code incompatible with Python v3.
        - 596761 Ctrl-\ causes guestfish to abort

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.14

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.12.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
         прив’язки до Erlang.

       virt-alignment-scan — новий інструмент для перевірки вирівнювання розділів у віртуальних
       машинах або образах дисків.

       virt-sparsify — новий інструмент для розрідження віртуальних машин та образів дисків.

       virt-sysprep — новий інструмент для спрощення клонування гостьових систем за шаблоном.

       guestfish

       - Нові команди setenv, unsetenv для встановлення значень змінних середовища.

       - У повідомленнях про помилки тепер виводиться назва файла вхідних даних та номер рядка.

       - смужки поступу guestfish тепер є «мінібібліотекою», яка використовується також іншими
       інструментами.

       guestmount

       - параметр --live (для доступу до інтерактивних віртуальних машин) тепер працює.

       virt-cat

       - virt-cat тепер може обробляти шляхи і літери дисків Windows (RHBZ#693359).

       virt-filesystems

       - байт типу розділу MBR тепер показується у даних, які виведено --long.

       virt-make-fs

       - virt-make-fs тепер встановлює байт типу розділу MBR належним чином, що поліпшує
       сумісність із Windows (RHBZ#746295).

       virt-resize

       - virt-resize тепер може працювати із гостьовими системами з використанням розширених і
       логічних розділів, зокрема із гостьовими системами Ubuntu.

       - virt-resize тепер може вирівнювати перший розділ гостьових систем Windows, що поліпшує
       швидкодію. Цією поведінкою керує новий параметр virt-resize --align-first.

       - Прапорець virt-resize --machine-readable уможливлює використання virt-resize іншими
       програмами.

       - Розділи тепер вирівнюються на 128 секторів (зазвичай, 64 кБ). Це поліпшує ефективність
       для високоякісних сховищ даних. За допомогою нового параметра virt-resize --alignment
       можна коригувати вирівнювання.

       virt-win-reg

       - Синтаксис команд для вилучення ключів та значень реєстру документовано на сторінці
       підручника (RHBZ#737944).

       Бібліотека

       - у діагностичних повідомленнях належним чином екрануються непризначені для друку символи.

       - GUESTFS_EVENT_ENTER — новий тип подій, повідомлення про які створюються, коли
       викликається функція libguestfs.

       - у бібліотеці містяться зонди systemtap/DTrace.

       - тепер бібліотеку можна зібрати без hivex (RHBZ#723474).

       перевірка

       - Поліпшено виявлення дисків Windows.

       - Додано підтримку:
                ttylinux - мінімального Linux
                Mageia (дякуємо Michael Scherer)
                OpenSUSE і zypper (дякуємо Michael Scherer, Vincent Untz)
                логотипів Ubuntu (дякуємо Michael Scherer)
                NetBSD і pkgsrc (дякуємо Michael Scherer)

       - Реалізовано роботу із певними типами гостьових систем, де використовується /dev/root у
       /etc/fstab.

       - Виправлено обробку гостьових систем із > 26 дисками (дякуємо Matthew Booth)

       - Додано підтримку гостьових систем із дисками HP Smart Array (дякуємо Matthew Booth)

       febootstrap

       - Реалізовано використання змінних середовища FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES для
       вибору ядра, яке слід використовувати у базовій системі.

       інше

          - Підтримка ArchLinux тепер працює для Linux 3.0 (завдяки Erik Nolte)

       - Диски libvirt, які позначено як <readonly/>, тепер додаються у режимі лише читання за
       допомогою параметра virt-tools -d.

   Безпека
         (у цьому випуску не було виявлено або виправлено жодної проблеми захисту)

   Нові програмні інтерфейси
       compress-out, compress-device-out, copy-device-to-device, copy-device-to-file, copy-file-
       to-device, copy-file-to-file, get-smp, part-to-partnum, set-smp.

       Програмний інтерфейс монтування більше не додає неявним чином параметри -o sync,noatime.

       у add-domain реалізовано новий необов'язковий параметр readonlydisk» для керування тим, як
       обробляються диски <readonly/>.

   Внутрішня частина роботи програми
       - Виконано перевірку коду за допомогою Coverity, виявлено і усунено вади.

       - для збирання libguestfs тепер потрібна бібліотека PCRE.

       - Тепер для базової системи типово увімкнено APIC. Ви також можете увімкнути підтримку SMP
       у базовій системі.

       - Прив'язки до OCaml тепер правильно надсилають запит щодо блокування збірника сміття під
       час зворотних викликів.

       - Тепер правильно працює збирання поза ієрархією коду (дякуємо Hilko Bengen).

       - Для встановлення додаткового рядка версії пакувальники тепер можуть скористатися
       ./configure --with-extra="...".

       - Програмні інтерфейси zero, zero-device: якщо у блоках уже містяться нулі, записування
       нулів не виконується, отже без потреби програма не скасовує розрідженість відповідних
       сховищ даних.

       - Програмні інтерфейси is-zero, is-zero-device: оптимізація з метою пришвидшення виявлення
       нулів.

   Виправлені вади
        - 748266 libguestfs should detect versions of qemu which require -machine pc option
        - 747290 libguestfs ignores <readonly/> in libvirt XML
        - 747287 Misleading error message when permission denied opening a disk image
        - 746295 virt-make-fs doesn't set partition ID
        - 744795 guestmount --live is not usable
        - 737944 virt-win-reg hyphen (delete key) syntax may be wrong, and is not documented
        - 733297 ruby event handlers fail with "exception in callback: wrong argument type Proc (expected Data)"
        - 731744 libguestfs should escape special/non-printing characters in debug output
        - 729887 appliance crashes running aug_init with flags=4
        - 729075 libguestfs confuses Hp_recovery partition with Windows root filesystem
        - 727178 error: luks_open: cryptsetup: error while loading shared libraries: libfipscheck.so.1: cannot open shared object file: No such file or directory
        - 726739 libguestfs: error: aug_get: no matching node, trying to find hostname
        - 723474 If hivex and/or pcre not installed, libguestfs fails to compile
        - 693359 virt-cat and virt-edit don't handle case sensitive NTFS paths properly
        - 678231 virt-inspector reports unknown filesystem UUID
        - 671082 libguestfs does not work with kernel-rt
        - 666578 libguestfs: unknown filesystem label SWAP-sda2
        - 642821 virt-resize falls over on a disk image with a logical swap partition

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.12

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.10.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       guestfish

       - Тепер у рядках guestfish можна використовувати екранування, приклад: ><fs> write /щось
       "рядок 1\nрядок 2\n"

       - Для дописування даних до файлів можна скористатися командою guestfish write-append.

       - Довготривалі вивантаження і отримання файлів можна скасувати за допомогою програмного
       інтерфейсу або натискання ^C у guestfish.

       - Нова команда guestfish display для показу графічних файлів у гостьовій системі.

       - У guestfish доповнення за Tab тепер працює і на пристроях /dev/mapper.

       virt-inspector

       - Програмний інтерфейс інспектування тепер здатен отримувати піктограму або логотип певних
       гостьових систем.

       - До virt-inspector включено логотипи і назви вузлів для певних гостьових систем.

       - virt-inspector тепер може отримувати дані щодо версії і випуску пакунків RPM.

       - CentOS і Scientific Linux тепер вважаються окремими дистрибутивами у програмному
       інтерфейсі інспектування.

       virt-resize

       - virt-resize тепер може працювати з btrfs.

       - За допомогою нового параметра virt-resize --ntfsresize-force можна змінювати розмір
       віртуальних машин Windows декілька разів.

       інші virt tools

       - У guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems, virt-inspector,
       virt-ls та virt-rescue тепер можна скористатися параметром -d UUID для визначення
       гостьової системи за UUID. Це значно підвищує надійність роботи цих програм, якщо їх
       викликано іншими програмами.

       - Параметр virt-ls -lR уможливлює складну ітерацію файловою системою та аналіз гостьової
       системи.

       - У virt-win-reg реалізовано підтримку HKEY_USERS\<SID> та HKEY_USERS\<користувач>.

       - Параметр virt-win-reg --unsafe-printable-strings уможливлює показ придатних до друку
       рядків у виведених даних (не є безпечним: ознайомтеся із документацією, перш ніж
       користуватися).

       - virt-edit переписано на C.

       Програмний інтерфейс і прив'язки до мов програмування

       - Реалізовано повну підтримку Java. Див. http://libguestfs.org/guestfs-java.3.html

       - За допомогою прив'язок до Java реалізовано підтримку JRuby.

       - Тепер у повідомленнях трасування з'являється guestfs_close.

       - У прив'язках до Python додано явний метод g.close().

       - Програми мовою Python тепер можуть використовувати новий програмний інтерфейс подій.

       - GIL Python вимикається на час викликів libguestfs, що уможливлює належну роботу
       багатопотокових програм мовою Python.

       - Реалізовано підтримку 9pfs (файлових систем Plan 9, експортованих із основної системи).

       - Додано -DGUESTFS_WARN_DEPRECATED=1 для попередження щодо використання функцій
       застарілого програмного інтерфейсу у програмах мовою C.

       - Нова сторінка підручника guestfs-recipes(1), яку призначено для зберігання рецептів.

       - mkfs-opts тепер може встановлювати розміри inode та сектора на створених файлових
       системах (дякуємо Nikita Menkovich).

       - guestfs_last_errno тепер є доступною з OCaml (як g#last_errno ()).

   Безпека
       - optargs_bitmask перевіряється навіть для викликів, які не мають необов'язкових
       аргументів. Це унеможливлює використання можливої дірки у захисті фонової служби для
       ненадійних джерел викликів.

   Нові програмні інтерфейси
       btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero, is-zero-device, list-9p,
       list-dm-devices, mount-9p, ntfsresize-opts, set-pgroup, write-append

   Внутрішня частина роботи програми
       - Для визначення вад у коді було запущено Coverity (інструмент статичного аналізу). Було
       виправлено багато вад.

       - Тепер генератор може обробляти функції, які повертають RBufferOut і мають необов'язкові
       аргументи.

       - Реалізовано сумісність із Perl 5.14.

        - Сумісність з gcc 4.6.

       - Було виконано перевірки захисту QEMU.

       - Тести програмного інтерфейсу C тепер можуть повністю тестувати виклики із
       необов'язковими аргументами.

        - Скористайтеся ./configure --enable-install-daemon, щоб встановити /usr/sbin/guestfsd.

        - Каталог po-docs тепер стосується усіх сторінок підручника (man).

       - stderr з процесу qemu тепер перехоплюється підсистемою подій.

   Виправлені вади
        - 602997 part-get-bootable gives wrong result with an unordered part layout
        - 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
        - 700369 qemu-system-x86_64 says 'KVM not supported for this target'
        - 705200 guestmount attempt results in access denied
        - 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts
        - 717786 libguestfs python bindings should have an explicit close call
        - 721275 virt-resize in F16 should support btrfs

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.10.0

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.8.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       - libguestfs та інструменти можна використовувати для роботи із робочими віртуальними
       машинами. Див. параметри guestfish --live та guestmount --live, а також (для
       низькорівневого інтерфейсу) нові програмні інтерфейси set-attach-method і get-attach-
       method.

        - Нові інструменти віртуалізації:
          virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.

       - libguestfs може отримувати прив'язки до літер дисків для гостьових систем Windows.

       - virt-inspector показує прив'язки до літер дисків для гостьових систем Windows.

       - Літери дисків тепер можна використовувати у програмах virt-edit і guestfish під час
       роботи із гостьовими системами Windows.

       - virt-resize тепер працює із 32-бітовими основними системами.

       - Тепер ви можете інспектувати диски для встановлення та образи портативних систем для
       компакт-дисків багатьох різних операційних систем.

       - guestfish <! команда, виконує команду оболонки і вбудовує результат її виконання.

       - guestfish, guestmount, virt-rescue тепер усі підтримують параметри --ro і --rw. Типовий
       варіант можна вибрати за допомогою файла налаштувань (/etc/libguestfs-tools.conf).

       - Новий програмний інтерфейс подій надає змогу реєструвати декілька зворотних викликів для
       кожної події, уможливлює виклики програмного інтерфейсу з інших мов програмування і надає
       змогу переспрямовувати з stderr майже усі повідомлення журналу, діагностики та трасування.

       - Ширша сумісність із FHS для тимчасових файлів, зокрема використання /var/tmp для великих
       кешованих файлів, які мають переживати перезавантаження (замість /tmp).

       - параметр guestfish, guestmount -m уможливлює передавання параметрів монтування до
       підлеглої файлової системи.

       - mkfs-opts уможливлює визначення можливостей файлових систем.

       - Ефективніша обробка точок монтування, яка уможливлює належну сумісну роботу команд
       mkmountpoint, mount та umount-all.

       - Реалізовано дописування префікса до повідомлень трасування, що уможливлює їхнє просте
       фільтрування за допомогою grep у виведених діагностичних повідомленнях.

        - guestfs_launch (команда guestfish run) тепер створює повідомлення щодо поступу (смужка поступу guestfish), якщо виконання триває понад 5 секунд.

       - Реалізовано надсилання подій щодо поступу у режимі пульсації для декількох команд, час
       виконання яких не можна наперед оцінити. Оновлено код смужки поступу у guestfish для
       показу даних таких подій.

       - Оприлюднено нові приклади коду такими мовами: C, Perl, Python, OCaml, Ruby.

        - Новий приклад програми virt-dhcp-address.

       - Значні поліпшення у прив'язках до Java і Ruby.

        - До Perl включено спосіб отримання номера останньої помилки.

        - Прив'язки Python тепер сумісні з rpyc (завдяки Erez Shinan).

        - Для керування перекладами тепер використовується Transifex.
          http://www.transifex.net/projects/p/libguestfs/

        - У інспекції реалізовано підтримку дистрибутивів Red Hat Desktop, Slackware.

       - Засіб інспектування тепер може обробляти гостьові системи Windows, у яких два або
       декілька дисків.

       - Засіб інспектування тепер може відрізняти Windows 2008 Server і Windows 7.

       - Засіб інспектування може виявляти встановлені 32-бітові програми у 64-бітовій Windows,
       де використовується емулятор WOW64.

        - За допомогою послідовного виправлення протоколу виправлено давню ваду RHBZ#576879, яка спричиняла помилки під час виконання команди вивантаження через втрату синхронізації у протоколі.

        - Новий логотип!

   Безпека
         [немає]

   Нові програмні інтерфейси
         first-private, get-attach-method, inspect-get-drive-mappings,
         inspect-get-product-variant,
         inspect-get-windows-current-control-set, next-private, resize2fs-M,
         set-attach-method.

   Внутрішня частина роботи програми
       - Файл HACKING застарів. Вміст файла було перенесено до розділу на сторінці підручника
       щодо guestfs(3).

       - Спрощено libguestfs-test-tool. Тепер програма не вимагає статичного виконуваного файла і
       не намагається побудувати ISO.

       - Створені за допомогою rpcgen файли збираються з використанням -fno-strict-aliasing, що
       має бути безпечнішим (дякуємо Matt Booth).

       - virt-resize було переписано на OCaml.

       - guestfish та інші інструменти було перевірено за допомогою valgrind; виправлено деякі
       витоки пам'яті.

   Виправлені вади
        - 502533 Оновлення перекладу libguestfs польською
        - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
        - 599503 document that mkmountpoint and umount-all cannot be mixed
        - 617440 guestfish: fails to tilde expand '~' when the $HOME env is unset
        - 664558 RFE: Allow to set log callback in Ruby bindings
        - 665358 Завершено переклад пенджабською (pa_IN)
        - 666577 libguestfs: unknown filesystem /dev/fd0
        - 667610 Multiple bugs, memory leaks in libguestfs ruby bindings
        - 668112 virt-filesystems command fails on guest with corrupt filesystem label
        - 668574 guestfish -i is trying to mount all mounts from /etc/fstab and fails with an error when device doesn't exists
        - 673479 Add a grep-friendly string to LIBGUESTFS_TRACE output
        - 674130 Inspection code fails for Windows guest with two disks
        - 682756 libguestfs trace segfaults when list-filesystems returns error
        - 682979 libguestfs incorrectly detects Red Hat desktop as 'redhat-based' instead of 'redhat'
        - 690819 mkfs fails creating a filesystem on a disk device when using a disk with 'ide' interface
        - 691389 Extended attributes don't work over guestmount (FUSE)
        - 691724 virt-inspector reports unknown filesystem /dev/vda1
        - 692545 inspect-list-applications fails to detect 32 bit apps installed under WOW64 emulator on 64 bit Windows
        - 693324 sfdisk's python interface only accepts lists of type 'list' for the lines parameter

Нотатки щодо випуску libguestfs 1.8

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.6.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       - Підтримка і пакунки для Debian і Ubuntu.

       - Щоденні збірки зі сховища git для Debian і Ubuntu для зменшення ризику регресій.

       - Портовано на pacman ArchLinux (дякуємо Thomas S Hatch).

       - Переписано на C такі інструменти (початково ці інструменти було написано мовою Perl):

            . virt-cat
            . virt-df
            . virt-inspector
            . virt-ls
            . virt-rescue

       - У деяких інструментах із кодом мовою C передбачено автоматичну підтримку зашифрованих
       гостьових систем. Таку підтримку реалізовано у таких програмах: guestfish, guestmount,
       virt-cat, virt-inspector, virt-ls.

       - Новий інструмент virt-filesystems (із кодом мовою C), який є замінником virt-list-
       filesystems та virt-list-partitions і може виконувати усі функції цих інструментів.

       - У guestfish, guestmount та інших інструментах із кодом мовою C використовується
       уніфікований обробник параметрів командного рядка, отже, тепер передбачено підтримку
       ширшого спектра параметрів, зокрема «-a диск.img», «-d домен-libvirt», «-x», «-v».
       Застарілий засіб обробки параметрів збережено із міркувань сумісності у скриптах тощо.

       - guestfish більше не залежить від Perl

       - Нові сторінки підручника із прикладами програм: guestfs-examples(3) (C/C++),
       guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).

       - У режимі трасування тепер виводяться значення з функцій програмного інтерфейсу.

       - virt-inspector тепер може створювати список програм, які встановлено у гостьових
       системах Windows, виводячи багато відомостей щодо цих програм.

       - Додано підтримку інспектування таких операційних систем: Linux Mint, Mandriva, FreeBSD.

       - Реалізовано параметр guestfish --rw (поки не працює) для перетворення потенційно
       небезпечного доступу на запис на явний.

       - guestfish --listen --csh для сумісності із csh, tcsh (дякуємо Eric Blake).

       - Першу основну версію, у якій впроваджено усі функції програмного інтерфейсу, тепер
       документовано у guestfs(3).

       - guestfs_last_errno надає вам змогу отримувати номер помилки від фонової служби, належним
       чином перетворений до локальної операційної системи.

        - Тепер функції мають додаткові параметри.

       - Реалізовано смужки поступу та сповіщення щодо поступу для команд вивантаження даних.

       - Засіб збирання базової системи тепер працює акуратніше, не залишаючи тимчасових файлів у
       /tmp.

       - У virt-rescue додано команди getfattr/setfattr.

       - У файлі ROADMAP викладено дорожню карту та цілі майбутніх випусків.

   Безпека
       - Новий розділ БЕЗПЕКА у документації з програмного інтерфейсу guestfs(3).

       - virt-inspector більше не виконує жодної з команд гостьової системи.

       - Код засобу інспектування тепер обережніший і уникає дуже великих файлів у гостьовій
       системі, які раніше призводили до відмови у обслуговуванні.

       - Тепер трасуються виклики FUSE до guestmount, якщо використовується guestmount -x.

   Нові програмні інтерфейси
        - add-domain
        - add-drive-opts
        - getxattr
        - inspect-get-hostname
        - inspect-get-package-format
        - inspect-get-package-management
        - inspect-get-roots
        - inspect-list-applications
        - lgetxattr
        - mkfs-opts

   Внутрішня частина роботи програми
       - Програми із початковим кодом мовою C тепер компонуються лише з бібліотеками, які у них
       використовуються.

       - Бібліотеки PCRE, libmagic, hivex та libvirt тепер є повністю необов'язковими до
       збирання.

       - Виправлено декілька витоків пам'яті та витоків дескрипторів файлів.

       - Додано обгортку POD для уніфікації створення сторінок підручника та файлів HTML усіх
       програм.

       - До початкового коду включено фіктивні образи гостьових систем Fedora, Debian, Ubuntu та
       Windows.

        - Прив’язки Ruby мають правило «make install».

        - <guestfs.h> тепер є єдиним файлом.

        - <guestfs.h> не потребує заголовків XDR.

       - Для збирання більше не потрібна бібліотека xml-light OCaml (дякуємо Maxim Koltsov).

        - ./configure --disable-[...] для кожної з прив’язок до мови (завдяки
          Максимові Кольцову).

       - Вилучено застарілу програму ocaml-viewer (користуйтеся замість неї програмою guestfs-
       browser).

       - Новий тип тестів програмного інтерфейсу C «InitScratchFS» трохи пришвидшує виконання
       тестів.

       - Список виключених із базової системи пакунків тепер зберігається у окремому файлі
       appliance/excludelist.in і може бути налаштований для кожного окремого дистрибутива.

   Виправлені вади
        - 663407 readlink and readlinklist returns /sysroot/ in some paths
        - 661280 virt-rescue: panic when shutting down: "/sbin/reboot: No such file or directory"
        - 657499 checksum: wrong check sum type causes umount to fail
        - 655554 Whole disk paths are not made canonical by virt-inspector
        - 654638 openssl updated to 1.0.0b libguestfs depends on exact file names
        - 652796 ruby bindings not installed by 'make install', hence omitted from the binary distribution

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.6

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.4.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       - Використано новий спосіб створення і кешування базової системи. Це значно пришвидшує
       роботу libguestfs, доволі часто у 4-5 разів.

       - Реалізовано підтримку інспектування гостьових системи (подібно до virt-inspector) за
       допомогою звичайного програмного інтерфейсу та прив'язок до мов програмування. Побіжним
       ефектом є значне пришвидшення роботи «guestfish -i».

       - virt-inspector та основний програмний інтерфейс інспектування тепер може виявляти такі
       гостьові системи: Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
       Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.

       - Реалізовано підтримку повного шифрування дисків за допомогою LUKS у гостьових системах.

        - Прив’язки до PHP.

       - Реалізовано повідомлення щодо поступу (та смужки поступу у guestfish і virt-resize) для
       певних типів довготривалих дій.

       - virt-df тепер працює значно ефективніше. Скористайтеся параметром «--one-per-guest», щоб
       відновити попередню поведінку із ізоляцією окремих гостьових систем.

       - Реалізовано команди guestfish «copy-in» і «copy-out» для рекурсивного копіювання файлів
       та каталогів до гостьової системи та з неї.

       - Реалізовано команду guestfish «hexedit» для виконання двійкового редагування на
       пристроях і у файлах.

       - Змінено синтаксис guestfish -i з метою уможливлення визначення команд у командному рядку
       (із збереженням зворотної сумісності).

       - Реалізовано параметр guestfish -d <домен> для додавання дисків з доменів libvirt.

       - Для параметра guestfish -N передбачено підтримку декількох нових типів приготованих
       образів дисків:
                lvfs : диск у форматі логічного тому з файловою системою
                  lv : диск із логічним томом
            bootroot : boot+root
          bootrootlv : boot і root на логічному томі

       - Команди guestfish more та edit тепер працюють із довільними файлами.

       - За допомогою параметра guestfish --echo-keys ви зможете бачити символи ключів і паролів,
       коли їх вводитимете.

       - У guestmount тепер передбачено параметри -a / -d / -i, як у guestfish.

       - Реалізовано використання virtio-serial для обміну даними із базовою системою. Це дало
       значні переваги у швидкодії.

        - Реалізовано параметр virt-edit -b для створення резервних копій редагованих файлів.

       - Реалізовано параметр virt-edit -e для неінтерактивного редагування файлів.

       - Реалізовано можливість перехоплення дампів ядра із базової системи (дякуємо Matthew
       Booth).

       - virt-rescue тепер завершує роботу коректно (дякуємо Matthew Booth).

       - virt-rescue тепер має параметр --network для вмикання доступу до мережі.

       - Тепер virt-resize може працювати із гостьовими системами, які використовують формат
       таблиці розділів GPT.

       - у virt-resize реалізовано ліпшу підтримку зменшення розмірів гостьових систем.

       - у virt-resize передбачено підтримку гостьових систем у форматі qcow2.

       - Можна скористатися $TMPDIR для перевизначення майже усіх тимчасових каталогів.

       - Користувачі OCaml можуть скористатися альтернативним OO-стилем програмування, наприклад
       g#launch ()

       - У програмному інтерфейсі передбачено підтримку викликів, які приймають необов'язкові
       параметри. Приклад: $g->add_drive_opts ("disk", readonly => 1);

       - У виведених даних трасування тепер екрануються і скорочуються довгі рядки (дякуємо
       Matthew Booth).

       - Тепер автосинхронізацію типово увімкнено. Це забезпечує вищу надійність при закритті
       дескриптора.

       - За допомогою параметра virt-df --uuid ви можете здійснювати переходи у домені навіть
       після перенесення або перейменування.

        - Переклади сторінок підручника (man).

   Безпека
       - CVE-2010-3851 libguestfs: пропущено специфікатор формату диска під час додавання диска
       https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html Цю ваду повністю
       виправлено у цьому випуску, виправлення буде зворотно портовано на інші стабільні гілки
       після додаткового тестування.

       - virt-inspector більше не покладається на ненадійний код гостьової системи для побудови
       списку програм у деяких гостьових системах.

   Нові програмні інтерфейси
         download-offset, file-architecture, findfs-label, findfs-uuid,
         inspect-os, inspect-get-arch, inspect-get-distro,
         inspect-get-filesystems, inspect-get-major-version,
         inspect-get-minor-version, inspect-get-mountpoints,
         inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,
         is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,
         luks-close, luks-format, luks-format-cipher, luks-kill-slot,
         luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,
         lvm-set-filter, part-to-dev, pread-device, pwrite-device,
         upload-offset

   Внутрішня частина роботи програми
       - Використано size_t для змінних циклів.  - Код бібліотеки поділено на декілька окремих
       файлів.  - Код генератора поділено на декілька окремих файлів.  - Реалізовано генерацію
       команд guestfish.  - Уніфіковано обробку параметрів guestfish і guestmount.  - Зміни у
       протоколі:
           розмір повідомлення щодо помилки збільшено до 64 кБ
           реалізовано надсилання errno до бібліотеки - Додано «make bindist» для створення
       бінарного дистрибутива.  - Поліпшено поведінку під керуванням valgrind.  - Ширше
       тестування параметрів командного рядка guestfish та інтеграції libvirt.  - Код
       інспектування мовою Perl більше не використовується у жодному з інструментів.

   Виправлені вади
        - 646822 libguestfs trace mode should not print long binary strings
        - 646821 virt-df should have --uuid option
        - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints
        - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell
        - 642934 No way to specify disk format when adding a disk to libguestfs
        - 642933 guestfs_list_filesystems should be used in all possible places
        - 642932 guestmount options should match guestfish options
        - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs
        - 642929 C inspection code should ignore /dev/fd* in /etc/fstab
        - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this
        - 640961 Document that grub-install might be needed for old Linux guests after virt-resize
        - 639986 virt-df --csv does not properly quote " in libvirt domain names
        - 639405 Interrupted cached appliance creation leaves libguestfs unusable
        - 638901 Appliance filename should not contain repository name
        - 638899 /dev/mapper paths should not be returned from C inspection APIs
        - 636918 Updates to Spanish translation
        - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)
        - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage
        - 634246 guestfs_part_get_parttype returns "loop" when run against a partition, LV or filesystem
        - 633766 virt-resize --shrink fails
        - 633357 Оновлення перекладу іспанською
        - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
        - 629593 Додано переклад голландською
        - 627556 Оновлено переклад libguestfs іспанською
        - 626843 Оновлення перекладу іспанською
        - 619793 [RFE] Need a way to determine if a particular block device is a logical volume
        - 618556 virt-rescue return none zero value when exit
        - 617200 mount operation failed and hung on some images which running in read-only mode
        - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
        - 599503 document that mkmountpoint and umount-all cannot be mixed
        - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.
        - 502533 Оновлення перекладу libguestfs польською

НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.4

       Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску
       (1.2.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у
       файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

   Нові можливості
       - надає вам змогу вибрати приготований образ диска. Приклад: guestfish -N fs:ext4

       - Додано підтримку запису у модулі guestmount (FUSE).

       - virt-resize тепер може змінювати вміст розділів і логічних томів у гостьовій системі.
       Також поліпшено підтримку зменшення розмірів гостьових систем.

       - Додано скрипт доповнення команд за Tab у bash для guestfish.

       - Додано підтримку ZFS до virt-rescue.

       - Новий інструмент «virt-make-fs» для створення файлових систем із даними.

       - Уможливлено суфікси для будь-яких числових параметрів guestfish. Приклад: «1M».

       - Реалізовано команду guestfish «man», яка відкриває сторінку підручника.

       - У guestfish реалізовано синтаксис «heredoc» для вивантаження файлів:
            upload -<<_end_ /foo
            content
            _end_

       - Деякі команди guestfish тепер виводять дані у вісімковому або шістнадцятковому форматі,
       якщо це потрібно (RHBZ#583242).

       - Уможливлено префікс-дефіс у командному рядку guestfish. Така ось команда ігноруватиме
       усі помилки від другої команди (RHBZ#578407):
            guestfish -- команда1 : -команда2 : команда3

       - Команда guestfish -h / help тепер повертає повідомлення про помилку, якщо відповідної
       команди не існує (RHBZ#597145).

       - Реалізовано нову команду «supported» у guestfish, призначену для виведення списку
       необов'язкових груп команд, підтримку яких передбачено у фоновій службі або налаштуваннях.

       - Уможливлено роботу virt-inspector і guestfish -i з файлами, назви яких містять пробіли
       (RHBZ#507810).

       - Змінено протокол для використання адрес link-local для уникнення конфлікту з будь-якими
       адресами, які можуть використовуватися у основній системі (RHBZ#588763).

       - libguestfs тепер встановлює правильні часові позначки та часовий пояс при змінах у
       файловій системі.

       - Реалізовано упорядковування доменів за абеткою у virt-df.

       - Уможливлено роботу команди mkfs-b для FAT і NTFS шляхом прив'язки параметра розміру
       блоку до розміру кластера (RHBZ#599464).

       - Додано номер версій до модулів Perl (RHBZ#521674).

       - Локалізація тепер працює для усіх інструментів libguestfs (RHBZ#559963).

       - У інструментах тепер передбачено підтримку віртуальних машин «файлова система на образі»
       (RHBZ#590167).

       - У virt-list-partitions реалізовано параметр «-t» для показу загального розміру дисків.

       - До базової системи supermin включено додаткові лінзи Augeas (Matthew Booth).

        - Додано зворотні виклики error та close.

        - Додано явний метод close до програмного інтерфейсу Perl.

        - Декілька виправлень для забезпечення сумісності з RHEL 5.

        - Декілька виправлень для забезпечення сумісності з Debian/Ubuntu.

        - Декілька модифікацій з покращеннями у документації.

   Безпека
       - Усунено потенційну відмову в обслуговуванні у virt-inspector та virt-v2v, якщо
       спеціальним чином створений образ диска містить символьний пристрій на місці одного з
       файлів налаштувань, які бібліотека читає у /etc (RHBZ#582484).

   Нові програмні інтерфейси
       - aug-clear - чищення шляху Augeas - available-all-groups - повертає список усіх
       необов'язкових груп - base64-in - вивантаження закодованих у base64 даних до файла -
       base64-out - отримання файла і кодування у base64 - checksum-device - обчислення
       контрольних сум для даних на пристрої - checksums-out - обчислення контрольних сум для
       декількох файлів у каталозі - debug-upload - вивантаження файла до базової системи -
       fallocate64 - попереднє розміщення файла у гостьовій файловій системі - fill-pattern -
       заповнення файла повторами взірців байтів - get-umask - отримання поточної umask -
       lvresize-free - розширення логічного тому для заповнення вільного місця - ntfsresize -
       зміна розміру файлової системи NTFS - ntfsresize-size - зміна розмірів файлової системи
       NTFS (із розміром) - part-del - вилучення розділу - part-get-bootable - отримання прапорця
       завантажуваності розділу - part-get-mbr-id - отримання байта типу MBR розділу - part-set-
       mbr-id - встановлення байта типу MBR розділу - pvresize-size - зміна розмірів фізичного
       тому (з розміром) - pwrite - запис частини файла - resize2fs-size - зміна розмірів
       файлової системи ext2/3/4 (з розміром) - txz-in - розпаковування стисненого архіву tar до
       каталогу (RHBZ#580556) - txz-out - пакування каталогу до стисненого архіву tar
       (RHBZ#580556) - vfs-label - отримання мітки файлової системи - vfs-uuid - отримання UUID
       файлової системи - vgscan - повторне сканування фізичних томів LVM, груп томів та логічних
       томів - write - створення файла - zero-device - записування усього пристрою нулями

   Внутрішня частина роботи програми
       - Розширено можливості генератора для підтримки тестування додаткових можливостей.  -
       Строгіші перевірки вхідних параметрів для багатьох викликів (RHBZ#501893 RHBZ#501894) -
       Розширено протокол для підтримки надсилання довільних 8-бітових буферів даних.  - До
       випусків додано файл «BUGS». Там наведено резюме вад у базі даних системи стеження за
       вадами Red Hat.  - До випусків додано файл «RELEASE-NOTES», який містить нотатки щодо
       випуску.  - Уніфіковано збирання базової системи supermin до одного місця, у febootstrap
       2.7.  - Виправлено код протоколу для обробки випадку, коли обидва боки зв'язку одночасно
       надсилають повідомлення про скасовування.

   Виправлені вади
        - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die
        - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077
        - 604691 OCaml bindings are not thread safe
        - 603870 Updates to Spanish translation
        - 602592 [RFE] expose guestfs_close in perl bindings
        - 600977 virt-df -h --csv "Argument .. isn't numeric in printf"
        - 599464 mkfs-b does not support vfat/ntfs
        - 598807 add_cdrom does not work in RHEL 6
        - 598309 part-list and several other cmd failed on libguestfs on RHEL5
        - 597145 guestfish 'help' command should indicate error in exit status with an unknown command
        - 597135 guestfish write-file cmd does not check "size" parameter
        - 597118 A warning should be given in the help of mke2journal-L for the length of label
        - 597112 get-e2uuid should use blkid instead of "tune2fs -l" to get filesystem UUID
        - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests
        - 596763 Updates to Spanish translation
        - 593292 Updates to Spanish translation
        - 592883 can not edit files on  images mounted with guestmount cmd
        - 592360 Updates to Spanish translation
        - 591250 virt-tar prints "tar_in: tar subcommand failed on directory" if the archive is compressed or not in the right format
        - 591155 virt-tar prints "tar_in: tar subcommand failed on directory" if a disk image is not writable
        - 591142 virt-inspector should give an error for unrecognized disk images
        - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs
        - 589039 guestfish read-file cmd will cause daemon hang when read large files
        - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL
        - 588763 libguestfs should use non-public or link-local addresses for appliance network
        - 588733 Updates to Spanish translation
        - 588651 guestfish 'strings-e' cmd does not give proper error message or hint
        - 587484 lvresize can't reduce size of a volumn
        - 585961 Updates to Spanish translation
        - 585223 ntfsresize should support shrinking filesystems
        - 585222 pvresize should support shrinking PVs
        - 585221 resize2fs should support shrinking filesystems
        - 584038 Updates to Spanish translation
        - 583554 [FEAT] mknod-mode command is needed to set mode explicitly
        - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)
        - 582993 guestfish eats words when tab completing case (in)sensitive paths
        - 582953 Misleading help information about lvcreate command
        - 582948 mknod command doesn't make block, character or FIFO devices
        - 582929 mknod doesn't check for invalid mode
        - 582901 guestfish chmod/umask commands do not check invalid mode value
        - 582899 guestfish:sparse is missed from command autocomplete list
        - 582891 [Feature Request] behavior and return value of guestfish umask cmd should be changed
        - 582548 [mknod] umask shouldn't take effect when mode is set explicitly
        - 582484 some guestfish sub commands can not handle special files properly
        - 582252 Updates to Spanish translation
        - 581501 Updates to Spanish translation
        - 580650 virt-inspector warns "No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]"
        - 580556 request for libguestfs to support .txz tarballs
        - 580246 tar-in command hangs if uploading more than available space
        - 580016 aug-ls in guestfish does not take augeas variable as argument
        - 579664 guestfish doesn't report error when there is not enough space for image allocation
        - 579608 multiple commands in guestfish can not work for symbol links
        - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)
        - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode
        - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks
        - 559963 libguestfs Perl programs do set locale, but still localization doesn't work
        - 521674 Perl modules are unversioned, but should carry version numbers
        - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy
        - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames
        - 502533 Updated Polish translation of libguestfs
        - 501894 Some String parameters should be OptString
        - 501893 String parameters should be checked for != NULL
        - 501889 write-file does not support strings containing ASCII NUL
        - 484986 grub-install fails on virtio disk

НОТАТКИ ЩОДО ВИПУСКУ ПОПЕРЕДНІХ ВЕРСІЙ LIBGUESTFS

       До 2010 року у libguestfs не було офіційних нотаток щодо випуску або формалізованої
       системи нумерації версій. Втім, нижче наведено посилання на важливі у історичному плані
       версії.

       10 листопада 2009 року (1.0.78)
           https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html

       13 вересня 2009 року (1.0.67)
           https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html

       23 липня 2009 року (1.0.64)
           https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html

       14 липня 2009 року (1.0.59)
           https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html

       1 квітня 2009 року (початкове оголошення)
           http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-machine-disk-images/

ТАКОЖ ПЕРЕГЛЯНЬТЕ

       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-2019 Red Hat Inc.

LICENSE

BUGS

       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:

       ·   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.