Provided by: libguestfs0_1.48.4-2ubuntu1_amd64 bug

НАЗВА

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

НОТАТКИ ЩОДО ВИПУСКУ 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 тепер правильно працює у файлових системах із розміром блоку, меншим за 1 кБ
       (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).

       Додано підтримку 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".

       Тепер обов'язковою є 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 (яка не є обов'язковою). Це додає обов'язкове блокування
       для дисків, libguestfs вимикає таке блокування за певних обставин, коли відомо, що це є
       безпечним (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
           Адреса прикладу «Перетворення з гіпервізору ESXi за допомогою SSH до локальної
           libvirt» на сторінці підручника v2v була некоректною

       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
           На сторінці підручника не було згадано про використання «--» при спробі змінити
           поведінку при завершенні виконання у результаті помилки

       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

ТАКОЖ ПЕРЕГЛЯНЬТЕ

       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

АВТОРСЬКІ ПРАВА

       © Red Hat Inc., 2009–2020

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.