.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "guestfs-release-notes-1.22 1" .TH guestfs-release-notes-1.22 1 "2021-01-05" "libguestfs-1.44.0" "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "НАЗВА" .IX Header "НАЗВА" guestfs-release-notes \- нотатки щодо випусків libguestfs .SH "НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.22" .IX Header "НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.22" Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.20.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки. .SS "Нові можливості" .IX Subsection "Нові можливості" \fI\s-1API\s0\fR .IX Subsection "API" .PP Віддалений доступ до таких дисків: .IP "\(bu" 4 Network Block Device (nbd) .IP "\(bu" 4 Secure Shell (ssh) .IP "\(bu" 4 \&\s-1HTTP\s0 та \s-1HTTPS\s0 .IP "\(bu" 4 \&\s-1FTP\s0 та \s-1FTPS\s0 .IP "\(bu" 4 iSCSI .IP "\(bu" 4 Gluster .IP "\(bu" 4 Ceph/rbd (Mike Kelly) .IP "\(bu" 4 Sheepdog .IP "\(bu" 4 \&\s-1TFTP\s0 .PP Завантажувачі \s-1SYSLINUX\s0 і \s-1EXTLINUX\s0 тепер можна встановлювати на образи дисків за допомогою програмного інтерфейсу. .PP Засіб інспектування тепер може обробляти файлові системи, зокрема btrfs, у яких підтомами є окремі точки монтування (Matthew Booth). .PP «Методи долучення» тепер називатимуться «модулями обробки». Сумісність із наявним кодом збережено. .PP У назвах файлів можуть міститися символи «:», якщо використовується нова версія \s-1QEMU.\s0 .PP \fIІнструменти\fR .IX Subsection "Інструменти" .PP Virt-alignment-scan і virt-df можуть сканувати декілька гостьових систем паралельно. .PP Guestmount тепер передає до простору користувача точний номер помилки майже завжди. .PP Guestfish та інші інструменти тепер можуть використовувати адресоподібний синтаксис для доступу до віддалених дисків. Приклад: .PP .Vb 1 \& guestfish \-a ssh://example.com/шлях/до/диска.img .Ve .PP Guestfish та guestmount тепер надають вам змогу вказувати тип файлової системи під час монтування, що є безпечнішими способом монтування (Dave Vasilevsky). .PP Guestfish тепер є «командною оболонкою файлової системи гостьової операційної системи». .PP Guestfish тепер надає змогу використовувати лише \f(CW1\fR \f(CW\*(C`true\*(C'\fR \f(CW\*(C`t\*(C'\fR \f(CW\*(C`yes\*(C'\fR \&\f(CW\*(C`y\*(C'\fR \f(CW\*(C`on\*(C'\fR \f(CW0\fR \f(CW\*(C`false\*(C'\fR \f(CW\*(C`f\*(C'\fR \f(CW\*(C`no\*(C'\fR \f(CW\*(C`n\*(C'\fR \f(CW\*(C`off\*(C'\fR як булеві значення (без врахування регістру символів) і повертає помилку для усіх інших рядків. .PP Новий інструмент \f(CW\*(C`guestunmount\*(C'\fR для безпечного демонтування файлових систем \&\s-1FUSE.\s0 .PP За допомогою прапорця \f(CW\*(C`guestmount \-\-no\-fork\*(C'\fR тепер можна запобігти перетворенню guestmount на фонову службу. .PP Virt-resize тепер типово використовує розріджені копії, значно заощаджуючи місце на диску для гостьових систем, які є майже порожніми. .PP Інструкції доповнення команд за Tab у bash було переписано, тепер у них враховано більшість інструментів та реалізовано правильне доповнення \&\f(CW\*(C`\-\-довгих\*(C'\fR параметрів. Крім того, скрипти доповнення bash завантажуються на вимогу. .PP \fIПрив’язки до мов програмування\fR .IX Subsection "Прив’язки до мов програмування" .PP У програмному інтерфейсі Java тепер передбачено підтримку подій. .PP Об'єкт Python тепер успадковується від базового класу \f(CW\*(C`object\*(C'\fR. .PP Методи Python, які раніше повертали список кортежів, тепер можуть повертати словники Python. З метою забезпечення зворотної сумісності, вам доведеться увімкнути цю можливість за допомогою використання параметра конструктора \&\f(CW\*(C`guestfs.GuestFS (python_return_dict=True)\*(C'\fR. .PP Прив'язки до \s-1PHP\s0 тепер належним чином перевірено, у них виправлено декілька вад. .PP Вилучено застарілу бібліотеку Perl \&\f(CW\*(C`Sys::Guestfs::Lib\*(C'\fR. https://www.redhat.com/archives/libguestfs/2013\-April/msg00001.html .PP \fIПриклади\fR .IX Subsection "Приклади" .PP Нові приклади програм показують, як увімкнути діагностику і перехопити повідомлення журналу. .PP \fIІнше\fR .IX Subsection "Інше" .PP Автори дистрибутивів можуть додавати довільні додаткові пакунки до базової системи за допомогою такої команди: .PP .Vb 1 \& ./configure \-\-with\-extra\-packages="список назв пакунків" .Ve .PP Автори дистрибутивів можуть скористатися такою командою: .PP .Vb 1 \& ./configure \-\-with\-supermin\-extra\-options="..." .Ve .PP для додавання довільних додаткових параметрів supermin. .SS "Безпека" .IX Subsection "Безпека" У цьому випуску вад захисту не виявлено. .SS "Нові програмні інтерфейси" .IX Subsection "Нові програмні інтерфейси" .Vb 10 \& cp\-r \& extlinux \& feature\-available \& get\-program \& is\-whole\-device \& part\-get\-gpt\-type \& part\-set\-gpt\-type \& rename \& set\-program \& syslinux .Ve .PP Лише C: .PP .Vb 1 \& guestfs_event_to_string .Ve .SS "Внутрішня частина роботи програми" .IX Subsection "Внутрішня частина роботи програми" Інструмент febootstrap перейменовано на «supermin». Libguestfs може використовувати обидві назви, але тепер пріоритетною назвою є «supermin». http://people.redhat.com/~rjones/supermin/ .PP Для збирання libguestfs тепер обов'язковою є libxml2. .PP Для збирання версії з git тепер обов'язковою є програма hivexregedit (з hivex). .PP Внутрішніми функціями більше не можна користуватися, якщо функція виклику не визначає \f(CW\*(C`\-DGUESTFS_PRIVATE=1\*(C'\fR. .PP Увімкнено попередження компілятора C у прив'язках до Python і Ruby. .PP Реалізовано раннє і зрозуміле завершення роботи, якщо у libvirt не передбачено підтримки qemu/KVM (наприклад, якщо типовим з'єднанням libvirt є Xen). .PP Реалізовано правило \f(CW\*(C`make print\-subdirs\*(C'\fR, яке є корисним для вибіркового запуску тестів. .PP Декілька виправлень, які уможливлюють роздільне збирання (каталог коду != каталог збирання). .PP Декілька виправлень у прив’язках до Haskell. .PP Програмні інтерфейси \f(CW\*(C`ln\*(C'\fR та \f(CW\*(C`ln\-f\*(C'\fR тепер правильно перехоплюють \f(CW\*(C`errno\*(C'\fR. .PP Тести прив'язок до мов (здебільшого) використовують стандартну схему нумерування і тестують однаковий діапазон можливостей для усіх мов. Крім того, зменшено кількість запусків, які для цього потрібні, отже виконання тестів значно пришвидшено. .PP Код бібліотеки на внутрішньому рівні використовує \s-1GCC\s0 \&\f(CW\*(C`_\|_attribute_\|_((cleanup))\*(C'\fR (якщо доступне) для спрощення отримання пам'яті. .PP Перевпорядковано внутрішні файли заголовків. Див. коментарі у \&\fIsrc/guestfs\-internal*.h\fR .PP Код внутрішнього використання, який є спільним для бібліотеки та деяких інструментів, тепер зберігається у статичній бібліотеці \f(CW\*(C`libutils\*(C'\fR. .PP Майже у всіх підкаталогах тепер використовується паралельне збирання, хоча, слід зауважити, що усі каталоги верхнього рівня все ще збираються послідовно. .PP З коду вилучено усі випадки використання \f(CW\*(C`PATH_MAX\*(C'\fR і \f(CW\*(C`NAME_MAX\*(C'\fR. .PP Для програмного інтерфейсу Java тепер потрібна \s-1JVM\s0 ≥ 1.6. .PP Реалізовано примусове використання \f(CW\*(C`serial\-tests\*(C'\fR із automake ≥ 1.12. .PP Створено абстракцію використання сокетів у шарі протоколу бібліотеки, що уможливлює додавання інших нових шарів, відмінних від \s-1POSIX\s0 (див. \fIsrc/conn\-socket.c\fR). .PP Якщо можливо, використовується \f(CW\*(C`qemu\-img info \-\-output json\*(C'\fR з метою зробити обробку виведених цією командою даних безпечнішою. .PP Тепер дистрибутиви можуть використовувати \f(CW\*(C`make INSTALLDIRS=vendor install\*(C'\fR для розміщення прив'язок до Ruby у відповідному каталозі. Таким чином усунено потребу у зовнішній латці у Fedora та Debian. .PP Файли журналу valgrind тепер записуються до \&\fItmp/valgrind\-\fIДАТА\fI\-\fI\s-1PID\s0\fI.log\fR .PP \&\f(CW\*(C`make clean\*(C'\fR очищує локальний каталог \f(CW\*(C`tmp/\*(C'\fR. .PP Тести програмного інтерфейсу мовою C переписано із використанням гнучкішої мови генератора, що уможливило виконання довільного коду C під час тестування. .SS "Виправлені вади" .IX Subsection "Виправлені вади" .IP "https://bugzilla.redhat.com/961812" 4 .IX Item "https://bugzilla.redhat.com/961812" Segfault in inspect\-fs.c in mountable code .IP "https://bugzilla.redhat.com/957772" 4 .IX Item "https://bugzilla.redhat.com/957772" tar-out and base64\-out quoting error .IP "https://bugzilla.redhat.com/957380" 4 .IX Item "https://bugzilla.redhat.com/957380" libguestfs: error: btrfsvol:/dev/sda2/root: root device not found: only call this function with a root device previously returned by guestfs_inspect_os .IP "https://bugzilla.redhat.com/948324" 4 .IX Item "https://bugzilla.redhat.com/948324" Не вдається виконати інспектування, якщо не встановлено libosinfo .IP "https://bugzilla.redhat.com/928995" 4 .IX Item "https://bugzilla.redhat.com/928995" file on zero-sized file now produces \*(L"empty \*(R" instead of \*(L"empty\*(R" .IP "https://bugzilla.redhat.com/921292" 4 .IX Item "https://bugzilla.redhat.com/921292" qemu: could not open disk image /tmp/.../snapshot1: Permission denied .IP "https://bugzilla.redhat.com/921040" 4 .IX Item "https://bugzilla.redhat.com/921040" \&\*(L"error: external command failed, see earlier error messages\*(R" message needs to change .IP "https://bugzilla.redhat.com/920225" 4 .IX Item "https://bugzilla.redhat.com/920225" libguestfs should use \-\-output json (if supported) to safely parse the output of qemu-img command .IP "https://bugzilla.redhat.com/916780" 4 .IX Item "https://bugzilla.redhat.com/916780" feature request: guestmount \-\-with\-cleanup\-pipefd .IP "https://bugzilla.redhat.com/914934" 4 .IX Item "https://bugzilla.redhat.com/914934" oom-killer kills guestfsd when tar-in a lot of data .IP "https://bugzilla.redhat.com/914931" 4 .IX Item "https://bugzilla.redhat.com/914931" FileIn commands cause segfault if appliance dies during the file copy in .IP "https://bugzilla.redhat.com/913145" 4 .IX Item "https://bugzilla.redhat.com/913145" Misc leaks in virNetClientProgramCall in libvirt 1.0.2 .IP "https://bugzilla.redhat.com/912499" 4 .IX Item "https://bugzilla.redhat.com/912499" Security context on image file gets reset .IP "https://bugzilla.redhat.com/909836" 4 .IX Item "https://bugzilla.redhat.com/909836" libguestfs-test-tool \-\-qemu segfaults .IP "https://bugzilla.redhat.com/909624" 4 .IX Item "https://bugzilla.redhat.com/909624" Unexpected non-tail recursion in recv_from_daemon results in stack overflow in very long-running \s-1API\s0 calls that send progress messages .IP "https://bugzilla.redhat.com/908322" 4 .IX Item "https://bugzilla.redhat.com/908322" virt-tar fails on non-existent directory names \*(L"error in chunked encoding at /home/rjones/d/libguestfs/tools/virt\-tar line 272.\*(R" .IP "https://bugzilla.redhat.com/908321" 4 .IX Item "https://bugzilla.redhat.com/908321" virt-cat fails on directory names \*(L"/dev/stdout: error in chunked encoding\*(R" .IP "https://bugzilla.redhat.com/907554" 4 .IX Item "https://bugzilla.redhat.com/907554" btrfs causes subsequent ntfs\-3g filesystem to fail .IP "https://bugzilla.redhat.com/905341" 4 .IX Item "https://bugzilla.redhat.com/905341" \&\*(L"No such file or directory\*(R" when execute \*(L"hivex-commit\*(R" .IP "https://bugzilla.redhat.com/903620" 4 .IX Item "https://bugzilla.redhat.com/903620" btrfs_subvolume_list broken due to change in subvolume list output .IP "https://bugzilla.redhat.com/895910" 4 .IX Item "https://bugzilla.redhat.com/895910" guestmount: \fBrename()\fR incorrectly follows symbolic links .IP "https://bugzilla.redhat.com/895905" 4 .IX Item "https://bugzilla.redhat.com/895905" guestmount: \fBlink()\fR incorrectly returns \s-1ENOENT,\s0 when it should be \s-1EXDEV\s0 .IP "https://bugzilla.redhat.com/895904" 4 .IX Item "https://bugzilla.redhat.com/895904" checksums-out fail to compute the checksums of all regular files in directory .IP "https://bugzilla.redhat.com/894545" 4 .IX Item "https://bugzilla.redhat.com/894545" libguestfs \s-1FTBFS\s0 on Fedora 19 because of new ruby .IP "https://bugzilla.redhat.com/890027" 4 .IX Item "https://bugzilla.redhat.com/890027" virt-sysprep: Setting hostname, domain name and pretty name on Fedora 18 correctly .IP "https://bugzilla.redhat.com/887971" 4 .IX Item "https://bugzilla.redhat.com/887971" pvcreate fails if partition contains a swap signature .IP "https://bugzilla.redhat.com/887520" 4 .IX Item "https://bugzilla.redhat.com/887520" zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate memory .IP "https://bugzilla.redhat.com/886915" 4 .IX Item "https://bugzilla.redhat.com/886915" libguestfs with libvirt attach-method fails with odd error if default hypervisor is Xen .IP "https://bugzilla.redhat.com/847549" 4 .IX Item "https://bugzilla.redhat.com/847549" Adding a zero-length virtio-scsi disk causes: qemu-kvm: hw/scsi\-bus.c:1568: scsi_req_complete: Assertion `req\->status == \-1' failed. .IP "https://bugzilla.redhat.com/811649" 4 .IX Item "https://bugzilla.redhat.com/811649" libguestfs cannot open disk images which are symlinks to files that contain \&':' (colon) character .IP "https://bugzilla.redhat.com/664558" 4 .IX Item "https://bugzilla.redhat.com/664558" \&\s-1RFE:\s0 Allow to set log callback in Ruby bindings .SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ" .IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ" \&\fBguestfs\-examples\fR\|(1), \fBguestfs\-faq\fR\|(1), \fBguestfs\-performance\fR\|(1), \&\fBguestfs\-recipes\fR\|(1), \fBguestfs\-testing\fR\|(1), \fBguestfs\fR\|(3), \&\fBguestfish\fR\|(1), http://libguestfs.org/ .SH "АВТОР" .IX Header "АВТОР" Richard W.M. Jones .SH "АВТОРСЬКІ ПРАВА" .IX Header "АВТОРСЬКІ ПРАВА" Copyright (C) 2009\-2020 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" .SH "BUGS" .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP "\(bu" 4 The version of libguestfs. .IP "\(bu" 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP "\(bu" 4 Describe the bug accurately and give a way to reproduce it. .IP "\(bu" 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.