guestfs-release-notes-1.36(1) | Virtualization Support | guestfs-release-notes-1.36(1) |
guestfs-release-notes - нотатки щодо випусків libguestfs
Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (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 перед передаванням її до командного рядка ядра базової системи.
Нові програмні інтерфейси
Інші зміни у програмному інтерфейсі
Цей програмний інтерфейс тепер може повертати такі нові значення: "riscv32", "riscv64", "riscv128", "s390", "s390x".
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.
Каталог, у якому зберігається основний код бібліотеки пересунуто, src → lib.
Усі тести, які було написано мовою командної оболонки, тепер використовують спільний файл із допоміжними функціями (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.
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-2023 Red Hat Inc.
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:
2024-07-08 | libguestfs-1.52.2 |