libguestfs 1.39.12 - en to uk translation catalogue (10286 entries)

note: type: =head1
en: NAME
uk: НАЗВА

note: type: textblock
en: virt-alignment-scan - Check alignment of virtual machine partitions
uk: virt-alignment-scan — перевірка вирівнювання розділів віртуальної машини

note: type: =head1
en: SYNOPSIS
uk: КОРОТКИЙ ОПИС

note: type: verbatim
en:  virt-alignment-scan [--options] -d domname
uk:  virt-alignment-scan [--параметри] -d назва_домену

note: type: verbatim
en:  virt-alignment-scan [--options] -a disk.img [-a disk.img ...]
uk:  virt-alignment-scan [--параметри] -a диск.img [-a диск.img ...]

note: type: verbatim
en:  virt-alignment-scan [--options]
uk:  virt-alignment-scan [--параметри]

note: type: =head1
en: DESCRIPTION
uk: ОПИС

note: type: textblock
en: When older operating systems install themselves, the partitioning tools place partitions at a sector misaligned with the underlying storage (commonly the first partition starts on sector C<63>).  Misaligned partitions can result in an operating system issuing more I/O than should be necessary.
uk: Під час встановлення застарілих операційних систем засоби розподілу диска можуть розташувати розділ на секторі з помилковим вирівнюванням відносно системи зберігання даних (типово, перший розділ починається з сектора C<63>). Розділи з помилковим вирівнюванням можуть призвести до неоптимальної кількості запитів щодо виведення та введення даних від операційної системи.

note: type: textblock
en: The virt-alignment-scan tool checks the alignment of partitions in virtual machines and disk images and warns you if there are alignment problems.
uk: Програма virt-alignment-scan виконує перевірку вирівнювання розділів у віртуальних машинах та образів дисків і повідомляє вам, якщо буде виявлено помилки вирівнювання.

note: type: textblock
en: Currently there is no virt tool for fixing alignment problems.  You can only reinstall the guest operating system.  The following NetApp document summarises the problem and possible solutions: L<http://media.netapp.com/documents/tr-3747.pdf>
uk: У поточній версії не передбачено програми для виправлення помилок, пов’язаних з вирівнюванням. Ви можете лише перевстановити гостьову операційну систему. У цьому документі можна знайти короткі описи помилок та можливі шляхи усування цих помилок: L<http://media.netapp.com/documents/tr-3747.pdf>

note: type: =head1
en: OUTPUT
uk: ВИВЕДЕННЯ

note: type: textblock
en: To run this tool on a disk image directly, use the I<-a> option:
uk: Щоб запустити цю програму безпосередньо для образу диска, скористайтеся параметром I<-a>:

note: type: textblock
en: To run the tool on a guest known to libvirt, use the I<-d> option and possibly the I<-c> option:
uk: Щоб запустити програму на гостьовій системі, відомій libvirt, скористайтеся параметром I<-d> і, можливо, параметром I<-c>:

note: type: textblock
en: Run virt-alignment-scan without any I<-a> or I<-d> options to scan all libvirt domains.
uk: Щоб виконати сканування всіх доменів libvirt, віддайте команду virt-alignment-scan без параметрів I<-a> та I<-d>.

note: type: textblock
en: The output consists of 4 or more whitespace-separated columns.  Only the first 4 columns are significant if you want to parse this from a program.  The columns are:
uk: Дані буде виведено у форматі 4 або більшої кількості стовпчиків, відокремлених пробілами. Якщо ви маєте намір обробляти ці дані якоюсь програмою, до уваги слід брати лише перші 4 стовпчики. Ось ці стовпчики:

note: type: =item
en: col 1
uk: стовпчик 1

note: type: textblock
en: The device and partition name (eg. F</dev/sda1> meaning the first partition on the first block device).
uk: Назва пристрою і розділу (наприклад, F</dev/sda> означає перший розділ на першому блоковому пристрої).

note: type: textblock
en: When listing all libvirt domains (no I<-a> or I<-d> option given) this column is prefixed by the libvirt name or UUID (if I<--uuid> is given).  eg: C<WinXP:/dev/sda1>
uk: У пунктах списків всіх доменів libvirt (без вказаного параметра I<-a> або I<-d>) записи у цьому стовпчику матимуть префікс назви libvirt або UUID (якщо вказано I<--uuid>). Приклад: C<WinXP:/dev/sda1>

note: type: =item
en: col 2
uk: стовпчик 2

note: type: textblock
en: the start of the partition in bytes
uk: позиція початку розділу у байтах

note: type: =item
en: col 3
uk: стовпчик 3

note: type: textblock
en: the alignment in bytes or Kbytes (eg. C<512> or C<4K>)
uk: вирівнювання у байтах або кілобайтах (наприклад C<512> або C<4K>)

note: type: =item
en: col 4
uk: стовпчик 4

note: type: textblock
en: C<ok> if the alignment is best for performance, or C<bad> if the alignment can cause performance problems
uk: C<ok>, якщо вирівнювання є оптимальним з огляду на швидкодію, або C<bad>, якщо вирівнювання може призвести до проблем зі швидкодією

note: type: =item
en: cols 5+
uk: стовпчик 5 і далі

note: type: textblock
en: optional free-text explanation.
uk: додаткові пояснення у довільному форматі.

note: type: textblock
en: The exit code from the program changes depending on whether poorly aligned partitions were found.  See L</EXIT STATUS> below.
uk: Код виходу програми залежить від того, чи буде знайдено розділи з помилковим вирівнюванням.  Див. розділ L</СТАН ВИХОДУ> нижче.

note: type: textblock
en: If you just want the exit code with no output, use the I<-q> option.
uk: Якщо вам потрібен лише код виходу без виведення даних, скористайтеся параметром I<-q>.

note: type: =head1
en: OPTIONS
uk: ПАРАМЕТРИ

note: type: textblock
en: Display brief help.
uk: Показати коротку довідку.

note: type: =item
en: B<-a> file
uk: B<-a> файл

note: type: =item
en: B<--add> file
uk: B<--add> файл

note: type: textblock
en: Add I<file> which should be a disk image from a virtual machine.
uk: Додати I<файл>, який має бути образом диска з віртуальної машини.

note: type: textblock
en: The format of the disk image is auto-detected.  To override this and force a particular format use the I<--format=..> option.
uk: Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром I<--format=..>.

note: type: =item
en: B<-a URI>
uk: B<-a адреса>

note: type: =item
en: B<--add URI>
uk: B<--add адреса>

note: type: textblock
en: Add a remote disk.  See L<guestfish(1)/ADDING REMOTE STORAGE>.
uk: Додати віддалений диск. Див. L<guestfish(1)/ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>.

note: type: =item
en: B<-c> URI
uk: B<-c> адреса

note: type: =item
en: B<--connect> URI
uk: B<--connect> адреса

note: type: textblock
en: If using libvirt, connect to the given I<URI>.  If omitted, then we connect to the default libvirt hypervisor.
uk: Якщо використовується libvirt, встановити з’єднання з вказаним I<URI>. Якщо пропущено, з’єднання буде встановлено з типовим гіпервізором libvirt.

note: type: textblock
en: If you specify guest block devices directly (I<-a>), then libvirt is not used at all.
uk: Якщо вказати блокові пристрої гостьових систем безпосередньо (I<-a>), libvirt не буде використовуватися взагалі.

note: type: =item
en: B<-d> guest
uk: B<-d> гість

note: type: =item
en: B<--domain> guest
uk: B<--domain> гість

note: type: textblock
en: Add all the disks from the named libvirt guest.  Domain UUIDs can be used instead of names.
uk: Додати всі диски з вказаної гостьової системи libvirt. UUID доменів можна використовувати замість назв.

note: type: textblock
en: The default for the I<-a> option is to auto-detect the format of the disk image.  Using this forces the disk format for I<-a> options which follow on the command line.  Using I<--format> with no argument switches back to auto-detection for subsequent I<-a> options.
uk: Типовим значенням для параметра I<-a> є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів I<-a> формату диска у наступному рядку команди. Використання параметра I<--format> без аргументу перемикає програму у режим автоматичного визначення у наступних параметрах I<-a>.

note: type: textblock
en: For example:
uk: Приклад:

note: type: textblock
en: forces raw format (no auto-detection) for F<disk.img>.
uk: примусове встановлення формату без обробки (без автоматичного визначення) для F<disk.img>.

note: type: verbatim
en:  virt-alignment-scan --format=raw -a disk.img --format -a another.img
uk:  virt-cat --format=raw -a disk.img --format -a another.img file

note: type: textblock
en: forces raw format (no auto-detection) for F<disk.img> and reverts to auto-detection for F<another.img>.
uk: примусове встановлення формату без обробки (без автоматичного визначення) для F<diskimg> і повернення до автоматичного визначення для F<another.img>.

note: type: textblock
en: If you have untrusted raw-format guest disk images, you should use this option to specify the disk format.  This avoids a possible security problem with malicious guests (CVE-2010-3851).
uk: Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).

note: type: =item
en: B<-P> nr_threads
uk: B<-P> кількість_потоків

note: type: textblock
en: Since libguestfs 1.22, virt-alignment-scan is multithreaded and examines guests in parallel.  By default the number of threads to use is chosen based on the amount of free memory available at the time that virt-alignment-scan is started.  You can force virt-alignment-scan to use at most C<nr_threads> by using the I<-P> option.
uk: З версії libguestfs 1.22 у virt-alignment-scan передбачено обробку у декілька потоків і паралельне вивчення гостьових систем. Типово кількість потоків виконання, що використовуються, вибирається на основі доступного обсягу вільної пам’яті на час запуску virt-alignment-scan. Ви можете примусово наказати virt-alignment-scan використовувати не більше за C<кількість_потоків> за допомогою параметра I<-P>.

note: type: textblock
en: Note that I<-P 0> means to autodetect, and I<-P 1> means to use a single thread.
uk: Зауважте, що I<-P 0> означає автоматичне визначення, а I<-P 1> означає використання одного потоку виконання.

note: type: textblock
en: Don’t produce any output.  Just set the exit code (see L</EXIT STATUS> below).
uk: Нічого не виводити. Просто встановити значення коду виходу (див. розділ L</СТАН ВИХОДУ> нижче).

note: type: textblock
en: Print UUIDs instead of names.  This is useful for following a guest even when the guest is migrated or renamed, or when two guests happen to have the same name.
uk: Виводити UUID замість назв. Корисно для слідкування за гостьовою системою, навіть після перенесення або перейменування, або якщо дві гостьові системи мають однакові назви.

note: type: textblock
en: This option only applies when listing all libvirt domains (when no I<-a> or I<-d> options are specified).
uk: Цей параметр застосовується лише для побудови списку всіх доменів libvirt (якщо не вказано параметрів I<-a> і I<-d>).

note: type: textblock
en: Enable verbose messages for debugging.
uk: Увімкнути докладний показ повідомлень з метою діагностики.

note: type: textblock
en: Display version number and exit.
uk: Показати дані щодо версії і завершити роботу.

note: type: textblock
en: Enable tracing of libguestfs API calls.
uk: Увімкнути трасування викликів програмного інтерфейсу libguestfs.

note: type: =head1
en: RECOMMENDED ALIGNMENT
uk: РЕКОМЕНДОВАНЕ ВИРІВНЮВАННЯ

note: type: textblock
en: Operating systems older than Windows 2008 and Linux before ca.2010 place the first sector of the first partition at sector 63, with a 512 byte sector size.  This happens because of a historical accident.  Drives have to report a cylinder / head / sector (CHS) geometry to the BIOS.  The geometry is completely meaningless on modern drives, but it happens that the geometry reported always has 63 sectors per track.  The operating system therefore places the first partition at the start of the second "track", at sector 63.
uk: Операційні системи, старіші за Windows 2008, та Linux до приблизно 2010 року розташовують перший сектор на першому розділі у секторі 63 і використовують розмір сектору у 512 байтів. Причини суто історичні. Драйвери мають повідомити дані щодо геометрії (циліндр / голівка / сектор або CHS) до BIOS. Ця геометрія є повністю непотрібною на сучасних дисках, але, так трапляється, що повідомлені драйвером дані вказують на те, що у доріжці 63 сектори. Тому операційна система розташовує перший розділ на початку другої «доріжки» у секторі 63.

note: type: textblock
en: When the guest OS is virtualized, the host operating system and hypervisor may prefer accesses aligned to one of:
uk: Якщо гостьову операційну систему віртуалізовано, основна операційна система і гіпервізор можуть надавати перевагу доступу, вирівняному за одним з таких значень:

note: type: =item
en: * 512 bytes
uk: * 512 байти

note: type: textblock
en: if the host OS uses local storage directly on hard drive partitions, and the hard drive has 512 byte physical sectors.
uk: якщо основна операційна система використовує локальне сховище даних безпосередньо на розділах твердого диска, а на твердому диску розмір фізичних секторів дорівнює 512 байтам.

note: type: =item
en: * 4 Kbytes
uk: * 4 кілобайтів

note: type: textblock
en: for local storage on new hard drives with 4Kbyte physical sectors; for file-backed storage on filesystems with 4Kbyte block size; or for some types of network-attached storage.
uk: для локальних сховищ даних на нових твердих дисках із фізичними секторами у 4 кілобайти; для файлових сховищ даних на файлових системах із розміром блоку у 4 кілобайти; або для деяких типів мережевих сховищ даних.

note: type: =item
en: * 64 Kbytes
uk: * 64 кілобайтів

note: type: textblock
en: for high-end network-attached storage.  This is the optimal block size for some NetApp hardware.
uk: для висококласних сховищ даних, з’єднаних із мережею. Оптимальний розмір блоку для апаратного забезпечення NetApp.

note: type: =item
en: * 1 Mbyte
uk: * 1 мегабайт

note: type: textblock
en: see L</1 MB PARTITION ALIGNMENT> below.
uk: див. L</ВИРІВНЮВАННЯ РОЗДІЛІВ НА ПОЗНАЧКИ 1 МБ> нижче.

note: type: textblock
en: Partitions which are not aligned correctly to the underlying storage cause extra I/O.  For example:
uk: Розділи, які не вирівняно належним чином щодо основного сховища даних, можуть спричиняти зайві помилки введення-виведення. Приклад:

note: type: verbatim
en:                        sect#63
                           ┌──────────────────────────┬ ─ ─ ─ ─
                           │         guest            │
                           │    filesystem block      │
      ─ ┬──────────────────┴──────┬───────────────────┴─────┬ ─ ─
        │  host block             │  host block             │
        │                         │                         │
      ─ ┴─────────────────────────┴─────────────────────────┴ ─ ─
uk:                        розділ#63
                           ┌──────────────────────────┬ ─ ─ ─ ─
                           │         блок             │
                           │гостьової файлової системи│
      ─ ┬──────────────────┴──────┬───────────────────┴─────┬ ─ ─
        │  блок основної системи  │  блок основної системи  │
        │                         │                         │
      ─ ┴─────────────────────────┴─────────────────────────┴ ─ ─

note: type: textblock
en: In this example, each time a 4K guest block is read, two blocks on the host must be accessed (so twice as much I/O is done).  When a 4K guest block is written, two host blocks must first be read, the old and new data combined, and the two blocks written back (4x I/O).
uk: У цьому прикладі під час кожного читання блоку у 4 кілобайти гостьової системи має бути отримати доступ до двох блоків основної системи (отже, здійснено удвічі більший обмін даними введення-виведення). Якщо у гостьовій системі записується блок у 4 кілобайти, у основній системі має бути прочитано два блоки, старі і нові дані має бути поєднано, і має бути записано назад два блоки (учетверо більший обмін даними введення-виведення).

note: type: =head2
en: LINUX HOST BLOCK AND I/O SIZE
uk: БЛОК ОСНОВНОЇ СИСТЕМИ LINUX І РОЗМІР ВВЕДЕННЯ-ВИВЕДЕННЯ

note: type: textblock
en: New versions of the Linux kernel expose the physical and logical block size, and minimum and recommended I/O size.
uk: У нових версіях ядра Linux можна регулювати розміри фізичних і логічних блоків, а також мінімальний і рекомендований розмір блоку введення-виведення.

note: type: textblock
en: For a typical consumer hard drive with 512 byte sectors:
uk: Для типового жорсткого диска з 512-байтовими секторами:

note: type: textblock
en: For a new consumer hard drive with 4Kbyte sectors:
uk: Для нових звичайних жорстких дисків з секторами у 4 кБ:

note: type: textblock
en: For a NetApp LUN:
uk: Для NetApp LUN:

note: type: textblock
en: The NetApp allows 512 byte accesses (but they will be very inefficient), prefers a minimum 4K I/O size, but the optimal I/O size is 64K.
uk: NetApp дозволяє доступ до блоків у 512 байтів (хоча такий доступ буде дуже неефективним), надає перевагу мінімальному блоку введення-виведення у 4 кБ, але оптимальним розміром блоку введення-виведення є 64 кБ.

note: type: textblock
en: For detailed information about what these numbers mean, see L<http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newstorage-iolimits.html>
uk: Щоб дізнатися більше про призначення цих чисел, ознайомтеся зі сторінкою L<http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newstorage-iolimits.html>

note: type: textblock
en: [Thanks to Matt Booth for providing 4K drive data.  Thanks to Mike Snitzer for providing NetApp data and additional information.]
uk: [Дякуємо Matt Booth за надання даних щодо дисків з блоками у 4 кБ. Дякуємо Mike Snitzer за надання даних щодо NetApp та додаткову інформацію.]

note: type: =head2
en: 1 MB PARTITION ALIGNMENT
uk: ВИРІВНЮВАННЯ РОЗДІЛІВ НА ПОЗНАЧКИ 1 МБ

note: type: textblock
en: Microsoft picked 1 MB as the default alignment for all partitions starting with Windows 2008 Server, and Linux has followed this.
uk: Microsoft вибрано 1 МБ як типове вирівнювання для усіх розділів, починаючи з Windows 2008 Server. У Linux також почали використовувати таке вирівнювання.

note: type: textblock
en: Assuming 512 byte sectors in the guest, you will now see the first partition starting at sector 2048, and subsequent partitions (if any)  will start at a multiple of 2048 sectors.
uk: Припускаючи у гостьовій системі сектори у 512 байтів, маємо перший розділ, що починається з сектора 2048 і наступні розділи (якщо такі є) будуть починатися з сектора, номер якого кратний до 2048.

note: type: textblock
en: 1 MB alignment is compatible with all current alignment requirements (4K, 64K) and provides room for future growth in physical block sizes.
uk: Вирівнювання за 1 МБ є сумісним із усіма поточними варіантами вирівнювання (4 кБ, 64 кБ) і надає простір для подальшого зростання розмірів фізичних блоків.

note: type: =head2
en: SETTING ALIGNMENT
uk: ВСТАНОВЛЕННЯ ВИРІВНЮВАННЯ

note: type: textblock
en: L<virt-resize(1)> can change the alignment of the partitions of some guests.  Currently it can fully align all the partitions of all Windows guests, and it will fix the bootloader where necessary.  For Linux guests, it can align the second and subsequent partitions, so the majority of OS accesses except at boot will be aligned.
uk: L<virt-resize(1)> може змінювати вирівнювання розділів деяких гостьових систем. У поточній версії програма здатна повністю вирівняти усі розділи усіх гостьових систем Windows і виправити завантажувач, де це потрібно. Для гостьових систем Linux програма може вирівняти другий і наступні розділи, щоб більшість доступів операційної системи, окрім часу завантаження, було вирівняно належним чином.

note: type: textblock
en: Another way to correct partition alignment problems is to reinstall your guest operating systems.  If you install operating systems from templates, ensure these have correct partition alignment too.
uk: Іншим способом виправлення проблем, пов’язаних із вирівнюванням розділів, є перевстановлення ваших гостьових операційних систем. Якщо ви встановлюєте операційні системи з шаблонів, вам також варто переконатися, що із вирівнюванням розділів усе гаразд.

note: type: textblock
en: For older versions of Windows, the following NetApp document contains useful information: L<http://media.netapp.com/documents/tr-3747.pdf>
uk: Для старіших версій Windows корисні відомості можна знайти у цьому документі NetApp: L<http://media.netapp.com/documents/tr-3747.pdf>

note: type: textblock
en: For Red Hat Enterprise Linux E<le> 5, use a Kickstart script that contains an explicit C<%pre> section that creates aligned partitions using L<parted(8)>.  Do not use the Kickstart C<part> command.  The NetApp document above contains an example.
uk: Для Red Hat Enterprise Linux E<le> 5 слід використовувати скрипт Kickstart, який містить явний розділ C<%pre> для створення вирівняних розділів диска за допомогою L<parted(8)>. Не використовуйте команду Kickstart C<part>. У наведеному вище документі NetApp міститься приклад.

note: type: =head1
en: EXIT STATUS
uk: СТАН ВИХОДУ

note: type: textblock
en: This program returns:
uk: Ця програма повертає:

note: type: textblock
en: successful exit, all partitions are aligned E<ge> 64K for best performance
uk: успішне завершення, всі розділи вирівняно на E<ge> 64 кБ для отримання найкращої швидкодії

note: type: textblock
en: an error scanning the disk image or guest
uk: під час сканування образу диска або гостьової системи сталася помилка

note: type: textblock
en: successful exit, some partitions have alignment E<lt> 64K which can result in poor performance on high end network storage
uk: успішне завершення роботи, деякі розділи може бути вирівняно на E<lt> 64 кБ, що може призвести до погіршення швидкодії на високошвидкісних мережевих сховищах

note: type: textblock
en: successful exit, some partitions have alignment E<lt> 4K which can result in poor performance on most hypervisors
uk: успішне завершення роботи, деякі розділи може бути вирівняно на E<lt> 4 кБ, що може призвести до погіршення швидкодії у більшості гіпервізорів

note: type: =head1
en: SEE ALSO
uk: ТАКОЖ ПЕРЕГЛЯНЬТЕ

note: type: =head1
en: AUTHOR
uk: АВТОР

note: type: =head1
en: COPYRIGHT
uk: АВТОРСЬКІ ПРАВА

note: type: textblock
en: Copyright (C) 2011 Red Hat Inc.
uk: © Red Hat Inc., 2011

note: type: textblock
en: libguestfs-make-fixed-appliance - Make a "fixed appliance" for libguestfs
uk: libguestfs-make-fixed-appliance - створити базову систему для libguestfs

note: type: verbatim
en:  libguestfs-make-fixed-appliance [--options] OUTPUTDIR
uk:  libguestfs-make-fixed-appliance [--параметри] КАТАЛОГ_ВИВЕДЕННЯ

note: type: verbatim
en:  libguestfs-make-fixed-appliance [--options] --xz
uk:  libguestfs-make-fixed-appliance [--параметри] --xz

note: type: textblock
en: libguestfs-make-fixed-appliance lets you make a pre-built binary appliance for libguestfs.
uk: libguestfs-make-fixed-appliance надає вам змогу створити попередньо зібрану бінарну базову систему для libguestfs.

note: type: textblock
en: B<Note that ordinary users should not need to run this tool>.
uk: B<Зауважте, що у звичайних користувачів не повинно виникнути потреби у запуску цієї програми>.

note: type: textblock
en: Some reasons why you I<might> want to use this include:
uk: Декілька причин, з яких у вас I<може> виникнути потребу у використанні цього інструмента:

note: type: textblock
en: You want to make a self-contained libguestfs appliance that can be copied to another machine or platform that doesn't support L<supermin(1)>.
uk: Ви хочете створити самодостатню базову систему libguestfs, яку можна скопіювати на інший комп'ютер або платформу, де не передбачено підтримки L<supermin(1)>.

note: type: textblock
en: You have multiple users on the same machine and want to avoid the storage duplication and start-up overhead of having multiple cached copies of the appliance.
uk: На вашому комп'ютері декілька користувачів і ви хочете уникнути дублювання сховища даних або додаткової затримки через наявність декількох кешованих копій базової системи.

note: type: textblock
en: You want to have very predictable performance from libguestfs (see L<guestfs-performance(1)>).
uk: Вам потрібна дуже передбачувана щодо швидкодії система з libguestfs (див. L<guestfs-performance(1)>).

note: type: textblock
en: For deeper understanding of why you might need this tool, read L<guestfs-internals(1)/FIXED APPLIANCE>.
uk: Щоб краще зрозуміти потребу у цьому інструменті, ознайомтеся із розділом L<guestfs-internals(1)/БАЗОВА СИСТЕМА>.

note: type: textblock
en: Instead of running this tool, you can download fixed appliances from L<http://libguestfs.org/download/binaries/appliance/>.  These appliances were made using this tool.
uk: Замість використання цього інструмента, ви можете отримати базові системи зі сторінки  L<http://libguestfs.org/download/binaries/appliance/>.  Ці базові системи було створено за допомогою цього інструмента.

note: type: textblock
en: There are two ways to use this tool.
uk: Передбачено два способи використання цього інструмента.

note: type: textblock
en: Specify an output directory, for example:
uk: Вказати каталог виведення даних, приклад:

note: type: textblock
en: The output directory is created if it does not exist.  Four files are created in this directory:
uk: Якщо каталогу виведення даних ще не існує, його буде створено. У цьому каталозі буде створено чотири файли:

note: type: textblock
en: Note that C<I<OUTPUTDIR>/root> is a sparse file, so take care when copying it.
uk: Зауважте, що C<I<КАТАЛОГ_ВИВЕДЕННЯ>/root> є розрідженим файлом, отже, слід бути обережним з його копіюванням.

note: type: textblock
en: You can then run libguestfs (possibly after copying this directory to another machine) by setting the environment variable LIBGUESTFS_PATH to C<OUTPUTDIR>.
uk: Після цього ви зможете запускати libguestfs (можливо, після копіювання цього каталогу на інший комп'ютер) після встановлення для змінної середовища LIBGUESTFS_PATH значення C<КАТАЛОГ_ВИВЕДЕННЯ>.

note: type: textblock
en: The alternative method is to use the I<--xz> option to create a compressed tarball:
uk: Альтернативним підходом є використання параметра I<--xz> для створення стисненого архіву:

note: type: textblock
en: This creates a tarball in the I<current> directory called:
uk: Буде створено архів у I<поточному> каталозі з назвою:

note: type: verbatim
en:  appliance-<VERSION>.tar.xz
uk:  appliance-<ВЕРСІЯ>.tar.xz

note: type: textblock
en: (where C<VERSION> is the version of libguestfs).  The tarball contains the four files:
uk: (де C<ВЕРСІЯ> — версія libguestfs). У архіві міститься чотири файла:

note: type: textblock
en: Note that C<appliance/root> is a sparse file, so take care when copying it.
uk: Зауважте, що C<appliance/root> є розрідженим файлом, тому слід бути обережним під час його копіювання.

note: type: textblock
en: Display short usage information and exit.
uk: Показати коротку довідку з користування і завершити роботу.

note: type: textblock
en: Display the version number and exit.
uk: Показати дані щодо версії і завершити роботу.

note: type: textblock
en: Instead of creating the appliance in an output directory, create a compressed tarball of the appliance in the current directory called F<appliance-I<VERSION>.tar.xz> where C<VERSION> is the version of libguestfs.
uk: Замість створення базової системи у каталозі виведення результатів, створити стиснений архів базової системи у поточному каталозі із назвою F<appliance-I<ВЕРСІЯ>.tar.xz>, де C<ВЕРСІЯ> — це версія libguestfs.

note: type: textblock
en: Using I<--xz> can take some time.  If working normally, the tool is completely silent when it is running.
uk: Використання I<--xz> може потребувати додаткового часу. Якщо все буде нормально, інструмент спрацює без будь-яких додаткових повідомлень.

note: type: =head1
en: LICENSING
uk: УМОВИ ЛІЦЕНЗУВАННЯ

note: type: textblock
en: The fixed appliance is a complete Linux binary distro.  If you distribute it, you may need to distribute corresponding source files to remain in legal compliance with the licenses of the software in the appliance (such as the GNU General Public License).
uk: Базова система є повним бінарним дистрибутивом Linux. Якщо ви поширюватимете його, можливо, вам доведеться поширювати також відповідні файли з початковим кодом, щоб зберегти сумісність із умовами ліцензування програмного забезпечення у базовій системі (зокрема GNU General Public License).

note: type: textblock
en: libguestfs-make-fixed-appliance returns I<0> if the appliance was built without errors.
uk: libguestfs-make-fixed-appliance повертає I<0>, якщо базову систему було зібрано без помилок.

note: type: =head1
en: ENVIRONMENT VARIABLES
uk: ЗМІННІ СЕРЕДОВИЩА

note: type: textblock
en: For the full list of environment variables which may affect libguestfs, please see the L<guestfs(3)> manual page.
uk: Повний список змінних середовища, які можуть вплинути на роботу libguestfs, можна знайти на сторінці підручника L<guestfs(3)>.

note: type: =head1
en: AUTHORS
uk: АВТОРИ

note: type: textblock
en: Copyright (C) 2009-2020 Red Hat Inc.
uk: © Red Hat Inc., 2009–2020

note: type: textblock
en: virt-builder-repository - Build virt-builder source repository easily
uk: virt-builder-repository — засіб для полегшення побудови сховищ початкових даних virt-builder

note: type: verbatim
en:  virt-builder-repository /path/to/repository
        [-i|--interactive] [--gpg-key KEYID]
uk:  virt-builder-repository /шлях/до/сховища
        [-i|--interactive] [--gpg-key ІДЕНТИФІКАТОР_КЛЮЧА]

note: type: textblock
en: Virt-builder is a tool for quickly building new virtual machines. It can be configured to use template repositories. However creating and maintaining a repository involves many tasks which can be automated.  virt-builder-repository is a tool helping to manage these repositories.
uk: Virt-builder — засіб для швидкої побудови нових віртуальних машин. Його можна налаштувати на використання сховищ шаблонів. Втім, створення і супровід сховища включає багато завдань, які можна автоматизувати. virt-builder-repository — саме той інструмент, який допоможе вам у керуванні такими сховищами.

note: type: textblock
en: Virt-builder-repository loops over the files in the directory specified as argument, compresses the files with a name ending by C<qcow2>, C<raw>, C<img> or without extension, extracts data from them and creates or updates the C<index> file.
uk: Virt-builder-repository циклічно обробляє файли у каталозі, вказаному за допомогою аргументу команди, стискає файли із назвою, яка завершується суфіксом C<qcow2>, C<raw>, C<img>, або файли без суфікса назви, видобуває дані з цих файлів і створює або оновлює файл C<index> (покажчик).

note: type: textblock
en: Some of the image-related data needed for the index file can’t be computed from the image file. virt-builder-repository first tries to find them in the existing index file. If data are still missing after this, they are prompted in interactive mode, otherwise an error will be triggered.
uk: Деякі з потрібних для побудови файла покажчика даних, пов'язаних із образом, не можна визначати на основі файла образу. virt-builder-repository спочатку намагається знайти ці дані у наявному файлі покажчика. Якщо після цієї спроби буде виявлено нестачу певних даних, програма попросить користувача вказати їх у інтерактивному режимі. Якщо ж отримати ці дані не вдасться, буде показано повідомлення про помилку.

note: type: textblock
en: If a C<KEYID> is provided, the generated index file will be signed with this GPG key.
uk: Якщо вказано C<ІДЕНТИФІКАТОР_КЛЮЧА>, створений файл покажчика буде підписано цим ключем GPG.

note: type: =head1
en: EXAMPLES
uk: ПРИКЛАДИ

note: type: =head2
en: Create the initial repository
uk: Створення початкового сховища

note: type: textblock
en: Create a folder and copy the disk image template files in it. Then run a command like the following one:
uk: Створіть теку і скопіюйте до неї файли шаблонів образів дисків. Дані віддайте команду, подібну до такої:

note: type: verbatim
en:  virt-builder-repository --gpg-key "joe@hacker.org" -i /path/to/folder
uk:  virt-builder-repository --gpg-key "joe@hacker.org" -i /шлях/до/теки

note: type: textblock
en: Note that this example command runs in interactive mode. To run in automated mode, a minimal index file needs to be created before running the command containing sections like this one:
uk: Зауважте, що вказана у нашому прикладі команда працюватиме у інтерактивному режимі. Щоб її було виконано у автоматизованому режимі, слід створити перед відданням команди мінімальний файл покажчика, який міститиме розділи, подібні до такого:

note: type: verbatim
en:  [template_id]
     file=template_filename.qcow.xz
uk:  [ідентифікатор_шаблона]
     file=назва_файла_шаблона.qcow.xz

note: type: textblock
en: The file value needs to match the image name extended with the C<.xz> suffix if the I<--no-compression> parameter is not provided or the image name if no compression is involved. Other optional data can be prefilled. Default values are computed by inspecting the disk image.  For more informations, see L<virt-builder(1)/Creating and signing the index file>.
uk: Значення file має збігатися із назвою образу із додаванням суфікса C<.xz>, якщо не вказано параметра I<--no-compression>, або назвою образу, якщо стискання не використовується. Можна попередньо вказати інші необов'язкові дані. Типові значення буде визначено шляхом аналізу образу диска. Щоб дізнатися більше, ознайомтеся із розділом L<virt-builder(1)/Створення і підписування файла покажчика>.

note: type: =head2
en: Update images in an existing repository
uk: Оновлення образів у наявному сховищі

note: type: textblock
en: In this use case, a new image or a new revision of an existing image needs to be added to the repository. Place the corresponding image template files in the repository folder.
uk: У цьому випадку до сховища слід додати новий образ або нову модифікацію наявного образу. Розташуйте відповідні файли шаблонів образів у теці сховища.

note: type: textblock
en: To update the revision of an image, the file needs to have the same name than the existing one (without the C<xz> extension).
uk: Щоб оновити модифікацію образу, файл повинен мати таку саму назву, що і наявний (без суфікса назви C<xz>).

note: type: textblock
en: As in the repository creation use case, a minimal fragment can be added to the index file for the automated mode. This can be done on the signed index even if it may sound a strange idea: the index will be signed again by the tool.
uk: Як і у випадку створення сховища, для автоматизації процесу до файла покажчика можна додати мінімальний фрагмент. Зробити це можна для підписаного покажчика, хоча це і може видатися доволі дивною ідеєю, — файл буде знову підписано самою програмою.

note: type: textblock
en: To remove an image from the repository, just remove the corresponding image file before running virt-builder-repository.
uk: Щоб вилучити файл образу зі сховища, просто вилучіть відповідний файл образу до запуску virt-builder-repository.

note: type: textblock
en: Then running the following command will complete and update the index file:
uk: Далі віддайте таку команду, щоб доповнити і оновити файл покажчика:

note: type: textblock
en: virt-builder-repository works in a temporary folder inside the repository one. If anything wrong happens when running the tool, the repository is left untouched.
uk: virt-builder-repository працює у тимчасовій теці у теці сховища. Якщо під час роботи програми трапиться якась прикра несподіванка, сховище лишиться незміненим.

note: type: textblock
en: Display help.
uk: Показати довідкове повідомлення.

note: type: textblock
en: Specify an alternate L<gpg(1)> (GNU Privacy Guard) binary.  You can also use this to add gpg parameters, for example to specify an alternate home directory:
uk: Вказати альтернативний виконуваний файл L<gpg(1)> (GNU Privacy Guard). Ви можете скористатися цим параметром для додавання параметрів до основної програми gpg, наприклад, для визначення альтернативного домашнього каталогу:

note: type: textblock
en: This can also be used to avoid gpg asking for the key passphrase:
uk: Цим також можна скористатися, щоб засоби gpg не просили ввести пароль до ключа:

note: type: =item
en: B<-K> KEYID
uk: B<-K> ІДЕНТИФІКАТОР_КЛЮЧА

note: type: =item
en: B<--gpg-key> KEYID
uk: B<--gpg-key> ІДЕНТИФІКАТОР_КЛЮЧА

note: type: textblock
en: Specify the GPG key to be used to sign the repository index file.  If not provided, the index will left unsigned. C<KEYID> is used to identify the GPG key to use. This value is passed to gpg’s I<--default-key> option and can thus be an email address or a fingerprint.
uk: Вказати ключ GPG, який буде використано для підписування файла покажчика сховища. Якщо ключ не вказано, файл покажчика підписано не буде. C<ІДЕНТИФІКАТОР_КЛЮЧА> використовується для визначення ключа GPG, яким слід скористатися. Це значення передається до параметра I<--default-key> gpg, а отже може бути адресою електронної пошти або відбитком.

note: type: textblock
en: B<NOTE>: by default, virt-builder-repository searches for the key in the user’s GPG keyring.
uk: B<ЗАУВАЖЕННЯ>: типово, virt-builder-repository виконує пошук ключа у сховищі ключів GPG користувача.

note: type: textblock
en: Prompt for missing data. Default values are computed from the disk image.
uk: Надсилати запит щодо даних, яких не вистачатиме. Типові значення визначатимуться за образом диска.

note: type: textblock
en: When prompted for data, inputting C<-> corresponds to leaving the value empty. This can be used to avoid setting the default computed value.
uk: У запитах щодо даних введення C<-> відповідає порожньому значенню. Цим можна скористатися, щоб уникнути встановлення автоматично визначеного значення.

note: type: textblock
en: Don’t compress the template images.
uk: Не стискати образи шаблонів.

note: type: =item
en: B<--machine-readable>=format
uk: B<--machine-readable>=формат

note: type: textblock
en: This option is used to make the output more machine friendly when being parsed by other programs.  See L</MACHINE READABLE OUTPUT> below.
uk: За допомогою цього параметра можна зробити виведені дані придатнішими для обробки комп'ютером, якщо для цієї обробки використовуються інші програми. Див. L</ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ> нижче.

note: type: textblock
en: Use ANSI colour sequences to colourize messages.  This is the default when the output is a tty.  If the output of the program is redirected to a file, ANSI colour sequences are disabled unless you use this option.
uk: Використовувати послідовності символів ANSI для розфарбовування повідомлень. Ці послідовності типово використовуються, якщо дані виводяться на термінал tty.  Якщо дані, виведені програмою, спрямовуються до файла, послідовності визначення кольорів ANSI буде вимкнено, якщо ви не додасте до команди цей параметр.

note: type: textblock
en: Don’t print ordinary progress messages.
uk: Не виводити звичайних повідомлень щодо поступу.

note: type: textblock
en: Enable debug messages and/or produce verbose output.
uk: Увімкнути діагностичні повідомлення і/або режим докладних повідомлень.

note: type: textblock
en: When reporting bugs, use this option and attach the complete output to your bug report.
uk: Коли повідомлятимете про вади, скористайтеся цим параметром і долучіть усі виведені дані до звіту щодо вади.

note: type: =head1
en: MACHINE READABLE OUTPUT
uk: ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-builder-repository from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-builder-repository з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: Use the option on its own to query the capabilities of the virt-builder-repository binary.  Typical output looks like this:
uk: Скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-builder-repository.  Типово виведені дані виглядатимуть якось так:

note: type: textblock
en: A list of features is printed, one per line, and the program exits with status 0.
uk: Виводиться список можливостей, по одній на рядок, і програма завершує роботу зі станом 0.

note: type: textblock
en: It is possible to specify a format string for controlling the output; see L<guestfs(3)/ADVANCED MACHINE READABLE OUTPUT>.
uk: Можна вказати рядок форматування для керування виведенням, див. L<guestfs(3)/РОЗШИРЕНЕ ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ>.

note: type: textblock
en: This program returns 0 if successful, or non-zero if there was an error.
uk: Ця програма повертає значення 0 у разі успішного завершення і ненульове значення, якщо сталася помилка.

note: type: textblock
en: Copyright (C) 2016-2020 SUSE Inc.
uk: Авторські права належать SUSE Inc., 2016-2020

note: type: textblock
en: virt-builder - Build virtual machine images quickly
uk: virt-builder — засіб швидкої побудови образів для віртуальної машини

note: type: verbatim
en:  virt-builder os-version
        [-o|--output DISKIMAGE] [--size SIZE] [--format raw|qcow2]
        [--arch ARCHITECTURE] [--attach ISOFILE]
    __CUSTOMIZE_SYNOPSIS__
uk:  virt-builder версія-ОС
        [-o|--output ОБРАЗ ДИСКА] [--size РОЗМІР] [--format raw|qcow2]
        [--arch АРХІТЕКТУРА] [--attach ФАЙЛ ISO]
    __CUSTOMIZE_SYNOPSIS__

note: type: verbatim
en:  virt-builder -l|--list [--long] [--list-format short|long|json] [os-version]
uk:  virt-builder -l|--list [--long] [--list-format short|long|json]

note: type: verbatim
en:  virt-builder --notes os-version
uk:  virt-builder --notes версія-ОС

note: type: verbatim
en:  virt-builder --get-kernel DISKIMAGE
        [--format raw|qcow2] [--output OUTPUTDIR]
uk:  virt-builder --get-kernel ОБРАЗДИСКА
        [--format raw|qcow2] [--output КАТАЛОГВИВЕДЕННЯ]

note: type: textblock
en: Virt-builder is a tool for quickly building new virtual machines.  You can build a variety of VMs for local or cloud use, usually within a few minutes or less.  Virt-builder also has many ways to customize these VMs.  Everything is run from the command line and nothing requires root privileges, so automation and scripting is simple.
uk: Virt-builder — інструмент для швидкого збирання нових віртуальних машин. За його допомогою ви зможете зібрати цілий спектр віртуальних машин для локального використання або використання у «хмарі». Зазвичай, для цього достатньо декількох хвилин.  Крім того, у virt-builder передбачено багато способів налаштовування зібраних віртуальних машин. Усі команди віддаються за допомогою командного рядка. Для роботи програми не потрібні права доступу адміністратора системи, тому збирання нових віртуальних машин просто автоматизувати або керувати ним за допомогою скриптів.

note: type: textblock
en: Note that virt-builder does not install guests from scratch.  It takes cleanly prepared, digitally signed OS templates and customizes them.  This approach is used because it is much faster, but if you need to do fresh installs you may want to look at L<virt-install(1)> and L<oz-install(1)>.
uk: Зауважте, що virt-builder не встановлює гостьові системи «з нуля». Програма використовує ретельного приготовані, підписані цифровими підписами шаблони операційних систем і налаштовує їх. Такий підхід використано, оскільки він є набагато швидшим за інші. Втім, якщо потрібно встановити систему «з нуля», ви можете скористатися L<virt-install(1)> та L<oz-install(1)>.

note: type: textblock
en: The easiest way to get started is by looking at the examples in the next section.
uk: Найпростіше буде розпочати з прикладів з наступного розділу.

note: type: =head2
en: List the virtual machines available
uk: Показ списку доступних віртуальних машин

note: type: textblock
en: will list out the operating systems available to install.  A selection of freely redistributable OSes is available as standard.  You can add your own too (see below).
uk: покаже список доступних до встановлення операційних систем. Типово, доступний набір операційних систем із вільним поширенням. Ви також можете додати свою операційну систему (див. нижче).

note: type: textblock
en: After choosing a guest from the list, you may want to see if there are any installation notes:
uk: Після вибору гостьової системи зі списку може виникнути потреба у ознайомленні із нотатками щодо встановлення:

note: type: =head2
en: Build a virtual machine
uk: Побудова віртуальної машини

note: type: textblock
en: will build a Fedora 25 image for the same architecture as virt-builder (so running it from an i686 installation will try to build an i686 image, if available).  This will have all default configuration (minimal size, no user accounts, random root password, only the bare minimum installed software, etc.).
uk: збере образ Fedora 25 для тієї самої архітектури, що і virt-builder (отже виконання команди у системі архітектури i686 призведе до спроби збирання образу i686, якщо це можливо). Образ матиме типові налаштування (мінімальний розмір, без облікових записів користувачів, випадковий пароль root, лише базовий мінімальний набір встановлених програм тощо).

note: type: textblock
en: You I<do not> need to run this command as root.
uk: Потреби у запуску цієї програми від імені root I<немає>.

note: type: textblock
en: The first time this runs it has to download the template over the network, but this gets cached (see L</CACHING>).
uk: Першого разу доведеться отримати шаблон мережею, а наступні операції може бути кешовано (див. L</КЕШУВАННЯ>).

note: type: textblock
en: The name of the output file is derived from the template name, so above it will be F<fedora-27.img>.  You can change the output filename using the I<-o> option:
uk: Назву файла результатів буде визначено на основі назви шаблона, отже для наведеного вище прикладу буде F<fedora-27.img>.  Змінити назву файла результатів можна за допомогою параметра I<-o>:

note: type: textblock
en: You can also use the I<-o> option to write to existing devices or logical volumes.
uk: Ви також можете скористатися параметром I<-o> для запису на наявні пристрої або логічні томи.

note: type: textblock
en: As above, but write the output in qcow2 format to F<fedora-27.qcow2>.
uk: Те саме, що і вище, але виведені дані буде записано у форматі qcow2 до F<fedora-27.qcow2>.

note: type: textblock
en: As above, but the output size will be 20 GB.  The guest OS is resized as it is copied to the output (automatically, using L<virt-resize(1)>).
uk: Як і вище, але обсяг виведених даних дорівнюватиме 20 ГБ. Розмір гостьової операційної системи буде змінено так, наче її скопійовано до виведених даних (автоматично, за допомогою L<virt-resize(1)>).

note: type: textblock
en: As above, but using an i686 template, if available.
uk: Те саме, що і вище, але з використанням шаблона i686, якщо він доступний.

note: type: =head2
en: Setting the root password
uk: Встановлення пароля root

note: type: textblock
en: Create a Fedora 25 image.  The root password is taken from the file F</tmp/rootpw>.
uk: Створити образ Fedora 25. Пароль користувача root буде запозичено з файла F</tmp/rootpw>.

note: type: textblock
en: Note if you I<don’t> set I<--root-password> then the guest is given a I<random> root password which is printed on stdout.
uk: Зауважте, що якщо ви I<не встановите> I<--root-password>, гостьовій системі буде надано I<випадковий> пароль адміністратора root, який буде виведено до стандартного виведення.

note: type: textblock
en: You can also create user accounts.  See L</USERS AND PASSWORDS> below.
uk: Крім того, ви можете створювати облікові записи користувачів. Див. L</КОРИСТУВАЧІ І ПАРОЛІ> нижче.

note: type: =head2
en: Set the hostname
uk: Встановити назву вузла

note: type: textblock
en: Set the hostname to C<virt.example.com>.
uk: Встановити назву вузла C<virt.example.com>.

note: type: =head2
en: Installing software
uk: Встановлення програмного забезпечення

note: type: textblock
en: To install packages from the ordinary (guest) software repository (eg. dnf or apt):
uk: Встановлення пакунків зі звичайного (гостьового) сховища (наприклад, за допомогою dnf або apt):

note: type: textblock
en: (In Fedora, C<@> is used to install groups of packages.  On Debian you would install a meta-package instead.)
uk: (У Fedora C<@> використовується для встановлення груп пакунків. У Debian вам доведеться встановлювати відповідний метапакунок.)

note: type: textblock
en: To update the installed packages to the latest version:
uk: Для оновлення встановлених пакунків до останньої версії виконайте такі дії:

note: type: textblock
en: For guests which use SELinux, like Fedora and Red Hat Enterprise Linux, you may need to do SELinux relabelling after installing or updating packages (see L</SELINUX> below):
uk: Для гостьових систем, де використовується SELinux, зокрема Fedora і Red Hat Enterprise Linux, може знадобитися зміна міток SELinux після встановлення або оновлення пакунків (див. L</SELINUX> нижче):

note: type: =head2
en: Customizing the installation
uk: Налаштовування встановленої системи

note: type: textblock
en: There are many options that let you customize the installation.  These include: I<--run>/I<--run-command>, which run a shell script or command while the disk image is being generated and lets you add or edit files that go into the disk image.  I<--firstboot>/I<--firstboot-command>, which let you add scripts/commands that are run the first time the guest boots.  I<--edit> to edit files.  I<--upload> to upload files.
uk: Передбачено багато параметрів, за допомогою яких ви можете налаштувати встановлення. Це зокрема параметр I<--run>/I<--run-command>, за допомогою якого можна виконати скрипт оболонки або команду під час створення образу диска і додати або змінити файли, які буде включено до образу диска. За допомогою параметра I<--firstboot>/I<--firstboot-command> можна додати скрипти або команди, які буде виконано під час першого завантаження гостьової системи. За допомогою параметра I<--edit> можна редагувати файли, а параметра I<--upload> — вивантажувати файли до образу.

note: type: textblock
en: or simply:
uk: або просто:

note: type: textblock
en: which makes the L<dnf(8)> C<update> command run once the first time the guest boots.
uk: у результаті команду L<dnf(8)> C<update> буде один раз виконано під час першого завантаження гостьової системи.

note: type: textblock
en: Or:
uk: або

note: type: textblock
en: which edits F</etc/dnf/dnf.conf> inside the disk image (during disk image creation, long before boot).
uk: буде змінено F</etc/dnf/dnf.conf> у образі диска (під час створення образу диска, задовго до завантаження).

note: type: textblock
en: You can combine these options, and have multiple options of all types.
uk: Ви можете поєднувати ці параметри і додавати декілька параметрів усіх типів.

note: type: =item
en: B<--arch> ARCHITECTURE
uk: B<--arch> АРХІТЕКТУРА

note: type: textblock
en: Use the specified architecture for the output image.  This means there must be sources providing the requested template for the requested architecture.
uk: Використовувати для образу-результату вказану архітектуру. Це означає, що мають бути початкові коди шаблона для вказаної архітектури.

note: type: textblock
en: See also L</ARCHITECTURE>.
uk: Див. також L</АРХІТЕКТУРА>.

note: type: =item
en: B<--attach> ISOFILE
uk: B<--attach> ФАЙЛ_ISO

note: type: textblock
en: During the customization phase, the given disk is attached to the libguestfs appliance.  This is used to provide extra software repositories or other data for customization.
uk: Під час етапу налаштовування вказаний диск долучається до базової системи libguestfs. Цей диск використовується для отримання даних додаткових сховищ програмного забезпечення або інших даних для створення нетипової системи.

note: type: textblock
en: You probably want to ensure the volume(s) or filesystems in the attached disks are labelled (or use an ISO volume name) so that you can mount them by label in your run-scripts:
uk: Ймовірно, вам варто додати мітки для долучених дисків (або скористатися назвою тому ISO), щоб надалі монтувати диски за міткою у ваших скриптах запуску:

note: type: textblock
en: You can have multiple I<--attach> options, and the format can be any disk format (not just an ISO).
uk: Параметр I<--attach> можна вказати декілька разів, а форматом може бути будь-який формат образу (не лише ISO).

note: type: textblock
en: See also: I<--run>, L</Installing packages at build time from a side repository>, L<genisoimage(1)>, L<virt-make-fs(1)>.
uk: Див. також I<--run>, L</Встановлення пакунків зі стороннього сховища під час збирання>, L<genisoimage(1)>, L<virt-make-fs(1)>.

note: type: =item
en: B<--attach-format> FORMAT
uk: B<--attach-format> ФОРМАТ

note: type: textblock
en: Specify the disk format for the next I<--attach> option.  The C<FORMAT> is usually C<raw> or C<qcow2>.  Use C<raw> for ISOs.
uk: Вказати формат диска для наступного параметра I<--attach>. Значенням аргументу C<ФОРМАТ> зазвичай є C<raw> або C<qcow2>.  Для образів ISO скористайтеся варіантом C<raw>.

note: type: =item
en: B<--cache> DIR
uk: B<--cache> КАТАЛОГ

note: type: textblock
en: I<--cache> DIR sets the directory to use/check for cached template files.  If not set, defaults to either F<$XDG_CACHE_HOME/virt-builder/> or F<$HOME/.cache/virt-builder/>.
uk: I<--cache> КАТАЛОГ встановлює каталог зберігання і пошуку файлів кешованих шаблонів. Якщо значення не встановлено, типовим значенням буде F<$XDG_CACHE_HOME/virt-builder/> або F<$HOME/.cache/virt-builder/>.

note: type: textblock
en: I<--no-cache> disables template caching.
uk: I<--no-cache> вимикає кешування шаблонів.

note: type: textblock
en: Download all templates to the cache and then exit.  See L</CACHING>.
uk: Отримати усі шаблони до кешу і завершити роботу. Див. L</КЕШУВАННЯ>.

note: type: textblock
en: Note this doesn't cache everything.  More templates might be uploaded.  Also this doesn't cache packages (the I<--install>, I<--update> options).
uk: Зауважте, що кешуються не усі дані. Можна вивантажити додаткові шаблони. Крім того, не кешуються пакунки (параметри I<--install>, I<--update>).

note: type: textblock
en: Check/don’t check the digital signature of the OS template.  The default is to check the signature and exit if it is not correct.  Using I<--no-check-signature> bypasses this check.
uk: Перевіряти чи не перевіряти цифровий підпис шаблону операційної системи. Типово, програма перевіряє підпис і завершує роботу, якщо підпис не збігається із еталонним. Обійти цю перевірку можна за допомогою параметра I<--no-check-signature>.

note: type: textblock
en: See also I<--fingerprint>.
uk: Див. також I<--fingerprint>.

note: type: textblock
en: Specify an alternate L<curl(1)> binary.  You can also use this to add curl parameters, for example to disable https certificate checks:
uk: Вказати альтернативний виконуваний файл L<curl(1)>. Ви також можете скористатися цим параметром для додавання параметрів curl, наприклад, щоб вимкнути перевірку сертифікатів https:

note: type: textblock
en: Delete the template cache.  See L</CACHING>.
uk: Вилучити кеш шаблонів. Див. L</КЕШУВАННЯ>.

note: type: textblock
en: Don’t delete the output file on failure to build.  You can use this to debug failures to run scripts.  See L</DEBUGGING BUILDS> for ways to debug images.
uk: Не вилучати файл виведених даних, якщо під час збирання станеться помилка. Даними з цього файла можна скористатися для діагностування причин помилки. Див. L</ДІАГНОСТИЧНІ ЗБІРКИ>, щоб дізнатися більше про діагностику образів.

note: type: textblock
en: The default is to delete the output file if virt-builder fails (or, for example, some script that it runs fails).
uk: Типовою є поведінка, коли файл результатів буде вилучено, якщо станеться помилка у virt-builder (або, наприклад, помилка у одному зі скриптів, які запускає ця програма).

note: type: textblock
en: Check that the index and templates are signed by the key with the given fingerprint.  (The fingerprint is a long string, usually written as 10 groups of 4 hexadecimal digits).
uk: Перевірка того, що покажчик та шаблони підписано ключем із вказаним відбитком (Відбитком, зазвичай, є доволі довгий рядок, що складається з 10 груп 4 шістнадцяткових цифр).

note: type: textblock
en: You can give this option multiple times.  If you have multiple source URLs, then you can have either no fingerprint, one fingerprint or multiple fingerprints.  If you have multiple, then each must correspond 1-1 with a source URL.
uk: Ви можете скористатися цим параметром декілька разів. Якщо у вас декілька адрес початкового коду, у вас або не буде відбитка, або буде один відбиток або буде декілька відбитків. Якщо відбитків декілька, вам слід вказати для кожного адресу початкового коду.

note: type: textblock
en: For ordinary builds, this selects the output format.  The default is I<raw>.
uk: Для звичайних процедур збирання визначає формат виведення даних. Типовим значенням є I<raw>.

note: type: textblock
en: With I<--get-kernel> this specifies the input format.
uk: З I<--get-kernel> визначає формат вхідних даних.

note: type: textblock
en: To create an old-style qcow2 file (for compatibility with RHEL 6 or very old qemu E<lt> 1.1), after running virt-builder, use this command:
uk: Для створення файла qcow2 у застарілому стилі (для сумісності з RHEL 6 або дуже старим qemu E<lt> 1.1) після виконання програми virt-builder скористайтеся такою командою:

note: type: =item
en: B<--get-kernel> IMAGE
uk: B<--get-kernel> ОБРАЗ

note: type: textblock
en: This option extracts the kernel and initramfs from a previously built disk image called C<IMAGE> (in fact it works for any VM disk image, not just ones built using virt-builder).
uk: За допомогою цього параметра можна видобути ядро і initramfs з раніше зібраного образу диска із назвою C<ОБРАЗ> (фактично, це працює для будь-якого образу диска віртуальної машини, не лише для образів, які зібрано за допомогою virt-builder).

note: type: textblock
en: Note this method is B<deprecated>: there is a separate tool for this, L<virt-get-kernel(1)>, which has more options for the file extraction.
uk: Зауважте, що цей метод є B<застарілим>: для виконання цього завдання є окрема програма, L<virt-get-kernel(1)>, у якій передбачено більше варіантів видобування файлів.

note: type: textblock
en: The kernel and initramfs are written to the current directory, unless you also specify the I<--output> C<outputdir> B<directory> name.
uk: Ядро і initramfs буде записано до поточного каталогу, якщо ви не вкажете додатково назву каталогу результатів за допомогою параметра I<--output> C<каталог результатівr>.

note: type: textblock
en: The format of the disk image is automatically detected unless you specify it by using the I<--format> option.
uk: Формат образу диска буде визначено автоматично, якщо ви не вкажете його за допомогою параметра I<--format>.

note: type: textblock
en: In the case where the guest contains multiple kernels, the one with the highest version number is chosen.  To extract arbitrary kernels from the disk image, see L<guestfish(1)>.  To extract the entire F</boot> directory of a guest, see L<virt-copy-out(1)>.
uk: Якщо у гостьовій системі декілька ядер, буде вибрано ядро із найбільшим номером. Щоб видобути із образу диска ядро з певним номером версії, скористайтеся L<guestfish(1)>. Щоб видобути із гостьової системи увесь вміст каталогу F</boot>, скористайтеся L<virt-copy-out(1)>.

note: type: textblock
en: Specify an alternate L<gpg(1)> (GNU Privacy Guard) binary.  By default virt-builder looks for either C<gpg2> or C<gpg> in the C<$PATH>.
uk: Вказати альтернативний виконуваний файл L<gpg(1)> (GNU Privacy Guard). Типово, virt-builder шукає C<gpg2> або C<gpg> у каталогах, вказаних за допомогою змінної C<$PATH>.

note: type: textblock
en: You can also use this to add gpg parameters, for example to specify an alternate home directory:
uk: Ви можете скористатися цим параметром для додавання параметрів до основної програми gpg, наприклад, для визначення альтернативного домашнього каталогу:

note: type: =item
en: B<-l> [os-version]
uk: B<-l> [версія-ОС]

note: type: =item
en: B<--list> [os-version]
uk: B<--list> [версія-ОС]

note: type: =item
en: B<--list> B<--list-format> format [os-version]
uk: B<--list> B<--list-format> формат [версія ОС]

note: type: =item
en: B<--list> B<--long> [os-version]
uk: B<--list> B<--long> [версія ОС]

note: type: textblock
en: List all the available templates if no guest is specified, or only for the specified one.
uk: Вивести усі доступні шаблони, якщо не вказано гостьової системи, або вивести шаблони лише для вказаної гостьової системи.

note: type: textblock
en: It is possible to choose with I<--list-format> the output format for the list templates:
uk: Ви можете вибрати формат виведення за допомогою параметра I<--list-format> для шаблонів списку:

note: type: textblock
en: The default format, prints only the template identifier and, next to it, its short description.
uk: Типовий формат: виводиться лише ідентифікатор шаблона і, поряд з ним, його короткий опис.

note: type: textblock
en: Prints a textual list with the details of the available sources, followed by the details of the available templates.
uk: Виводить тестовий список із даними щодо доступних джерел і список даних щодо доступних шаблонів після нього.

note: type: textblock
en: Prints a JSON object with the details of the available sources and the details of the available templates.
uk: Вивести об’єкт JSON із подробицями щодо доступних джерел та подробиці щодо доступних шаблонів.

note: type: textblock
en: The C<version> key in the main object represents the "compatibility version", and it is bumped every time the resulting JSON output is incompatible with the previous versions (for example the structure has changed, or non-optional keys are no more present).
uk: Ключ C<version> у основному об'єкті визначає «версію сумісності», його значення слід збільшувати кожного разу, коли результат використання JSON ставатиме несумісним із попередніми версіями (наприклад, через зміну структури або прибирання основних ключів).

note: type: textblock
en: I<--long> is a shorthand for the C<long> format.
uk: I<--long> — скорочення для формату C<long>.

note: type: textblock
en: See also: I<--source>, I<--notes>, L</SOURCES OF TEMPLATES>.
uk: Див також: I<--source>, I<--notes>, L</ДЖЕРЕЛА ШАБЛОНІВ>.

note: type: =item
en: B<-m> MB
uk: B<-m> МБ

note: type: =item
en: B<--memsize> MB
uk: B<--memsize> МБ

note: type: textblock
en: Change the amount of memory allocated to I<--run> scripts.  Increase this if you find that I<--run> scripts or the I<--install> option are running out of memory.
uk: Зміна обсягу пам'яті, наданого скриптам I<--run>. Збільште це значення, якщо виявиться, що для використання скриптів I<--run> або параметра I<--install> не вистачає пам'яті.

note: type: textblock
en: The default can be found with this command:
uk: Типові значення можна визначити за допомогою такої команди:

note: type: textblock
en: Enable or disable network access from the guest during the installation.
uk: Увімкнути чи вимкнути доступ до мережі для гостьової системи під час встановлення.

note: type: textblock
en: Enabled is the default.  Use I<--no-network> to disable access.
uk: Типово увімкнено. Скористайтеся параметром I<--no-network>, щоб вимкнути доступ.

note: type: textblock
en: The network only allows outgoing connections and has other minor limitations.  See L<virt-rescue(1)/NETWORK>.
uk: У мережі працюватимуть лише вихідні з'єднання, а також буде декілька інших незначних обмежень. Див. L<virt-rescue(1)/МЕРЕЖА>.

note: type: textblock
en: If you use I<--no-network> then certain other options such as I<--install> will not work.
uk: Якщо ви скористаєтеся параметром I<--no-network>, тоді інші параметри, зокрема I<--install>, не працюватимуть.

note: type: textblock
en: This does not affect whether the guest can access the network once it has been booted, because that is controlled by your hypervisor or cloud environment and has nothing to do with virt-builder.
uk: Це не вплине на доступність мережі для гостьової системи після її завантаження, оскільки така доступність керується вашим гіпервізором або хмарним середовищем і не має нічого спільного з virt-builder.

note: type: textblock
en: Generally speaking you should I<not> use I<--no-network>.  But here are some reasons why you might want to:
uk: Загалом кажучи, вам I<не варто> використовувати I<--no-network>. Але ось декілька випадків, коли у вас може виникнути потреба у використанні цього параметра:

note: type: textblock
en: Because the libguestfs backend that you are using doesn't support the network.  (See: L<guestfs(3)/BACKEND>).
uk: У модулі обробки libguestfs, яким ви користуєтеся, не передбачено підтримки мережі.  (Див. L<guestfs(3)/МОДУЛЬ>).

note: type: textblock
en: Any software you need to install comes from an attached ISO, so you don't need the network.
uk: Усе програмне забезпечення, яке ви маєте намір встановити, походить з долученого образу ISO, отже потреби у мережі немає.

note: type: textblock
en: You don’t want untrusted guest code trying to access your host network when running virt-builder.  This is particularly an issue when you don't trust the source of the operating system templates.  (See L</SECURITY> below).
uk: Ви не хочете, щоб ненадійний код із гостьової системи намагався отримати доступ до мережевого з'єднання вашої основної системи під час роботи virt-builder. Таке, зокрема, може трапитися, якщо ви не довіряєте джерелу шаблонів операційних систем.  (Див. L</БЕЗПЕКА> нижче).

note: type: textblock
en: You don’t have a host network (eg. in secure/restricted environments).
uk: Ви не хочете користуватися мережею основної системи (наприклад, через захищеність або обмеженість середовища у ній).

note: type: textblock
en: Do not sync the output file on exit.
uk: Не синхронізувати файл виведення під час завершення роботи.

note: type: textblock
en: Virt-builder C<fsync>s the output file or disk image when it exits.
uk: Virt-builder виконує синхронізацію C<fsync> файла результатів або образу диска, якщо такий існує.

note: type: textblock
en: The reason is that qemu/KVM’s default caching mode is C<none> or C<directsync>, both of which bypass the host page cache.  Therefore these would not work correctly if you immediately started the guest after running virt-builder - they would not see the complete output file.  (Note that you should not use these caching modes - they are fundamentally broken for this and other reasons.)
uk: Причина полягає у тому, що типовим режимом кешування у qemu та KVM є C<none> або C<directsync>, і у обох цих режимах не використовується кеш сторінок основної системи. Тому ці режими не працюватимуть належним чином, якщо ви негайно запустите гостьову систему після запуску virt-builder — гостьова система просто не побачить файл результатів повністю . (Зауважте, що вам не варто користуватися обома цими режимами кешування — вони непрацездатні на базовому рівні з цієї та інших причин.)

note: type: textblock
en: If you are not using these broken caching modes, you can use I<--no-sync> to avoid this unnecessary sync and gain considerable extra performance.
uk: Якщо ви не використовуєте ці помилкові режими кешування, ви можете скористатися параметром I<--no-sync>, щоб усунути непотрібну синхронізацію і значно пришвидшити роботу програми.

note: type: =item
en: B<--notes> os-version
uk: B<--notes> версія-ОС

note: type: textblock
en: List any notes associated with this guest, then exit (this does not do the install).
uk: Показує список нотаток, пов’язаних із гостьовою системою, потім завершує роботу (встановлення не виконується).

note: type: =item
en: B<-o> filename
uk: B<-o> назва_файла

note: type: =item
en: B<--output> filename
uk: B<--output> назва_файла

note: type: textblock
en: Write the output to F<filename>.  If you don’t specify this option, then the output filename is generated by taking the C<os-version> string and adding C<.img> (for raw format) or C<.qcow2> (for qcow2 format).
uk: Записати виведені дані до файла F<назва_файла>. Якщо цей параметр не буде вказано, назву файла для виведення даних буде створено на основі рядка C<версія-ос> із додаванням суфікса C<.img> (для формату без обробки) або C<.qcow2> (для формату qcow2).

note: type: textblock
en: Note that the output filename could be a device, partition or logical volume.
uk: Зауважте, що назвою файла виведення результатів може бути пристрій, розділ або логічний том.

note: type: textblock
en: When used with I<--get-kernel>, this option specifies the output directory.
uk: Якщо використовується з I<--get-kernel>, цей параметр задає каталог виведення даних.

note: type: textblock
en: Print information about the template cache.  See L</CACHING>.
uk: Вивести інформацію щодо кешу шаблонів. Див. L</КЕШУВАННЯ>.

note: type: =item
en: B<--size> SIZE
uk: B<--size> РОЗМІР

note: type: textblock
en: Select the size of the output disk, where the size can be specified using common names such as C<32G> (32 gigabytes) etc.
uk: Вибір розміру диска-результату, де розмір можна вказати за допомогою типових записів, зокрема C<32G> (32 гігабайти) тощо.

note: type: textblock
en: Virt-builder will resize filesystems inside the disk image automatically.
uk: Virt-builder змінить розміри файлових систем у образі диска автоматично.

note: type: textblock
en: If the size is not specified, then one of two things happens.  If the output is a file, then the size is the same as the template.  If the output is a device, partition, etc then the size of that device is used.
uk: Якщо розмір не задано, можлива реалізація двох сценаріїв. Якщо дані виводяться до файла, його розмір буде таким самим, як у шаблона. Якщо дані виводяться на пристрій, розділ тощо, буде використано розмір відповідного пристрою.

note: type: textblock
en: To specify size in bytes, the number must be followed by the lowercase letter I<b>, eg: S<C<--size 10737418240b>>.
uk: Щоб вказати розмір у байтах, додайте до числа малу літеру I<b>, наприклад S<C<--size 10737418240b>>.

note: type: textblock
en: Enable N E<ge> 2 virtual CPUs for I<--run> scripts to use.
uk: Увімкнути N E<ge> 2 віртуальних процесорів для використання у скриптах I<--run>.

note: type: =item
en: B<--source> URL
uk: B<--source> АДРЕСА

note: type: textblock
en: Set the source URL to look for indexes.
uk: Встановити адресу початкових даних для пошуку покажчиків.

note: type: textblock
en: You can give this option multiple times to specify multiple sources.
uk: Цей параметр можна вказати декілька разів, щоб визначити декілька джерел.

note: type: textblock
en: See also L</SOURCES OF TEMPLATES> below.
uk: Див. також L</ДЖЕРЕЛА ШАБЛОНІВ> нижче.

note: type: textblock
en: Note that you should not point I<--source> to sources that you don’t trust (unless the source is signed by someone you do trust).  See also the I<--no-network> option.
uk: Зауважте, що не варто вказувати для I<--source> джерела, яким ви не довіряєте (якщо їх не підписано кимось, кому ви довіряєте). Див. також параметр I<--no-network>.

note: type: textblock
en: Do not emit a warning if the output device is a partition.  This warning avoids a common user error when writing to a USB key or external drive, when you should normally write to the whole device (S<I<--output /dev/sdX>>), not to a partition on the device (S<I<--output /dev/sdX1>>).  Use this option to I<suppress> this warning.
uk: Не видавати попередження, якщо пристроєм виведення даних є розділ. Це попередження надає змогу уникнути типової помилки користувача під час записування на флеш-накопичувач USB або зовнішній диск — запису на розділ, коли слід виконувати перезапис усього пристрою (S<I<--output /dev/sdX>>), а не розділу на ньому (S<I<--output /dev/sdX1>>). Скористайтеся цим параметром, щоб I<придушити> відповідне попередження.

note: type: =head2
en: Customization options
uk: Параметри налаштовування

note: type: =head1
en: REFERENCE
uk: ДОВІДНИК

note: type: =head2
en: INSTALLING PACKAGES
uk: ВСТАНОВЛЕННЯ ПАКУНКІВ

note: type: textblock
en: There are several approaches to installing packages or applications in the guest which have different trade-offs.
uk: Існує декілька підходів до встановлення пакунків або програм у гостьовій системі, використання кожного з яких має власні переваги і недоліки.

note: type: =head3
en: Installing packages at build time
uk: Встановлення пакунків під час збирання

note: type: textblock
en: If the guest OS you are installing is similar to the host OS (eg.  both are Linux), and if libguestfs supports network connections, then you can use I<--install> to install packages like this:
uk: Якщо гостьова операційна система є подібною до основної операційної системи (наприклад, обидві є операційними системами Linux), і у libguestfs передбачено підтримку з'єднань мережею, ви можете скористатися параметром I<--install> для встановлення пакунків у такий спосіб:

note: type: textblock
en: This uses the guest’s package manager and the host’s network connection.
uk: Тут використано засіб керування пакунками гостьової системи і з'єднання із мережею основної системи.

note: type: =head3
en: Updating packages at build time
uk: Оновлення пакунків під час збирання

note: type: textblock
en: To update the installed packages in the template at build time:
uk: Щоб оновити встановлений набір пакунків у шаблоні під час збирання, віддайте таку команду:

note: type: textblock
en: Most of the templates that ship with virt-builder come with a very minimal selection of packages (known as a "JEOS" or "Just Enough Operating System"), which are up to date at the time the template is created, but could be out of date by the time you come to install an OS from the template.  This option updates those template packages.
uk: У більшості шаблонів, які постачаються разом із virt-builder, передбачено дуже вузький набір пакунків (відомий як «JEOS» або «Just Enough Operating System» («Достатньо для того, щоб бути операційною системою»), які є актуальними на час створення шаблону, але можу виявитися застарілими на час, коли ви встановлюватимете операційну систему з шаблона. За допомогою цього параметра можна оновити пакунки з шаблона.

note: type: =head3
en: Installing packages at first boot
uk: Встановлення пакунків під час першого завантаження

note: type: textblock
en: Another option is to install the packages when the guest first boots:
uk: Іншим варіантом є встановлення пакунків під час першого завантаження гостьової системи:

note: type: textblock
en: This uses the guest’s package manager and the guest’s network connection.
uk: Тут використано засіб керування пакунками гостьової системи і з'єднання із мережею гостьової системи.

note: type: textblock
en: The downsides are that it will take the guest a lot longer to boot first time, and there’s nothing much you can do if package installation fails (eg. if a network problem means the guest can't reach the package repositories).
uk: Недоліком використання цього підходу є те, що гостьова система завантажуватиметься вперше набагато довше, а також те, що ви не зможете нічого зробити, якщо під час встановлення пакунків станеться помилка (наприклад, через проблеми із мережею гостьова система не зможе встановити зв'язок зі сховищем пакунків).

note: type: =head3
en: Installing packages at build time from a side repository
uk: Встановлення пакунків зі стороннього сховища під час збирання

note: type: textblock
en: If the software you want to install is not available in the main package repository of the guest, then you can add a side repository.  Usually this is presented as an ISO (CD disk image) file containing extra packages.
uk: Якщо програмного забезпечення, яке ви хочете встановити, немає у основному сховищі пакунків гостьової системи, ви можете додати стороннє сховище. Зазвичай, таке сховище є файлом образу ISO (образом компакт-диска), у якому містяться дані додаткових пакунків.

note: type: textblock
en: You can create the disk image using either L<genisoimage(1)> or L<virt-make-fs(1)>.  For genisoimage, use a command like this:
uk: Ви можете створити образ диска за допомогою L<genisoimage(1)> або L<virt-make-fs(1)>. Для genisoimage скористайтеся такою командою:

note: type: textblock
en: Create a script that mounts the ISO and sets up the repository.  For dnf, create /tmp/install.sh containing:
uk: Створіть скрипт, який монтує ISO і налаштовує сховище. Для dnf створіть /tmp/install.sh з таким вмістом:

note: type: textblock
en: For apt, create /tmp/install.sh containing:
uk: Для apt створіть файл /tmp/install.sh із таким вмістом:

note: type: textblock
en: Use the I<--attach> option to attach the CD / disk image and the I<--run> option to run the script:
uk: Скористайтеся параметром I<--attach> для долучення компакт-диска або образу диска та параметром I<--run> для запуску скрипту:

note: type: =head2
en: USERS AND PASSWORDS
uk: КОРИСТУВАЧІ І ПАРОЛІ

note: type: textblock
en: The I<--root-password> option is used to change the root password (otherwise a random password is used).  This option takes a password C<SELECTOR> in one of the following formats:
uk: Параметр I<--root-password> використовується для зміни пароля адміністратора (root) (якщо ви не скористаєтеся цим параметром, буде використано випадковий пароль). Цьому параметру можна передати C<ВАРІАНТ> пароля у одному з таких форматів:

note: type: =item
en: B<--root-password> file:FILENAME
uk: B<--root-password> file:НАЗВА_ФАЙЛА

note: type: textblock
en: Read the root password from C<FILENAME>.  The whole first line of this file is the replacement password.  Any other lines are ignored.  You should create the file with mode 0600 to ensure no one else can read it.
uk: Прочитати пароль адміністратора з файла C<НАЗВА_ФАЙЛА>. Паролем вважатиметься вміст усього першого рядка цього файла. Усі інші рядки файла буде проігноровано. Файл має бути створено із режимом доступу 0600, щоб його не могли читати сторонні користувачі.

note: type: =item
en: B<--root-password> password:PASSWORD
uk: B<--root-password> password:ПАРОЛЬ

note: type: textblock
en: Set the root password to the literal string C<PASSWORD>.
uk: Встановити для пароля root буквальне значення рядка C<ПАРОЛЬ>.

note: type: textblock
en: B<Note: this is not secure> since any user on the same machine can see the cleartext password using L<ps(1)>.
uk: B<Зауваження: цей спосіб не є безпечним>, оскільки будь-який користувач комп'ютера зможе побачити пароль явним чином за допомогою команди L<ps(1)>.

note: type: textblock
en: Choose a random password, which is printed on stdout.  The password has approximately 120 bits of randomness.
uk: Вибрати випадковий пароль, який буде виведено до stdout. Випадковість пароля наближено відповідатиме 120-бітовій.

note: type: textblock
en: This is the default.
uk: Типове значення.

note: type: textblock
en: The root account password is disabled.  This is like putting C<*> in the password field.
uk: Пароль для облікового запису root вимкнено. Це так, ніби у полі пароля використано C<*>.

note: type: =item
en: B<--root-password> locked:file:FILENAME
uk: B<--root-password> locked:file:НАЗВА_ФАЙЛА

note: type: =item
en: B<--root-password> locked:password:PASSWORD
uk: B<--root-password> locked:password:ПАРОЛЬ

note: type: textblock
en: The root account is locked, but a password is placed on the account.  If first unlocked (using C<passwd -u>) then logins will use the given password.
uk: Обліковий запис root заблоковано, але для нього визначено пароль. Якщо обліковий запис буде вперше розблоковано (за допомогою C<passwd -u>), для входу до нього буде використано вказаний пароль.

note: type: textblock
en: The root account is locked I<and> password is disabled.
uk: Обліковий запис root I<і> пароль вимкнено.

note: type: =head3
en: Creating user accounts
uk: Створення облікових записів користувачів

note: type: textblock
en: To create user accounts, use the L<useradd(8)> command with L<--firstboot-command> like this:
uk: Для створення облікових записів користувачів скористайтеся командою L<useradd(8)> з параметром L<--firstboot-command>, ось так:

note: type: textblock
en: The above command will create an C<rjones> account with no password, and force the user to set a password when they first log in.  There are other ways to manage passwords, see L<useradd(8)> for details.
uk: Вказана вище команда створить обліковий запис C<rjones> без пароля і примусить користувача встановити пароль під час першого входу до системи. Існують і інші способи керування паролями, див. L<useradd(8)>, щоб дізнатися більше.

note: type: =head2
en: KEYBOARD LAYOUT
uk: РОЗКЛАДКА КЛАВІАТУРИ

note: type: textblock
en: Because there are so many different ways to set the keyboard layout in Linux distributions, virt-builder does not yet attempt to have a simple command line option.  This section describes how to set the keyboard for some common Linux distributions.
uk: Оскільки існує багато різних способів встановити розкладку клавіатури у дистрибутивах Linux, у virt-builder усе ще немає простого параметра командного рядка для виконання цієї дії. У цьому розділі наведено настанови щодо встановлення розкладки для деяких типових дистрибутивів Linux.

note: type: =head3
en: Keyboard layout with systemd
uk: Визначення розкладки клавіатури за допомогою systemd

note: type: textblock
en: For distros that use systemd C<localectl>, use a command like this:
uk: У дистрибутивах, де використовується C<localectl> зі складу systemd, скористайтеся такою командою:

note: type: textblock
en: See L<localectl(1)> and L<https://www.happyassassin.net/2013/11/23/keyboard-layouts-in-fedora-20-and-previously/> for more details.
uk: Докладніший опис можна знайти за посиланнями L<localectl(1)> та L<https://www.happyassassin.net/2013/11/23/keyboard-layouts-in-fedora-20-and-previously/>.

note: type: =head3
en: Keyboard layout using F</etc/sysconfig/keyboard>
uk: Визначення розкладки клавіатури за допомогою F</etc/sysconfig/keyboard>

note: type: textblock
en: For RHEL E<le> 6, Fedora E<le> 18 and similar, upload or modify the keyboard configuration file using the I<--upload>, I<--write> or I<--edit> options.  For example:
uk: Для RHEL E<le> 6, Fedora E<le> 18 та подібних систем можна вивантажити із змінити файл налаштувань клавіатури за допомогою параметрів I<--upload>, I<--write> або I<--edit>. Приклад:

note: type: textblock
en: The format of this file can be found documented in many places online.
uk: Документацію щодо формату даних цього файла можна знайти на багатьох сторінках інтернету.

note: type: =head3
en: Keyboard layout with Debian-derived distros
uk: Визначення розкладки клавіатури у дистрибутивах на основі Debian

note: type: textblock
en: For Debian-derived distros using F</etc/default/keyboard>, upload or modify the keyboard file using the I<--upload>, I<--write> or I<--edit> options.  For example:
uk: У заснованих на Debian дистрибутивах мети можна досягти за допомогою файла F</etc/default/keyboard>. Вивантажити або внести зміни до цього файла можна за допомогою параметрів I<--upload>, I<--write> та I<--edit>. Приклад:

note: type: textblock
en: See L<https://wiki.debian.org/Keyboard>.
uk: Див. L<https://wiki.debian.org/Keyboard>.

note: type: =head2
en: LANGUAGE
uk: МОВА

note: type: textblock
en: Most Linux distributions support multiple locale settings so that you can have guest messages printed in another language such as Russian.
uk: У більшості дистрибутивів Linux передбачено можливість зміни локалі, отже ви можете бачити повідомлення гостьової системи нестандартною мовою, наприклад українською.

note: type: textblock
en: However there is no single setting which controls this, since extra packages may need to be installed to support console and X fonts, and keyboard input methods.  The packages required, and their configuration is highly distro-specific, and it is outside the scope of virt-builder to do this.
uk: Втім, єдиного параметра, який контролює локаль, немає, оскільки для реалізації підтримки мови може знадобитися встановлення додаткових пакунків, зокрема шрифтів для консолі і графічної оболонки, способів введення символів запису мови з клавіатури. Назви потрібних для цього пакунків та їхні налаштування залежать від дистрибутиву, отже, virt-builder просто не може про них знати.

note: type: textblock
en: This section contains examples for some common Linux distributions.
uk: У цьому розділі наведено приклади для типових дистрибутивів Linux.

note: type: =head3
en: Setting Japanese in Fedora 25
uk: Встановлення японської локалі у Fedora 25

note: type: =head3
en: Setting Japanese in Debian 8 (Jessie)
uk: Встановлення японської мови для Debian 8 (Jessie)

note: type: textblock
en: Note that although this enables Japanese in the text console too, it is unlikely that you will see properly rendered Japanese there.  However Japanese is properly rendered in X applications and terminals.
uk: Зауважте, що, хоча вказана команда вмикає японську і у текстовій консолі, навряд чи у консолі ви побачите належним чином показані ієрогліфи. Втім, японські ієрогліфи має бути показано у графічних програмах і терміналах.

note: type: =head2
en: LOG FILE
uk: ФАЙЛ ЖУРНАЛУ

note: type: textblock
en: Scripts and package installation that runs at build time (I<--run>, I<--run-command>, I<--install>, I<--update>, but I<not> firstboot) is logged in one of the following locations:
uk: Скрипти та засоби встановлення пакунків, які працюватимуть під час збирання (I<--run>, I<--run-command>, I<--install>, I<--update>, але I<не> firstboot), записуватимуть повідомлення до одного з таких файлів:

note: type: textblock
en: On Linux, BSD, and other non-Windows guests.
uk: У Linux, BSD та інших гостьових системах, відмінних від Windows.

note: type: textblock
en: On Windows, DOS guests.
uk: У гостьових системах Windows, DOS.

note: type: textblock
en: If F</tmp> or F<C:\Temp> is missing.
uk: Якщо немає F</tmp> або F<C:\Temp>.

note: type: textblock
en: If you don’t want the log file to appear in the final image, then use the I<--no-logfile> command line option.
uk: Якщо ви не хочете, щоб до остаточного образу було записано файл журналу, скористайтеся параметром рядка команди I<--no-logfile>.

note: type: =head2
en: SSH KEYS
uk: КЛЮЧІ SSH

note: type: textblock
en: The I<--ssh-inject> option is used to inject ssh keys for users in the guest, so they can login without supplying a password.
uk: Параметр I<--ssh-inject> використовується для вставляння ключів ssh для користувачів у гостьовій системі, щоб вони могли входити до системи без зазначення пароля.

note: type: textblock
en: The C<SELECTOR> part of the option value is optional; in this case, I<--ssh-inject> C<USER> means that we look in the I<current> user’s F<~/.ssh> directory to find the default public ID file.  That key is uploaded.  "default public ID" is the I<default_ID_file> file described in L<ssh-copy-id(1)>.
uk: Частина C<ВАРІАНТ> параметра є необов'язковою; у нашому випадку I<--ssh-inject> C<КОРИСТУВАЧ> означає, що ми шукаємо F<~/.ssh> у каталозі I<поточного> користувача для визначення типового файла відкритого ідентифікатора. Саме знайдений ключ і буде вивантажено до гостьової системи. «Типовий відкритий ідентифікатор» є файлом I<default_ID_file>, який описано у підручнику з L<ssh-copy-id(1)>.

note: type: textblock
en: If specified, the C<SELECTOR> can be in one of the following formats:
uk: Якщо вказано, C<ВАРІАНТ> можна зазначити у одному з таких форматів:

note: type: =item
en: B<--ssh-inject> USER:file:FILENAME
uk: B<--ssh-inject> КОРИСТУВАЧ:file:НАЗВА_ФАЙЛА

note: type: textblock
en: Read the ssh key from F<FILENAME>.  F<FILENAME> is usually a I<.pub> file.
uk: Прочитати ключ ssh з файла F<НАЗВА ФАЙЛА>. Файлом зазвичай є файл I<.pub>.

note: type: =item
en: B<--ssh-inject> USER:string:KEY_STRING
uk: B<--ssh-inject> КОРИСТУВАЧ:string:РЯДОК_КЛЮЧА

note: type: textblock
en: Use the specified C<KEY_STRING>.  C<KEY_STRING> is usually a public string like I<ssh-rsa AAAA.... user@localhost>.
uk: Використати вказаний C<РЯДОК_КЛЮЧА>. Зазвичай, C<РЯДОК_КЛЮЧА> — рядок відкритого ключа у форматі I<ssh-rsa AAAA.... user@localhost>.

note: type: textblock
en: In any case, the F<~USER/.ssh> directory and the F<~USER/.ssh/authorized_keys> file will be created if not existing already.
uk: Який би з варіантів не було вибрано, буде створено каталог F<~USER/.ssh> і файл F<~USER/.ssh/authorized_keys>, якщо вони досі не існували.

note: type: =head2
en: FIRST BOOT SCRIPTS
uk: СКРИПТИ ПЕРШОГО ЗАВАНТАЖЕННЯ

note: type: textblock
en: The I<--firstboot> and I<--firstboot-command> options allow you to execute commands at the first boot of the guest.  To do so, an init script for the guest init system is installed, which takes care of running all the added scripts and commands.
uk: За допомогою параметрів I<--firstboot> та I<--firstboot-command> ви можете визначити команди, які буде виконано під час першого завантаження гостьової системи. Для цього у гостьовій системі встановлюється скрипт ініціалізації, який виконує завдання із запуску усіх доданих скриптів і виконання усіх доданих команд.

note: type: textblock
en: Supported operating systems are:
uk: Підтримувані операційні системи:

note: type: textblock
en: Init systems supported are: systemd, System-V init (known also as sysvinit), and Upstart (using the System-V scripts).
uk: Передбачено підтримку таких систем ініціалізації: systemd, System-V init (також відома як sysvinit) та Upstart (з використанням скриптів System-V).

note: type: textblock
en: Note that usually init scripts run as root, but with a more limited environment than what could be available from a normal shell: for example, C<$HOME> may be unset or empty.
uk: Зауважте, що, зазвичай, скрипти ініціалізації виконуються від імені адміністратора (root), але у набагато обмеженішому середовищі ніж те, яке доступне зі звичайної оболонки. Наприклад, значення змінної середовища C<$HOME> може бути не встановленим або порожнім.

note: type: textblock
en: The output of the first boot scripts is available in the guest as F<~root/virt-sysprep-firstboot.log>.
uk: Дані, виведені скриптами першого запуску, у гостьовій системі зберігатимуться у F<~root/virt-sysprep-firstboot.log>.

note: type: textblock
en: F<rhsrvany.exe>, available from sources at L<https://github.com/rwmjones/rhsrvany>, or F<pvvxsvc.exe>, available with SUSE VMDP is installed to run the first boot scripts.  It is required, and the setup of first boot scripts will fail if it is not present.
uk: Для запуску скриптів першого завантаження встановлюється F<rhsrvany.exe>, початковий код якого можна знайти у L<https://github.com/rwmjones/rhsrvany>, або F<pvvxsvc.exe>, який є частиною SUSE VMDP. Наявність цих файлів є обов'язковою. Якщо файлів не буде знайдено, скрипти першого завантаження виконати не вдасться.

note: type: textblock
en: F<rhsrvany.exe> or F<pvvxsvc.exe> is copied from the location pointed to by the C<VIRT_TOOLS_DATA_DIR> environment variable; if not set, a compiled-in default will be used (something like F</usr/share/virt-tools>).
uk: F<rhsrvany.exe> або F<pvvxsvc.exe> буде просто скопійовано з місця, на яке вказує змінна середовища C<VIRT_TOOLS_DATA_DIR>; якщо значення змінної середовища не встановлено, буде використано типове місце, визначене під час компіляції (щось схоже на F</usr/share/virt-tools>).

note: type: textblock
en: The output of the first boot scripts is available in the guest as F<C:\Program Files\Guestfs\Firstboot\log.txt>.
uk: Дані, виведені скриптами першого завантаження, можна знайти у гостьовій системі за адресою F<C:\Program Files\Guestfs\Firstboot\log.txt>.

note: type: textblock
en: It is possible to automate the registration and attaching of the system using C<subscription-manager>.  This is typical on Red Hat Enterprise Linux guests.  There are few options which ease this process, avoid executing commands manually and exposing passwords on command line.
uk: Передбачено можливість автоматизації реєстрації та долучення до системи передплат за допомогою C<subscription-manager>. Потреба у подібному налаштовуванні типово виникає у системах Red Hat Enterprise Linux. Передбачено декілька параметрів, які спрощують процедуру, усувають потребу у введенні команд вручну та не роблять загальнодоступними паролі, вказані у рядку команди.

note: type: textblock
en: I<--sm-register> starts the registration process, and requires I<--sm-credentials> to be specified; the format of the C<SELECTOR> of I<--sm-credentials> is one of the following formats:
uk: I<--sm-register> запускає процедуру реєстрації і потребує зазначення I<--sm-credentials>. Слід використовувати для параметра C<ВАРІАНТ> I<--sm-credentials> один з таких форматів:

note: type: =item
en: B<--sm-credentials> USER:file:FILENAME
uk: B<--sm-credentials> КОРИСТУВАЧ:file:НАЗВА_ФАЙЛА

note: type: textblock
en: Read the password for the specified C<USER> from F<FILENAME>.
uk: Прочитати пароль для вказаного користувача C<КОРИСТУВАЧ> з файла F<НАЗВА_ФАЙЛА>.

note: type: =item
en: B<--sm-credentials> USER:password:PASSWORD
uk: B<--sm-credentials> КОРИСТУВАЧ:password:ПАРОЛЬ

note: type: textblock
en: Use the literal string C<PASSWORD> for the specified C<USER>.
uk: Використати рядок C<ПАРОЛЬ> для вказаного користувача C<КОРИСТУВАЧ>.

note: type: textblock
en: I<--sm-attach> attaches the system to subscriptions; the format of its C<SELECTOR> is one of the following:
uk: I<--sm-attach> долучає систему до передплачених послуг; формат варіантів команди може бути одним з таких:

note: type: textblock
en: C<subscription-manager> attaches to the best-fitting subscriptions for the system.
uk: C<subscription-manager> долучається до найвідповідніших передплат для системи.

note: type: =item
en: B<--sm-attach> file:FILENAME
uk: B<--sm-attach> file:НАЗВА_ФАЙЛА

note: type: textblock
en: Read the pool ID from F<FILENAME>.
uk: Прочитати ідентифікатор буфера з файла F<НАЗВА_ФАЙЛА>.

note: type: =item
en: B<--sm-attach> pool:POOL
uk: B<--sm-attach> pool:БУФЕР

note: type: textblock
en: Use the literal string C<POOL> as pool ID.
uk: Використовувати рядок C<БУФЕР> як ідентифікатор буфера.

note: type: textblock
en: I<--sm-remove> removes all the subscriptions from the guest, while I<--sm-unregister> completely unregister the system.
uk: I<--sm-remove> вилучає усі передплати з гостьової системи, а I<--sm-unregister> повністю знімає систему з реєстрації.

note: type: =head2
en: INSTALLATION PROCESS
uk: ПРОЦЕДУРА ВСТАНОВЛЕННЯ

note: type: textblock
en: When you invoke virt-builder, installation proceeds as follows:
uk: Після виклику virt-builder встановлення виконується таким чином:

note: type: textblock
en: The template image is downloaded.
uk: Отримується образ шаблону.

note: type: textblock
en: If the template image is present in the cache, the cached version is used instead.  (See L</CACHING>).
uk: Якщо образ шаблону вже є у кеші, використовується кешована версія. (Див. L</КЕШУВАННЯ>).

note: type: textblock
en: The template signature is checked.
uk: Перевіряється підпис шаблону.

note: type: textblock
en: The template is uncompressed to a tmp file.
uk: Шаблон розпаковується до файла tmp.

note: type: textblock
en: The template image is resized into the destination, using L<virt-resize(1)>.
uk: Розмір образ шаблону змінюється так, щоб від дорівнював розміру системи призначення, за допомогою L<virt-resize(1)>.

note: type: textblock
en: Extra disks are attached (I<--attach>).
uk: Долучаються додаткові диски (I<--attach>).

note: type: textblock
en: A new random seed is generated for the guest.
uk: Створюється нова база псевдовипадкових чисел для гостьової системи.

note: type: textblock
en: Guest customization is performed, in the order specified on the command line.
uk: Виконується налаштовування гостьової системи у порядку, який задається рядком команди.

note: type: textblock
en: SELinux relabelling is done (I<--selinux-relabel>).
uk: Виконується зміна міток SELinux виконано (I<--selinux-relabel>).

note: type: =head2
en: IMPORTING THE DISK IMAGE
uk: ІМПОРТУВАННЯ ОБРАЗУ ДИСКА

note: type: =head3
en: Importing into libvirt
uk: Імпортування до libvirt

note: type: textblock
en: Import the disk image into libvirt using L<virt-install(1)> I<--import> option.
uk: Імпортування образу диска до libvirt за допомогою параметра L<virt-install(1)> I<--import>.

note: type: textblock
en: Notes:
uk: Нотатки:

note: type: textblock
en: You I<must> specify the correct format.  The format is C<raw> unless you used virt-builder’s I<--format> option.
uk: Вам I<слід> вказати правильний формат. Форматом є C<raw>, якщо вами не було використано параметр virt-builder I<--format>.

note: type: textblock
en: I<--os-variant> is highly recommended, because it will present optimum devices to enable the guest to run most efficiently.  To get a list of all variants, do:
uk: Наполегливо рекомендуємо скористатися I<--os-variant>, оскільки він надає змогу підібрати оптимальний набір пристроїв, які слід увімкнути у системі, щоб гостьова система працювала найефективніше. Щоб отримати список усіх варіантів, скористайтеся такою командою:

note: type: verbatim
en:  osinfo-query os
uk:  osinfo-query ОС

note: type: textblock
en: The above tool is provided by libosinfo package.
uk: Вказана вище програма є частиною пакунка libosinfo.

note: type: textblock
en: You can run virt-install as root or non-root.  Each works slightly differently because libvirt manages a different set of virtual machines for each user.  In particular virt-manager normally shows the root-owned VMs, whereas Boxes shows the user-owned VMs, and other tools probably work differently as well.
uk: Запускати virt-install можна від імені адміністратора (root) або від імені простого користувача. Між цими способами є незначні відмінності, оскільки libvirt керує різними наборами віртуальних машин для кожного користувача. Зокрема, virt-manager показує віртуальні машини, власником яких є root, а «Коробки» з GNOME показують лише віртуальні машини поточного користувача. Інші ж програми можуть також мати свої особливості показу.

note: type: =head3
en: Importing into OpenStack
uk: Імпортування до OpenStack

note: type: textblock
en: Import the image into Glance (the OpenStack image store) by doing:
uk: Імпортувати образ до Glance (сховища образів OpenStack) можна такими командами:

note: type: textblock
en: The I<--file> parameter is the virt-builder-generated disk image.  It should match virt-builder’s I<--output> option.  The I<--disk-format> parameter should match virt-builder’s I<--format> option (or C<raw> if you didn't use that option).  The I<--container-format> should always be C<bare> since virt-builder doesn't put images into containers.
uk: Параметр I<--file> визначає створений за допомогою virt-builder образ диска. Його значення має узгоджуватися із значення параметра I<--output> virt-builder. Значення параметра I<--disk-format> має узгоджуватися зі значенням параметра I<--format> virt-builder (або бути рівним C<raw>, якщо ви не вказували цього параметра). Значенням параметра I<--container-format> завжди має бути C<bare>, оскільки virt-builder ніколи не вкладає образ до контейнерів.

note: type: textblock
en: You can use the S<C<glance image-show I<fedora-27-image>>> command to display the properties of the image.
uk: Ви можете скористатися командою S<C<glance image-show I<fedora-27-image>>>, щоб переглянути властивості образу.

note: type: textblock
en: To boot up an instance of your image on a Nova compute node, do:
uk: Для завантаження екземпляра вашого образу на обчислювальному вузлі Nova віддайте таку команду:

note: type: textblock
en: Use S<C<nova flavor-list>> to list possible machine flavors.  Use S<C<nova list>> to list running instances.
uk: Скористайтеся командою S<C<nova flavor-list>>, щоб переглянути список можливих варіантів машин. Скористайтеся командою S<C<nova list>>, щоб переглянути список запущених екземплярів.

note: type: =head3
en: Booting directly using qemu or KVM
uk: Безпосереднє завантаження за допомогою qemu або KVM

note: type: textblock
en: The qemu command line is not very stable or easy to use, hence libvirt should be used if possible.  However a command line similar to the following could be used to boot the virtual machine:
uk: Командний рядок qemu не є ні надто стабільним, ні простим у користуванні, тому, якщо це можливо, слід користуватися libvirt. Втім, для завантаження віртуальної машини можна скористатися чимось подібним до вказаного нижче:

note: type: textblock
en: As with libvirt, it is very important that the correct format is chosen.  It will be C<raw> unless the I<--format> option was used.
uk: Як і з libvirt, дуже важливо вибрати правильний формат. Цим форматом буде C<raw>, якщо раніше не було використано параметр I<--format>.

note: type: =head2
en: CONFIGURATION MANAGEMENT
uk: КЕРУВАННЯ НАЛАШТУВАННЯМИ

note: type: textblock
en: To enable the Puppet agent in a guest, install the package, point the configuration at your Puppetmaster, and ensure the agent runs at boot.
uk: Щоб увімкнути агент Puppet у гостьовій системі, встановіть пакунок, вкажіть налаштування на вашому Puppetmaster і забезпечте запуск агента під час завантаження.

note: type: textblock
en: A typical virt-builder command would be:
uk: Типовою командою virt-builder буде:

note: type: textblock
en: The precise instructions vary according to the Linux distro.  For further information see: L<https://docs.puppet.com/puppet/latest/install_pre.html>
uk: Точний перелік настанов залежить від дистрибутива Linux. Докладніше про це тут: L<https://docs.puppet.com/puppet/latest/install_pre.html>

note: type: =head2
en: DEBUGGING BUILDS
uk: ДІАГНОСТИКА ЗБИРАННЯ

note: type: textblock
en: If virt-builder itself fails, then enable debugging (I<-v>) and report a bug (see L</BUGS> below).
uk: Якщо сам virt-builder не може виконати роботу, слід увімкнути діагностику (I<-v>) і повідомити про ваду розробників (див. розділ L</ВАДИ> нижче).

note: type: textblock
en: If virt-builder fails because some script or package it is installing fails, try using I<--no-delete-on-failure> to preserve the output file, and continue reading this section.
uk: Якщо причиною неможливості виконання завдання virt-builder є який скрипт або пакунок, який програма не може встановити, спробуйте скористатися параметром I<--no-delete-on-failure>, щоб зберегти файл результатів, і продовжіть вивчення цього розділу підручника.

note: type: textblock
en: If virt-builder is successful but the image doesn't work, here are some things to try:
uk: Якщо virt-builder успішно завершує роботу, але образ не працює, ось чим слід скористатися:

note: type: =item
en: Use virt-rescue
uk: Використання virt-rescue

note: type: textblock
en: Run L<virt-rescue(1)> on the disk image:
uk: Запустити L<virt-rescue(1)> над образом диска:

note: type: textblock
en: This gives you a rescue shell.  You can mount the filesystems from the disk image on F</sysroot> and examine them using ordinary Linux commands.  You can also chroot into the guest to reinstall the bootloader.  The virt-rescue man page has a lot more information and examples.
uk: Ви потрапите до оболонки порятунку. Ви зможете змонтувати файлові системи з образу диска до F</sysroot> і вивчити їх за допомогою звичних команд Linux. Ви також можете скористатися chroot щодо гостьової системи і перевстановити у ній завантажувач. На сторінці підручника з virt-rescue наведено набагато більше інформації та прикладів.

note: type: =item
en: Use guestfish
uk: Використання guestfish

note: type: textblock
en: Run L<guestfish(1)> on the disk image:
uk: Запустити L<guestfish(1)> над образом диска:

note: type: textblock
en: Use guestfish commands like C<ll /directory> and C<cat /file> to examine directories and files.
uk: Скористайтеся командами guestfish, зокрема C<ll /каталог> і C<cat /файл>, для перевірки каталогів та файлів.

note: type: =item
en: Use guestmount
uk: Використання guestmount

note: type: textblock
en: Mount the disk image safely on the host using FUSE and L<guestmount(1)>:
uk: Безпечно змонтувати образ диска у основній системі за допомогою FUSE і L<guestmount(1)>:

note: type: textblock
en: To unmount the disk image do:
uk: Щоб демонтувати образ диска, виконайте такі дії:

note: type: =item
en: Add a serial console
uk: Додати послідовну консоль

note: type: textblock
en: If the guest hangs during boot, it can be helpful to add a serial console to the guest, and direct kernel messages to the serial console.  Adding the serial console will involve looking at the documentation for your hypervisor.  To direct kernel messages to the serial console, add the following on the kernel command line:
uk: Якщо гостьова система повисає під час завантаження, може допомогти додавання послідовної консолі у гостьову систему і спрямовування повідомлень ядра до послідовної консолі. Додавання послідовної консолі потребує вивчення документації до вашого гіпервізору. Щоб спрямувати повідомлення ядра до послідовної консолі, додайте таку частину до командного рядка ядра:

note: type: =head2
en: SOURCES OF TEMPLATES
uk: ДЖЕРЕЛА ШАБЛОНІВ

note: type: textblock
en: virt-builder reads the available sources from configuration files, with the I<.conf> extension and located in the following paths:
uk: virt-builder читає доступні джерела із файлів налаштування, файлів із суфіксом назви I<.conf>, які зберігаються у одному з таких місць:

note: type: textblock
en: $XDG_CONFIG_HOME/virt-builder/repos.d/ (C<$XDG_CONFIG_HOME> is F<$HOME/.config> if not set).
uk: $XDG_CONFIG_HOME/virt-builder/reposd/ (C<$XDG_CONFIG_HOME> дорівнює F<$HOME/.config>, якщо не встановлено).

note: type: textblock
en: $XDG_CONFIG_DIRS/virt-builder/repos.d/ (where C<$XDG_CONFIG_DIRS> means any of the directories in that environment variable, or just F</etc/xdg> if not set)
uk: $XDG_CONFIG_DIRS/virt-builder/repos.d/ (де C<$XDG_CONFIG_DIRS> означає будь-які каталоги у відповідній змінній середовища або просто F</etc/xdg>, якщо значення змінної середовища не визначено)

note: type: textblock
en: Each I<.conf> file in those paths has a simple text format like the following:
uk: Кожен з файлів I<.conf> у вказаних каталогах зберігає дані у простому текстовому форматі, ось так:

note: type: textblock
en: The part in square brackets is the repository identifier, which is used as unique identifier.
uk: Частина у квадратних дужках є ідентифікатором сховища, який використовується як унікальний ідентифікатор.

note: type: textblock
en: The following fields can appear:
uk: Можуть з’явитися такі поля:

note: type: =item
en: C<uri=URI>
uk: C<uri=АДРЕСА>

note: type: textblock
en: The URI of the index file which this repository refers to.
uk: Адреса файла покажчика, на який посилається це сховище.

note: type: textblock
en: This field is required.
uk: Це поле слід заповнити.

note: type: =item
en: C<gpgkey=URI>
uk: C<gpgkey=АДРЕСА>

note: type: textblock
en: This optional field represents the URI (although only I<file://> URIs are accepted) of the key used to sign the index file.  If not present, the index file referred by I<uri=..> is not signed.
uk: Це необов'язкове поле відповідає адресі (хоча прийнятними є лише адреси I<file://>) ключа, який використано для підписування файла покажчика. Якщо поля немає, файл покажчика, на який посилається I<uri=..>, не підписано.

note: type: =item
en: C<proxy=MODE>
uk: C<proxy=РЕЖИМ>

note: type: textblock
en: This optional field specifies the proxy mode, to be used when downloading the index file of this repository.  The possible values are:
uk: Це необов'язкове поле вказує на режим проксі, яким слід скористатися для отримання файла покажчика цього сховища. Можливі значення:

note: type: textblock
en: No proxy is being used at all, even overriding the system configuration.
uk: Не використовувати проксі взагалі, незважаючи на налаштування системи.

note: type: textblock
en: The proxy used is the system one.
uk: Використаний проксі-сервер є системним.

note: type: =item
en: I<anything else>
uk: I<усе інше>

note: type: textblock
en: Specifies the actual proxy configuration to be used, overriding the system configuration.
uk: Задає справжні налаштування проксі, якими слід скористатися, незважаючи на налаштування системи.

note: type: textblock
en: If not present, the assumed value is to respect the proxy settings of the system (i.e. as if B<system> would be specified).
uk: Якщо значення не вказано, буде використано параметри проксі-сервера системи (тобто все буде так, наче вказано B<system>).

note: type: =item
en: C<format=FORMAT>
uk: C<format=ФОРМАТ>

note: type: textblock
en: This optional field specifies the format of the repository.  The possible values are:
uk: Це необов'язкове поле задає формат сховища. Можливі такі значення:

note: type: textblock
en: The native format of the C<virt-builder> repository.  See also L</Creating and signing the index file> below.
uk: Природний формат сховища C<virt-builder>. Див. також розділ L</Створення і підписування файла покажчика> нижче.

note: type: textblock
en: The URI represents the root of a Simple Streams v1.0 tree of metadata.
uk: Адреса, яка визначає кореневий каталог ієрархії метаданих Simple Streams версії 1.0.

note: type: textblock
en: For more information about Simple Streams, see also L<https://launchpad.net/simplestreams>.
uk: Докладніший опис Simple Streams наведено тут: L<https://launchpad.net/simplestreams>.

note: type: textblock
en: If not present, the assumed value is C<native>.
uk: Якщо не вказано, типовим значенням буде C<native>.

note: type: textblock
en: For serious virt-builder use, you may want to create your own repository of templates.
uk: Якщо ви часто користуватиметеся virt-builder, варто створити власне сховище шаблонів.

note: type: =head3
en: Libguestfs.org repository
uk: Сховище libguestfs.org

note: type: textblock
en: Out of the box, virt-builder downloads the file L<http://libguestfs.org/download/builder/index.asc> which is an index of available templates plus some information about each one, wrapped up in a digital signature.  The command C<virt-builder --list> lists out the information in this index file.
uk: Від початку, virt-builder отримує файл L<http://libguestfs.org/download/builder/index.asc>, який є покажчиком усіх доступних шаблонів, і деяку інформацію щодо кожного з них, яку додано до цифрового підпису. За допомогою команди C<virt-builder --list> можна ознайомитися із усіма даними щодо цього файла покажчика.

note: type: textblock
en: The templates hosted on libguestfs.org were created using shell scripts, kickstart files and preseed files which can be found in the libguestfs source tree, in C<builder/templates>.
uk: Шаблони, які зберігаються на libguestfs.org, було створено за допомогою скриптів командної оболонки, файлів kickstart та файлів, які можна знайти у ієрархії коду libguestfs, у каталозі C<builder/templates>.

note: type: =head3
en: Setting up the repository
uk: Налаштовування доступу до сховища

note: type: textblock
en: You can set up your own site containing an index file and some templates, and then point virt-builder at the site by creating a I<.conf> file pointing to it.
uk: Ви можете створити власний сайт із файлом покажчика (index) і деякими шаблонами, а потім вказати virt-builder на цей сайт за допомогою вмісту файла I<.conf>.

note: type: textblock
en: Note that if your index is signed, you will need to properly fill I<gpgkey=..> in your I<.conf> file, making sure to deploy also the GPG key file.
uk: Зауважте, що якщо ваш покажчик підписано, вам слід належним чином заповнити поле I<gpgkey=..> у вашому файлі I<.conf>, а також додати файл ключа GPG.

note: type: textblock
en: You can host this on any web or FTP server, or a local or network filesystem.
uk: Ви можете розмістити сайт будь-якому мережевому сервері або сервері FTP чи у локальній або мережевій файловій системі.

note: type: =head3
en: Setting up a GPG key
uk: Встановлення ключа GPG

note: type: textblock
en: If you don’t have a GnuPG key, you will need to set one up.  (Strictly speaking this is optional, but if your index and template files are not signed then virt-builder users will have to use the I<--no-check-signature> flag every time they use virt-builder.)
uk: Якщо у вас ще немає ключа GnuPG, вам слід налаштувати такий. (Строго кажучи, це не є обов'язковою умовою, але якщо ваш файл покажчика і файл шаблона не буде підписано, користувачам virt-builder доведеться додавати параметр I<--no-check-signature> до команди кожного разу, коли їм потрібно буде скористатися virt-builder.)

note: type: textblock
en: To create a key, see the GPG manual L<http://www.gnupg.org/gph/en/manual.html>.
uk: Інструкцію зі створення ключа можна знайти у підручнику з GPG: L<http://www.gnupg.org/gph/en/manual.html>.

note: type: textblock
en: Export your GPG public key:
uk: Експортувати ваш відкрити ключ GPG:

note: type: =head3
en: Create the templates
uk: Створення шаблонів

note: type: textblock
en: There are many ways to create the templates.  For example you could clone existing guests (see L<virt-sysprep(1)>), or you could install a guest by hand (L<virt-install(1)>).  To see how the templates were created for virt-builder, look at the scripts in C<builder/templates>
uk: Існує багато способів створення шаблонів. Наприклад, ви можете клонувати наявні гостьові системи (див. L<virt-sysprep(1)>) або встановити гостьову систему вручну (L<virt-install(1)>). Щоб ознайомитися із способами створення шаблонів для virt-builder, вивчіть скрипти у C<builder/templates>

note: type: textblock
en: Virt-builder supports any image format (e.g. raw, qcow2, etc) as template, both as-is, and compressed as XZ.  This way, existing images (e.g. cleaned using L<virt-sysprep(1)>) can be used as templates.
uk: У virt-builder передбачено підтримку усіх форматів образів (наприклад, raw, qcow2 тощо) як шаблонів, у звичайному форматі та у форматі, стисненому XZ. Таким чином, як шаблонами можна скористатися наявними образами (наприклад, образами, очищеними за допомогою L<virt-sysprep(1)>).

note: type: textblock
en: For best results when compressing the templates, use the following xz options (see L<nbdkit-xz-plugin(1)> for further explanation):
uk: Для досягнення найкращих результатів під час стискання шаблонів скористайтеся такими параметрами програми xz (пояснення щодо цих параметрів можна знайти на сторінці довідки до L<nbdkit-xz-plugin(1)>):

note: type: =head3
en: Creating and signing the index file
uk: Створення і підписування файла покажчика

note: type: textblock
en: The index file has a simple text format (shown here without the digital signature):
uk: Файл покажчика записується у простому текстовому форматі (тут показано без цифрового підпису):

note: type: textblock
en: The part in square brackets is the C<os-version>, which is the same string that is used on the virt-builder command line to build that OS.
uk: Частина у квадратних дужках є C<версією-ОС>, тим самим рядком, який використано у рядку команди virt-builder, використаному для збирання цієї операційної системи.

note: type: textblock
en: The index file creation and signature can be eased with the L<virt-builder-repository(1)> tool.
uk: Спростити створення і підписування файла покажчика можна за допомогою програми L<virt-builder-repository(1)>.

note: type: textblock
en: After preparing the C<index> file in the correct format, clearsign it using the following command:
uk: Після приготування файла C<index> у належному форматі підпишіть його такою командою:

note: type: textblock
en: This will create the final file called F<index.asc> which can be uploaded to the server (and is the I<uri=..> URL).  As noted above, signing the index file is optional, but recommended.
uk: У результаті виконання цієї команди буде створено остаточний файл із назвою F<index.asc>, який можна вивантажити на сервер (і додати у запис адреси I<uri=..>). Як ми вже зауважували вище, підписування файла покажчика є необов'язковим, але рекомендованим.

note: type: =item
en: C<name=NAME>
uk: C<name=НАЗВА>

note: type: textblock
en: The user-friendly name of this template.  This is displayed in the I<--list> output but is otherwise not significant.
uk: Зручна для користувача назва цього шаблона. Назву буде показано у виведених даних команди з параметром I<--list>, більше ніде програма її не використовує.

note: type: =item
en: C<osinfo=ID>
uk: C<osinfo=ІДЕНТИФІКАТОР>

note: type: textblock
en: This optional field maps the operating system to the associated libosinfo ID.  Virt-builder does not use it (yet).
uk: Це додаткове поле пов'язує операційну систему із відповідним ідентифікатором libosinfo.  Virt-builder (ще) не використовує ці дані.

note: type: =item
en: C<arch=ARCH>
uk: C<arch=АРХІТЕКТУРА>

note: type: textblock
en: The architecture of the operating system installed within the template. This field is required.
uk: Архітектура операційної системи, яку встановлено у цьому шаблоні. Це поле є обов'язковим.

note: type: =item
en: C<file=PATH>
uk: C<file=ШЛЯХ>

note: type: textblock
en: The path (relative to the index) of the xz-compressed template.
uk: Шлях (відносно покажчика) стисненого xz шаблона.

note: type: textblock
en: Note that absolute paths or URIs are B<not> permitted here.  This is because virt-builder has a "same origin" policy for templates so they cannot come from other servers.
uk: Зауважте, що тут B<не> можна використовувати абсолютні шляхи або адреси файлів. Причиною є те, що у virt-builder використовується правило «одного походження» для шаблонів, тому вони не можуть походити з інших серверів.

note: type: =item
en: C<sig=PATH>
uk: C<sig=ШЛЯХ>

note: type: textblock
en: B<This option is deprecated>.  Use the checksum field instead.
uk: B<Цей параметр вважається застарілим>. Використовуйте замість нього поле контрольної суми (checksum).

note: type: textblock
en: The path (relative to the index) of the GPG detached signature of the xz file.
uk: Шлях (відносно покажчика) від'єднаного підпису GPG файла xz.

note: type: textblock
en: The file can be created as follows:
uk: Файл можна створити такою командою:

note: type: textblock
en: The SHA-512 checksum of the file specified in I<file=..> is checked after it is downloaded.  To work out the signature, do:
uk: Контрольну суму SHA-512 файла, вказаного у виразі I<file=..>, буде перевірено після завершення отримання даних. Для визначення підпису скористайтеся такою командою:

note: type: textblock
en: Note if you use this, you don’t need to sign the file, ie. don’t use C<sig>.  This option overrides C<sig>.
uk: Зауважте, що якщо ви користуєтеся цим параметром, вам не потрібно підписувати файл, тобто використовувати параметр C<sig>. Цей параметр має вищий пріоритет за параметра C<sig>.

note: type: textblock
en: C<checksum> is an alias for C<checksum[sha512]>.
uk: C<checksum> є скороченою формою запису C<checksum[sha512]>.

note: type: textblock
en: If you need to interoperate with virt-builder = 1.24.0 then you have to use C<checksum> because that version would give a parse error with square brackets and numbers in the key of a field.  This is fixed in virt-builder E<ge> 1.24.1.
uk: Якщо вам доводиться працювати з virt-builder = 1.24.0, слід користуватися C<checksum>, оскільки ця версію видаватиме повідомлення про помилку обробки, якщо у ключі поля використано квадратні дужки і цифри. Цю помилку виправлено у версіях virt-builder E<ge> 1.24.1.

note: type: textblock
en: The revision is an integer which is used to control the template cache.  Increasing the revision number causes clients to download the template again even if they have a copy in the cache.
uk: Модифікація (revision) — ціле число, яке використовується для керування кешем шаблонів. Збільшення номера модифікації призводить до того, що клієнти отримують шаблон, навіть якщо у них є копія у кеші.

note: type: textblock
en: The revision number is optional.  If omitted it defaults to C<1>.
uk: Номер модифікації є необов’язковим. Якщо його не вказано, типовим значенням вважається C<1>.

note: type: textblock
en: Specify the format of the disk image; in case it is compressed, that is the format before the compression.  If not given, the format is autodetected, but generally it is better to be explicit about the intended format.
uk: Визначає формат образу диска; якщо дані стиснено, слід вказати формат до стискання. Якщо формат не вказано, його буде визначено автоматично, але все ж варто явним чином вказати бажаний формат.

note: type: textblock
en: Note this is the source format, which is different from the I<--format> option (requested output format).  Virt-builder does on-the-fly conversion from the source format to the requested output format.
uk: Зауважте, що це формат початкових даних, який відрізняється від параметра I<--format> (бажаний формат результату). Virt-builder виконує перетворення «на льоту» з початкового формату до бажаного формату результату.

note: type: textblock
en: The virtual size of the image in bytes.  This is the size of the image when uncompressed.  If using a non-raw format such as qcow2 then it means the virtual disk size, not the size of the qcow2 file.
uk: Віртуальний розмір образу у байтах. Це розмір нестисненого образу. Якщо використано формат, відмінний від raw, зокрема qcow2, це значення означає розмір віртуального диска, а не розмір файла qcow2.

note: type: textblock
en: Virt-builder also uses this as the minimum size that users can request via the I<--size> option, or as the default size if there is no I<--size> option.
uk: Virt-builder також використовує це значення як мінімальний розмір, запит щодо якого можуть надсилати користувачів за допомогою параметра I<--size>, або типовий розмір, якщо не вказано параметр I<--size>.

note: type: textblock
en: The actual size of the disk image in bytes, i.e. what was specified in I<file=..>.  This is just used for information (when using C<long>, and C<json> formats of I<--list>).
uk: Справжній розмір образу диска у байтах, тобто розмір, який було вказано у I<file=..>. Це значення використовується лише для інформування (якщо використовуються формати C<long> і C<json> у параметрі I<--list>).

note: type: textblock
en: When expanding the image to its final size, instruct L<virt-resize(1)> to expand the named partition in the guest image to fill up all available space.  This works like the virt-resize I<--expand> option.
uk: При розпаковуванні образу до його остаточного розміру, наказати L<virt-resize(1)> розпакувати дані до іменованого розділу у образі гостьової системи для заповнення усього доступного місця. Це працює подібно до параметра I<--expand> virt-resize.

note: type: textblock
en: You should usually put the device name of the guest’s root filesystem here.
uk: Тут вам зазвичай слід вказати назву пристрою у кореневій файловій системі гостьової операційної системи.

note: type: textblock
en: It’s a good idea to use this, but not required.  If the field is omitted then virt-resize will create an extra partition at the end of the disk to cover the free space, which is much less user-friendly.
uk: Цим елементом варто скористатися, але це не обов'язково. Якщо поле пропущено, virt-resize створить додатковий розділ наприкінці диска для заповнення порожнього місця, що набагато менш зручно.

note: type: =item
en: C<lvexpand=/dev/VolGroup/LogVol>
uk: C<lvexpand=/пристрій/група_томів/логічний_том>

note: type: textblock
en: When expanding the image to its final size, instruct L<virt-resize(1)> to expand the named logical volume in the guest image to fill up all available space.  This works like the virt-resize I<--lv-expand> option.
uk: При розпаковуванні образу до його остаточного розміру, наказати L<virt-resize(1)> розпакувати дані до іменованого логічного тому у образі гостьової системи для заповнення усього доступного місця. Це працює подібно до параметра I<--lv-expand> virt-resize.

note: type: textblock
en: If the guest uses LVM2 you should usually put the LV of the guest’s root filesystem here.  If the guest does not use LVM2 or its root filesystem is not on an LV, don't use this option.
uk: Якщо у гостьовій системі використовується LVM2, тут слід вказати логічний том кореневої файлової системи гостьової операційної системи. Якщо у гостьовій операційній системі не використовується LVM2 або її коренева файлова система не зберігається на логічному томі, не використовуйте цей параметр.

note: type: =item
en: C<notes=NOTES>
uk: C<notes=НОТАТКИ>

note: type: textblock
en: Any notes that go with this image, especially notes describing what packages are in the image, how the image was prepared, and licensing information.
uk: Будь-які нотатки, які стосуються цього образу, особливо нотатки із описом пакунків образу, способу створення образу та даних щодо ліцензування.

note: type: textblock
en: This information is shown in the I<--notes> and I<--list> I<--long> modes.
uk: Ці дані буде виведено у режимах I<--notes> і I<--list> I<--long>.

note: type: textblock
en: You can use multi-line notes here by indenting each new line with at least one character of whitespace (even on blank lines):
uk: Ви можете створювати багаторядкові нотатки додаванням принаймні одного пробілу на початку кожного рядка (навіть порожнього):

note: type: verbatim
en:  notes=This image was prepared using
      the following kickstart script:
                                    <-- one space at beginning of line
      part /boot --fstype ext3
      ...
uk:  notes=Цей образ було створено за допомогою
      такого скрипту kickstart:
                                    <-- один пробіл на початку рядка
      part /boot --fstype ext3
      ...

note: type: textblock
en: Using the hidden flag prevents the template from being listed by the I<--list> option (but it is still installable).  This is used for test images.
uk: Використання прапорця hidden усуває шаблон зі списку, який буде показано у відповідь на використання параметра I<--list> (лишаючи образ придатним до встановлення). Цей прапорець використовується для тестових образів.

note: type: =item
en: C<aliases=ALIAS1 ALIAS2 ...>
uk: C<aliases=ПСЕВДОНІМ1 ПСЕВДОНІМ2 ...>

note: type: textblock
en: This optional field specifies a list of aliases, separated by spaces, for the image.  For example, an alias could be used to always point to the latest version of a certain image, leaving the old versions available in the index instead of updating the same image (see the C<revision> field).
uk: Це необов'язкове поле визначає список альтернативних назв, відокремлених пробілами, для образу. Альтернативною назвою, наприклад, можна скористатися так, щоб вона завжди вказувала на найсвіжішу версію певного образу, лишаючи інші, старіші версії доступними у покажчику, замість оновлення того самого образу (див. поле C<revision>).

note: type: =head3
en: Running virt-builder against multiple sources
uk: Запуск virt-builder для декількох джерел одночасно

note: type: textblock
en: It is possible to use multiple sources with virt-builder.  The recommended way is to deploy I<.conf> files pointing to the index files. Another way is to specify the sources using multiple I<--source> and/or I<--fingerprint> options:
uk: У virt-builder передбачено можливість використання декількох джерел. Рекомендованим способом є розгортання файлів I<.conf>, які вказують на файли покажчика. Іншим способом є визначення джерел за допомогою декількох параметрів I<--source> і/або I<--fingerprint>:

note: type: textblock
en: You can provide N or 1 fingerprints.  In the case where you provide N fingerprints, N = number of sources and there is a 1-1 correspondence between each source and each fingerprint:
uk: Ви можете надати N відбитків або 1 відбиток. Якщо буде надано N відбитків, N = кількості джерел, а між джерелом і відбитком є однозначна відповідність:

note: type: textblock
en: In the case where you provide 1 fingerprint, the same fingerprint is used for all sources.
uk: Якщо вами буде надано один відбиток, його буде використано для усіх джерел.

note: type: textblock
en: You C<must> provide at least 1 fingerprint.
uk: Вам C<слід> надати принаймні 1 відбиток.

note: type: =head3
en: Licensing of templates
uk: Ліцензування шаблонів

note: type: textblock
en: You should be aware of the licensing of images that you distribute.  For open source guests, provide a link to the source code in the C<notes> field and comply with other requirements (eg. around trademarks).
uk: Вам слід зважати на ліцензування образів, які ви розповсюджуєте. Для гостьових систем із відкритим кодом слід надавати посилання на початковий код у полі C<notes> і виконувати інші вимоги (наприклад, вимоги щодо торгівельних знаків).

note: type: =head3
en: Formal specification of the index file
uk: Формальна специфікація файла покажчика

note: type: textblock
en: The index file format has a formal specification defined by the flex scanner and bison parser used to parse the file.  This can be found in the following files in the libguestfs source tree:
uk: Формат файла покажчика має формальну специфікацію, що визначається сканером flex і обробником bison, що використовуються для обробки файла. Її можна знайти у таких файлах у ієрархію коду libguestfs:

note: type: textblock
en: A tool called L<virt-index-validate(1)> is available to validate the index file to ensure it is correct.
uk: Для перевірки коректності файла покажчика використовується програма із назвою L<virt-index-validate(1)>.

note: type: textblock
en: Note that the parser and tool can work on either the signed or unsigned index file (ie. F<index> or F<index.asc>).
uk: Зауважте, що обробник і інструмент може працювати як із підписаним, так і з непідписаним файлом покажчика (тобто з F<index> або зF<index.asc>).

note: type: textblock
en: The index is always encoded in UTF-8.
uk: Кодуванням покажчика завжди є UTF-8.

note: type: =head2
en: CACHING
uk: КЕШУВАННЯ

note: type: =head3
en: Caching templates
uk: Кешування шаблонів

note: type: textblock
en: Since the templates are usually very large, downloaded templates are cached in the user’s home directory.
uk: Оскільки шаблоні зазвичай є дуже великими, отримані шаблони зберігають у кеші домашнього каталогу користувача.

note: type: textblock
en: The location of the cache is F<$XDG_CACHE_HOME/virt-builder/> or F<$HOME/.cache/virt-builder>.
uk: Кеш розміщується у F<$XDG_CACHE_HOME/virt-builder/> або F<$HOME/.cache/virt-builder>.

note: type: textblock
en: You can print out information about the cache directory, including which guests are currently cached, by doing:
uk: Ви можете отримати дані щодо каталогу кешу, зокрема дані щодо того, які гостьові системи кешуються, за допомогою такої команди:

note: type: textblock
en: The cache can be deleted if you want to save space by doing:
uk: Кеш можна вилучити з метою економії місця на диску такою командою:

note: type: textblock
en: You can download all (current) templates to the local cache by doing:
uk: Ви можете отримати усі (поточні) шаблони до локального кешу командою:

note: type: textblock
en: To disable the template cache, use I<--no-cache>.
uk: Щоб вимкнути кешування шаблонів, скористайтеся параметром I<--no-cache>.

note: type: textblock
en: Only templates are cached.  The index and detached digital signatures are not cached.
uk: Кешуванню підлягають лише шаблони. Для покажчика та цифрових підписів кешування не використовується.

note: type: =head3
en: Caching packages
uk: Кешування пакунків

note: type: textblock
en: Virt-builder uses L<curl(1)> to download files and it also uses the current C<http_proxy> (etc) settings when installing packages (I<--install>, I<--update>).
uk: Virt-builder використовує для отримання файлів L<curl(1)>, а також використовує поточні параметри C<http_proxy> (та інші) під час встановлення пакунків (I<--install>, I<--update>).

note: type: textblock
en: You may therefore want to set those environment variables in order to maximize the amount of local caching that happens.  See L</ENVIRONMENT VARIABLES> and L<curl(1)>.
uk: Тому ви можете встановити ці змінні середовища з метою максимізації обсягу локального кешування. Див. L</ЗМІННІ СЕРЕДОВИЩА> та L<curl(1)>.

note: type: =head3
en: Local mirrors
uk: Локальні дзеркала

note: type: textblock
en: To increase both speed and reliability of installing packages, you can set up a local mirror of the target distribution, and point the guest package manager at that.
uk: Щоб збільшити швидкість і надійність встановлення пакунків, ви можете налаштувати локальне дзеркало для дистрибутива призначення і вказати на нього засобу керування пакунками гостьової системи.

note: type: =head4
en: Using a local mirror with Fedora
uk: Використання локального дзеркала з Fedora

note: type: textblock
en: To install a Fedora guest using a local mirror:
uk: Для встановлення гостьової системи Fedora за допомогою локального дзеркала:

note: type: =head4
en: Using a local mirror with Debian
uk: Використання локального дзеркала з Debian

note: type: textblock
en: Assuming that you are using C<apt-proxy> to mirror the repository, you should create a new F<sources.list> file to point to your proxy (see L<https://help.ubuntu.com/community/AptProxy>) and then do:
uk: Припускаємо, що ви використовуєте C<apt-proxy> для віддзеркалення сховища, тоді вам слід створити новий файл F<sources.list> для визначення вашого проксі-сервера (див. L<https://help.ubuntu.com/community/AptProxy>), а потім віддайте таку команду:

note: type: verbatim
en:  virt-builder debian-8 \
       --upload sources.list:/etc/apt/sources.list \
       --run-command 'apt-get -y update' \
       --install 'pkg1,pkg2,...'
uk:  virt-builder debian-8 \
       --upload sources.list:/etc/apt/sources.list \
       --run-command 'apt-get -y update' \
       --install 'пакунок1,пакунок2,...'

note: type: =head2
en: DIGITAL SIGNATURES
uk: ЦИФРОВІ ПІДПИСИ

note: type: textblock
en: Virt-builder uses GNU Privacy Guard (GnuPG or gpg) to verify that the index and templates have not been tampered with.
uk: Virt-builder використовує GNU Privacy Guard (GnuPG або gpg) для забезпечення невтручання до покажчика і шаблонів.

note: type: textblock
en: The source points to an index file, which is optionally signed.
uk: Джерело вказує на файл покажчика, який можна підписати.

note: type: textblock
en: Virt-builder downloads the index and checks that the signature is valid and the signer’s fingerprint matches the specified fingerprint (ie. the one specified in I<gpgkey=..> in the I<.conf>, or with I<--fingerprint>, in that order).
uk: Virt-builder отримує покажчик і перевіряє, чи є підпис коректним і чи збігається відбиток підписника із вказаним відбитком (тобто відбитком, вказаним за допомогою I<gpgkey=..> у I<.conf> або за допомогою I<--fingerprint>, саме у цьому порядку).

note: type: textblock
en: For checking against the built-in public key/fingerprint, this requires importing the public key into the user’s local gpg keyring (that’s just the way that gpg works).
uk: Для перевірки відповідності щодо вбудованого відкритого ключа або відбитка, відкритий ключ слід імпортувати до локального сховища ключів gpg користувача (саме так працює gpg).

note: type: textblock
en: When a template is downloaded, its signature is checked in the same way.
uk: Під час отримання шаблона його підпис буде перевірено у той самий спосіб.

note: type: textblock
en: Although the signatures are optional, if you don’t have them then virt-builder users will have to use I<--no-check-signature> on the command line.  This prevents an attacker from replacing the signed index file with an unsigned index file and having virt-builder silently work without checking the signature.  In any case it is highly recommended that you always create signed index and templates.
uk: Хоча підписи і не є обов'язковими, якщо ви їх не використаєте, користувачам virt-builder доведеться використовувати параметр I<--no-check-signature> у рядку команди. За допомогою підпису можна запобігти заміні зловмисником підписаного файла покажчика непідписаним файлом. При цьому virt-builder без перевірки підпису не повідомлятиме про підміну. Щоб там не сталося, наполегливо рекомендуємо вам створювати підписаний покажчик і шаблони.

note: type: =head1
en: ARCHITECTURE
uk: АРХІТЕКТУРА

note: type: textblock
en: Virt-builder can build a guest for any architecture no matter what the host architecture is.  For example an x86-64 guest on an ARM host.
uk: Virt-builder може збирати образ гостьової системи для будь-якої архітектури, незалежно від архітектури основної системи. Наприклад, можна зібрати образ гостьової системи архітектури x86-64 на основній системі архітектури ARM.

note: type: textblock
en: However certain options may not work, specifically options that require running commands in the guest during the build process: I<--install>, I<--update>, I<--run>, I<--run-command>.  You may need to replace these with their firstboot-equivalents.
uk: Втім, деякі з параметрів не працюватимуть, особливо параметри, які потребують виконання команд у гостьовій системі під час процесу збирання: I<--install>, I<--update>, I<--run>, I<--run-command>. Вам варто замінити ці команди на їхні еквіваленти у firstboot.

note: type: textblock
en: An x86-64 host building 32 bit i686 guests should work without any special steps.
uk: Основна система архітектури x86-64, збираючи гостьові системи 32-бітової архітектури i686, має працювати без використання будь-яких додаткових кроків налаштовування.

note: type: =head1
en: SECURITY
uk: БЕЗПЕКА

note: type: textblock
en: Virt-builder does not need to run as root (in fact, should not be run as root), and doesn't use setuid, C<sudo> or any similar mechanism.
uk: Virt-builder не потребує запуску від імені користувача root (фактично, програму не слід запускати від імені root) і не використовує setuid, C<sudo> або будь-яких інших подібних механізмів.

note: type: textblock
en: I<--install>, I<--update>, I<--run> and I<--run-command> are implemented using an appliance (a small virtual machine) so these commands do not run on the host.  If you are using the libguestfs libvirt backend and have SELinux enabled then the virtual machine is additionally encapsulated in an SELinux container (sVirt).
uk: I<--install>, I<--update>, I<--run> і I<--run-command> реалізовано за допомогою базової системи (невеличкої віртуальної машини), тому ці команди не працюватимуть у основній системі. Якщо ви користуєтеся модулем libvirt libguestfs і у системі увімкнено SELinux , віртуальну машину буде додатково огорнуто у контейнер SELinux (sVirt).

note: type: textblock
en: However these options will have access to the host’s network and since the template may contain untrusted code, the code might try to access host network resources which it should not.  You can use I<--no-network> to prevent this.
uk: Втім, ці параметри отримуватимуть доступ до мережі основної системи і, оскільки шаблон може містити шахрайський код, цей код може намагатися отримати доступ до ресурсів мережі основної системи, які мають бути недоступними для нього. Для запобігання небажаному доступу ви можете скористатися параметром I<--no-network>.

note: type: textblock
en: Firstboot commands run in the context of the guest when it is booted, and so the security of your hypervisor / cloud should be considered.
uk: Команди першого завантаження виконуються у контексті гостьової системи, тому слід брати до уваги параметри захисту у вашому гіпервізорі або обчислювальній хмарі.

note: type: textblock
en: Virt-builder injects a random seed into every guest which it builds.  This helps to ensure that TCP sequence numbers, UUIDs, ssh host keys etc are truly random when the guest boots.
uk: Virt-builder додає випадкову базу псевдовипадкових чисел до кожної гостьової системи, яку зібрано за його допомогою. Це допомагає забезпеченню справжньої випадковості номерів послідовності TCP, UUID, ключів вузла ssh тощо під час завантаження гостьової системи.

note: type: textblock
en: You should check digital signatures and not ignore any signing errors.
uk: Вам слід перевіряти цифрові підписи і не ігнорувати повідомлення про помилки під час таких перевірок.

note: type: =head2
en: CLONES
uk: КЛОНИ

note: type: textblock
en: If you wish to create many new guests of the same type, it is tempting to run virt-builder once and then copy the output file.  You should B<not> do this.  You should run virt-builder once for each new guest you need.
uk: Якщо вам потрібно створити багато гостьових систем одного типу, виникає спокуса запустити virt-builder один раз, а потім просто скопіювати файл-результат. Втім, так B<не> слід робити. Вам слід запустити virt-builder окремо для кожної нової гостьової системи, яку ви хочете створити.

note: type: textblock
en: The reason is that each clone needs to have (at least) a separate random seed, and possibly other unique features (such as filesystem UUIDs) in future versions of virt-builder.
uk: Так слід робити тому, що кожен клон повинен мати (принаймні) окрему базу для псевдовипадкових чисел, а також, ймовірно, інші унікальні властивості (зокрема UUID файлових систем) у майбутніх версіях virt-builder.

note: type: textblock
en: Another thing you should I<not> do is to boot the guest, then clone the booted disk image.  The reason is that some guests create unique machine IDs, SSH host keys and so on at first boot, and you would not want clones to have duplicate identities.
uk: Ще однією річчю, яку вам I<не> слід робити, є клонування завантаженого образу диска. Причиною цього є те, що деякі гостьові системи створюють унікальні ідентифікатори машини, ключі SSH вузла та інші дані під час першого завантаження, а дублювання таких ідентифікаторів у клонах є вкрай небажаним.

note: type: textblock
en: See also: L<virt-sysprep(1)>.
uk: Див. також L<virt-sysprep(1)>.

note: type: =head2
en: PERFORMANCE
uk: ШВИДКОДІЯ

note: type: textblock
en: The most important aspect of getting good performance is caching.  Templates gets downloaded into the cache the first time they are used, or if you use the I<--cache-all-templates> option.  See L</CACHING> above for further information.
uk: Найважливішим аспектом пришвидшення роботи програми є кешування. Шаблон завантажується до кешу, коли його вперше використовують, або якщо було використано параметр команди I<--cache-all-templates>. Докладніше про це у розділі L</КЕШУВАННЯ> вище.

note: type: textblock
en: Packages required for the I<--install> and I<--update> options are downloaded using the host network connection.  Setting the C<http_proxy>, C<https_proxy> and C<ftp_proxy> environment variables to point to a local web cache may ensure they only need to be downloaded once.  You can also try using a local package repository, although this can be complex to set up and varies according to which Linux distro you are trying to install.
uk: Пакунки, потрібні для виконання завдань із параметрами I<--install> та I<--update>, отримуються за допомогою з'єднання з мережею основної системи. Встановлення значень змінних середовища C<http_proxy>, C<https_proxy> та C<ftp_proxy> таким чином, щоб вони вказували на локальний кеш, може забезпечити режим, за якого ці пакунки отримуватимуться із інтернету лише один раз. Ви також можете спробувати скористатися локальним сховищем пакунків, хоча налаштовування такого сховища може бути складною справою, специфічною для того дистрибутива Linux, який ви намагаєтеся встановити.

note: type: =head3
en: Using I<--no-sync>
uk: Користування I<--no-sync>

note: type: textblock
en: Use I<--no-sync>.  However read the caveats in the L</OPTIONS> section above, since this can cause disk corruption if not used correctly.
uk: Скористайтеся I<--no-sync>.  Втім, ознайомтеся із можливими проблемами, описаними у розділі L</ПАРАМЕТРИ> вище, оскільки це може призвести до пошкодження даних на диску, якщо використовувати неправильно.

note: type: =head3
en: Skipping virt-resize
uk: Пропускання virt-resize

note: type: textblock
en: Virt-builder can skip the virt-resize step under certain conditions.  This makes virt-builder much faster.  The conditions are:
uk: За певних умов virt-builder може пропускати крок virt-resize. Це значно пришвидшує роботу virt-builder. Умови пропускання є такими:

note: type: textblock
en: the output must be a regular file (not a block device), B<and>
uk: дані слід виводити до звичайного файла (не на блоковий пристрій), B<і>

note: type: textblock
en: the user did B<not> use the I<--size> option, B<and>
uk: користувачем B<не> використано параметр I<--size>, B<і>

note: type: textblock
en: the output format is the same as the template format (usually raw).
uk: формат виведення є тим самим, що і формат шаблона (зазвичай raw).

note: type: textblock
en: Virt-builder uses an internal implementation of pxzcat (parallel xzcat) if liblzma was found at build time.  If liblzma was not found at build time, regular C<xzcat> is used which is single-threaded.
uk: Virt-builder використовує внутрішню реалізацію pxzcat (паралельного xzcat), якщо під час збирання програми було знайдено liblzma. Якщо liblzma не було знайдено під час збирання, використовуватиметься звичайний C<xzcat>, який працює у один потік.

note: type: textblock
en: You can use virt-builder with the User-Mode Linux (UML) backend.  This may be faster when running virt-builder inside a virtual machine (eg. in the cloud).
uk: Ви можете використовувати virt-builder у поєднанні з модулем User-Mode Linux (UML). У такому режимі програма може працювати швидше, якщо virt-builder запущено у віртуальній машині (наприклад у хмарі).

note: type: textblock
en: To enable the UML backend, read the instructions in L<guestfs(3)/USER-MODE LINUX BACKEND>.
uk: Щоб увімкнути модуль UML, ознайомтеся із настановами у розділі L<guestfs(3)/USER-MODE LINUX BACKEND>.

note: type: textblock
en: Currently you have to use the I<--no-network> option.  This should be fixed in a future version.
uk: У поточній версії вам слід користуватися параметром I<--no-network>. Це буде виправлено у майбутній версії.

note: type: textblock
en: The qcow2 output format is not supported by UML.  You can only create raw-format guests.
uk: Підтримки формату виведення результатів qcow2 у UML не передбачено. Ви можете створювати гостьові системи лише у форматі raw.

note: type: textblock
en: Guests which use SELinux (such as Fedora and Red Hat Enterprise Linux)  require that each file has a correct SELinux label.
uk: Гостьові системи, у яких використовується SELinux (зокрема Fedora і Red Hat Enterprise Linux) потребують коректної мітки SELinux для кожного файла.

note: type: textblock
en: Virt-builder does not know how to give new files a label, so there are two possible strategies it can use to ensure correct labelling:
uk: Virt-builder не може знайти про спосіб, у який новим файлам надаються мітки. Тому існує дві можливі стратегії, використання яких забезпечує встановлення належних міток:

note: type: =item
en: Using I<--selinux-relabel>
uk: Користування I<--selinux-relabel>

note: type: textblock
en: This runs L<setfiles(8)> just before finalizing the guest, which sets SELinux labels correctly in the disk image.
uk: Запуск L<setfiles(8)> безпосередньо перед завершенням збирання образу гостьової системи для встановлення належних міток SELinux на образі диска.

note: type: textblock
en: This is the recommended method.
uk: Це рекомендований метод.

note: type: textblock
en: Guest templates may already contain a file called F</.autorelabel> or you may touch it.
uk: Наявність у гостьовій системі файла із назвою F</.autorelabel> або можливе його створення.

note: type: textblock
en: For guests that use SELinux, this causes L<restorecon(8)> to run at first boot.  Guests will reboot themselves once the first time you use them, which is normal and harmless.
uk: У гостьових системах, де використовується SELinux, це спричиняє запуск L<restorecon(8)> під час першого завантаження. Гостьові системи самостійно перезавантажуються під час першого використання — це нормальна і нешкідлива поведінка.

note: type: textblock
en: Please note that if your guest uses SELinux, and you are doing operations on it which might create new files or change existing ones, you are recommended to use I<--selinux-relabel>.  This will help in making sure that files have the right SELinux labels.
uk: Будь ласка, зауважте, що якщо у вашій гостьовій системі використовується SELinux, і ви виконуєте над цією системою дії, які можуть призвести до створення файлів або внесення змін до наявних файлів, варто скористатися I<--selinux-relabel>. Так можна забезпечити встановлення належних міток SELinux для цих файлів.

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-builder from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-builder з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: Use the option on its own to query the capabilities of the virt-builder binary.  Typical output looks like this:
uk: Скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-builder.  Типово виведені дані виглядатимуть якось так:

note: type: textblock
en: For other environment variables which affect all libguestfs programs, see L<guestfs(3)/ENVIRONMENT VARIABLES>.
uk: Опис інших змінних середовища, які стосуються усіх програм libguestfs, наведено у розділі L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>.

note: type: textblock
en: Set the proxy for downloads.  These environment variables (and more)  are actually interpreted by L<curl(1)>, not virt-builder.
uk: Встановити проксі-сервер для отримання даних. Ці змінні середовища (та інші) насправді обробляються L<curl(1)>, а не virt-builder.

note: type: textblock
en: Used to determine the location of the template cache, and the location of the user' sources.  See L</CACHING> and L</SOURCES OF TEMPLATES>.
uk: Використовується для визначення місця кешу шаблонів та місця джерел користувача. Див. L</КЕШУВАННЯ> і L</ДЖЕРЕЛА ШАБЛОНІВ>.

note: type: textblock
en: This can point to the directory containing data files used for Windows firstboot installation.
uk: Ця змінна визначає каталог, у якому містяться файли даних, які використовуються для встановлення Windows з першим завантаженням.

note: type: textblock
en: Normally you do not need to set this.  If not set, a compiled-in default will be used (something like F</usr/share/virt-tools>).
uk: Зазвичай, потреби у встановленні власного значення немає. Якщо значення не встановлено, буде використано вбудоване типове значення (щось схоже на F</usr/share/virt-tools>).

note: type: textblock
en: This directory may contain the following files:
uk: Цей каталог може містити такі файли:

note: type: textblock
en: This is the RHSrvAny Windows binary, used to install a "firstboot" script in Windows guests.  It is required if you intend to use the I<--firstboot> or I<--firstboot-command> options with Windows guests.
uk: Це виконуваний файл для Windows RHSrvAny, який використовується для встановлення скрипту «firstboot» у гостьові системи Windows. Він знадобиться, якщо ви маєте намір використовувати параметри I<--firstboot> і I<--firstboot-command> для гостьових операційних систем Windows.

note: type: textblock
en: See also: C<https://github.com/rwmjones/rhsrvany>
uk: Див. також C<https://github.com/rwmjones/rhsrvany>

note: type: textblock
en: This is a Windows binary shipped with SUSE VMDP, used to install a "firstboot" script in Windows guests.  It is required if you intend to use the I<--firstboot> or I<--firstboot-command> options with Windows guests.
uk: Це виконуваний файл Windows, що постачається разом із VMDP SUSE, використовується для встановлення скрипту «firstboot» у гостьові системи Windows. Він знадобиться, якщо ви маєте намір використовувати параметри I<--firstboot> і I<--firstboot-command> для гостьових операційних систем Windows.

note: type: textblock
en: Used to determine the location of the template cache.  See L</CACHING>.
uk: Використовується для визначення місця кешу шаблонів. Див. L</КЕШУВАННЯ>.

note: type: textblock
en: Used to determine the location of the user' sources.  See L</SOURCES OF TEMPLATES>.
uk: Використовується для визначення місця джерел користувача. Див. L</ДЖЕРЕЛА ШАБЛОНІВ>.

note: type: textblock
en: Used to determine the location of the system sources.  See L</SOURCES OF TEMPLATES>.
uk: Використовується для визначення місця джерел системи. Див. L</ДЖЕРЕЛА ШАБЛОНІВ>.

note: type: textblock
en: Copyright (C) 2013 Red Hat Inc.
uk: © Red Hat Inc., 2013

note: type: textblock
en: virt-index-validate - Validate virt-builder index file
uk: virt-index-validate — засіб перевірки файла покажчика virt-builder

note: type: textblock
en: L<virt-builder(1)> uses an index file to store metadata about templates that it knows how to use.  This index file has a specific format which virt-index-validate knows how to validate.
uk: L<virt-builder(1)> використовує файл покажчика (index) для зберігання метаданих щодо шаблонів, способи використання яких відомі програмі. Цей файл покажчика має специфічний формат, перевірку якого виконує програма virt-index-validate.

note: type: textblock
en: Note that virt-index-validate can validate either the signed or unsigned index file (ie. either F<index> or F<index.asc>).  It can only validate a local file, not a URL.
uk: Зауважте, що virt-index-validate може перевіряти як підписані, так і непідписані файли покажчиків (тобто, як F<index>, так і F<index.asc>). Програма здатна перевіряти лише локальні файли і не може працювати із зовнішніми адресами.

note: type: textblock
en: Check for compatibility with virt-builder 1.24.0.  (Using this option implies I<--compat-1.24.1>, so you don't need to use both.)
uk: Перевірити на сумісність за допомогою virt-builder 1.24.0. (Використання цього параметра автоматично додає I<--compat-1.24.1>, тому немає потреби у додатковому параметрі, якщо ви вже вказали цей.)

note: type: textblock
en: In particular:
uk: Зокрема:

note: type: textblock
en: This version of virt-builder could not handle C<[...]> (square brackets) in field names (eg. C<checksum[sha512]=...>).
uk: Ця версія virt-builder не здатна обробляти C<[...]> (квадратні дужки) у назвах полів (наприклад, C<checksum[sha512]=...>).

note: type: textblock
en: It required detached signatures (C<sig=...>).
uk: Потребувало від'єднаних підписів (C<sig=...>).

note: type: textblock
en: Check for compatibility with virt-builder E<ge> 1.24.1.
uk: Перевірити на сумісність за допомогою virt-builder E<ge> 1.24.1.

note: type: textblock
en: This version of virt-builder could not handle C<.> (period) in field names or C<,> (comma) in subfield names.
uk: У цій версії virt-builder не було передбачено обробки C<.> (крапки) у назвах полів або C<,> (коми) у назвах підполів.

note: type: textblock
en: It could not handle comments appearing in the file.
uk: Вона не може обробляти коментарі, які є у цьому файлі.

note: type: textblock
en: This program returns 0 if the index file validates, or non-zero if there was an error.
uk: Ця програма повертає 0, якщо файл покажчика пройде перевірку, або ненульове значення, якщо сталася помилка.

note: type: textblock
en: virt-cat - Display files in a virtual machine
uk: virt-cat — показ файлів у віртуальній машині

note: type: verbatim
en:  virt-cat [--options] -d domname file [file ...]
uk:  virt-cat [--параметри] -d назва_домену файл [файл...]

note: type: verbatim
en:  virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]
uk:  virt-cat [--параметри] -a диск.img [-a диск.img ...] файл [файл...]

note: type: textblock
en: Old-style:
uk: Застарілий стиль:

note: type: verbatim
en:  virt-cat domname file
uk:  virt-cat назва_домену файл

note: type: verbatim
en:  virt-cat disk.img file
uk:  virt-cat диск.img файл

note: type: textblock
en: C<virt-cat> is a command line tool to display the contents of C<file> where C<file> exists in the named virtual machine (or disk image).
uk: C<virt-cat> — інструмент командного рядка для показу вмісту C<файла>, який зберігається у вказаній віртуальній машині (або образі диска).

note: type: textblock
en: Multiple filenames can be given, in which case they are concatenated together.  Each filename must be a full path, starting at the root directory (starting with '/').
uk: Ви можете вказати декілька назв файлів. Вміст таких файлів буде об’єднано. Назви файлів слід вказувати повністю (разом зі шляхом), починаючи з кореневого каталогу (тобто назва має починатися з «/»).

note: type: textblock
en: C<virt-cat> can be used to quickly view a file.  To edit a file, use C<virt-edit>.  For more complex cases you should look at the L<guestfish(1)> tool (see L</USING GUESTFISH> below).
uk: C<virt-cat> можна скористатися для пришвидшення перегляду файла. Для редагування даних слід користуватися C<virt-edit>. Для виконання складніших дій можна скористатися програмою L<guestfish(1)> (див. L</ВИКОРИСТАННЯ GUESTFISH> нижче).

note: type: textblock
en: Display F</etc/fstab> file from inside the libvirt VM called C<mydomain>:
uk: Показати вміст файл F</etc/fstab> у віртуальній машині libvirt з назвою C<mydomain>:

note: type: textblock
en: Find out what packages were recently installed:
uk: Пошук нещодавно встановлених пакунків:

note: type: textblock
en: Find out who is logged on inside a virtual machine:
uk: Визначення користувачів, які працюють у віртуальній машині:

note: type: textblock
en: or who was logged on:
uk: або тих, які у ній працювали:

note: type: textblock
en: Add I<file> which should be a disk image from a virtual machine.  If the virtual machine has multiple block devices, you must supply all of them with separate I<-a> options.
uk: Додати I<файл>, який має бути образом диска з віртуальної машини. Якщо у віртуальній машині декілька блокових пристроїв, вам слід вказати їх усі за допомогою окремих записів параметра I<-a>.

note: type: textblock
en: When prompting for keys and passphrases, virt-cat normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-cat попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: Read key or passphrase parameters from stdin.  The default is to try to read passphrases from the user by opening F</dev/tty>.
uk: Прочитати параметри ключа або пароля із джерела стандартного введення. Типово програма намагається читати паролі від користувача відкриттям F</dev/tty>.

note: type: =item
en: B<-m> dev[:mountpoint[:options[:fstype]]]
uk: B<-m> пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]]

note: type: =item
en: B<--mount> dev[:mountpoint[:options[:fstype]]]
uk: B<--mount> пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]]

note: type: textblock
en: Mount the named partition or logical volume on the given mountpoint.
uk: Змонтувати названий розділ або логічний том до вказаної точки монтування.

note: type: textblock
en: If the mountpoint is omitted, it defaults to F</>.
uk: Якщо точку монтування не вказано, типовим значенням є F</>.

note: type: textblock
en: Specifying any mountpoint disables the inspection of the guest and the mount of its root and all of its mountpoints, so make sure to mount all the mountpoints needed to work with the filenames given as arguments.
uk: Визначення точки монтування вимикає інспектування гостьової системи і призводить до монтування її кореневої системи та усіх її точок монтування. Тому вам слід забезпечити монтування усіх точок монтування, потрібних для роботи із файлами, назви яких вказано як аргументи.

note: type: textblock
en: If you don’t know what filesystems a disk image contains, you can either run guestfish without this option, then list the partitions, filesystems and LVs available (see L</list-partitions>, L</list-filesystems> and L</lvs> commands), or you can use the L<virt-filesystems(1)> program.
uk: Якщо ви не знаєте, які саме файлові системи містяться у образі диска, ви можете або запустити guestfish без цього параметра і ознайомитися зі списком доступних розділів, файлових систем та логічних томів (див. команди L</list-partitions>, L</list-filesystems> і L</lvs>), або скористатися програмою L<virt-filesystems(1)>.

note: type: textblock
en: The third (and rarely used) part of the mount parameter is the list of mount options used to mount the underlying filesystem.  If this is not given, then the mount options are either the empty string or C<ro> (the latter if the I<--ro> flag is used).  By specifying the mount options, you override this default choice.  Probably the only time you would use this is to enable ACLs and/or extended attributes if the filesystem can support them:
uk: Третьою (і нечасто використовуваною) частиною параметра монтування є список параметрів монтування, які використовуються для того, щоб змонтувати підлеглу файлову систему. Якщо такий список не буде задано, параметрами монтування вважатиметься або порожній рядок, або C<ro> (другий варіант використовується, якщо використано прапорець I<--ro>). Заданням параметрів монтування ви перевизначаєте типовий варіант. Ймовірно, єдиним випадком, коли вам може знадобитися це, є випадок вмикання списків керування доступом (ACL) і/або розширених атрибутів, якщо у файловій системі передбачено їхню підтримку:

note: type: textblock
en: Using this flag is equivalent to using the C<mount-options> command.
uk: Використання цього прапорця є еквівалентним до використання команди C<mount-options>.

note: type: textblock
en: The fourth part of the parameter is the filesystem driver to use, such as C<ext3> or C<ntfs>. This is rarely needed, but can be useful if multiple drivers are valid for a filesystem (eg: C<ext2> and C<ext3>), or if libguestfs misidentifies a filesystem.
uk: Четвертою частиною параметра є назва драйвера файлової системи, якою слід скористатися, зокрема C<ext3> або C<ntfs>. У визначенні цієї частини параметра рідко виникає потреба, але вона може бути корисною, якщо для файлової системи можна скористатися декількома драйверами (приклад: C<ext2> і C<ext3>), або libguestfs визначає файлову систему помилково.

note: type: =head1
en: OLD-STYLE COMMAND LINE ARGUMENTS
uk: ПАРАМЕТРИ КОМАНДНОГО РЯДКА У ФОРМАТІ ПОПЕРЕДНІХ ВЕРСІЙ

note: type: textblock
en: Previous versions of virt-cat allowed you to write either:
uk: У попередніх версіях virt-cat можна було використовувати або

note: type: verbatim
en:  virt-cat disk.img [disk.img ...] file
uk:  virt-cat диск.img [диск.img ...] файл

note: type: textblock
en: or
uk: або

note: type: verbatim
en:  virt-cat guestname file
uk:  virt-cat назва_гостьової_системи файл

note: type: textblock
en: whereas in this version you should use I<-a> or I<-d> respectively to avoid the confusing case where a disk image might have the same name as a guest.
uk: тоді як у цій версії вам слід скористатися I<-a> або I<-d>, відповідно, щоб уникнути помилок у випадках, коли назва образу диска може збігатися із назвою гостьової системи.

note: type: textblock
en: For compatibility the old style is still supported.
uk: З міркувань зворотної сумісності передбачено підтримку запису параметрів у застарілому форматі.

note: type: =head1
en: LOG FILES
uk: ФАЙЛИ ЖУРНАЛІВ

note: type: textblock
en: To list out the log files from guests, see the related tool L<virt-log(1)>.  It understands binary log formats such as the systemd journal.
uk: Щоб отримати список файлів журналів у гостьових системах, скористайтеся відповідним інструментом — L<virt-log(1)>. Ця програма може обробляти журнали у двійкових форматах, зокрема журнал systemd.

note: type: textblock
en: To follow (tail) text log files, use L<virt-tail(1)>.
uk: Для стеження за вмістом (хвостом) файлів журналу скористайтеся L<virt-tail(1)>.

note: type: =head1
en: WINDOWS PATHS
uk: ШЛЯХИ У WINDOWS

note: type: textblock
en: C<virt-cat> has a limited ability to understand Windows drive letters and paths (eg. F<E:\foo\bar.txt>).
uk: У C<virt-cat> передбачено обмежені можливості щодо обробки літерних дисків та шляхів у Windows (наприклад F<E:\foo\bar.txt>).

note: type: textblock
en: If and only if the guest is running Windows then:
uk: Тоді і лише тоді, коли у гостьовій системі працює Windows:

note: type: textblock
en: Drive letter prefixes like C<C:> are resolved against the Windows Registry to the correct filesystem.
uk: Літери дисків, наприклад C<C:>, замінюються на адреси відповідних файлових систем на основі даних з регістру Windows.

note: type: textblock
en: Any backslash (C<\>) characters in the path are replaced with forward slashes so that libguestfs can process it.
uk: Усі символи зворотної похилої риски (C<\>) у шляху замінюються символами звичайної похилої риски так, щоб libguestfs змогла обробити адресу.

note: type: textblock
en: The path is resolved case insensitively to locate the file that should be displayed.
uk: Шлях до файла, вміст якого має бути показано, визначається без врахування регістру символів у його записі.

note: type: textblock
en: There are some known shortcomings:
uk: Відомі певні недоліки програми:

note: type: textblock
en: Some NTFS symbolic links may not be followed correctly.
uk: Перехід за деякими символічними посиланнями NTFS може здійснюватися з помилками.

note: type: textblock
en: NTFS junction points that cross filesystems are not followed.
uk: Точки з'єднання NTFS, які виходять за межі однією файлової системи використовувати не можна.

note: type: =head1
en: USING GUESTFISH
uk: ВИКОРИСТАННЯ GUESTFISH

note: type: textblock
en: L<guestfish(1)> is a more powerful, lower level tool which you can use when C<virt-cat> doesn't work.
uk: L<guestfish(1)> є потужнішим інструментом нижчого рівня, яким можна скористатися, якщо C<virt-cat> не працює.

note: type: textblock
en: Using C<virt-cat> is approximately equivalent to doing:
uk: Використання C<virt-cat> є приблизним еквівалентом такого:

note: type: verbatim
en:  guestfish --ro -i -d domname download file -
uk:  guestfish --ro -i -d назва_домену download файл -

note: type: textblock
en: where C<domname> is the name of the libvirt guest, and C<file> is the full path to the file.  Note the final C<-> (meaning "output to stdout").
uk: де C<назва_домену> — назва гостьової системи libvirt, а C<файл> — шлях до файла повністю. Зауважте, що кінцеве C<-> означає «вивести дані до стандартного виведення».

note: type: textblock
en: The command above uses libguestfs’s guest inspection feature and so does not work on guests that libguestfs cannot inspect, or on things like arbitrary disk images that don't contain guests.  To display a file from a disk image directly, use:
uk: У вказаній вище команді використано можливість інспектування гостьових систем засобами libguestfs, отже, вона не працюватиме у гостьових системах, які libguestfs не може інспектувати, або у довільних образах дисків, які не містять гостьових систем. Щоб отримати дані файла безпосередньо з образу диска, скористайтеся такою командою:

note: type: verbatim
en:  guestfish --ro -a disk.img -m /dev/sda1 download file -
uk:  guestfish --ro -a диск.img -m /dev/sda1 download файл -

note: type: textblock
en: where F<disk.img> is the disk image, F</dev/sda1> is the filesystem within the disk image, and C<file> is the full path to the file.
uk: де F<диск.img> — образ диска, F</dev/sda1> — файлова система у образі диска, а C<файл> — шлях до файла повністю.

note: type: textblock
en: Copyright (C) 2010-2012 Red Hat Inc.
uk: © Red Hat Inc., 2010–2012

note: type: textblock
en: virt-filesystems - List filesystems, partitions, block devices, LVM in a virtual machine or disk image
uk: virt-filesystems — програма для показу списку файлових систем, розділів, блокових пристроїв, LVM у віртуальних машинах або образах дисків

note: type: verbatim
en:  virt-filesystems [--options] -d domname
uk:  virt-filesystems [--параметри] -d назва_домену

note: type: verbatim
en:  virt-filesystems [--options] -a disk.img [-a disk.img ...]
uk:  virt-filesystems [--параметри] -a диск.img [-a диск.img ...]

note: type: textblock
en: This tool allows you to discover filesystems, partitions, logical volumes, and their sizes in a disk image or virtual machine.  It is a replacement for L<virt-list-filesystems(1)> and L<virt-list-partitions(1)>.
uk: За допомогою цієї програми ви зможете виявляти файлові системи, розділи диска, логічні томи та визначати їхні розміри у образі диска або у віртуальній машині. Програма є замінником L<virt-list-filesystems(1)> та L<virt-list-partitions(1)>.

note: type: textblock
en: One use for this tool is from shell scripts to iterate over all filesystems from a disk image:
uk: Одним із варіантів використання цієї програми є додавання її у скрипти для ітеративного обходу усіх файлових систем на образі диска:

note: type: textblock
en: Another use is to list partitions before using another tool to modify those partitions (such as L<virt-resize(1)>).  If you are curious about what an unknown disk image contains, use this tool along with L<virt-inspector(1)>.
uk: Це одним використанням програми є виведення списку розділів до використання іншого інструмента для внесення змін до цих розділів (зокрема програми L<virt-resize(1)>). Якщо вам цікавий вміст невідомого образу диска, скористайтеся цим інструментом разом із L<virt-inspector(1)>.

note: type: textblock
en: Various command line options control what this program displays.  You need to give either I<-a> or I<-d> options to specify the disk image or libvirt guest respectively.  If you just specify that then the program shows filesystems found, one per line, like this:
uk: Керувати виведенням даних цією програмою можна за допомогою різноманітних параметрів командного рядка. Вам слід задати параметр I<-a> або I<-d>, щоб визначити образ диска або гостьову систему libvirt. Якщо ви вкажете один з цих параметрів, програма покаже знайдені файлові системи, по одній на рядок, ось так:

note: type: textblock
en: If you add I<-l> or I<--long> then the output includes extra information:
uk: Якщо ви додасте I<-l> або I<--long>, у виведених даних буде показано додаткову інформацію:

note: type: verbatim
en:  $ virt-filesystems -a disk.img -l
     Name                   Type         VFS   Label  Size
     /dev/sda1              filesystem   ext4  boot   524288000
     /dev/vg_guest/lv_root  filesystem   ext4  root   10212081664
uk:  $ virt-filesystems -a disk.img -l
     Назва                  Тип          ВФС   Мітка  Розмір
     /dev/sda1              filesystem   ext4  boot   524288000
     /dev/vg_guest/lv_root  filesystem   ext4  root   10212081664

note: type: textblock
en: If you add I<--extra> then non-mountable (swap, unknown) filesystems are shown as well:
uk: Якщо ви додасте параметр I<--extra>, буде показано і файлові системи, які непридатні до монтування (резервна пам'ять, невідомий формат):

note: type: textblock
en: If you add I<--partitions> then partitions are shown instead of filesystems:
uk: Якщо ви додасте параметр I<--partitions>, буде показано розділи, а не файлові системи:

note: type: textblock
en: Similarly you can use I<--logical-volumes>, I<--volume-groups>, I<--physical-volumes>, I<--block-devices> to list those items.
uk: У подібний спосіб, ви можете скористатися параметрами I<--logical-volumes>, I<--volume-groups>, I<--physical-volumes>, I<--block-devices>, щоб отримати список цих записів.

note: type: textblock
en: You can use these options in combination as well (if you want a combination including filesystems, you have to add I<--filesystems>).  Notice that some items fall into several categories (eg. F</dev/sda1> might be both a partition and a filesystem).  These items are listed several times.  To get a list which includes absolutely everything that virt-filesystems knows about, use the I<--all> option.
uk: Ви можете також скористатися цими параметрами у поєднанні (якщо вам потрібна комбінація із файловими системами, вам слід додати I<--filesystems>). Зауважте, що деякі з пунктів списку можуть належати одночасно декільком категоріям (наприклад, F</dev/sda1> може бути як розділом, так і файловою системою). Такі пункти буде показано відповідну кількість разів. Щоб отримати список, який міститиме абсолютно усе, про що знає virt-filesystems, скористайтеся параметром I<--all>.

note: type: textblock
en: UUIDs (because they are quite long) are not shown by default.  Add the I<--uuid> option to display device and filesystem UUIDs in the long output.
uk: UUID (оскільки вони є доволі довгими) типово показано не буде. Додайте параметр I<--uuid>, щоб ознайомитися із UUID пристроїв і файлових систем у розширених даних.

note: type: textblock
en: I<--all --long --uuid> is a useful combination to display all possible information about everything.
uk: I<--all --long --uuid> є корисною комбінацією для показу усіх доступних даних щодо усього.

note: type: verbatim
en:  $ virt-filesystems -a win.img --all --long --uuid -h
     Name      Type       VFS  Label           Size Parent   UUID
     /dev/sda1 filesystem ntfs System Reserved 100M -        F81C92571C92112C
     /dev/sda2 filesystem ntfs -               20G  -        F2E8996AE8992E3B
     /dev/sda1 partition  -    -               100M /dev/sda -
     /dev/sda2 partition  -    -               20G  /dev/sda -
     /dev/sda  device     -    -               20G  -        -
uk:  $ virt-filesystems -a win.img --all --long --uuid -h
     Назва     Тип        VFS  Мітка           Розмір Батьк.   UUID
     /dev/sda1 filesystem ntfs System Reserved 100M -        F81C92571C92112C
     /dev/sda2 filesystem ntfs -               20G  -        F2E8996AE8992E3B
     /dev/sda1 partition  -    -               100M /dev/sda -
     /dev/sda2 partition  -    -               20G  /dev/sda -
     /dev/sda  device     -    -               20G  -        -

note: type: textblock
en: For machine-readable output, use I<--csv> to get Comma-Separated Values.
uk: Для отримання зручних для машинної обробки даних скористайтеся параметром I<--csv>. Дані буде виведено у форматі значень відокремлених комами.

note: type: textblock
en: Display everything.  This is currently the same as specifying these options: I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--logical-volumes>, I<--volume-groups>, I<--physical-volumes>.  (More may be added to this list in future).
uk: Вивести усе. У поточній версії це те саме, що вказати такі параметри: I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--logical-volumes>, I<--volume-groups>, I<--physical-volumes>. (У майбутньому до цього списку може бути додано інші пункти).

note: type: textblock
en: See also I<--long>.
uk: Див. також I<--long>.

note: type: textblock
en: Display block devices.
uk: Показати список блокових пристроїв.

note: type: textblock
en: Write out the results in CSV format (comma-separated values).  This format can be imported easily into databases and spreadsheets, but read L</NOTE ABOUT CSV FORMAT> below.
uk: Вивести результати до формату CSV (записів, відокремлених комами). Дані у цьому форматі можна просто імпортувати до баз даних і електронних таблиць. Втім, варто ознайомитися із розділом L</НОТАТКА ЩОДО ФОРМАТУ CSV>, наведеним нижче.

note: type: textblock
en: When prompting for keys and passphrases, virt-filesystems normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-filesystems попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: This causes filesystems that are not ordinary, mountable filesystems to be displayed.  This category includes swapspace, and filesystems that are empty or contain unknown data.
uk: Це спричинить показ файлових систем, які не є звичайними файловими системами, які придатні до монтування. До цієї категорії включено розділи резервної пам'яті та файлові системи, які є порожніми або містять невідомі дані.

note: type: textblock
en: This option implies I<--filesystems>.
uk: Цей параметр автоматично встановлює параметр I<--filesystems>.

note: type: textblock
en: Display mountable filesystems.  If no display option was selected then this option is implied.
uk: Показати список придатних до монтування систем. Якщо параметр показу не було визначено, цей параметр буде додано до команди.

note: type: textblock
en: With I<--extra>, non-mountable filesystems are shown too.
uk: Якщо було використано параметр I<--extra>, буде показано і непридатні до монтування файлові системи.

note: type: verbatim
en:  virt-filesystems --format=raw -a disk.img
uk:  virt-filesystems --format=raw -a диск.img

note: type: verbatim
en:  virt-filesystems --format=raw -a disk.img --format -a another.img
uk:  virt-filesystems --format=raw -a диск.img --format -a інший_диск.img

note: type: textblock
en: In I<--long> mode, display sizes in human-readable format.
uk: У режимі I<--long> показувати розміри у зручному для читання форматі.

note: type: textblock
en: Display extra columns of data ("long format").
uk: Показувати додаткові стовпчики даних («довгий формат»).

note: type: textblock
en: A title row is added unless you also specify I<--no-title>.
uk: Якщо ви не додасте параметр I<--no-title>, буде додано рядок заголовка.

note: type: textblock
en: The extra columns displayed depend on what output you select, and the ordering of columns may change in future versions.  Use the title row, I<--csv> output and/or L<csvtool(1)> to match columns to data in external programs.
uk: Вміст додаткових стовпчиків залежить від вибраного виведення, а упорядкування стовпчиків може змінитися у майбутніх версіях. Для того, щоб виведені дані відповідали вхідним даним зовнішніх програм, скористайтеся рядком заголовків, виведенням I<--csv> і/або L<csvtool(1)>.

note: type: textblock
en: Use I<-h> if you want sizes to be displayed in human-readable format.  The default is to show raw numbers of I<bytes>.
uk: Якщо дані має бути виведено у зручному для читання людиною форматі, скористайтеся параметром I<-h>. Типово, буде показано розміри у I<байтах>.

note: type: textblock
en: Use I<--uuid> to display UUIDs too.
uk: Скористайтеся параметром I<--uuid>, щоб було показано також UUID.

note: type: textblock
en: Display LVM logical volumes.  In this mode, these are displayed irrespective of whether the LVs contain filesystems.
uk: Показати логічні томи LVM. У цьому режимі томи буде показано незалежно від того, чи містяться на логічних томах файлові системи.

note: type: textblock
en: In I<--long> mode, don’t add a title row.
uk: У режимі I<--long> не додавати рядок заголовків.

note: type: textblock
en: Note that the order of the columns is not fixed, and may change in future versions of virt-filesystems, so using this option may give you unexpected surprises.
uk: Зауважте, що порядок стовпчиків не є фіксованим і може змінитися у майбутніх версіях virt-filesystems; отже, використання цього параметра може призвести до не зовсім очікуваних наслідків.

note: type: textblock
en: Display partitions.  In this mode, these are displayed irrespective of whether the partitions contain filesystems.
uk: Показати розділи. У цьому режимі розділи буде показано незалежно від того, чи містяться на розділах файлові системи.

note: type: textblock
en: Display LVM physical volumes.
uk: Показати фізичні томи LVM.

note: type: textblock
en: In I<--long> mode, display UUIDs as well.
uk: У режимі I<--long> буде також виведено UUID.

note: type: textblock
en: Display LVM volume groups.
uk: Показати групи томів LVM.

note: type: =head1
en: COLUMNS
uk: СТОВПЧИКИ

note: type: textblock
en: Note that columns in the output are subject to reordering and change in future versions of this tool.
uk: Зауважте, що порядок і перелік стовпчиків у виведених даних у майбутніх версіях може бути змінено.

note: type: =item
en: B<Name>
uk: B<Назва>

note: type: textblock
en: The filesystem, partition, block device or LVM name.
uk: Назва файлової системи, розділу, блокового пристрою або LVM.

note: type: textblock
en: For device and partition names these are displayed as canonical libguestfs names, so that for example F</dev/sda2> is the second partition on the first device.
uk: Назви пристроїв та розділів буде показано у форматі канонічних назв libguestfs. Таким чином, наприклад, F</dev/sda2> означатиме другий розділ на першому пристрої.

note: type: textblock
en: If the I<--long> option is B<not> specified, then only the name column is shown in the output.
uk: Якщо параметр I<--long> B<не> вказано, у виведених даних буде лише стовпчик назв.

note: type: =item
en: B<Type>
uk: B<Тип>

note: type: textblock
en: The object type, for example C<filesystem>, C<lv>, C<device> etc.
uk: Тип об'єкта. Наприклад, C<filesystem>, C<lv>, C<device> тощо.

note: type: textblock
en: If there is a filesystem, then this column displays the filesystem type if one could be detected, eg. C<ext4>.
uk: Якщо буде виявлено відому програмі файлову систему, у цьому стовпчику буде показано дані щодо неї, наприклад C<ext4>.

note: type: =item
en: B<Label>
uk: B<Мітка>

note: type: textblock
en: If the object has a label (used for identifying and mounting filesystems) then this column contains the label.
uk: Якщо у об'єкта є мітка (яка використовується для ідентифікації та монтування файлових систем), у цьому стовпчику міститься мітка.

note: type: textblock
en: The partition type byte, displayed as a two digit hexadecimal number.  A comprehensive list of partition types can be found here: L<http://www.win.tue.nl/~aeb/partitions/partition_types-1.html>
uk: Байт типу розділу, буде показано у форматі двоцифрового шістнадцяткового числа. Довідковий список типів розділів наведено тут: L<http://www.win.tue.nl/~aeb/partitions/partition_types-1.html>

note: type: textblock
en: This is only applicable for DOS (MBR) partitions.
uk: Це стосується лише розділів DOS (MBR).

note: type: =item
en: B<Size>
uk: B<Розмір>

note: type: textblock
en: The size of the object in bytes.  If the I<--human> option is used then the size is displayed in a human-readable form.
uk: Розмір об'єкта у байтах. Якщо використано параметр I<--human>, розмір буде вказано у зручному для читання форматі.

note: type: =item
en: B<Parent>
uk: B<Основа>

note: type: textblock
en: The parent column records the parent relationship between objects.
uk: У стовпчику батьківських об'єктів показано відношення батьківських і дочірніх об'єктів.

note: type: textblock
en: For example, if the object is a partition, then this column contains the name of the containing device.  If the object is a logical volume, then this column is the name of the volume group.
uk: Наприклад, якщо об'єкт є розділом, у цьому стовпчику міститиметься назва пристрою, на якому цей розділ розташовано. Якщо об'єкт є логічним томом, у цьому стовпчику буде наведено назву групи томів.

note: type: textblock
en: If there is more than one parent, then this column is (internal to the column) a comma-separated list, eg. C</dev/sda,/dev/sdb>.
uk: Якщо батьківських об'єктів декілька, вмістом стовпчика буде список значень відокремлених комами, наприклад C</dev/sda,/dev/sdb>.

note: type: textblock
en: If the object has a UUID (used for identifying and mounting filesystems and block devices) then this column contains the UUID as a string.
uk: Якщо у об'єкта є UUID (який використовується для ідентифікації та монтування файлових систем та блокових пристроїв), у цьому стовпчику міститься UUID у форматі рядка.

note: type: textblock
en: The UUID is only displayed if the I<--uuid> option is given.
uk: UUID буде показано, лише якщо вказано параметр I<--uuid>.

note: type: =head1
en: NOTE ABOUT CSV FORMAT
uk: ЗАУВАЖЕННЯ ЩОДО ФОРМАТУ CSV

note: type: textblock
en: Comma-separated values (CSV) is a deceptive format.  It I<seems> like it should be easy to parse, but it is definitely not easy to parse.
uk: Формат значень, які відокремлено комами (CSV), є оманливо простим. Може I<здатися>, що його просто обробляти, але насправді це зовсім не так.

note: type: textblock
en: Myth: Just split fields at commas.  Reality: This does I<not> work reliably.  This example has two columns:
uk: Міф: достатньо розділити поля за комами. Реальність: поділ комами I<не> працює у надійний спосіб. Ось приклад із двома стовпчиками:

note: type: textblock
en: Myth: Read the file one line at a time.  Reality: This does I<not> work reliably.  This example has one row:
uk: Міф: слід читати файл за рядками, один рядок за одну операцію читання. Реальність: читання за рядками I<не> працює у надійний спосіб. Ось приклад із одним рядком:

note: type: textblock
en: For shell scripts, use C<csvtool> (L<https://github.com/Chris00/ocaml-csv> also packaged in major Linux distributions).
uk: Для скриптів командної оболонки скористайтеся C<csvtool> (L<https://github.com/Chris00/ocaml-csv> також є серед пакунків основних дистрибутивів Linux).

note: type: textblock
en: For other languages, use a CSV processing library (eg. C<Text::CSV> for Perl or Python’s built-in csv library).
uk: Для інших мов програмування використовуйте бібліотеку для обробки даних CSV (наприклад, C<Text::CSV> для Perl або вбудовану бібліотеку csv Python).

note: type: textblock
en: Most spreadsheets and databases can import CSV directly.
uk: У більшості електронних таблиць та баз даних передбачено можливості безпосереднього імпортування даних CSV.

note: type: textblock
en: virt-log - Display log files from a virtual machine
uk: virt-log -- програма для показу файлів журналу віртуальної машини

note: type: verbatim
en:  virt-log [--options] -d domname
uk:  virt-log [--параметри] -d назва_домену

note: type: verbatim
en:  virt-log [--options] -a disk.img [-a disk.img ...]
uk:  virt-log [--параметри] -a диск.img [-a диск.img ...]

note: type: textblock
en: C<virt-log> is a command line tool to display the log files from the named virtual machine (or disk image).
uk: C<virt-log> — інструмент командного рядка для показу файлів журналів з вказаної віртуальної машини (або образу диска).

note: type: textblock
en: This tool understands and displays both plain text log files (eg. F</var/log/messages>) and binary formats such as the systemd journal.
uk: Ця програма може працювати як зі звичайними текстовими файлами журналу (наприклад F</var/log/messages>), такі із файлами журналів у двійкових форматах, зокрема журналом systemd.

note: type: textblock
en: To display other types of files, use L<virt-cat(1)>.  To follow (tail)  text log files, use L<virt-tail(1)>.  To copy files out of a virtual machine, use L<virt-copy-out(1)>.  To display the contents of the Windows Registry, use L<virt-win-reg(1)>.
uk: Для виведення вмісту файлів інших типів скористайтеся L<virt-cat(1)>. Для стеження (tail) за текстовими файлами журналу, скористайтеся L<virt-tail(1)>. Щоб скопіювати файли з віртуальної машини, скористайтеся L<virt-copy-out(1)>. Щоб вивести вміст реєстру Windows, скористайтеся L<virt-win-reg(1)>.

note: type: textblock
en: Display the complete logs from a guest:
uk: Показ журналу з гостьової системи повністю:

note: type: textblock
en: Find out what DHCP IP address a VM acquired:
uk: Визначення IP-адреси DHCP, використаної віртуальною машиною:

note: type: textblock
en: When prompting for keys and passphrases, virt-log normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-log попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: verbatim
en:  virt-log --format=raw -a disk.img
uk:  virt-log --format=raw -a диск.img

note: type: verbatim
en:  virt-log --format=raw -a disk.img --format -a another.img
uk:  virt-log --format=raw -a диск.img --format -a інший.img

note: type: textblock
en: Copyright (C) 2010-2020 Red Hat Inc.
uk: © Red Hat Inc., 2010–2020

note: type: textblock
en: virt-ls - List files in a virtual machine
uk: virt-ls — програма для показу списку файлів у віртуальній машині

note: type: verbatim
en:  virt-ls [--options] -d domname directory [directory ...]
uk:  virt-ls [--параметри] -d назва_домену каталог [каталог ...]

note: type: verbatim
en:  virt-ls [--options] -a disk.img [-a disk.img ...] directory [directory ...]
uk:  virt-ls [--параметри] -a диск.img [-a диск.img ...] каталог [каталог ...]

note: type: textblock
en: Old style:
uk: Старий стиль:

note: type: verbatim
en:  virt-ls [--options] domname directory
uk:  virt-ls [--параметри] назва_домену каталог

note: type: verbatim
en:  virt-ls [--options] disk.img [disk.img ...] directory
uk:  virt-ls [--параметри] диск.img [диск.img ...] каталог

note: type: textblock
en: C<virt-ls> lists filenames, file sizes, checksums, extended attributes and more from a virtual machine or disk image.
uk: C<virt-ls> виводить списки назв файлів, розмірів файлів, контрольних сум, розширених атрибутів та інші дані з віртуальної машини або образу диска.

note: type: textblock
en: Multiple directory names can be given, in which case the output from each is concatenated.
uk: Можна вказати декілька назв каталогів. У цьому випадку виведені дані для кожного з них буде об'єднано.

note: type: textblock
en: To list directories from a libvirt guest use the I<-d> option to specify the name of the guest.  For a disk image, use the I<-a> option.
uk: Щоб отримати список вмісту каталогів з гостьової системи libvirt, скористайтеся параметром I<-d> для задання назви гостьової системи. Для роботи з образом диска скористайтеся параметром I<-a>.

note: type: textblock
en: C<virt-ls> can do many simple file listings.  For more complicated cases you may need to use L<guestfish(1)>, or write a program directly to the L<guestfs(3)> API.
uk: C<virt-ls> може створювати багато простих списків файлів. Складніші списки можна створити за допомогою L<guestfish(1)> або програми, яка безпосередньо використовує програмний інтерфейс L<guestfs(3)>.

note: type: textblock
en: Get a list of all files and directories in a virtual machine:
uk: Отримати список всіх файлів і каталогів у віртуальній машині:

note: type: textblock
en: List all setuid or setgid programs in a Linux virtual machine:
uk: Показати список всіх програм з setuid або setgid у віртуальній машині Linux:

note: type: textblock
en: List all public-writable directories in a Linux virtual machine:
uk: Показати список всіх каталогів з відкритим для всіх доступом на запис у віртуальній машині Linux:

note: type: textblock
en: List all Unix domain sockets in a Linux virtual machine:
uk: Показати список всіх сокетів доменів Unix у віртуальній машині Linux:

note: type: textblock
en: List all regular files with filenames ending in ‘.png’:
uk: Показати список усіх звичайних файлів, назви яких завершуються на «.png»:

note: type: textblock
en: To display files larger than 10MB in home directories:
uk: Щоб переглянути список файлів у домашніх каталогах, розмір яких перевищує 10 МБ:

note: type: textblock
en: Find everything modified in the last 7 days:
uk: Знайти всі об’єкти, які було змінено протягом попередніх 7 днів:

note: type: textblock
en: Find regular files modified in the last 24 hours:
uk: Знайти звичайні файли, зміни до яких було внесено протягом попередніх 24 годин:

note: type: =head2
en: DIFFERENCES IN SNAPSHOTS AND BACKING FILES
uk: ВІДМІННОСТІ МІЖ ЗНІМКАМИ ТА ФАЙЛАМИ РЕЗЕРВНИХ КОПІЙ

note: type: textblock
en: Although it is possible to use virt-ls to look for differences, since libguestfs E<ge> 1.26 a new tool is available called L<virt-diff(1)>.
uk: Хоча virt-ls можна скористатися для пошуку відмінностей між каталогами, з випуску libguestfs E<ge> 1.26 з цією метою краще користуватися новим інструментом, L<virt-diff(1)>.

note: type: =head1
en: OUTPUT MODES
uk: РЕЖИМИ ВИВЕДЕННЯ ДАНИХ

note: type: textblock
en: C<virt-ls> has four output modes, controlled by different combinations of the I<-l> and I<-R> options.
uk: У C<virt-ls> передбачено чотири режими виведення даних, керування якими здійснюється різними комбінаціями параметрів I<-l> та I<-R>.

note: type: =head2
en: SIMPLE LISTING
uk: ПРОСТИЙ СПИСОК

note: type: textblock
en: A simple listing is like the ordinary L<ls(1)> command:
uk: Простий список, подібний до списку звичайної команди L<ls(1)>:

note: type: verbatim
en:  $ virt-ls -d guest /
     bin
     boot
     [etc.]
uk:  $ virt-ls -d guest /
     bin
     boot
     [тощо]

note: type: =head2
en: LONG LISTING
uk: ДОВГИЙ СПИСОК

note: type: textblock
en: With the I<-l> (I<--long>) option, the output is like the C<ls -l> command (more specifically, like the C<guestfs_ll> function).
uk: З параметром I<-l> (I<--long>) виведені дані будуть подібними до даних, які виводить команда C<ls -l> (якщо точніше, функція C<guestfs_ll>).

note: type: verbatim
en:  $ virt-ls -l -d guest /
     total 204
     dr-xr-xr-x.   2 root root   4096 2009-08-25 19:06 bin
     dr-xr-xr-x.   5 root root   3072 2009-08-25 19:06 boot
     [etc.]
uk:  $ virt-ls -l -d guest /
     total 204
     dr-xr-xr-x.   2 root root   4096 2009-08-25 19:06 bin
     dr-xr-xr-x.   5 root root   3072 2009-08-25 19:06 boot
     [тощо]

note: type: textblock
en: Note that while this is useful for displaying a directory, do not try parsing this output in another program.  Use L</RECURSIVE LONG LISTING> instead.
uk: Зауважте, що хоча такий список зручний для перегляду вмісту каталогу, не варто обробляти його за допомогою іншої програми. Для обробки іншими програмами слід скористатися варіантом L</РЕКУРСИВНИЙ ДОВГИЙ СПИСОК>.

note: type: =head2
en: RECURSIVE LISTING
uk: РЕКУРСИВНИЙ СПИСОК

note: type: textblock
en: With the I<-R> (I<--recursive>) option, C<virt-ls> lists the names of files and directories recursively:
uk: Із параметром I<-R> (I<--recursive>) C<virt-ls> виводить список назв файлів і каталогів рекурсивно:

note: type: verbatim
en:  $ virt-ls -R -d guest /tmp
     foo
     foo/bar
     [etc.]
uk:  $ virt-ls -R -d guest /tmp
     foo
     foo/bar
     [тощо]

note: type: textblock
en: To generate this output, C<virt-ls> runs the C<guestfs_find0> function and converts C<\0> characters to C<\n>.
uk: Для створення такого списку C<virt-ls> викликає функцію C<guestfs_find0> і перетворює символи C<\0> на C<\n>.

note: type: =head2
en: RECURSIVE LONG LISTING
uk: РЕКУРСИВНИЙ ДОВГИЙ СПИСОК

note: type: textblock
en: Using I<-lR> options together changes the output to display directories recursively, with file stats, and optionally other features such as checksums and extended attributes.
uk: Використання параметрів I<-lR> разом змінює виведені дані так, що вміст каталогів показується рекурсивно, із даними щодо файлів, а також, якщо використано відповідні параметри, іншими даними, зокрема контрольними сумами та розширеними атрибутами.

note: type: textblock
en: Most of the interesting features of C<virt-ls> are only available when using I<-lR> mode.
uk: Доступ до більшості цікавих можливостей C<virt-ls> можна отримати лише у режимі I<-lR>.

note: type: textblock
en: The fields are normally space-separated.  Filenames are B<not> quoted, so you cannot use the output in another program (because filenames can contain spaces and other unsafe characters).  If the guest was untrusted and someone knew you were using C<virt-ls> to analyze the guest, they could play tricks on you by creating filenames with embedded newline characters.  To B<safely> parse the output in another program, use the I<--csv> (Comma-Separated Values) option.
uk: Зазвичай, поля відокремлюються пробілами. До назв файлів B<не додаються> лапки. Отже, ви не зможете скористатися виведеними даними у іншій програмі (оскільки у назвах файлів можуть міститися пробіли та інші нестандартні символи). Якщо до гостьової системи мають доступ сторонні люди і відомо, що ви використовуєте C<virt-ls> для аналізу вмісту гостьової системи, зловмисники можуть створити файли зі спеціально сконструйованими назвами та вбудованими до назв символами розриву рядка. Щоб виведені дані можна було B<безпечно> обробити у сторонній програмі, скористайтеся параметром I<--csv> для виведення даних у форматі значень, відокремлених комами.

note: type: textblock
en: Note that this output format is completely unrelated to the C<ls -lR> command.
uk: Зауважте, що цей формат виведення є повністю незалежним від формату команди C<ls -lR>.

note: type: verbatim
en:  $ virt-ls -lR -d guest /bin
     d 0555       4096 /bin
     - 0755        123 /bin/alsaunmute
     - 0755      28328 /bin/arch
     l 0777          4 /bin/awk -> gawk
     - 0755      27216 /bin/basename
     - 0755     943360 /bin/bash
     [etc.]
uk:  $ virt-ls -lR -d guest /bin
     d 0555       4096 /bin
     - 0755        123 /bin/alsaunmute
     - 0755      28328 /bin/arch
     l 0777          4 /bin/awk -> gawk
     - 0755      27216 /bin/basename
     - 0755     943360 /bin/bash
     [тощо]

note: type: textblock
en: These basic fields are always shown:
uk: Ці основні поля буде показано завжди:

note: type: =item
en: type
uk: тип

note: type: textblock
en: The file type, one of: C<-> (regular file), C<d> (directory), C<c> (character device), C<b> (block device), C<p> (named pipe), C<l> (symbolic link), C<s> (socket) or C<u> (unknown).
uk: Тип файла, одне з таких значень: C<-> (звичайний файл), C<d> (каталог), C<c> (символьний пристрій), C<b> (блоковий пристрій), C<p> (іменований канал), C<l> (символічне посилання), C<s> (сокет) або C<u> (невідомо).

note: type: =item
en: permissions
uk: права доступу

note: type: textblock
en: The Unix permissions, displayed as a 4 digit octal number.
uk: Права доступу Unix, показані у форматі вісімкового числа із 4 цифр.

note: type: =item
en: size
uk: розмір

note: type: textblock
en: The size of the file.  This is shown in bytes unless I<-h> or I<--human-readable> option is given, in which case this is shown as a human-readable number.
uk: Розмір файла. Його буде показано у байтах, якщо не використано параметр I<-h> або I<--human-readable>. Якщо такий параметр використано, дані буде показано у зручному для читанні вигляді.

note: type: =head2
en: path
uk: шлях

note: type: textblock
en: The full path of the file or directory.
uk: Шлях до файла або каталогу повністю.

note: type: =item
en: link
uk: посилання

note: type: textblock
en: For symbolic links only, the link target.
uk: Лише для символічних посилань, призначення посилання.

note: type: textblock
en: In I<-lR> mode, additional command line options enable the display of more fields.
uk: У режимі I<-lR> додаткові параметри командного рядка уможливлюють показ додаткових полів.

note: type: textblock
en: With the I<--uids> flag, these additional fields are displayed before the path:
uk: З прапорцем I<--uids> ці додаткові поля буде показано до шляху:

note: type: textblock
en: The UID and GID of the owner of the file (displayed numerically).  Note these only make sense in the context of a Unix-like guest.
uk: UID та GID власника файла (буде показано у числовій формі). Зауважте, що ці дані мають сенс лише у контексті Unix-подібної гостьової системи.

note: type: textblock
en: With the I<--times> flag, these additional fields are displayed:
uk: Із прапорцем I<--times> буде показано такі додаткові поля:

note: type: textblock
en: The time of last access.
uk: Час останнього доступу.

note: type: textblock
en: The time of last modification.
uk: Час останнього внесення змін.

note: type: textblock
en: The time of last status change.
uk: Час останньої зміни стану.

note: type: textblock
en: The time fields are displayed as string dates and times, unless one of the I<--time-t>, I<--time-relative> or I<--time-days> flags is given.
uk: Вміст полів дат і часу буде показано у форматі рядків, якщо не вказано одного з таких параметрів: I<--time-t>, I<--time-relative> або I<--time-days>.

note: type: textblock
en: With the I<--extra-stats> flag, these additional fields are displayed:
uk: Із прапорцем I<--extra-stats> буде показано такі додаткові поля:

note: type: =item
en: device
uk: пристрій

note: type: textblock
en: The device containing the file (displayed as major:minor).  This may not match devices as known to the guest.
uk: Пристрій на якому міститься файл (буде показано у форматі основний:підлеглий). Запис пристрою може не збігатися із записом пристрою, який відомий гостьовій системі.

note: type: textblock
en: The inode number.
uk: Номер inode.

note: type: textblock
en: The number of hard links.
uk: Кількість жорстких посилань.

note: type: textblock
en: For block and char special files, the device (displayed as major:minor).
uk: Для блоковий і символьних спеціальних файлів пристрій (буде показано у форматі основний:підлеглий).

note: type: =item
en: blocks
uk: блоки

note: type: textblock
en: The number of 512 byte blocks allocated to the file.
uk: Кількість 512-байтових блоків, виділених під файл.

note: type: textblock
en: With the I<--checksum> flag, the checksum of the file contents is shown (only for regular files).  Computing file checksums can take a considerable amount of time.
uk: Якщо використано прапорець I<--checksum>, програма покаже контрольну суму вмісту файла (лише для звичайних файлів). Обчислення контрольної суми може бути доволі тривалою дією.

note: type: textblock
en: Display checksum over file contents for regular files.  With no argument, this defaults to using I<md5>.  Using an argument, you can select the checksum type to use.
uk: Вивести контрольну суму вмісту звичайного файла. Без аргументу для створення контрольної суми буде використано I<md5>. За допомогою аргументу ви можете визначити потрібний вам тип контрольної суми.

note: type: textblock
en: This option only has effect in I<-lR> output mode.  See L</RECURSIVE LONG LISTING> above.
uk: Цей параметр працюватиме лише у режимі виведення I<-lR>. Див. L</РЕКУРСИВНИЙ ДОВГИЙ СПИСОК> вище.

note: type: textblock
en: When prompting for keys and passphrases, virt-ls normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-ls попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: Display extra stats.
uk: Показати додаткові дані.

note: type: verbatim
en:  virt-ls --format=raw -a disk.img /dir
uk:  virt-ls --format=raw -a диск.img /каталог

note: type: verbatim
en:  virt-ls --format=raw -a disk.img --format -a another.img /dir
uk:  virt-ls --format=raw -a диск.img --format -a інший_диск.img /каталог

note: type: textblock
en: Display file sizes in human-readable format.
uk: Показати розміри файлів у зручному для читання форматі.

note: type: textblock
en: Select the mode.  With neither of these options, C<virt-ls> produces a simple, flat list of the files in the named directory.  See L</SIMPLE LISTING>.
uk: Вибір режиму. Якщо не буде вказано жодного з варіантів, C<virt-ls> створює простий плоский список файлів у вказаному каталозі. Див. L</ПРОСТИЙ СПИСОК>.

note: type: textblock
en: C<virt-ls -l> produces a "long listing", which shows more detail.  See L</LONG LISTING>.
uk: C<virt-ls -l> створює «довгий список», у якому більше подробиць. Див. L</ДОВГИЙ СПИСОК>.

note: type: textblock
en: C<virt-ls -R> produces a recursive list of files starting at the named directory.  See L</RECURSIVE LISTING>.
uk: C<virt-ls -R> створює рекурсивний список файлів, починаючи з вказаного каталогу. Див. L</РЕКУРСИВНИЙ СПИСОК>.

note: type: textblock
en: C<virt-ls -lR> produces a recursive long listing which can be more easily parsed.  See L</RECURSIVE LONG LISTING>.
uk: C<virt-ls -lR> створює рекурсивні довгі списки, які простіше обробляти. Див. L</РЕКУРСИВНИЙ ДОВГИЙ СПИСОК>.

note: type: textblock
en: Display time fields.
uk: Показати поля часу.

note: type: textblock
en: Display time fields as days before now (negative if in the future).
uk: Показувати поля часу у форматі днів до поточного (від’ємні значення для днів у майбутньому).

note: type: textblock
en: Note that C<0> in output means "up to 1 day before now", or that the age of the file is between 0 and 86399 seconds.
uk: Зауважте, що C<0> у виведених даних означає «менше 1 одного дня до поточного моменту» або «вік файла — від 0 до 86399 секунд».

note: type: textblock
en: Display time fields as seconds before now (negative if in the future).
uk: Показувати поля часу у форматі секунд до поточного моменту (від’ємні значення для часу у майбутньому).

note: type: textblock
en: Display time fields as seconds since the Unix epoch.
uk: Показувати поля часу у форматі секунд з моменту початку епохи UNIX.

note: type: textblock
en: Display UID and GID fields.
uk: Показати поля UID і GID.

note: type: textblock
en: Previous versions of virt-ls allowed you to write either:
uk: У попередніх версіях virt-ls можна було використовувати або

note: type: verbatim
en:  virt-ls disk.img [disk.img ...] /dir
uk:  virt-ls диск.img [диск.img ...] /каталог

note: type: verbatim
en:  virt-ls guestname /dir
uk:  virt-ls назва_гостьової_системи /каталог

note: type: textblock
en: virt-tail - Follow (tail) files in a virtual machine
uk: virt-tail — відтворення вмісту (наприкінці) файлів у віртуальній машині

note: type: verbatim
en:  virt-tail [--options] -d domname file [file ...]
uk:  virt-tail [--параметри] -d назва_домену файл [файл ...]

note: type: verbatim
en:  virt-tail [--options] -a disk.img [-a disk.img ...] file [file ...]
uk:  virt-tail [--параметри] -a диск.img [-a диск.img ...] файл [файл ...]

note: type: textblock
en: C<virt-tail> is a command line tool to follow (tail) the contents of C<file> where C<file> exists in the named virtual machine (or disk image).  It is similar to the ordinary command S<C<tail -f>>.
uk: C<virt-tail> — інструмент командного рядка для стеження (за кінцем) вмісту файла C<файл>, де C<файл> існує у іменованій віртуальній машині (або образі диска). Дія інструмента подібна до звичайної команди S<C<tail -f>>.

note: type: textblock
en: Multiple filenames can be given, in which case each is followed separately.  Each filename must be a full path, starting at the root directory (starting with '/').
uk: Можна вказати декілька назв файлів. У такому випадку кожна з назв оброблятиметься окремо. Усі назви файлів має бути вказано повністю зі шляхом, який має починатися з кореневого каталогу (тобто з «/»).

note: type: textblock
en: The command keeps running until:
uk: Команда виконуватиметься, аж доки:

note: type: textblock
en: The user presses the ^C or an interrupt signal is received.
uk: Користувач натискає ^C або отримано сигнал переривання.

note: type: textblock
en: None of the listed files was found in the guest, or they all get deleted.
uk: Жодного з наведених у списку файлів не знайдено у гостьовій системі або усі ці файли вилучено.

note: type: textblock
en: There is an unrecoverable error.
uk: Сталася критична помилка.

note: type: =head3
en: EXAMPLE
uk: ПРИКЛАД

note: type: textblock
en: Follow F</var/log/messages> inside a virtual machine called C<mydomain>:
uk: Стежити за F</var/log/messages> у віртуальній машині із назвою C<mydomain>:

note: type: textblock
en: When prompting for keys and passphrases, virt-tail normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-tail попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: This option is ignored.  virt-tail always behaves like S<L<tail(1)> I<-f>>.  You don't need to specify the I<-f> option.
uk: Цей параметр буде проігноровано. virt-tail завжди поводиться як S<L<tail(1)> I<-f>>. Потреби у явному додаванні параметра I<-f> немає.

note: type: verbatim
en:  virt-tail --format=raw -a disk.img file
uk:  virt-tail --format=raw -a диск.img файл

note: type: verbatim
en:  virt-tail --format=raw -a disk.img --format -a another.img file
uk:  virt-tail --format=raw -a диск.img --format -a щедиск.img файл

note: type: textblock
en: C<virt-tail> has a limited ability to understand Windows drive letters and paths (eg. F<E:\foo\bar.txt>).
uk: У C<virt-tail> передбачено обмежені можливості щодо обробки літерних дисків та шляхів у Windows (наприклад F<E:\foo\bar.txt>).

note: type: textblock
en: Copyright (C) 2016 Red Hat Inc.
uk: © Red Hat Inc., 2016

note: type: =end
en: comment
uk: коментар

note: type: verbatim
en:  Copyright (C) 2009-2020 Red Hat Inc.
uk:  © Red Hat Inc., 2009–2020

note: type: verbatim
en:  This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
uk:  Ця програма є вільним програмним забезпеченням; ви можете поширювати та/або
     змінювати її за умов дотримання GNU General Public License утому вигляді, що
     оприлюднений Free Software Foundation; версії 2 цієї Ліцензії, або (якщо
     забажаєте) будь-якої випущеної пізніше.

note: type: verbatim
en:  This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
uk:  Ця програма поширюється у сподіванні, що вона буде корисною, але БЕЗ
     БУДЬ-ЯКИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ; навіть без очевидної гарантії
     ПРАЦЕЗДАТНОСТІ або ПРИДАТНОСТІ ДЛЯ ВИКОРИСТАННЯ З ПЕВНОЮ МЕТОЮ. Докладніше
     про це можна дізнатися з GNU General Public License.

note: type: verbatim
en:  You should have received a copy of the GNU General Public License along
     with this program; if not, write to the Free Software Foundation, Inc.,
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
uk:  Ви маєте отримати копію GNU General Public License разом з цією програмою;
     якщо це не так, повідомте про факт за адресою Free Software Foundation, Inc.,
     Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

note: type: =item
en: B<--append-line> FILE:LINE
uk: B<--append-line> ФАЙЛ:РЯДОК

note: type: textblock
en: Append a single line of text to the C<FILE>.  If the file does not already end with a newline, then one is added before the appended line.  Also a newline is added to the end of the C<LINE> string automatically.
uk: Дописати один рядок тексту до файла C<ФАЙЛ>. Якщо файл ще не завершується порожнім рядком, такий рядок буде додано перед дописаним. Крім того, автоматично буде дописано символ нового рядка наприкінці рядка C<РЯДОК>.

note: type: textblock
en: For example (assuming ordinary shell quoting) this command:
uk: Наприклад, (припускаємо, що у командній оболонці використовуються звичайні лапки) така команда:

note: type: textblock
en: will add either C<10.0.0.1 foo⏎> or C<⏎10.0.0.1 foo⏎> to the file, the latter only if the existing file does not already end with a newline.
uk: додасть C<10.0.0.1 foo⏎> або C<⏎10.0.0.1 foo⏎> до файла; останній запис буде додано, лише якщо наявний файл ще не закінчується символом нового рядка.

note: type: textblock
en: C<⏎> represents a newline character, which is guessed by looking at the existing content of the file, so this command does the right thing for files using Unix or Windows line endings.  It also works for empty or non-existent files.
uk: C<⏎> позначає символ нового рядка, конкретне значення якого визначається за наявним вмістом файла, отже, команда обробляє файли однаково правильно для варіантів із завершеннями рядка у форматах  Unix і Windows. Це працює і для порожніх і ще не створених файлів.

note: type: textblock
en: To insert several lines, use the same option several times:
uk: Щоб додати декілька рядків, скористайтеся тим самим параметром декілька разів:

note: type: textblock
en: To insert a blank line before the appended line, do:
uk: Щоб додати порожній рядок перед дописаним рядком, скористайтеся такою конструкцією:

note: type: =item
en: B<--chmod> PERMISSIONS:FILE
uk: B<--chmod> ПРАВА_ДОСТУПУ:ФАЙЛ

note: type: textblock
en: Change the permissions of C<FILE> to C<PERMISSIONS>.
uk: Змінити права доступу до файла C<ФАЙЛ> на C<ПРАВА_ДОСТУПУ>.

note: type: textblock
en: I<Note>: C<PERMISSIONS> by default would be decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not C<700>.
uk: I<Зауваження>: типово C<ПРАВА_ДОСТУПУ> записуються у десятковому форматі, якщо ви не додасте початковий C<0> , щоб вказати вісімкове число, тобто скористаєтеся C<0700>, а не C<700>.

note: type: =item
en: B<--commands-from-file> FILENAME
uk: B<--commands-from-file> НАЗВА_ФАЙЛА

note: type: textblock
en: Read the customize commands from a file, one (and its arguments)  each line.
uk: Прочитати команди налаштовування з файла, по одній (разом із аргументами) на рядок.

note: type: textblock
en: Each line contains a single customization command and its arguments, for example:
uk: Кожен рядок містить команду налаштовування та її аргументи, наприклад:

note: type: verbatim
en:  delete /some/file
     install some-package
     password some-user:password:its-new-password
uk:  delete /якийсь/файл
     install якийсь_пакунок
     password якийсь-користувач:password:його-новий-пароль

note: type: textblock
en: Empty lines are ignored, and lines starting with C<#> are comments and are ignored as well.  Furthermore, arguments can be spread across multiple lines, by adding a C<\> (continuation character) at the of a line, for example
uk: Порожні рядки ігноруються, а рядки, що починаються з C<#>, є коментарями і також ігноруються. Крім того, аргументи можна розділити на декілька рядків додаванням C<\> (символу продовження) наприкінці рядка. Приклад:

note: type: verbatim
en:  edit /some/file:\
       s/^OPT=.*/OPT=ok/
uk:  edit /якийсь/файл:\
       s/^OPT=.*/OPT=ok/

note: type: textblock
en: The commands are handled in the same order as they are in the file, as if they were specified as I<--delete /some/file> on the command line.
uk: Команди обробляються у тому самому порядку, у якому їх вказано у файлі, так, наче їх вказано як I<--delete /якийсь/файл> у рядку команди.

note: type: =item
en: B<--copy> SOURCE:DEST
uk: B<--copy> ДЖЕРЕЛО:ПРИЗНАЧЕННЯ

note: type: textblock
en: Copy files or directories recursively inside the guest.
uk: Копіювати файли або каталоги рекурсивно у межах гостьової системи.

note: type: textblock
en: Wildcards cannot be used.
uk: Не можна використовувати символи-замінники.

note: type: =item
en: B<--copy-in> LOCALPATH:REMOTEDIR
uk: B<--copy-in> ЛОКАЛЬНИЙ_ШЛЯХ:ВІДДАЛЕНИЙ_КАТАЛОГ

note: type: textblock
en: Copy local files or directories recursively into the disk image, placing them in the directory C<REMOTEDIR> (which must exist).
uk: Скопіювати локальні файли або каталоги рекурсивно до образу диска, розташувавши його у каталозі C<ВІДДАЛЕНИЙ_КАТАЛОГ> (який має існувати).

note: type: =item
en: B<--delete> PATH
uk: B<--delete> ШЛЯХ

note: type: textblock
en: Delete a file from the guest.  Or delete a directory (and all its contents, recursively).
uk: Вилучити файл з гостьової системи. Або вилучити каталог (і увесь його вміст, рекурсивно).

note: type: textblock
en: You can use shell glob characters in the specified path.  Be careful to escape glob characters from the host shell, if that is required.  For example:
uk: Ви можете скористатися символами-замінниками у вказаному шляху. Не забудьте екранувати символи-замінники у командній оболонці основної системи, якщо це потрібно. Приклад:

note: type: textblock
en: See also: I<--upload>, I<--scrub>.
uk: Див. також I<--upload>, I<--scrub>.

note: type: =item
en: B<--edit> FILE:EXPR
uk: B<--edit> ФАЙЛ:ВИРАЗ

note: type: textblock
en: Edit C<FILE> using the Perl expression C<EXPR>.
uk: Редагувати C<ФАЙЛ> з використанням виразу Perl C<ВИРАЗ>.

note: type: textblock
en: Be careful to properly quote the expression to prevent it from being altered by the shell.
uk: Слід подбати про належне розставлення лапок у виразі, щоб запобігти його зміні у командній оболонці.

note: type: textblock
en: Note that this option is only available when Perl 5 is installed.
uk: Зауважте, що цим параметром можна буде скористатися, лише якщо встановлено Perl 5.

note: type: textblock
en: See L<virt-edit(1)/NON-INTERACTIVE EDITING>.
uk: Див. L<virt-edit(1)/NON-INTERACTIVE EDITING>.

note: type: =item
en: B<--firstboot> SCRIPT
uk: B<--firstboot> СКРИПТ

note: type: textblock
en: Install C<SCRIPT> inside the guest, so that when the guest first boots up, the script runs (as root, late in the boot process).
uk: Встановити C<СКРИПТ> у гостьовій системі і запустити його під час першого завантаження гостьової системи (від імені root, у останній частині процесу завантаження).

note: type: textblock
en: The script is automatically chmod +x after installation in the guest.
uk: До скрипту, після встановлення до гостьової системи, буде автоматично застосовано команду chmod +x.

note: type: textblock
en: The alternative version I<--firstboot-command> is the same, but it conveniently wraps the command up in a single line script for you.
uk: Альтернативна версія I<--firstboot-command> є такою самою, але зручно включає команду у однорядковому скрипті.

note: type: textblock
en: You can have multiple I<--firstboot> options.  They run in the same order that they appear on the command line.
uk: Можна вказати декілька параметрів I<--firstboot>. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.

note: type: textblock
en: Please take a look at L<virt-builder(1)/FIRST BOOT SCRIPTS> for more information and caveats about the first boot scripts.
uk: Будь ласка, зверніться до розділу L<virt-builder(1)/СКРИПТИ ПЕРШОГО ЗАВАНТАЖЕННЯ>, щоб ознайомитися із відомостями щодо скриптів першого завантаження і проблемами у їх використанні.

note: type: textblock
en: See also I<--run>.
uk: Див. також I<--run>.

note: type: =item
en: B<--firstboot-command> 'CMD+ARGS'
uk: B<--firstboot-command> 'КОМАНДА+ПАРАМЕТРИ'

note: type: textblock
en: Run command (and arguments) inside the guest when the guest first boots up (as root, late in the boot process).
uk: Виконати команду (разом із аргументами) у гостьовій системі під час першого завантаження гостьової системи (від імені root, у останній частині процесу завантаження).

note: type: =item
en: B<--firstboot-install> PKG,PKG..
uk: B<--firstboot-install> ПАКУНОК,ПАКУНОК..

note: type: textblock
en: Install the named packages (a comma-separated list).  These are installed when the guest first boots using the guest’s package manager (eg. apt, yum, etc.) and the guest’s network connection.
uk: Встановити іменовані пакунки (список значень, відокремлених комами). Ці пакунки буде встановлено під час першого завантаження гостьової системи за допомогою програми для керування пакунків гостьової системи (наприклад, apt, yum тощо) і з'єднання із мережею гостьової системи.

note: type: textblock
en: For an overview on the different ways to install packages, see L<virt-builder(1)/INSTALLING PACKAGES>.
uk: Огляд різних способів встановлення пакунків наведено у розділі L<virt-builder(1)/ВСТАНОВЛЕННЯ ПАКУНКІВ>.

note: type: =item
en: B<--hostname> HOSTNAME
uk: B<--hostname> НАЗВА_ВУЗЛА

note: type: textblock
en: Set the hostname of the guest to C<HOSTNAME>.  You can use a dotted hostname.domainname (FQDN) if you want.
uk: Встановити як назву вузла гостьової системи значення C<НАЗВА_ВУЗЛА>. Якщо потрібно, можете скористатися форматом із крапкою, «назва_вузла.назва_домену» (FQDN).

note: type: =item
en: B<--install> PKG,PKG..
uk: B<--install> ПАКУНОК,ПАКУНОК..

note: type: textblock
en: Install the named packages (a comma-separated list).  These are installed during the image build using the guest’s package manager (eg. apt, yum, etc.) and the host’s network connection.
uk: Встановити іменовані пакунки (список значень, відокремлених комами). Ці пакунки буде встановлено під час збирання образу за допомогою програми для керування пакунків гостьової системи (наприклад, apt, yum тощо) і з'єднання із мережею основної системи.

note: type: textblock
en: See also I<--update>, I<--uninstall>.
uk: Див. також I<--update>, I<--uninstall>.

note: type: =item
en: B<--link> TARGET:LINK[:LINK..]
uk: B<--link> ПРИЗНАЧЕННЯ:ПОСИЛАННЯ[:ПОСИЛАННЯ..]

note: type: textblock
en: Create symbolic link(s) in the guest, starting at C<LINK> and pointing at C<TARGET>.
uk: Створити символічне посилання або декілька посилань у гостьовій системі так, щоб вони з C<ПОСИЛАННЯ> вказували на C<ПРИЗНАЧЕННЯ>.

note: type: =item
en: B<--mkdir> DIR
uk: B<--mkdir> КАТАЛОГ

note: type: textblock
en: Create a directory in the guest.
uk: Створити каталог у гостьовій системі.

note: type: textblock
en: This uses S<C<mkdir -p>> so any intermediate directories are created, and it also works if the directory already exists.
uk: Використовується S<C<mkdir -p>>, отже буде створено усі проміжні каталоги. Також команда працює, якщо каталог вже існує.

note: type: =item
en: B<--move> SOURCE:DEST
uk: B<--move> ДЖЕРЕЛО:ПРИЗНАЧЕННЯ

note: type: textblock
en: Move files or directories inside the guest.
uk: Пересунути файли або каталоги у межах гостьової системи.

note: type: textblock
en: Scrub C<builder.log> (log file from build commands) from the image after building is complete.  If you don't want to reveal precisely how the image was built, use this option.
uk: Витерти C<builder.log> (файл журналу із командами збирання) з образу після завершення збирання. Якщо ви не хочете явним чином показувати, як було зібрано образ, скористайтеся цим параметром.

note: type: textblock
en: See also: L</LOG FILE>.
uk: Див. також L</LOG FILE>.

note: type: =item
en: B<--password> USER:SELECTOR
uk: B<--password> КОРИСТУВАЧ:ВАРІАНТ

note: type: textblock
en: Set the password for C<USER>.  (Note this option does I<not> create the user account).
uk: Встановити пароль для користувача C<КОРИСТУВАЧ>. (Зауважте, що за допомогою цього параметра I<не можна> створювати облікові записи користувачів.)

note: type: textblock
en: See L<virt-builder(1)/USERS AND PASSWORDS> for the format of the C<SELECTOR> field, and also how to set up user accounts.
uk: Формат поля C<ВАРІАНТ> та способи налаштовування облікових записів користувачів описано у розділі L<virt-builder(1)/КОРИСТУВАЧІ І ПАРОЛІ>.

note: type: textblock
en: When the virt tools change or set a password in the guest, this option sets the password encryption of that password to C<md5>, C<sha256> or C<sha512>.
uk: Якщо змінюється чи встановлюється пароль для гостьової системи, за допомогою цього параметра можна встановити шифрування для цього пароля у значення C<md5>, C<sha256> або C<sha512>.

note: type: textblock
en: C<sha256> and C<sha512> require glibc E<ge> 2.7 (check crypt(3) inside the guest).
uk: Для використання значень C<sha256> та C<sha512> має бути встановлено glibc E<ge> 2.7 (перевірте у crypt(3) всередині гостьової системи).

note: type: textblock
en: C<md5> will work with relatively old Linux guests (eg. RHEL 3), but is not secure against modern attacks.
uk: C<md5> працюватиме з відносно давніми гостьовими системами Linux (наприкладRHEL 3), але є незахищеним щодо новітніх способів атак.

note: type: textblock
en: The default is C<sha512> unless libguestfs detects an old guest that didn't have support for SHA-512, in which case it will use C<md5>.  You can override libguestfs by specifying this option.
uk: Типовим способом шифрування є C<sha512>. Він використовується, якщо libguestfs вдасться виявити у гостьовій системі підтримку SHA-512. Якщо такої підтримки не буде виявлено, використовуватиметься C<md5>. За допомогою цього параметра ви можете перевизначити автоматично визначений libguestfs спосіб шифрування.

note: type: textblock
en: Note this does not change the default password encryption used by the guest when you create new user accounts inside the guest.  If you want to do that, then you should use the I<--edit> option to modify C</etc/sysconfig/authconfig> (Fedora, RHEL) or C</etc/pam.d/common-password> (Debian, Ubuntu).
uk: Зауважте, що це не змінить типового шифрування, яке використовується гостьовою системою, коли ви створюєте у ній нові облікові записи користувачів. Якщо ви хочете змінити це шифрування, вам слід скористатися параметром I<--edit> для внесення змін до C</etc/sysconfig/authconfig> (Fedora, RHEL) або C</etc/pam.d/common-password> (Debian, Ubuntu).

note: type: =item
en: B<--root-password> SELECTOR
uk: B<--root-password> ВАРІАНТ

note: type: textblock
en: Set the root password.
uk: Встановити пароль користувача root.

note: type: textblock
en: Note: In virt-builder, if you I<don't> set I<--root-password> then the guest is given a I<random> root password.
uk: Зауваження: якщо у virt-builder ви I<не встановите> I<--root-password>, для гостьової системи буде використано I<випадковий> пароль root.

note: type: =item
en: B<--run> SCRIPT
uk: B<--run> СКРИПТ

note: type: textblock
en: Run the shell script (or any program) called C<SCRIPT> on the disk image.  The script runs virtualized inside a small appliance, chrooted into the guest filesystem.
uk: Виконати скрипт оболонки (або будь-яку програму), яка називається C<СКРИПТ> у образі диска. Скрипт буде запущено у віртуалізованому режимі у малій допоміжній системі, у пісочниці гостьової файлової системи.

note: type: textblock
en: The script is automatically chmod +x.
uk: Для скрипту буде автоматично використано команду chmod +x.

note: type: textblock
en: If libguestfs supports it then a limited network connection is available but it only allows outgoing network connections.  You can also attach data disks (eg. ISO files) as another way to provide data (eg. software packages) to the script without needing a network connection (I<--attach>).  You can also upload data files (I<--upload>).
uk: Якщо у libguestfs передбачено підтримку цього, буде доступним обмежене мережеве з'єднання, але лише для вихідних з'єднань. Ви також можете долучати диски з даними (наприклад, файли ISO), як ще один спосіб надання даних (наприклад, пакунків із програмним забезпеченням) для скрипту без потреби у з'єднанні із мережею (I<--attach>). Також ви можете вивантажувати файли з даними (I<--upload>).

note: type: textblock
en: You can have multiple I<--run> options.  They run in the same order that they appear on the command line.
uk: Можна вказати декілька параметрів I<--run>. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.

note: type: textblock
en: See also: I<--firstboot>, I<--attach>, I<--upload>.
uk: Див. також I<--firstboot>, I<--attach>, I<--upload>.

note: type: =item
en: B<--run-command> 'CMD+ARGS'
uk: B<--run-command> 'КОМАНДА+ПАРАМЕТРИ'

note: type: textblock
en: Run the command and arguments on the disk image.  The command runs virtualized inside a small appliance, chrooted into the guest filesystem.
uk: Виконати команду із аргументами у образі диска. Команду буде виконано у віртуалізованому режимі у малій допоміжній системі, у пісочниці гостьової файлової системи.

note: type: textblock
en: You can have multiple I<--run-command> options.  They run in the same order that they appear on the command line.
uk: Можна вказати декілька параметрів I<--run-command>. Їх буде виконано у тому самому порядку, у якому їх вказано у рядку команди.

note: type: =item
en: B<--scrub> FILE
uk: B<--scrub> ФАЙЛ

note: type: textblock
en: Scrub a file from the guest.  This is like I<--delete> except that:
uk: Витерти файл з гостьової системи. Подібне до I<--delete>, окрім того, що:

note: type: textblock
en: It scrubs the data so a guest could not recover it.
uk: Витирає дані так, що їх не можна буде відновити з гостьової системи.

note: type: textblock
en: It cannot delete directories, only regular files.
uk: Не може вилучати каталоги, лише звичайні файли.

note: type: textblock
en: Relabel files in the guest so that they have the correct SELinux label.
uk: Повторно встановити мітки для файлів у гостьовій системі так, щоб вони були правильними з точки зору SELinux.

note: type: textblock
en: This will attempt to relabel files immediately, but if the operation fails this will instead touch F</.autorelabel> on the image to schedule a relabel operation for the next time the image boots.
uk: Якщо буде використано цей параметр, програма спробує змінити мітки файлів негайно, але якщо цього зробити не вдасться, вона змінить часову мітку файла F</.autorelabel> на образі, щоб дію зі зміни міток було заплановано на наступне завантаження образу.

note: type: textblock
en: You should only use this option for guests which support SELinux.
uk: Вам слід використовувати цей параметр лише для гостьових систем із підтримкою SELinux.

note: type: =item
en: B<--sm-attach> SELECTOR
uk: B<--sm-attach> ВАРІАНТ

note: type: textblock
en: Attach to a pool using C<subscription-manager>.
uk: Долучити систему до буфера передплати за допомогою C<subscription-manager>.

note: type: textblock
en: See L<virt-builder(1)/SUBSCRIPTION-MANAGER> for the format of the C<SELECTOR> field.
uk: Формат поля C<ВАРІАНТ> описано у розділі L<virt-builder(1)/SUBSCRIPTION-MANAGER>.

note: type: =item
en: B<--sm-credentials> SELECTOR
uk: B<--sm-credentials> ВАРІАНТ

note: type: textblock
en: Set the credentials for C<subscription-manager>.
uk: Встановити реєстраційні дані для C<subscription-manager>.

note: type: textblock
en: Register the guest using C<subscription-manager>.
uk: Зареєструвати гостьову систему за допомогою C<subscription-manager>.

note: type: textblock
en: This requires credentials being set using I<--sm-credentials>.
uk: Потребує встановлення реєстраційних даних за допомогою I<--sm-credentials>.

note: type: textblock
en: Remove all the subscriptions from the guest using C<subscription-manager>.
uk: Вилучити усі передплати з гостьової системи за допомогою C<subscription-manager>.

note: type: textblock
en: Unregister the guest using C<subscription-manager>.
uk: Зняти гостьову систему з реєстрації за допомогою C<subscription-manager>.

note: type: =item
en: B<--ssh-inject> USER[:SELECTOR]
uk: B<--ssh-inject> КОРИСТУВАЧ[:ВАРІАНТ]

note: type: textblock
en: Inject an ssh key so the given C<USER> will be able to log in over ssh without supplying a password.  The C<USER> must exist already in the guest.
uk: Вставити ключ ssh так, щоб вказаний C<КОРИСТУВАЧ> зміг увійти до системи з використанням ssh без потреби у визначенні пароля. Запис користувача C<КОРИСТУВАЧ> має вже існувати у гостьовій системі.

note: type: textblock
en: See L<virt-builder(1)/SSH KEYS> for the format of the C<SELECTOR> field.
uk: Формат поля C<ВАРІАНТ> описано у розділі L<virt-builder(1)/КЛЮЧІ SSH>.

note: type: textblock
en: You can have multiple I<--ssh-inject> options, for different users and also for more keys for each user.
uk: Ви можете додати декілька параметрів I<--ssh-inject> для різних користувачів, а також для додавання декількох ключів для кожного з користувачів.

note: type: =item
en: B<--timezone> TIMEZONE
uk: B<--timezone> ЧАСОВИЙ_ПОЯС

note: type: textblock
en: Set the default timezone of the guest to C<TIMEZONE>.  Use a location string like C<Europe/London>
uk: Встановити типовий часовий пояс гостьової системи у значення C<ЧАСОВИЙ_ПОЯС>. Скористайтеся рядком місця у форматі C<Europe/London>

note: type: =item
en: B<--touch> FILE
uk: B<--touch> ФАЙЛ

note: type: textblock
en: This command performs a L<touch(1)>-like operation on C<FILE>.
uk: Ця команда виконує подібну до L<touch(1)> дію над файлом C<ФАЙЛ>.

note: type: =item
en: B<--truncate> FILE
uk: B<--truncate> ФАЙЛ

note: type: textblock
en: This command truncates C<FILE> to a zero-length file. The file must exist already.
uk: Ця команда обрізає файл C<ФАЙЛ> до нульової довжини. Для її успішного виконання файл має існувати.

note: type: =item
en: B<--truncate-recursive> PATH
uk: B<--truncate-recursive> ШЛЯХ

note: type: textblock
en: This command recursively truncates all files under C<PATH> to zero-length.
uk: Ця команда рекурсивно обрізає усі файли у каталозі C<ШЛЯХ> до нульової довжини.

note: type: =item
en: B<--uninstall> PKG,PKG..
uk: B<--uninstall> ПАКУНОК,ПАКУНОК..

note: type: textblock
en: Uninstall the named packages (a comma-separated list).  These are removed during the image build using the guest’s package manager (eg. apt, yum, etc.).  Dependent packages may also need to be uninstalled to satisfy the request.
uk: Вилучити іменовані пакунки (список значень, відокремлених комами). Ці пакунки буде вилучено під час збирання образу за допомогою програми для керування пакунків гостьової системи (наприклад, apt, yum тощо). З метою виконання запиту також може бути вилучено пакунки, залежні від вилучених пакунків.

note: type: textblock
en: See also I<--install>, I<--update>.
uk: Див. також I<--install>, I<--update>.

note: type: textblock
en: Do the equivalent of C<yum update>, C<apt-get upgrade>, or whatever command is required to update the packages already installed in the template to their latest versions.
uk: Виконує еквівалент C<yum update>, C<apt-get upgrade> або якоїсь іншої команди, яка потрібна для оновлення пакунків, які вже встановлено у шаблоні, до найсвіжіших версій.

note: type: textblock
en: See also I<--install>, I<--uninstall>.
uk: Див. також I<--install>, I<--uninstall>.

note: type: =item
en: B<--upload> FILE:DEST
uk: B<--upload> ФАЙЛ:ПРИЗНАЧЕННЯ

note: type: textblock
en: Upload local file C<FILE> to destination C<DEST> in the disk image.  File owner and permissions from the original are preserved, so you should set them to what you want them to be in the disk image.
uk: Вивантажити локальний файл C<ФАЙЛ> до призначення C<ПРИЗНАЧЕННЯ> на образі диска. Буде збережено власника і права доступу, отже вам слід вказати такі значення для цих параметрів, які мають бути на остаточному образі диска.

note: type: textblock
en: C<DEST> could be the final filename.  This can be used to rename the file on upload.
uk: Значенням параметра C<ПРИЗНАЧЕННЯ> може бути назва остаточного файла. Цим можна скористатися для перейменовування файла під час вивантаження.

note: type: textblock
en: If C<DEST> is a directory name (which must already exist in the guest)  then the file is uploaded into that directory, and it keeps the same name as on the local filesystem.
uk: Якщо значенням параметра C<ПРИЗНАЧЕННЯ> є назва каталогу (який вже має існувати у гостьовій системі), файл буде вивантажено до вказаного каталогу, назву файла з локальної файлової системи буде збережено.

note: type: textblock
en: See also: I<--mkdir>, I<--delete>, I<--scrub>.
uk: Див. також I<--mkdir>, I<--delete>, I<--scrub>.

note: type: =item
en: B<--write> FILE:CONTENT
uk: B<--write> ФАЙЛ:ДАНІ

note: type: textblock
en: Write C<CONTENT> to C<FILE>.
uk: Записати C<ДАНІ> до файла C<ФАЙЛ>.

note: type: textblock
en: This parameter sets the sector size of the disk image.  It affects all explicitly added subsequent disks after this parameter.  Using I<--blocksize> with no argument switches the disk sector size to the default value which is usually 512 bytes.  See also L<guestfs(3)/guestfs_add_drive_opts>.
uk: Цей параметр встановлює розмір сектора образу диска. Ви стосується усіх явним чином доданих після цього параметра дисків. Використання I<--blocksize> без аргументів перемикає розмір сектора диска на типове значення, яким, зазвичай, є 512 байтів. Див. також L<guestfs(3)/guestfs_add_drive_opts>.

note: type: =item
en: B<--key> SELECTOR
uk: B<--key> ВАРІАНТ

note: type: textblock
en: Specify a key for LUKS, to automatically open a LUKS device when using the inspection.  C<ID> can be either the libguestfs device name, or the UUID of the LUKS device.
uk: Вказати ключ для LUKS для автоматичного відкриття пристрою LUKS при використанні інспектування. Значенням C<ІДЕНТИФІКАТОР> може бути або назва пристрою libguestfs, або UUID пристрою LUKS.

note: type: =item
en: B<--key> C<ID>:key:KEY_STRING
uk: B<--key> C<ІДЕНТИФІКАТОР>:key:РЯДОК_КЛЮЧА

note: type: textblock
en: Use the specified C<KEY_STRING> as passphrase.
uk: Використовувати вказаний C<РЯДОК_КЛЮЧА> як пароль.

note: type: =item
en: B<--key> C<ID>:file:FILENAME
uk: B<--key> C<ІДЕНТИФІКАТОР>:file:НАЗВА_ФАЙЛА

note: type: textblock
en: Read the passphrase from F<FILENAME>.
uk: Прочитати пароль з файла F<НАЗВА_ФАЙЛА>.

note: type: textblock
en: virt-customize - Customize a virtual machine
uk: virt-customize — налаштовування віртуальної машини

note: type: verbatim
en:  virt-customize
        [ -a disk.img [ -a disk.img ... ] | -d domname ]
        [--attach ISOFILE] [--attach-format FORMAT]
        [ -c URI | --connect URI ] [ -n | --dry-run ]
        [ --format FORMAT] [ -m MB | --memsize MB ]
        [ --network | --no-network ]
        [ -q | --quiet ] [--smp N] [ -v | --verbose ] [-x]
    __CUSTOMIZE_SYNOPSIS__
uk:  virt-customize
        [ -a диск.img [ -a диск.img ... ] | -d назва домену ]
        [--attach файл ISO] [--attach-format ФОРМАТ]
        [ -c АДРЕСА | --connect АДРЕСА ] [ -n | --dry-run ]
        [ --format ФОРМАТ] [ -m МБ | --memsize МБ ]
        [ --network | --no-network ]
        [ -q | --quiet ] [--smp N] [ -v | --verbose ] [-x]
    __CUSTOMIZE_SYNOPSIS__

note: type: textblock
en: Virt-customize can customize a virtual machine (disk image) by installing packages, editing configuration files, and so on.
uk: За допомогою virt-customize можна налаштувати віртуальну машину (образ диска) встановленням пакунків, редагуванням файлів налаштувань тощо.

note: type: textblock
en: Virt-customize modifies the guest or disk image I<in place>.  The guest must be shut down.  If you want to preserve the existing contents of the guest, I<you must snapshot, copy or clone the disk first>.
uk: Virt-customize вносить зміни до гостьової системи або образу диска I<на місці>. Гостьова система має бути вимкненою. Якщо ви хочете зберегти наявний вміст гостьової системи, I<вам слід спочатку зробити її знімок, скопіювати або клонувати її диск>.

note: type: textblock
en: You do I<not> need to run virt-customize as root.  In fact we'd generally recommend that you don't.
uk: Вам I<не потрібно> запускати virt-customize від імені користувача root. Фактично, запуск у такому режимі є нерекомендованим.

note: type: textblock
en: Related tools include: L<virt-sysprep(1)> and L<virt-builder(1)>.
uk: Пов'язані інструменти: L<virt-sysprep(1)> і L<virt-builder(1)>.

note: type: textblock
en: The format of the disk image is auto-detected.  To override this and force a particular format use the I<--format> option.
uk: Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром I<--format>.

note: type: =item
en: B<-a> URI
uk: B<-a> адреса

note: type: =item
en: B<--add> URI
uk: B<--add> адреса

note: type: textblock
en: Add a remote disk.  The URI format is compatible with guestfish.  See L<guestfish(1)/ADDING REMOTE STORAGE>.
uk: Додати віддалений диск. Формат адреси є сумісним із guestfish. Див. L<guestfish(1)/ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>.

note: type: textblock
en: The given disk is attached to the libguestfs appliance.  This is used to provide extra software repositories or other data for customization.
uk: Вказаний диск долучається до базової системи libguestfs. Цей диск використовується для отримання даних додаткових сховищ програмного забезпечення або інших даних для створення нетипової системи.

note: type: textblock
en: Perform a read-only "dry run" on the guest.  This runs the sysprep operation, but throws away any changes to the disk at the end.
uk: Виконати тестову обробку гостьової системи у режимі «лише читання». Буде виконано дію sysprep, але наприкінці усі зміни до диска буде відкинуто.

note: type: textblock
en: When prompting for keys and passphrases, virt-customize normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-customize попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: The default for the I<-a> option is to auto-detect the format of the disk image.  Using this forces the disk format for I<-a> options which follow on the command line.  Using I<--format auto> switches back to auto-detection for subsequent I<-a> options.
uk: Типовим значенням для параметра I<-a> є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів I<-a> формату диска у наступному рядку команди. Використання параметра I<--format auto> перемикає програму у режим автоматичного визначення у наступних параметрах I<-a>.

note: type: verbatim
en:  virt-customize --format raw -a disk.img
uk:  virt-customize --format raw -a диск.img

note: type: verbatim
en:  virt-customize --format raw -a disk.img --format auto -a another.img
uk:  virt-customize --format raw -a диск.img --format auto -a іще_диск.img

note: type: textblock
en: This does not affect whether the guest can access the network once it has been booted, because that is controlled by your hypervisor or cloud environment and has nothing to do with virt-customize.
uk: Це не вплине на доступність мережі для гостьової системи після її завантаження, оскільки така доступність керується вашим гіпервізором або хмарним середовищем і не має нічого спільного з virt-customize.

note: type: textblock
en: You don’t want untrusted guest code trying to access your host network when running virt-customize.  This is particularly an issue when you don't trust the source of the operating system templates.  (See L</SECURITY> below).
uk: Ви не хочете, щоб ненадійний код із гостьової системи намагався отримати доступ до мережевого з'єднання вашої основної системи під час роботи virt-customize. Таке, зокрема, може трапитися, якщо ви не довіряєте джерелу шаблонів операційних систем.  (Див. L</БЕЗПЕКА> нижче).

note: type: textblock
en: Don’t print log messages.
uk: Не виводити повідомлення до журналу.

note: type: textblock
en: To enable detailed logging of individual file operations, use I<-x>.
uk: Для вмикання ведення докладного журналу окремих дій з файлами скористайтеся I<-x>.

note: type: textblock
en: For guests which make use of SELinux, special handling for them might be needed when using operations which create new files or alter existing ones.
uk: Для гостьових систем, у яких використовується SELinux, може знадобитися спеціальна обробка, якщо використовуються дії, які створюють нові файли або вносять зміни до наявних файлів.

note: type: textblock
en: For further details, see L<virt-builder(1)/SELINUX>.
uk: Докладніший опис наведено у розділі L<virt-builder(1)/SELINUX>.

note: type: textblock
en: This program returns 0 on success, or 1 if there was an error.
uk: Ця програма повертає 0, якщо роботу виконано успішно, і 1, якщо сталися помилки.

note: type: textblock
en: For other environment variables, see L<guestfs(3)/ENVIRONMENT VARIABLES>.
uk: Опис інших змінних середовища наведено у розділі L<guestfs(3)/ENVIRONMENT VARIABLES>.

note: type: textblock
en: Copyright (C) 2011-2020 Red Hat Inc.
uk: © Red Hat Inc., 2011–2020

note: type: textblock
en: guestfsd - guestfs daemon
uk: guestfsd — фонова служба guestfs

note: type: textblock
en: C<guestfsd> is the libguestfs daemon.  Normal users never need to run this program explicitly.  This man page discusses what C<guestfsd> does in both the libguestfs appliance and when using libguestfs live.
uk: C<guestfsd> є фоновою службою libguestfs. У звичайних користувачів ніколи не виникатиме потреби у явному запуску цієї програми. На цій сторінці підручника обговорено, що саме C<guestfsd> робить у базовій системі libguestfs і коли libguestfs використовується «наживо».

note: type: =head2
en: LIBGUESTFS APPLIANCE
uk: БАЗОВА СИСТЕМА LIBGUESTFS

note: type: textblock
en: For the architecture of the libguestfs appliance, see L<guestfs(3)/ARCHITECTURE>.
uk: Архітектуру базової системи libguestfs описано у розділі L<guestfs(3)/АРХІТЕКТУРА>.

note: type: textblock
en: After the appliance boots, the F</init> script in the appliance starts C<guestfsd> with no arguments.  C<guestfsd> opens the virtio-serial port on a known path (see L</FILES>).  It initiates the protocol (see L<guestfs(3)/COMMUNICATION PROTOCOL>) and processes requests one at a time from the library until the appliance is destroyed.
uk: Після завантаження базової системи скрипт F</init> у базовій системі запускає C<guestfsd> без аргументів. C<guestfsd> відкриває послідовний порт virtio за відомим шляхом (див. L</ФАЙЛИ>). Він ініціює протокол (див. L<guestfs(3)/ПРОТОКОЛ ОБМІНУ ДАНИМИ>) і обробляє запити один за одним з бібліотеки, аж доки базову систему не буде знищено.

note: type: textblock
en: Filesystems are mounted under F</sysroot> and all filesystem operations happen relative to this directory.
uk: Файлові системи монтуються до каталогу F</sysroot>, а усі дії із файловими системами здійснюються відносно цього каталогу.

note: type: textblock
en: In the libguestfs live case, C<guestfsd -r> is started from the rc-scripts, systemd, etc.
uk: У випадку libguestfs, C<guestfsd -r> запускається зі скриптів rc, systemd тощо.

note: type: textblock
en: The C<-r> option causes the daemon to operate on the root filesystem instead of F</sysroot>.
uk: Параметр C<-r> наказує фоновій службі працювати з кореневою файловою системою, а не з F</sysroot>.

note: type: textblock
en: Currently (because of limitations in virtio-serial) only one client can connect at a time, and C<guestfsd> must be restarted after each client disconnects.  If libguestfs live were changed to use a different transport such as TCP/IP then this limitation could be removed.
uk: У поточній версії (через обмеження у virtio-serial) одночасно із фоновою службою може бути з'єднано лише один клієнт, а після від'єднання кожного з клієнтів C<guestfsd> має бути перезапущено. Якщо libguestfs live буде перемкнуто на використання іншого каналу передавання даних, зокрема TCP/IP, це обмеження буде знято.

note: type: =item
en: B<-c> CHANNEL
uk: B<-c> КАНАЛ

note: type: =item
en: B<--channel> CHANNEL
uk: B<--channel> КАНАЛ

note: type: =item
en: B<--channel> fd:N
uk: B<--channel> дф:N

note: type: textblock
en: Pass the name of the virtio-serial channel, serial port, etc.  over which guestfsd will communicate with the library.  If this parameter is not given, then an internal default port is used.
uk: Передати назву послідовного каналу virtio, послідовного порту тощо, яким guestfsd обмінюватиметься даними із бібліотекою. Якщо цей параметр не вказано, буде використано внутрішній типовий порт.

note: type: textblock
en: The C<fd:N> form causes guestfsd to use the file descriptor C<N> directly.
uk: Формат C<дф:N> спричиняє використання у guestfsd дескриптора файла C<N> безпосередньо.

note: type: textblock
en: Instead of opening the C<guestfs_channel> and thus expecting that it already exists, create the channel as a Unix domain socket, listen on it, and accept a single connection.  This is mainly used for testing the daemon.
uk: Замість відкриття C<guestfs_channel> і, таким чином, сподівання на його існування, створити канал як сокет домену Unix, очікувати на дані на ньому і прийняти одинарне з'єднання. В основному, це використовується для тестування фонової служби.

note: type: textblock
en: Enable network features in the daemon.
uk: Увімкнути мережеві можливості у фоновій службі.

note: type: textblock
en: Set the root filesystem to be F</> (instead of the default which is F</sysroot>).  Also do not unmount filesystems when the daemon exits.
uk: Встановити кореневу файлову систему F</> (замість типової, якою є F</sysroot>). Крім того, не демонтувати файлові системи, якщо існує фонова служба.

note: type: textblock
en: This option is used to enable libguestfs live.
uk: Цей параметр використовується для вмикання libguestfs live.

note: type: textblock
en: The verbose flag is also set if the Linux command line contains the substring C<guestfs_verbose=1>.
uk: Прапорець докладних повідомлень також встановлюється, якщо у командному рядку Linux міститься підрядок C<guestfs_verbose=1>.

note: type: =head1
en: FILES
uk: ФАЙЛИ

note: type: textblock
en: The virtio serial port which C<guestfsd> connects to.
uk: Послідовний порт virtio, з яким встановлює з’єднання C<guestfsd>.

note: type: textblock
en: The Linux command line is parsed to discover C<guestfs_*> flags.  The following flags are understood:
uk: Командний рядок Linux буде оброблено з метою виявлення прапорців C<guestfs_*>. Розпізнаються такі прапорці:

note: type: textblock
en: Enable verbose messages.  This flag is passed by the libguestfs library to the appliance to make the daemon more verbose (it acts like the I<-v> flag on the command line).  Unrelated to the daemon, it also causes the appliance init script to print out a lot more debugging information.
uk: Увімкнути докладні повідомлення. Цей прапорець передається бібліотекою libguestfs до базової системи з метою зробити повідомлення фонової служби докладнішими (працює як прапорець I<-v> у командному рядку). Незалежно від самої фонової служби, спричиняє виведення скриптом ініціалізації базової системи набагато ширшого обсягу інформації.

note: type: =item
en: B<guestfs_channel=PATH>
uk: B<guestfs_channel=ШЛЯХ>

note: type: textblock
en: Set the path to the virtio-serial channel to something other than the default (which is F</dev/virtio-ports/org.libguestfs.channel.0>).  This is used by the User-Mode Linux backend to use a regular emulated serial port instead of virtio-serial.
uk: Встановити якийсь нетиповий шлях до послідовного каналу virtio (типовим є шлях F</dev/virtio-ports/org.libguestfs.channel.0>). Використовується модулем режиму користувача Linux для використання звичайного емульованого послідовного порту замість послідовного порту virtio.

note: type: textblock
en: This is set if the appliance network is enabled (see C<guestfs_set_network>).
uk: Встановлюється, якщо увімкнено мережу у базовій системі (див. C<guestfs_set_network>).

note: type: textblock
en: virt-df - Display free space on virtual filesystems
uk: virt-df — програма для показу даних щодо вільного місця на віртуальних файлових системах

note: type: textblock
en: All guests:
uk: Всі гостьові системи:

note: type: verbatim
en:  virt-df [--options]
uk:  virt-df [--параметри]

note: type: textblock
en: Single guest:
uk: Окрема гостьова система:

note: type: verbatim
en:  virt-df [--options] -d domname
uk:  virt-df [--параметри] -d назва_домену

note: type: verbatim
en:  virt-df [--options] -a disk.img [-a disk.img ...]
uk:  virt-df [--параметри] -a диск.img [-a диск.img ...]

note: type: verbatim
en:  virt-df [--options] domname
uk:  virt-df [--параметри] назва_домену

note: type: verbatim
en:  virt-df [--options] disk.img [disk.img ...]
uk:  virt-df [--параметри] диск.img [диск.img ...]

note: type: textblock
en: C<virt-df> is a command line tool to display free space on virtual machine filesystems.  Unlike other tools, it doesn't just display the size of disk allocated to a virtual machine, but can look inside disk images to see how much space is really being used.
uk: C<virt-df> — інструмент командного рядка для показу вільного місця у файлових системах віртуальної машини. На відміну від інших інструментів, він не показує розмір диску, який отримано для віртуальної машини, а може зазирнути всередину образу диска і визначити, скільки саме місця насправді використовується.

note: type: textblock
en: If used without any I<-a> or I<-d> arguments, C<virt-df> checks with libvirt to get a list of all active and inactive guests, and performs a C<df>-type operation on each one in turn, printing out the results.
uk: Якщо команду віддано без аргументів I<-a> або I<-d>, C<virt-df> отримає від libvirt список активних і неактивних гостьових систем і виконає дію типу C<df> для кожного з них послідовно, а потім виведе результати.

note: type: textblock
en: If any I<-a> or I<-d> arguments are specified, C<virt-df> performs a C<df>-type operation on either the single named libvirt domain, or on the disk image(s) listed on the command line (which must all belong to a single VM).  B<In this mode (with arguments), C<virt-df> will only work for a single guest>.  If you want to run on multiple guests, then you have to invoke C<virt-df> multiple times.
uk: Якщо вказано якийсь із аргументів, I<-a> або I<-d>, C<virt-df> виконає дію типу C<df> або над окремим вказаним за назвою доменом libvirt, або над образами дисків, вказаних у форматі списку у командному рядку (усі вони мають належати до однієї віртуальної машини).  B<У цьому режимі (з аргументами), C<virt-df> працюватиме для однієї гостьової системи>. Якщо ви хочете обробити декілька гостьових систем, вам слід викликати C<virt-df> декілька разів.

note: type: textblock
en: Use the I<--csv> option to get a format which can be easily parsed by other programs.  Other options are similar to the standard L<df(1)> command.
uk: Скористайтеся параметром I<--csv>, щоб отримати формат у вигляді даних, які може бути просто оброблено у інших програмах. Інші параметри подібні  до параметрів стандартної команди L<df(1)>.

note: type: textblock
en: Show disk usage for a single libvirt guest called C<F14x64>.  Make the output human-readable:
uk: Показати використання диска для окремої гостьової системи libvirt, яка називається C<F14x64>. Зробити виведені дані зручними для читання:

note: type: textblock
en: Show disk usage for a disk image file called F<test.img>:
uk: Показати дані щодо використання диска у файлі образу диска з назвою F<test.img>:

note: type: textblock
en: If a single guest has multiple disks, use the I<-a> option repeatedly.  A plus sign (C<+>) is displayed for each additional disk.  B<Note: Do not do this with unrelated guest disks.>
uk: Якщо у одній гостьовій системі декілька дисків, скористайтеся параметром I<-a> декілька разів. Для кожного з додаткових дисків буде показано символ «плюс» (C<+>). B<Зауваження: не робіть цього для непов'язаних дисків гостьових систем.>

note: type: verbatim
en:  $ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b 
     Filesystem                   1K-blocks    Used  Available  Use%
     Win7x32TwoDisks-a+:/dev/sda1    102396   24712      77684   25%
     Win7x32TwoDisks-a+:/dev/sda2  12478460 7403416    5075044   60%
     Win7x32TwoDisks-a+:/dev/sdb1    521212   55728     465484   11%
uk:  $ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b 
     Файлова система              1K-блоків    Вик.   Доступно %Вик.
     Win7x32TwoDisks-a+:/dev/sda1    102396   24712      77684   25%
     Win7x32TwoDisks-a+:/dev/sda2  12478460 7403416    5075044   60%
     Win7x32TwoDisks-a+:/dev/sdb1    521212   55728     465484   11%

note: type: =item
en: B<-a> FILE
uk: B<-a> ФАЙЛ

note: type: =item
en: B<--add> FILE
uk: B<--add> ФАЙЛ

note: type: textblock
en: Add C<FILE> which should be a disk image from a virtual machine.  If the virtual machine has multiple block devices, you must supply all of them with separate I<-a> options.
uk: Додати I<ФАЙЛ>, який має бути образом диска з віртуальної машини. Якщо у віртуальній машині декілька блокових пристроїв, вам слід вказати їх усі за допомогою окремих записів параметра I<-a>.

note: type: textblock
en: Print sizes in human-readable format.
uk: Вивести дані щодо розмірів у зручному для читання форматі.

note: type: textblock
en: You are not allowed to use I<-h> and I<--csv> at the same time.
uk: Параметри I<-h> і I<--csv> не можна використовувати одночасно.

note: type: textblock
en: Print inodes instead of blocks.
uk: Вивести дані щодо inode замість даних щодо блоків.

note: type: textblock
en: Since libguestfs 1.22, this is the default.  This option does nothing and is left here for backwards compatibility with older scripts.
uk: З версії libguestfs 1.22 ця поведінка є типовою. Використання цього параметра не має жодних наслідків. Параметр збережено лише з міркувань зворотної сумісності із давніми скриптами.

note: type: textblock
en: Since libguestfs 1.22, virt-df is multithreaded and examines guests in parallel.  By default the number of threads to use is chosen based on the amount of free memory available at the time that virt-df is started.  You can force virt-df to use at most C<nr_threads> by using the I<-P> option.
uk: З версії libguestfs 1.22 у virt-df передбачено обробку у декілька потоків і паралельне вивчення гостьових систем. Типово кількість потоків виконання, що використовуються, вибирається на основі доступного обсягу вільної пам’яті на час запуску virt-df. Ви можете примусово наказати virt-df використовувати не більше за C<кількість_потоків> за допомогою параметра I<-P>.

note: type: textblock
en: Note that only domains that we fetch from libvirt come with UUIDs.  For disk images, we still print the disk image name even when this option is specified.
uk: Зауважте, що UUID матимуть лише ті домени, які ми отримуємо з libvirt. Для образів дисків ми виводимо назви образів дисків, навіть якщо вказано цей параметр.

note: type: =head1
en: STATVFS NUMBERS
uk: ЧИСЛОВІ ДАНІ ЩОДО STATVFS

note: type: textblock
en: C<virt-df> (and L<df(1)>) get information by issuing a L<statvfs(3)> system call.  You can get the same information directly, either from the host (using libguestfs) or inside the guest:
uk: C<virt-df> (і L<df(1)>) отримує інформацію, виконуючи системний виклик L<statvfs(3)>. Ви можете отримати ті самі дані безпосередньо або від основної системи (за допомогою libguestfs), або з самої гостьової системи:

note: type: =item
en: From the host
uk: З основної системи

note: type: textblock
en: Run this command:
uk: Віддайте таку команду:

note: type: verbatim
en:  guestfish --ro -d GuestName -i statvfs /
uk:  guestfish --ro -d НАЗВА_ГОСТЬОВОЇ_СИСТЕМИ -i statvfs /

note: type: textblock
en: (change F</> to see stats for other filesystems).
uk: (замініть F</>, щоб переглянути статистику для інших файлових систем).

note: type: =item
en: From inside the guest
uk: З гостьової системи

note: type: textblock
en: virt-dib - Run diskimage-builder elements
uk: virt-dib - виконати елементи diskimage-builder

note: type: verbatim
en:  virt-dib -B DIB-LIB [options] elements...
uk:  virt-dib -B DIB-LIB [параметри] елементи...

note: type: textblock
en: Virt-dib is a tool for using the elements of C<diskimage-builder> to build a new disk image, generate new ramdisks, etc.
uk: Virt-dib — інструмент для використання елементів C<diskimage-builder> з метою побудови нового образу диска, створення нових дисків у пам'яті тощо.

note: type: textblock
en: Virt-dib is intended as safe replacement for C<diskimage-builder> and its C<ramdisk-image-create> mode, see L</COMPARISON WITH DISKIMAGE-BUILDER> for a quick comparison with usage of C<diskimage-builder>.
uk: Virt-dib призначено для безпечної заміни C<diskimage-builder> і її режиму C<ramdisk-image-create>, див. L</ПОРІВНЯННЯ З DISKIMAGE-BUILDER>, щоб ознайомитися із коротким порівнянням із використанням C<diskimage-builder>.

note: type: textblock
en: C<diskimage-builder> is part of the TripleO OpenStack project: L<https://wiki.openstack.org/wiki/TripleO>.
uk: C<diskimage-builder> є частиною проєкту TripleO OpenStack: L<https://wiki.openstack.org/wiki/TripleO>.

note: type: =head2
en: Build simple images of distributions
uk: Збирання простих образів дистрибутивів

note: type: verbatim
en:  virt-dib \
       -B /path/to/diskimage-builder/lib \
       -p /path/to/diskimage-builder/elements \
       --envvar DIB_RELEASE=jessie \
       --name debian-jessie \
       debian vm
uk:  virt-dib \
       -B /шлях/до/diskimage-builder/lib \
       -p /шлях/до/diskimage-builder/elements \
       --envvar DIB_RELEASE=jessie \
       --name debian-jessie \
       debian vm

note: type: textblock
en: This builds a Debian Jessie (8.x) disk image, suitable for running as virtual machine, saved as F<debian-jessie.qcow2>.
uk: Ця команда збирає образ диска Debian Jessie (8.x), який є придатним для запуску у форматі віртуальної машини, який буде збережено як F<debian-jessie.qcow2>.

note: type: =head2
en: Build ramdisks
uk: Збирання дисків у пам’яті

note: type: verbatim
en:  virt-dib \
       -B /path/to/diskimage-builder/lib \
       -p /path/to/diskimage-builder/elements \
       --ramdisk \
       --name ramdisk \
       ubuntu deploy-ironic
uk:  virt-dib \
       -B /шлях/до/diskimage-builder/lib \
       -p /шлях/до/diskimage-builder/elements \
       --ramdisk \
       --name ramdisk \
       ubuntu deploy-ironic

note: type: textblock
en: This builds a ramdisk for the Ironic OpenStack component based on the Ubuntu distribution.
uk: Ця команда збирає диск у пам’яті для компонента Ironic OpenStack на основі дистрибутива Ubuntu.

note: type: =item
en: B<-B> PATH
uk: B<-B> ШЛЯХ

note: type: textblock
en: Set the path to the library directory of C<diskimage-builder>. This is usually the F<lib> subdirectory in the sources and when installed, and F</usr/share/diskimage-builder/lib> when installed in F</usr>.
uk: Встановити шлях до каталогу бібліотеки C<diskimage-builder>. Типово, це підкаталог F<lib> у початкових кодах, а після встановлення до F</usr> каталог F</usr/share/diskimage-builder/lib>.

note: type: textblock
en: This parameter is B<mandatory>, as virt-dib needs to provide it for the elements (as some of them might use scripts in it).  Virt-dib itself does not make use of the library directory.
uk: Цей параметр є B<обов'язковим>, оскільки virt-dib має надати його елементам (оскільки деякі з них можуть використовувати скрипти у каталозі). Сама ж програма virt-dib не використовує цей каталог бібліотеки безпосередньо.

note: type: textblock
en: Use the specified architecture for the output image.  The default value is the same as the host running virt-dib.
uk: Використовувати для образу-результату вказану архітектуру. Типовим є значення, яке збігається зі значенням архітектури для основної системи, на якій запущено virt-dib.

note: type: textblock
en: Right now this option does nothing more than setting the C<ARCH> environment variable for the elements, and it’s up to them to produce an image for the requested architecture.
uk: У поточній версії цей параметр виконує лише встановлення змінної середовища C<ARCH> для елементів, а елементи вже створюють образ для потрібної користувачу архітектури.

note: type: textblock
en: Generate checksum files for the generated image.  The supported checksums are MD5, and SHA256.
uk: Створювати файли контрольних сум для образу. Підтримуваними є контрольні суми MD5 та SHA256.

note: type: =item
en: B<--debug> LEVEL
uk: B<--debug> РІВЕНЬ

note: type: textblock
en: Set the debug level to C<LEVEL>, which is a non-negative integer number.  The default is C<0>.
uk: Встановити значення рівня діагностики C<РІВЕНЬ>. Рівнем є невід'ємне ціле число. Типовим є рівень C<0>.

note: type: textblock
en: This debug level is different than what I<-x> and I<-v> set, and it increases the debugging information printed out.  Specifically, this sets the C<DIB_DEBUG_TRACE>, and any value E<gt> C<0> enables tracing in the scripts executed.
uk: Цей рівень діагностики відрізняється від рівня, який встановлюється I<-x> і I<-v>, він збільшує обсяг діагностичної інформації, яка виводиться. Зокрема, він встановлює C<DIB_DEBUG_TRACE>, усі значення рівня E<gt> C<0> уможливлюють трасування у виконуваних скриптах.

note: type: =item
en: B<--docker-target> TARGET
uk: B<--docker-target> ЦІЛЬ

note: type: textblock
en: Set the repository and tag for docker.
uk: Встановити сховище і мітку для docker.

note: type: textblock
en: This is used only when the formats include C<docker>, and it is required in that case.
uk: Використовується лише тоді, коли серед форматів є C<docker>, і є обов'язковим у цьому випадку.

note: type: =item
en: B<--drive> DISK
uk: B<--drive> ДИСК

note: type: textblock
en: Add the specified disk to be used as helper drive where to cache files of the elements, like disk images, distribution packages, etc.
uk: Додати вказаний диск як допоміжний, такий, де зберігатимуться файли кешу елементів, зокрема образи дисків, пакунки дистрибутива тощо.

note: type: textblock
en: See L</HELPER DRIVE>.
uk: Див. L</ДОПОМІЖНИЙ ДИСК>.

note: type: textblock
en: Specify the format of the helper drive.  If this flag is not given then it is auto-detected from the drive itself.
uk: Вказати формат допоміжного диска. Якщо цей прапорець не вказано, його буде автоматично визначено на основі даних самого диска.

note: type: textblock
en: If working with untrusted raw-format guest disk images, you should ensure the format is always specified.
uk: Якщо ви працюєте із образами дисків гостьових систем у форматі raw із ненадійних джерел, вам слід завжди вказувати назву формату.

note: type: textblock
en: This option is used only if I<--drive> is specified.
uk: Цей параметр використовується, лише якщо вказано I<--drive>.

note: type: =item
en: B<-p> PATH
uk: B<-p> ШЛЯХ

note: type: =item
en: B<--element-path> PATH
uk: B<--element-path> ШЛЯХ

note: type: textblock
en: Add a new path with elements.  Paths are used in the same order as the I<-p> parameters appear, so a path specified first is looked first, and so on.
uk: Додати новий шлях з елементами. Шляхи використовуватимуться у тому самому порядку, у якому з’являються параметри I<-p>, отже, пошук за шляхом, вказаним першим, відбуватиметься спочатку.

note: type: textblock
en: Obviously, it is recommended to add the path to the own elements of C<diskimage-builder>, as most of the other elements will rely on them.
uk: Очевидно, варто додати шлях до власних елементів C<diskimage-builder>, оскільки більшість інших елементів покладатимуться на ці дані.

note: type: =item
en: B<--extra-packages> PACKAGE,...
uk: B<--extra-packages> ПАКУНОК,...

note: type: textblock
en: Install additional packages in the image being built.
uk: Встановити додаткові пакунки у образ, який збиратиметься.

note: type: textblock
en: This relies on the C<install-packages> binary provided by the package management elements.
uk: Робота цього параметра залежить від виконуваного файла C<install-packages>, який визначається елементами керування пакунками.

note: type: textblock
en: This option can be specified multiple times, each time with multiple packages separated by comma.
uk: Цей параметр може бути використано декілька разів, декілька пакунків у аргументах слід відокремлювати комами.

note: type: =item
en: B<--envvar> VARIABLE
uk: B<--envvar> ЗМІННА

note: type: =item
en: B<--envvar> VARIABLE=VALUE
uk: B<--envvar> ЗМІННА=ЗНАЧЕННЯ

note: type: textblock
en: Carry or set an environment variable for the elements.
uk: Передати або встановити змінну середовища для елементів.

note: type: textblock
en: See L</ENVIRONMENT VARIABLES> below for more information on the interaction and usage of environment variables.
uk: Див. L</ЗМІННІ СЕРЕДОВИЩА> нижче, щоб дізнатися більше про взаємодію і використання змінних середовища.

note: type: textblock
en: This option can be used in two ways:
uk: Цим параметром можна скористатися у декілька способів:

note: type: textblock
en: Carry the environment variable C<VARIABLE>. If it is not set, nothing is exported to the elements.
uk: Передати змінну середовища C<ЗМІННА>. Якщо змінну не встановлено, до елементів нічого не експортуватиметься.

note: type: textblock
en: Set the environment variable C<VARIABLE> with value C<VALUE> for the elements, regardless whether an environment variable with the same name exists.
uk: Встановити для змінної середовища C<ЗМІННА> значення C<ЗНАЧЕННЯ> для елементів, незалежно від того, чи вже існує змінна середовища із тією самою назвою.

note: type: textblock
en: This can be useful to pass environment variable without exporting them in the environment where virt-dib runs.
uk: Може бути корисним для передавання змінної середовища без експортування у середовище, де запущено virt-dib.

note: type: =item
en: B<--exclude-element> ELEMENT
uk: B<--exclude-element> ЕЛЕМЕНТ

note: type: textblock
en: Ignore the specified element.
uk: Ігнорувати вказаний елемент.

note: type: =item
en: B<--exclude-script> SCRIPT
uk: B<--exclude-script> СКРИПТ

note: type: textblock
en: Ignore any element script named C<SCRIPT>, whichever element it is in.
uk: Ігнорувати будь-який скрипт елемента із назвою C<СКРИПТ>, байдуже, до якого елемента він належатиме.

note: type: textblock
en: This can be useful in case some script does not run well with virt-dib, for example when they really need C<diskimage-builder>'s environment.
uk: Це може бути корисним, якщо якийсь скрипт погано працює з virt-dib, наприклад, якщо скриптові справді потрібне середовище C<diskimage-builder>.

note: type: =item
en: B<--formats> FORMAT,...
uk: B<--formats> ФОРМАТ,...

note: type: textblock
en: Set the list of output formats, separating them with comma.
uk: Встановити список форматів виведення даних, відокремлених комами.

note: type: textblock
en: Supported formats are:
uk: Підтримувані формати:

note: type: textblock
en: Import the image to docker, running B<docker import>.  The target for the image B<must> be specified using I<--docker-target>.
uk: Імпортувати образ до docker за допомогою команди B<docker import>. Призначення для образу B<має> бути вказано за допомогою I<--docker-target>.

note: type: textblock
en: Please note this operation usually requires the docker service to be enabled, otherwise it will fail.  Furthermore, B<docker> is run using L<sudo(8)>, so make sure the user has the permissions to run at least B<docker>.
uk: Будь ласка, зауважте, що виконання цієї дії зазвичай потребує вмикання служби docker, інакше його не вдасться виконати. Крім того, B<docker> працює з використанням L<sudo(8)>, отже, переконайтеся, що користувач має право запускати принаймні B<docker>.

note: type: =item
en: C<qcow2> (enabled by default)
uk: C<qcow2> (типово увімкнено)

note: type: textblock
en: QEMU’s qcow2.  This output format requires the C<qemu-img> tool.
uk: qcow2 для QEMU. Для роботи з цим форматом потрібна програма C<qemu-img>.

note: type: textblock
en: Raw disk format.
uk: Формат даних диска без обробки.

note: type: textblock
en: An squashfs filesystem, compressed with XZ.  This output format requires the C<squashfs> feature; see also L<guestfs(3)/AVAILABILITY>.
uk: Файлова система squashfs, яку стиснуто за допомогою XZ. Для користування цим форматом виведення даних потрібна можливість C<squashfs>; див. також L<guestfs(3)/ДОСТУПНІСТЬ>.

note: type: textblock
en: An uncompressed tarball.
uk: Архів без стискання.

note: type: textblock
en: A tarball compressed with gzip.
uk: Архів tar, стиснутий за допомогою gzip.

note: type: textblock
en: C<Virtual Hard Disk> disk image.  This output format requires the C<vhd-util> tool.
uk: Образ диска C<Virtual Hard Disk>. Виведення даних у цьому форматі вимагає наявності C<vhd-util>.

note: type: textblock
en: Please note that the version of C<vhd-util> tool needs to be patched to support the C<convert> subcommand, and to be bootable.  The patch is available here: L<https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix>.
uk: Будь ласка, зверніть увагу на те, що версія C<vhd-util> повинна бути зібраною із латкою, яка вмикає підтримку підкоманди C<convert>, і бути придатною до завантаження. Латку можна знайти тут: L<https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix>.

note: type: =item
en: B<--fs-type> FILESYSTEM
uk: B<--fs-type> ФАЙЛОВА СИСТЕМА

note: type: textblock
en: Set the filesystem type to use for the root filesystem.  The default is C<ext4>.
uk: Встановити файлову систему, яку буде використано для кореневої теки системи. Типовою є C<ext4>.

note: type: textblock
en: See also L<guestfs(3)/guestfs_filesystem_available>.
uk: Див. також L<guestfs(3)/guestfs_filesystem_available>.

note: type: =item
en: B<--image-cache> DIRECTORY
uk: B<--image-cache> КАТАЛОГ

note: type: textblock
en: Set the path in the host where cache the resources used by the elements of the C<extra-data.d> phase.  The default is F<~/.cache/image-create>.
uk: Встановити каталог у основній системі, до якого кешуватимуться ресурси, які використовуються елементами фази C<extra-data.d>. Типовим є F<~/.cache/image-create>.

note: type: textblock
en: Please note that most of the resources fetched in phases other than C<extra-data.d> will be cached in the helper drive specified with I<--drive>; see also L</HELPER DRIVE>.
uk: Будь ласка, зауважте, що більшість ресурсів, які отримуватимуться на фазах, відмінних від C<extra-data.d>, кешуватимуться на допоміжному диску, вказаному за допомогою I<--drive>; див. також L</ДОПОМІЖНИЙ ДИСК>.

note: type: =item
en: B<--install-type> TYPE
uk: B<--install-type> ТИП

note: type: textblock
en: Specify the default installation type.  Defaults to C<source>.
uk: Вказати типовий тип встановлення. Стандартним є C<source>.

note: type: textblock
en: Set to C<package> to use package based installations by default.
uk: Встановіть значення C<package>, щоб типово використовувати засноване на пакунках встановлення.

note: type: textblock
en: Change the amount of memory allocated to the appliance. Increase this if you find that the virt-dib execution runs out of memory.
uk: Змінити обсяг пам'яті, який надаватиметься для базової системи. Збільште це значення, якщо для виконання virt-dib не вистачає пам'яті.

note: type: =item
en: B<--mkfs-options> C<OPTION STRING>
uk: B<--mkfs-options> C<РЯДОК ПАРАМЕТРІВ>

note: type: textblock
en: Add the specified options to L<mkfs(1)>, to be able to fine-tune the root filesystem creation; the options are passed to the driver of L<mfks(1)>, and not to L<mfks(1)> itself.  Note that I<--fs-type> is used to change the filesystem type.
uk: Додати вказані параметри до L<mkfs(1)>, щоб мати змогу скоригувати параметри створення кореневої файлової системи; параметри передаються драйверу L<mfks(1)>, а не самій L<mfks(1)>. Зауважте, що для зміни типу файлової системи використовується I<--fs-type>.

note: type: textblock
en: You should use I<--mkfs-options> at most once.  To pass multiple options, separate them with space, eg:
uk: Вам слід скористатися I<--mkfs-options> не більше одного разу. Щоб передати декілька параметрів, відокремте їх пробілами. Приклад:

note: type: verbatim
en:  virt-dib ... --mkfs-options '-O someopt -I foo'
uk:  virt-dib ... --mkfs-options '-O якийсь_параметр -I щось_ще'

note: type: textblock
en: This does not affect whether the guest can access the network once it has been booted, because that is controlled by your hypervisor or cloud environment and has nothing to do with virt-dib.
uk: Це не вплине на доступність мережі для гостьової системи після її завантаження, оскільки така доступність керується вашим гіпервізором або хмарним середовищем і не має нічого спільного з virt-dib.

note: type: textblock
en: If you use I<--no-network>, then the environment variable C<DIB_OFFLINE> is set to C<1>, signaling the elements that they should use only cached resources when available.  Note also that, unlike with C<diskimage-builder> where elements may still be able to access to the network even with C<DIB_OFFLINE=>, under virt-dib network will not be accessible at all.
uk: Якщо ви використаєте параметр I<--no-network>, змінній середовища C<DIB_OFFLINE> буде надано значення C<1>, що сигналізуватиме елементам про те, що їм слід використовувати лише кешовані ресурси, якщо вони доступні. Також слід зауважити, що, на відміну від C<diskimage-builder>, де елементи все ще можуть отримувати доступ до мережі навіть із C<DIB_OFFLINE=>, у virt-dib мережа буде зовсім недоступною.

note: type: =item
en: B<--name> NAME
uk: B<--name> НАЗВА

note: type: textblock
en: Set the name of the output image file.  The default is C<image>.
uk: Встановити назву для файла із виведеним образом. Типовою є C<image>.

note: type: textblock
en: According to the chosen name, there will be the following in the current directory:
uk: Відповідно до вибраної назви, у поточному каталозі буде таке:

note: type: textblock
en: For each output format, a file named after the output image with the extension depending on the format; for example: F<$NAME.qcow2>, F<$NAME.raw>, etc.
uk: Для кожного з форматів виведення назву файла буде взято з назви образу-результату, а суфікс назви залежатиме від формату. Приклад: F<$NAME.qcow2>, F<$NAME.raw> тощо.

note: type: textblock
en: Not applicable in ramdisk mode, see L</RAMDISK BUILDING>.
uk: Не можна застосовувати у режимі диска у пам'яті (ramdisk), див. L</ЗБИРАННЯ ДИСКА У ПАМ'ЯТІ>.

note: type: textblock
en: A directory containing any files created by the elements, for example F<dib-manifests> directory (created by the C<manifests> element), ramdisks and kernels in ramdisk mode, and so on.
uk: Каталог, що містить будь-які файли, створені елементами, наприклад каталог F<dib-manifests> (створено елементом C<manifests>), диски у пам'яті та ядра у режимі диску у пам'яті тощо.

note: type: textblock
en: When I<--checksum> is specified, there will be files for each supported checksum type; for example: F<$NAME.ext.md5>, F<$NAME.ext.sha256>, etc.
uk: Якщо вказано I<--checksum>, буде створено файли для усіх підтримуваних типів контрольних сум; приклади: F<$NAME.ext.md5>, F<$NAME.ext.sha256> тощо.

note: type: textblock
en: Don’t delete the output files on failure to build.  You can use this to debug failures to run scripts.
uk: Не вилучати файли з виведеними даними, якщо під час збирання станеться помилка. Цими файлами можна скористатися для діагностики помилок у запущених скриптах.

note: type: textblock
en: The default is to delete the output files if virt-dib fails (or, for example, some script that it runs fails).
uk: Типовою є поведінка, коли файли результатів буде вилучено, якщо станеться помилка у virt-dib (або, наприклад, помилка у одному зі скриптів, які запускає ця програма).

note: type: textblock
en: Specify a different Python interpreter to use.  Parts of C<diskimage-builder> are implemented in Python, and thus an interpreter is needed.
uk: Вказати для використання інший інтерпретатор Python. Частину C<diskimage-builder> реалізовано мовою Python, тому інтерпретатор є обов'язковим.

note: type: textblock
en: C<PYTHON> can either be an executable filename (e.g. F<python2>, which is then searched in C<$PATH>), or a full path (e.g.  F</usr/bin/python2>).  If not specified, the default value is F<python>.
uk: Значенням C<PYTHON> може бути або повна назва виконуваного файла (наприклад F<python2>, пошук якого буде виконано у каталогах змінної C<$PATH>), або шлях повністю (наприклад  F</usr/bin/python2>). Якщо не вказано, типовим значенням буде F<python>.

note: type: =item
en: B<--qemu-img-options> option[,option,...]
uk: B<--qemu-img-options> параметр[,параметр,...]

note: type: textblock
en: Pass I<--qemu-img-options> option(s) to the L<qemu-img(1)> command to fine-tune the output format.  Options available depend on the output format (see I<--formats>) and the installed version of the qemu-img program.
uk: Передати параметри I<--qemu-img-options> до програми L<qemu-img(1)> для коригування формату виведення даних.  Перелік доступних параметрів залежить від формату виведення (див. I<--formats>) і встановленої версії програми qemu-img.

note: type: textblock
en: You should use I<--qemu-img-options> at most once.  To pass multiple options, separate them with commas, eg:
uk: Вам слід скористатися I<--qemu-img-options> не більше одного разу. Щоб передати декілька параметрів, відокремте їх комами. Приклад:

note: type: textblock
en: Set the ramdisk building mode.
uk: Встановити режим збирання диска у пам’яті.

note: type: textblock
en: See L</RAMDISK BUILDING>.
uk: Див. L</ЗБИРАННЯ ДИСКА У ПАМ'ЯТІ>.

note: type: =item
en: B<--ramdisk-element> NAME
uk: B<--ramdisk-element> НАЗВА

note: type: textblock
en: Set the name for the additional element added in ramdisk building mode.  The default is C<ramdisk>.
uk: Встановити назву для додаткового елемента, який буде додано у режимі збирання диска у пам'яті. Типовою є назва C<ramdisk>.

note: type: =item
en: B<--root-label> LABEL
uk: B<--root-label> МІТКА

note: type: textblock
en: Set the label for the root filesystem in the created image.
uk: Встановити мітку для кореневої файлової системи у створеному образі.

note: type: textblock
en: Please note that some filesystems have different restrictions on the length of their labels; for example, on C<ext2/3/4> filesystems labels cannot be longer than 16 characters, while on C<xfs> they have at most 12 characters.
uk: Будь ласка, зауважте, що у деяких файлових системах обмеження на мітки може бути іншим. Наприклад, у файлових системах C<ext2/3/4> мітки не можуть бути довшими за 16 символів, а у C<xfs> найбільшою довжиною мітки є 12 символів.

note: type: textblock
en: The default depends on the actual filesystem for the root partition (see I<--fs-type>): on C<xfs> is C<img-rootfs>, while C<cloudimg-rootfs> on any other filesystem.
uk: Типове значення залежить від типу файлової системи для кореневого розділу (див. I<--fs-type>): на C<xfs> — це C<img-rootfs>, а на будь-якій іншій файловій системі — C<cloudimg-rootfs>.

note: type: textblock
en: Select the size of the output disk, where the size can be specified using common names such as C<32G> (32 gigabytes) etc.  The default size is C<5G>.
uk: Вибір розміру диска-результату, де розмір можна вказати за допомогою типових записів, зокрема C<32G> (32 гігабайти) тощо. Типовим є розмір C<5G>.

note: type: textblock
en: See also L<virt-resize(1)> for resizing partitions of an existing disk image.
uk: Див. також L<virt-resize(1)> щодо зміни розмірів розділів на наявному образі диска.

note: type: textblock
en: Skip the inclusion of the C<base> element.
uk: Пропустити включення елемента C<base>.

note: type: textblock
en: Enable N E<ge> 2 virtual CPUs for scripts to use.
uk: Увімкнути використання скриптами N E<ge> 2 віртуальних процесорів.

note: type: textblock
en: Do not compress resulting qcow2 images.  The default is to compress them.
uk: Не стискати отримані образи qcow2. Типово, програма стискає такі образи.

note: type: textblock
en: Enable debugging messages.
uk: Увімкнути показ діагностичних повідомлень.

note: type: textblock
en: Unlike with C<diskimage-builder>, the environment of the host is B<not> inherited in the appliance when running most of the elements (i.e. all except the ones in the C<extra-data.d> phase).
uk: На відміну від C<diskimage-builder>, середовище основної системи B<не> успадковується у базовій системі під час запуску більшості елементів (тобто усіх, окрім елементів у фазі C<extra-data.d>).

note: type: textblock
en: To set environment for the elements being run, it is necessary to tell virt-dib to use them, with the option I<--envvar>.  Such option allows to selectively export environment variables when running the elements, and it is the preferred way to pass environment variables to the elements.
uk: Щоб встановити змінні середовища для виконання елементів, слід повідомити virt-dib, що слід використовувати ці змінні, за допомогою параметра I<--envvar>.  Такий параметр надасть змогу вибірково експортувати змінні середовища під час виконання елементі. Це також пріоритетний шлях передавання змінних середовища елементам.

note: type: textblock
en: To recap: if you want the environment variable C<MYVAR> (and its content) to be available to the elements, you can do either
uk: І ще раз: якщо вам потрібно, щоб змінна середовища C<MYVAR> (і її вміст) були доступні елементам, вам слід або віддати команду

note: type: verbatim
en:  export MYVAR   # whichever is its value
     virt-dib ... --envvar MYVAR ...
uk:  export MYVAR   # яким би не було її значення
     virt-dib ... --envvar MYVAR ...

note: type: verbatim
en:  virt-dib ... --envvar MYVAR=value_of_it ...
uk:  virt-dib ... --envvar MYVAR=її_значення ...

note: type: =head1
en: HELPER DRIVE
uk: ДОПОМІЖНИЙ ДИСК

note: type: textblock
en: Virt-dib runs most of the element in its own appliance, and thus not on the host.  Because of this, there is no possibility for elements to cache resources directly on the host.
uk: Virt-dib виконує більшість елементів у власній базовій системі, отже, не на основній системі. Через це, елементи не можуть кешувати ресурси безпосередньо на основній системі.

note: type: textblock
en: To solve this issue, virt-dib allows the usage of an helper drive where to store cached resources, like disk images, distribution packages, etc. While this means that there is a smaller space available for caching, at least it allows to limit the space on the host for caches, without assuming that elements will do that by themselves.
uk: Щоб усунути цю незручність, у virt-dib передбачено можливість використання допоміжного диска, на якому можна зберігати кешовані ресурси, зокрема образи дисків, пакунки дистрибутивів тощо. Хоча це означає, що для кешування буде доступним менше місця, принаймні, це надає змогу обмежити простір у основній системі для кешів без потреби у виконанні цього завдання засобами самих елементів.

note: type: textblock
en: Currently this disk is either required to have a single partition on it, or the first partition on it will be used.  A disk with the latter configuration can be easily created with L<guestfish(1)> like the following:
uk: У поточній версії або цей диск має містити лише один розділ, або має використовуватися лише перший розділ з диска. Диск із другим варіантом конфігурації доволі просто створити за допомогою L<guestfish(1)> ось так:

note: type: textblock
en: The above will create a disk image called F<filename.img>, 10G big, with a single partition of type ext4; see L<guestfish(1)/PREPARED DISK IMAGES>.
uk: У результаті виконання наведеної вище команди буде створено образ диска із назвою F<filename.img> об'ємом у 10 ГБ з одним розділом типу ext4; див. L<guestfish(1)/ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ>.

note: type: textblock
en: It is recommended for it to be E<ge> 10G or even more, as elements will cache disk images, distribution packages, etc.  As with any disk image, the helper disk can be easily resized using L<virt-resize(1)> if more space in it is needed.
uk: Рекомендованим розміром диска є E<ge> 10 ГБ, оскільки елементи кешуватимуть образи дисків, пакунки дистрибутивів тощо. Як і розмір будь-якого образу диска, розмір допоміжного диска можна змінити за допомогою L<virt-resize(1)>, якщо раптом він стане замалим.

note: type: textblock
en: The drive can be accessed like any other disk image, for example using other tools of libguestfs such as L<guestfish(1)>:
uk: Доступ до диска може здійснюватися у спосіб, який є подібним до способу доступу до будь-яких інших образів дисків, наприклад, за допомогою інших інструментів libguestfs, зокрема L<guestfish(1)>:

note: type: textblock
en: If no helper drive is specified with I<--drive>, all the resources cached during a virt-dib run will be discarded.
uk: Якщо за допомогою I<--drive> не вказано жодного допоміжного диска, усі ресурси, кешовані під час запуску virt-dib, буде відкинуто.

note: type: =head2
en: RESOURCES INSIDE THE DRIVE
uk: РЕСУРСИ НА ДИСКУ

note: type: textblock
en: Inside the helper drive, it is possible to find the following resources:
uk: У допоміжному диску можна шукати такі ресурси:

note: type: textblock
en: This directory is set as C<HOME> environment variable during the build.  It contains mostly the image cache (saved as F</home/.cache/image-create>), and whichever other resource is cached in the home directory of the user running the various tools.
uk: Цей каталог задається за допомогою змінної середовища C<HOME> під час збирання. У ньому, здебільшого, міститься кеш образів (збережений до F</home/.cache/image-create>) та усі інші ресурси у домашньому каталозі користувача, який запускає різні інструменти.

note: type: textblock
en: These are the logs of the elements being run within the libguestfs appliance, which means all the phases except C<extra-data.d>.
uk: Це журнали елементів, які виконуються у базовій системі libguestfs, тобто усі фази, окрім C<extra-data.d>.

note: type: =head1
en: RAMDISK BUILDING
uk: ЗБИРАННЯ ДИСКА У ПАМ'ЯТІ

note: type: textblock
en: Virt-dib can emulate also C<ramdisk-image-create>, which is a secondary operation mode of C<diskimage-builder>.  Instead of being a different tool name, virt-dib provides easy access to this mode using the I<--ramdisk> switch.
uk: Virt-dib може також емулювати C<ramdisk-image-create>, вторинний режим роботи C<diskimage-builder>. Замість використання якогось інструмента із іншою назвою, virt-dib надає простий доступ до режиму за допомогою параметра I<--ramdisk>.

note: type: textblock
en: In this mode:
uk: У цьому режимі:

note: type: textblock
en: there is an additional ramdisk element added (see I<--ramdisk-element>)
uk: додається елемент ramdisk (див. I<--ramdisk-element>)

note: type: textblock
en: no image is produced (so I<--formats> is ignored)
uk: образу не створюється (отже, I<--formats> буде проігноровано)

note: type: textblock
en: F<$NAME.d> (see I<--name>) will contain initrd, kernel, etc
uk: F<$NAME.d> (див. I<--name>) міститиме initrd, kernel, тощо.

note: type: =head1
en: TEMPORARY DIRECTORY
uk: ТИМЧАСОВИЙ КАТАЛОГ

note: type: textblock
en: Virt-dib uses the standard temporary directory used by libguestfs, see L<guestfs(3)/ENVIRONMENT VARIABLES>.
uk: Virt-dib використовує стандартний каталог для тимчасових файлів, який використовується libguestfs, див. L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>.

note: type: textblock
en: By default this location is F</tmp> (default value for C<TMPDIR>), which on some systems may be on a tmpfs filesystem, and thus defaulting to a maximum size of I<half> of physical RAM.  If virt-dib exceeds this, it may hang or exit early with an error.  The solution is to point C<TMPDIR> to a permanent location used as temporary location, for example:
uk: Типово, цим каталогом є F</tmp> (типове значення для C<TMPDIR>). У деяких системах для цього каталогу може використовуватися файлова система tmpfs. Таким чином, типовим максимальним розміром для нього є I<половина> фізичного розміру оперативної пам'яті. Якщо під час роботи virt-dib перевищить це обмеження, програма може повиснути або завершити роботу передчасно із повідомленням про помилку. Усунути цю проблему можна, вказавши для C<TMPDIR> тимчасовий каталог. Приклад:

note: type: =head1
en: EXTRA DEPENDENCIES
uk: ДОДАТКОВІ ЗАЛЕЖНОСТІ

note: type: textblock
en: Because of virt-dib runs most of the elements in its own appliance, all the tools and libraries used by elements running outside the guest (typically C<root.d>, C<block-device.d>, and C<cleanup.d>)  need to be present in the appliance as well.  In case they are not, scripts will fail typically with a C<command not found> error.
uk: Оскільки virt-dib запускає більшість елементів у власній базовій системі, усі інструменти та бібліотеки, які використовуються елементами, що запускаються поза межами гостьової системи (типово C<root.d>, C<block-device.d> та C<cleanup.d>) мають бути і у базовій системі. Якщо їх не буде, скрипти не зможуть працювати і типово повідомлять про помилку C<команду не знайдено>.

note: type: textblock
en: For tools and libraries packaged by the distribution, the easy solution is to tell libguestfs to include additional packages in the appliance.  This is doable by e.g. creating a new file with the additional packages:
uk: Для інструментів і бібліотек, які містяться у пакунках дистрибутивів, простим рішенням цієї проблеми буде віддання наказу libguestfs включити додаткові пакунки до базової системи. Зробити це можна, наприклад, створення файла із додатковими пакунками:

note: type: textblock
en: The actual path to the F<supermin.d> directory depends on the distribution; additional files can list more packages, each in its own line.  For more details, see L<supermin(1)>.
uk: Шлях до каталогу F<supermin.d>, звичайно ж, залежить від дистрибутива. У додаткових файлах може бути список із багатьма пакунками, кожен з яких слід вказувати окремому рядку. Докладніший опис можна знайти у підручнику з L<supermin(1)>.

note: type: =head1
en: COMPARISON WITH DISKIMAGE-BUILDER
uk: ПОРІВНЯННЯ ІЗ DISKIMAGE-BUILDER

note: type: textblock
en: Virt-dib is intended as safe replacement for C<diskimage-builder> and its C<ramdisk-image-create> mode; the user-notable differences consist in:
uk: Призначенням virt-dib є бути безпечним замінником програми C<diskimage-builder> і її режиму C<ramdisk-image-create>. Помітні для користувача відмінності полягають ось у чому:

note: type: textblock
en: the command line arguments; some of the arguments are the same as available in C<diskimage-builder>, while some have different names:
uk: аргументи командного рядка; деякі з аргументів збігаються із аргументами C<diskimage-builder>, але деякі є іншими:

note: type: verbatim
en:  disk-image-create             virt-dib
     -----------------             --------
     -a ARCH                       --arch ARCH
     --image-size SIZE             --size SIZE
     --max-online-resize SIZE      doable using --mkfs-options
     -n                            --skip-base
     -o IMAGENAME                  --name IMAGENAME
     -p PACKAGE(S)                 --extra-packages PACKAGE(S)
     -t FORMAT(S)                  --formats FORMAT(S)
     -x                            --debug 1
     -x -x                         --debug 2
     -x -x [-x ...]                --debug 3/4/etc
uk:  disk-image-create             virt-dib
     -----------------             --------
     -a ARCH                       --arch АРХІТЕКТУРА
     --image-size РОЗМІР           --size РОЗМІР
     --max-online-resize РОЗМІР    doable using --mkfs-options
     -n                            --skip-base
     -o НАЗВА ОБРАЗУ               --name НАЗВА ОБРАЗУ
     -p ПАКУНКИ                    --extra-packages ПАКУНКИ
     -t ФОРМАТИ                    --formats ФОРМАТИ
     -x                            --debug 1
     -x -x                         --debug 2
     -x -x [-x ...]                --debug 3/4/etc

note: type: textblock
en: the location of non-image output files (like ramdisks and kernels)
uk: розташування файлів-результатів, які не є образами (зокрема дисків у пам'яті і ядер)

note: type: textblock
en: the way some of the cached resources are saved: using an helper drive, not directly on the disk where virt-dib is run
uk: спосіб зберігання деяких кешованих ресурсів: використання допоміжного диска, а не диска, на якому запущено virt-dib

note: type: textblock
en: the need to specify a target size for the output disk, as opposed to C<diskimage-builder> calculating an optimal one
uk: потреба у визначення розміру диска-результату, тоді як програма C<diskimage-builder> автоматично обчислює оптимальний розмір

note: type: textblock
en: the handling of environment variables, see L</ENVIRONMENT VARIABLES>.
uk: обробка змінних середовища, див. L</ЗМІННІ СЕРЕДОВИЩА>.

note: type: textblock
en: Furthermore, other than the libguestfs own environment variables (see L<guestfs(3)/ENVIRONMENT VARIABLES>), virt-dib does not read any other environment variable: this means that all the options and behaviour changes are specified solely using command line arguments
uk: До того ж, окрім власних змінних середовища libguestfs (див. L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>), virt-dib не виконує читання жодних інших змінних середовища. Це означає, що зміни у параметрах і поведінці програми визначаються лише переданими їй аргументами рядка команди.

note: type: textblock
en: extra tools needed on some out-of-chroot phases need to be available in the appliance, see L</EXTRA DEPENDENCIES>.
uk: потрібно, щоб додаткові інструменти на деяких фазах поза chroot були доступні у базовій системі, див. L</ДОДАТКОВІ ЗАЛЕЖНОСТІ>.

note: type: textblock
en: Elements themselves should notice no difference in they way they are run; behaviour differences may due to wrong assumptions in elements, or not correct virt-dib emulation.
uk: Робота самих елементів не повинна зазнати змін; причиною відмінностей у поведінці можуть бути помилкові припущення у коді самих елементів або некоректна емуляція virt-dib.

note: type: textblock
en: Known issues at the moment:
uk: Відомі вади:

note: type: textblock
en: (none)
uk: (нічого)

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-dib from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-dib з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: Use the option on its own to query the capabilities of the virt-dib binary.  Typical output looks like this:
uk: Скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-dib.  Типово виведені дані виглядатимуть якось так:

note: type: textblock
en: The C<output:> features refer to the output formats (I<--formats> command line option) supported by this binary.
uk: C<output:> є вказівкою на формати виведення (параметр рядка команди I<--formats>), підтримку яких передбачено у цьому виконуваному файлі.

note: type: =head1
en: TESTING
uk: ТЕСТУВАННЯ

note: type: textblock
en: Virt-dib has been tested with C<diskimage-builder> (and its elements)  E<ge> 0.1.43; from time to time also with C<tripleo-image-elements> and C<sahara-image-elements>.
uk: Перевірку працездатності virt-dib було виконано для C<diskimage-builder> (та його елементів)  E<ge> 0.1.43. Час від часу виконується також перевірка для C<tripleo-image-elements> та C<sahara-image-elements>.

note: type: textblock
en: Previous versions may work, but it is not guaranteed.
uk: Попередні версії також можуть працювати, але цього не можна гарантувати.

note: type: textblock
en: Copyright (C) 2015 Red Hat Inc.
uk: © Red Hat Inc., 2015

note: type: textblock
en: virt-diff - Differences between files in two virtual machines
uk: virt-diff -- показ відмінностей між файлами у двох віртуальних машинах

note: type: verbatim
en:  virt-diff [--options] -d domain1 -D domain2
uk:  virt-diff [--параметри] -d домен1 -D домен2

note: type: verbatim
en:  virt-diff [--options] -a disk1.img [-a ...] -A disk2.img [-A ...]
uk:  virt-diff [--параметри] -a диск1.img [-a ...] -A диск2.img [-A ...]

note: type: textblock
en: C<virt-diff> lists the differences between files in two virtual machines or disk images.  The usual use case is to show the changes in a VM after it has been running for a while, by taking a snapshot, running the VM, and then using this tool to show what changed between the new VM state and the old snapshot.
uk: C<virt-diff> показує список відмінностей між файлами у двох віртуальних машинах або на двох образах дисків. Звичайним випадком застосування є показ змін у віртуальній машині після певного проміжку роботи: можна зробити знімок, запустити віртуальну машину, а потім скористатися цією програмою для перегляду змін, які відрізняють новий стан віртуальної машини і старий її знімок.

note: type: textblock
en: This tool will find differences in filenames, file sizes, checksums, extended attributes, file content and more from a virtual machine or disk image.  However it B<does not> look at the boot loader, unused space between partitions or within filesystems, "hidden" sectors and so on.  In other words, it is not a security or forensics tool.
uk: Ця програма виявить відмінності у назвах файлів, розмірах файлів, контрольних сумах, розширених атрибутах, вмісті файлів та інших даних з віртуальної машини або образу диска. Втім, вона B<не> шукатиме відмінності у завантажувачі, невикористаному місці між розділами або всередині файлових систем, «прихованих» секторах тощо. Іншими словами, це не інструмент вивчення питань безпеки або ретельного дослідження.

note: type: textblock
en: To specify two guests, you have to use the I<-a> or I<-d> option(s)  for the first guest, and the I<-A> or I<-D> option(s) for the second guest.  The common case is:
uk: Щоб вказати дві гостьові системи, вам слід скористатися параметром I<-a> або I<-d> для першої гостьової системи і параметром I<-A> або I<-D> для другої. Типовий варіант команди:

note: type: verbatim
en:  virt-diff -a old.img -A new.img
uk:  virt-diff -a старий.img -A новий.img

note: type: textblock
en: or using names known to libvirt:
uk: або з використанням відомих libvirt назв:

note: type: textblock
en: Add I<file> which should be a disk image from the first virtual machine.  If the virtual machine has multiple block devices, you must supply all of them with separate I<-a> options.
uk: Додати I<файл>, який має бути образом диска з першої віртуальної машини. Якщо у віртуальній машині декілька блокових пристроїв, вам слід вказати їх усі за допомогою окремих записів параметра I<-a>.

note: type: textblock
en: Same as I<--extra-stats> I<--times> I<--uids> I<--xattrs>.
uk: Те саме, що I<--extra-stats> I<--times> I<--uids> I<--xattrs>.

note: type: textblock
en: The default is to ignore changes in file access times, since those are unlikely to be interesting.  Using this flag shows atime differences as well.
uk: Типово, зміни у часі доступу до файла ігноруватимуться, оскільки вони, зазвичай, не варті уваги. Якщо буде використано цей параметр, програма показуватиме і відмінності у значеннях часу доступу.

note: type: =item
en: B<-A> file
uk: B<-A> файл

note: type: =item
en: B<-A> URI
uk: B<-A> адреса

note: type: textblock
en: Add a disk image from the second virtual machine.
uk: Додати образ диска із іншої віртуальної машини.

note: type: textblock
en: Use a checksum over file contents to detect when regular files have changed content.
uk: Використовувати контрольну суму вмісту файла для визначення випадків зміни вмісту файла.

note: type: textblock
en: With no argument, this defaults to using I<md5>.  Using an argument, you can select the checksum type to use.  If the flag is omitted then file times and size are used to determine if a file has changed.
uk: Без аргументів, типово, буде використано I<md5>. За допомогою аргументу ви можете вказати тип контрольної суми, яку буде використано. Якщо прапорець не вказано, для визначення того, чи було змінено файл, буде використано часові параметри та розмір файла.

note: type: textblock
en: The default is to ignore changes in the number of links in directory entries, since those are unlikely to be interesting.  Using this flag shows changes to the nlink field of directories.
uk: Типово, програма ігнорує зміну у кількості посилань для записів каталогів, оскільки така зміна навряд чи є цікавою для користувача. За допомогою цього прапорця ви можете наказати програмі показувати зміни у полі nlink для каталогів.

note: type: textblock
en: The default is to ignore changed times on directory entries, since those are unlikely to be interesting.  Using this flag shows changes to the time fields of directories.
uk: Типово, програма ігнорує зміну часових параметрів для записів каталогів, оскільки така зміна навряд чи є цікавою для користувача. За допомогою цього прапорця ви можете наказати програмі показувати зміни у полях часових параметрів каталогів.

note: type: textblock
en: Add all the disks from the named libvirt guest, as the first guest.  Domain UUIDs can be used instead of names.
uk: Додати всі диски з вказаної гостьової системи libvirt як першої гостьової системи. UUID доменів можна використовувати замість назв.

note: type: =item
en: B<-D> guest
uk: B<-D> гість

note: type: textblock
en: Add all the disks from the named libvirt guest, as the second guest.  Domain UUIDs can be used instead of names.
uk: Додати всі диски з вказаної гостьової системи libvirt як другої гостьової системи. UUID доменів можна використовувати замість назв.

note: type: textblock
en: When prompting for keys and passphrases, virt-diff normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-diff попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: The default for the I<-a>/I<-A> option is to auto-detect the format of the disk image.  Using this forces the disk format for I<-a>/I<-A> options which follow on the command line.  Using I<--format> with no argument switches back to auto-detection for subsequent I<-a>/I<-A> options.
uk: Типовим значенням для параметра I<-a>/I<-A> є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів I<-a>/I<-A> формату диска у наступному рядку команди. Використання параметра I<--format> без аргументу перемикає програму у режим автоматичного визначення у наступних параметрах I<-a>/I<-A>.

note: type: textblock
en: Display extended attributes.
uk: Показати розширені атрибути.

note: type: textblock
en: guestfs-building - How to build libguestfs from source
uk: guestfs-building -- як зібрати libguestfs з початкових кодів

note: type: textblock
en: This manual page describes how to build libguestfs from source.
uk: На цій сторінці підручника наведено настанови щодо того, як зібрати libguestfs з початкових кодів.

note: type: textblock
en: The main steps are:
uk: Основні кроки:

note: type: textblock
en: Install the requirements.
uk: Встановити вимоги.

note: type: textblock
en: Build, either from the git repository or from a tarball.
uk: Збирання, з коду зі сховища git або з архіву з кодом.

note: type: textblock
en: Run the tests.
uk: Виконати тестування.

note: type: textblock
en: Run the tools from the source directory, or install.
uk: Запуск засобів з каталогу з початковим кодом або встановлення.

note: type: =head1
en: REQUIREMENTS
uk: ВИМОГИ

note: type: =head2
en: Short cut for Fedora or Red Hat Enterprise Linux (RHEL) users
uk: Настанови для користувачів Fedora або Red Hat Enterprise Linux (RHEL)

note: type: textblock
en: On Fedora, use L<dnf(8)> to install all the requirements:
uk: У Fedora для встановлення усіх потрібних пакунків слід користуватися L<dnf(8)>:

note: type: textblock
en: On systems still using L<yum(8)>, do:
uk: У системах, де все ще використовується L<yum(8)>, можна скористатися ним:

note: type: =head2
en: Short cut for Debian or Ubuntu users
uk: Настанови для користувачів Debian або Ubuntu

note: type: textblock
en: Use APT to install all the requirements:
uk: Скористайтеся APT для встановлення усіх потрібних пакунків:

note: type: textblock
en: If that command doesn't work, take a look at the Debian source package L<http://packages.debian.org/source/libguestfs>, at the list of C<build-depends> and C<build-depends-indep>, and install everything listed there.
uk: Якщо ця команда не працює, зверніть увагу на пакунок із початковим кодом Debian L<http://packages.debian.org/source/libguestfs>, на список C<build-depends> і C<build-depends-indep>, і встановіть усі пакунки зі списку.

note: type: =head2
en: Full list of requirements
uk: Повний список вимог

note: type: textblock
en: Install as many package names found in this file as possible.  (It is not strictly required to install all of them).
uk: Встановити якомога більше пакунків із назвами з цього файла. (Без строгої вимоги встановити геть усі з цих пакунків.)

note: type: textblock
en: I<Note>: If you build libguestfs followed by installing appliance packages, the build will not pick them up automatically, even if you do S<C<make clean>>.  You have to do this command to clean the old supermin appliance and force a new one to be prepared:
uk: I<Зауваження>: якщо ви збираєте libguestfs із наступним встановленням пакунків базової системи, під час збирання ці пакунки не буде вибрано автоматично, навіть якщо вами було віддано команду S<C<make clean>>.  Вам доведеться віддати ще й цю команду, щоб очистити стару базову систему supermin і примусово приготувати нову:

note: type: textblock
en: I<Required>.
uk: I<Обов’язкове>.

note: type: =item
en: kernel E<ge> 2.6.34
uk: ядро E<ge> 2.6.34

note: type: textblock
en: I<Required>.  The following features must be enabled: C<virtio-pci>, C<virtio-serial>, C<virtio-block>, C<virtio-net>.
uk: I<Обов'язкове>. Має бути увімкнено такі можливості: C<virtio-pci>, C<virtio-serial>, C<virtio-block>, C<virtio-net>.

note: type: textblock
en: I<Required>.  For alternatives, see L</USING A PREBUILT BINARY APPLIANCE> below.
uk: I<Обов'язковий>. Зі списком альтернативних варіантів можна ознайомитися у розділі L</ВИКОРИСТАННЯ ПОПЕРЕДНЬО ЗІБРАНОЇ БІНАРНОЇ ОСНОВНОЇ СИСТЕМИ> нижче.

note: type: textblock
en: I<Required>.  We use the custom printf formatters extension of glibc (see L<guestfs-hacking(1)/DAEMON CUSTOM PRINTF FORMATTERS>).
uk: I<Обов'язковий>. Ми використовуємо розширення для нетипових засобів форматування printf для glibc (див. L<guestfs-hacking(1)/НЕТИПОВІ ЗАСОБИ ФОРМАТУВАННЯ PRINTF У ФОНОВІЙ СЛУЖБІ>).

note: type: =item
en: XDR (tirpc, glibc or other)
uk: XDR (tirpc, glibc або інша)

note: type: textblock
en: I<Required>.  We use the XDR implementation from C<E<lt>rpc/xdr.hE<gt>>, which may come from glibc, tirpc or another library.
uk: I<Обов'язковий>. Ми використовуємо реалізацію XDR з C<E<lt>rpc/xdr.hE<gt>>, яка може походити з glibc, tirpc або іншої бібліотеки.

note: type: textblock
en: The C<rpcgen> tool is optional, except if you want to compile from git and/or patch libguestfs with new APIs.
uk: Програма C<rpcgen> є необов'язковою. Вона знадобиться, лише якщо ви хочете зібрати програми з git і/або накласти на libguestfs латку із новим програмним інтерфейсом.

note: type: =item
en: Gcc or Clang
uk: Gcc або Clang

note: type: textblock
en: I<Required>.  We use C<__attribute__((cleanup))> which is a GCC extension also supported by Clang.
uk: I<Обов'язковий>. Ми використовуємо C<__attribute__((cleanup))>, розширення GCC, підтримку якого передбачено і у Clang.

note: type: textblock
en: I<Required>.  Various build steps and tests are written in Perl.  Perl is not needed at runtime except if you need to run a small number of virt tools which are still written in Perl.
uk: I<Обов'язковий>. Різноманітні засоби збирання та тестування написано мовою Perl. Perl не потрібен для роботи із самою бібліотекою, хіба що вам потрібен один із небагатьох інструментів віртуалізації, які усе ще написано мовою програмування Perl.

note: type: textblock
en: I<Required>.  Part of Perl core.
uk: I<Обов’язкове>. Частина ядра Perl.

note: type: textblock
en: I<Required> if compiling from git.  Optional if compiling from tarball.
uk: I<Обов'язкове>, якщо збирається версія з git. Необов'язкове, якщо збирання відбувається з архіву tar.

note: type: =item
en: Perl-compatible Regular Expressions (PCRE) library
uk: Бібліотека для роботи із сумісними з Perl формальними виразами (PCRE)

note: type: textblock
en: I<Required>.  ocaml-hivex is the OCaml binding for hivex, which is required when building the daemon.
uk: I<Обов'язковий>. ocaml-hivex є прив'язкою OCaml для hivex, яка потрібна для збирання фонової служби.

note: type: textblock
en: I<Required>.  This is the library used by the L<file(1)> command.
uk: I<Обов'язковий>. Це бібліотека, яка використовується програмою L<file(1)>.

note: type: textblock
en: Optional.  Always use the latest possible version of libvirt.
uk: Необов'язкове. Завжди використовуйте найсвіжішу версію libvirt.

note: type: textblock
en: Optional.  Used only for tests.
uk: Необов’язкове. Використовується лише для тестування.

note: type: textblock
en: Optional.  Used to parse libguestfs’s own config files, eg. F</etc/libguestfs-tools.conf>.
uk: Необов'язкове. Використовується для обробки у libguestfs власних файлів налаштувань, наприклад F</etc/libguestfs-tools.conf>.

note: type: textblock
en: Optional.  Used by the L<libvirt backend|guestfs(3)/BACKEND> to securely confine the appliance (sVirt).
uk: Необов'язковий. Використовується L<модулем libvirt|guestfs(3)/МОДУЛЬ> для безпечного ізолювання базової системи (sVirt).

note: type: =item
en: Berkeley DB utils (db_dump, db_load, etc)
uk: Засоби Berkeley DB (db_dump, db_load тощо)

note: type: textblock
en: Optional.  Usually found in a package called C<db-utils>, C<db4-utils>, C<db4.X-utils> etc.
uk: Необов'язкові. Зазвичай, можна знайти у пакунках із назвами C<db-utils>, C<db4-utils>, C<db4.X-utils> тощо.

note: type: textblock
en: Optional.  For userspace probes.
uk: Не обов'язкове. Для зондування простору користувача.

note: type: textblock
en: Optional.  For nicer command line editing in L<guestfish(1)>.
uk: Необов'язкове. Для красивішого редагування рядків у L<guestfish(1)>.

note: type: textblock
en: Optional.  Library and programs for handling POSIX ACLs.
uk: Необов'язкове. Бібліотека і програми для обробки списків керування доступом (ACL) POSIX.

note: type: textblock
en: Optional.  Library and programs for handling Linux capabilities.
uk: Необов'язкове. Бібліотека і програми для обробки можливостей Linux.

note: type: textblock
en: Optional.  Library and L<ldmtool(1)> for handling Windows Dynamic Disks.
uk: Необов'язкове. Бібліотека та L<ldmtool(1)> для обробки динамічних дисків Windows.

note: type: textblock
en: Optional.  Library for accessing systemd journals.
uk: Необов'язкове. Бібліотека для доступу до журналів systemd.

note: type: textblock
en: Optional.  GPT disk support.
uk: Необов'язкове. Підтримка дисків GPT.

note: type: textblock
en: Optional.  Render icons from guests.
uk: Необов'язкове. Обробка піктограм з гостьових систем.

note: type: textblock
en: Optional.  Render icons from Windows guests.
uk: Необов'язкове. Обробка піктограм із гостьових систем Windows.

note: type: textblock
en: Optional.  Perl module used to test L<virt-rescue(1)>.
uk: Необов'язкове. Модуль Perl, який використовується для тестування L<virt-rescue(1)>.

note: type: textblock
en: Optional.  L<fusermount(1)>, libfuse and kernel module are all needed if you want L<guestmount(1)> and/or L<mount-local|guestfs(3)/MOUNT LOCAL> support.
uk: Необов'язковий. L<fusermount(1)>, libfuse та модуль ядра потрібні, якщо вам потрібна L<guestmount(1)> і/або підтримка L<mount-local|guestfs(3)/ЛОКАЛЬНЕ МОНТУВАННЯ>.

note: type: =item
en: static glibc
uk: статичний glibc

note: type: textblock
en: Optional.  Used only for testing.
uk: Необов'язковий. Використовується лише для тестування.

note: type: textblock
en: Optional.  qemu-nbd is used for testing.
uk: Необов'язкове. qemu-nbd використовується для тестування.

note: type: textblock
en: Optional.  For the L<UML backend|guestfs(3)/BACKEND>.
uk: Необов'язковий. Призначено для L<модуля UML|guestfs(3)/МОДУЛЬ>.

note: type: textblock
en: Optional.  Used by virt-builder for downloads.
uk: Необов'язкове. Використовується virt-builder для отримання даних.

note: type: =item
en: GNU Privacy Guard (GnuPG, gpg) v1 or v2
uk: GNU Privacy Guard (GnuPG, gpg) версії 1 або 2

note: type: textblock
en: Optional.  Used by virt-builder for checking digital signatures.
uk: Необов'язкове. Використовується virt-builder для перевіряння цифрових підписів.

note: type: textblock
en: Optional.  If available, virt-builder will use this library for fast, parallel uncompression of templates.
uk: Необов'язковий. Якщо доступний, virt-builder скористається цією бібліотекою для швидкого паралельного розпаковування шаблонів.

note: type: textblock
en: Optional.  Used by L<virt-log(1)> to parse Windows Event Log files.
uk: Необов'язкове. Використовується L<virt-log(1)> для обробки файлів журналу подій Windows.

note: type: textblock
en: Optional.  For localizing OCaml virt tools.
uk: Необов'язкове. Для локалізації засобів віртуалізації OCaml.

note: type: textblock
en: Optional.  For testing the common OCaml modules.
uk: Необов'язкове. Для тестування загальних модулів OCaml.

note: type: textblock
en: Optional.  Used to build and test the Perl bindings.
uk: Необов'язкове. Використовується для збирання і тестування прив'язок Perl.

note: type: textblock
en: Optional.  Used to build the Python bindings.  S<Python 2> support was removed in S<libguestfs 1.42.1>.
uk: Необов'язкове. Використовується для збирання прив'язок до Python. Підтримку S<Python 2> було вилучено у S<libguestfs 1.42.1>.

note: type: textblock
en: Optional.  Used to run the Python testsuite.
uk: Необов'язкове. Використовується для запуску комплексу тестування Python.

note: type: textblock
en: Optional.  Used to build the Ruby bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до Ruby.

note: type: textblock
en: Optional.  Java, JNI and jpackage-utils are needed for building Java bindings.
uk: Необов'язковий. Для збирання прив'язок до Java потрібні пакунки Java, JNI та jpackage-utils.

note: type: textblock
en: Optional.  Used to build the Haskell bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до Haskell.

note: type: textblock
en: Optional.  Used to build the PHP bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до PHP.

note: type: textblock
en: Optional.  Used to build and test the GObject bindings.
uk: Необов'язкове. Використовується для збирання і тестування прив'язок GObject.

note: type: textblock
en: Optional.  Used to build the Vala bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до Vala.

note: type: textblock
en: Optional.  Used to build the LUA bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до LUA.

note: type: textblock
en: Optional.  Used to build the Erlang bindings.  Note that Erlang E<le> 22 will not work unless you use libguestfs E<le> 1.42.
uk: Необов’язкове. Використовується для збирання прив’язок до Erlang. Зауважте, що Erlang E<le> 22 не працюватиме, якщо ви не використовуватимете libguestfs E<le> 1.42.

note: type: textblock
en: Optional.  Used to build the Go bindings.
uk: Необов’язкове. Використовується для збирання прив’язок до Go.

note: type: textblock
en: Optional.  For testing memory problems.
uk: Необов’язкове. Використовується для діагностування проблем із пам’яттю.

note: type: textblock
en: Optional.
uk: Необов'язкове.

note: type: textblock
en: Optional.  For testing Python libvirt/libguestfs interactions.
uk: Обов'язковий. Для тестування взаємодії libvirt/libguestfs з Python.

note: type: textblock
en: Optional.  Used by the L<virt-win-reg(1)> tool.
uk: Необов'язкове. Використовується програмою L<virt-win-reg(1)>.

note: type: textblock
en: Optional.  Used by some Perl virt tools.
uk: Необов'язкове. Використовується деякими інструментами віртуалізації Perl.

note: type: textblock
en: Optional.  For tab-completion of commands in bash.
uk: Необов'язкове. Для доповнення команд у відповідь на натискання Tab у bash.

note: type: textblock
en: Optional.  Library for filesystem forensics analysis.
uk: Необов'язкове. Бібліотека для докладного аналізу файлових систем.

note: type: textblock
en: Optional.  Tool for categorizing files based on their content.
uk: Необов'язкове. Для категоризації файлів на основі вмісту.

note: type: =head1
en: BUILDING FROM GIT
uk: ЗБИРАННЯ ІЗ GIT

note: type: textblock
en: You will need to install additional dependencies C<autoconf>, C<automake>, C<gettext>, OCaml findlib and po4a when building from git.
uk: Для збирання з git вам знадобляться додаткові залежності — C<autoconf>, C<automake>, C<gettext>, findlib з OCaml та po4a.

note: type: =head1
en: BUILDING FROM TARBALLS
uk: ЗБИРАННЯ ІЗ АРХІВІВ TAR

note: type: textblock
en: Tarballs are downloaded from L<http://download.libguestfs.org/>.  Stable tarballs are signed with the GnuPG key for C<rich@annexia.org>, see L<https://pgp.mit.edu/pks/lookup?op=vindex&search=0x91738F73E1B768A0>.  The fingerprint is C<F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0>.
uk: Архіви tar отримуються з L<http://download.libguestfs.org/>.  Stable tarballs are signed with the GnuPG key for C<rich@annexia.org>, see L<https://pgp.mit.edu/pks/lookup?op=vindex&search=0x91738F73E1B768A0>. Відбиток — C<F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0>.

note: type: textblock
en: Download and unpack the tarball.
uk: Отримайте і розпакуйте архів.

note: type: =head1
en: RUNNING THE TESTS
uk: ТЕСТУВАННЯ

note: type: textblock
en: B<DO NOT run the tests as root!> Libguestfs can be built and tested as non-root.  Running the tests as root could even be dangerous, don't do it.
uk: B<НЕ ВИКОНУЙТЕ тестування від імені користувача root!> Libguestfs можна зібрати і перевірити без використання адміністративного облікового запису (root). Запуск тестів від імені користувача root може бути небезпечним, не робіть цього.

note: type: textblock
en: To sanity check that the build worked, do:
uk: Для перевірки, чи працюватиме збирання, віддайте таку команду:

note: type: textblock
en: To run the basic tests, do:
uk: Щоб запустити основні тести, віддайте таку команду:

note: type: textblock
en: There are many more tests you can run.  See L<guestfs-hacking(1)> for details.
uk: Існує доволі багато інших тестів, які ви можете запустити. Опис цих тестів наведено у підручнику з L<guestfs-hacking(1)>.

note: type: =head1
en: INSTALLING
uk: ВСТАНОВЛЕННЯ

note: type: textblock
en: B<DO NOT use C<make install>!> You'll end up with conflicting versions of libguestfs installed, and this causes constant headaches for users.  See the next section for how to use the F<./run> script instead.
uk: B<НЕ КОРИСТУЙТЕСЯ командою C<make install>!> Її використання призведе до конфлікту встановлених версій libguestfs, а це ускладнить роботу користувачів. Замість використання цієї команди, ознайомтеся із описом використання F<./run>, наведеним у наступному розділі.

note: type: textblock
en: Distro packagers can use:
uk: Пакувальники дистрибутивів можуть скористатися ось цим:

note: type: =head1
en: THE ./run SCRIPT
uk: СКРИПТ ./run

note: type: textblock
en: You can run L<guestfish(1)>, L<guestmount(1)> and the virt tools without needing to install them by using the F<./run> script in the top directory.  This script works by setting several environment variables.
uk: Ви можете запускати L<guestfish(1)>, L<guestmount(1)> та інші інструменти віртуалізації без їхнього встановлення за допомогою скрипту F<./run> у кореневому каталозі розпакованого коду. Цей скрипт працює, встановлюючи декілька змінних середовища.

note: type: verbatim
en:  ./run guestfish [usual guestfish args ...]
uk:  ./run guestfish [звичайні аргументи guestfish ...]

note: type: verbatim
en:  ./run virt-inspector [usual virt-inspector args ...]
uk:  ./run virt-inspector [звичайні аргументи virt-inspector ...]

note: type: textblock
en: The F<./run> script adds every libguestfs binary to the C<$PATH>, so the above examples run guestfish and virt-inspector from the build directory (not the globally installed guestfish if there is one).
uk: Скрипт F<./run> додає усі виконувані файли libguestfs до C<$PATH>, отже у наведених вище прикладах guestfish і virt-inspector запускаються із каталогу збирання (не із загального каталогу встановленого guestfish, якщо такий існує).

note: type: textblock
en: You can use the script from any directory.  If you wanted to run your own libguestfs-using program, then the following command will also work:
uk: Ви можете скористатися скриптом з будь-якого каталогу. Якщо вам потрібно запустити вашу програму, яка використовує libguestfs, має спрацювати така команда:

note: type: verbatim
en:  /path/to/libguestfs/run ./my_program [...]
uk:  /шлях/до/libguestfs/run ./ваша_програма [...]

note: type: textblock
en: You can also run the C programs under valgrind like this:
uk: Також можна запускати програми C під керуванням valgrind ось так:

note: type: verbatim
en:  ./run valgrind [valgrind opts...] virt-cat [virt-cat opts...]
uk:  ./run valgrind [параметри valgrind...] virt-cat [параметри virt-cat...]

note: type: textblock
en: or under gdb:
uk: або у gdb:

note: type: verbatim
en:  ./run gdb --args virt-cat [virt-cat opts...]
uk:  ./run gdb --аргументи virt-cat [параметри virt-cat...]

note: type: textblock
en: This also works with sudo (eg. if you need root access for libvirt or to access a block device):
uk: Це також працює із sudo (наприклад, якщо вам потрібен адміністративний доступ для libvirt або для доступу до блокового пристрою):

note: type: textblock
en: To set environment variables, you can either do:
uk: Для встановлення значення змінних середовища ви можете скористатися або цим:

note: type: textblock
en: or:
uk: або:

note: type: =head1
en: F<local*> FILES
uk: ФАЙЛИ F<local*>

note: type: textblock
en: Files in the top source directory that begin with the prefix F<local*> are ignored by git.  These files can contain local configuration or scripts that you need to build libguestfs.
uk: Файли у кореневому каталозі коду, назви яких починаються з префікса F<local*>, буде проігноровано git. Ці файли можуть містити локальні налаштування або скрипти, які потрібні для збирання libguestfs.

note: type: textblock
en: I have a file called F<localconfigure> which is a simple wrapper around F<autogen.sh> containing local configure customizations that I need.  It looks like this:
uk: Можна створити файл із назвою F<localconfigure>, який буде простою обгорткою F<autogen.sh>, яка міститиме локальні зміни у налаштуваннях. Його вміст виглядатиме так:

note: type: textblock
en: So I can use this to build libguestfs:
uk: Далі, ви зможете скористатися цим файлом для збирання libguestfs:

note: type: textblock
en: If there is a file in the top build directory called F<localenv>, then it will be sourced by C<make>.  This file can contain any local environment variables needed, eg. for skipping tests:
uk: Якщо у кореневому каталозі збирання буде файл із назвою F<localenv>, C<make> обробить його вміст. У цьому файлі можуть міститися усі потрібні змінні середовища, наприклад змінні для пропускання тестів:

note: type: verbatim
en:  # Skip this test, it is broken.
     export SKIP_TEST_BTRFS_FSCK=1
uk:  # Пропустити цю перевірку, вона не працює.
     export SKIP_TEST_BTRFS_FSCK=1

note: type: textblock
en: Note that F<localenv> is included by the top Makefile (so it’s a Makefile fragment).  But if it is also sourced by your F<localconfigure> script then it is used as a shell script.
uk: Зауважте, що F<localenv> включається до Makefile верхнього рівня (стає частиною Makefile). Але, якщо цей файл обробляється також вашим скриптом F<localconfigure>, його буде використано як скрипт оболонки.

note: type: =head1
en: SELECTED ./configure SETTINGS
uk: ВИБРАНІ ПАРАМЕТРИ ./configure

note: type: textblock
en: There are many C<./configure> options.  Use:
uk: Для скрипту C<./configure> передбачено багато параметрів. Зокрема, команда

note: type: textblock
en: to list them all.  This section covers some of the more important ones.
uk: показує список усіх цих параметрів. У цьому розділі наведено лише найважливіші з них.

note: type: textblock
en: See L</USING A PREBUILT BINARY APPLIANCE> below.
uk: Див. L</ВИКОРИСТАННЯ ПОПЕРЕДНЬО ЗІБРАНОЇ БІНАРНОЇ ОСНОВНОЇ СИСТЕМИ> нижче.

note: type: textblock
en: Disable specific language bindings, even if C<./configure> finds all the necessary libraries are installed so that they could be compiled.
uk: Вимкнути вказані прив'язки до мов, навіть якщо C<./configure> знайде усі потрібні бібліотеки і ці прив'язки можна буде зібрати.

note: type: textblock
en: Note that disabling OCaml (bindings) or Perl will have the knock-on effect of disabling parts of the test suite and some tools.
uk: Зауважте, що вимикання OCaml (прив'язок) або Perl призведе до того, що буде вимкнено частину комплексу засобів тестування та деякі інструменти.

note: type: textblock
en: OCaml is required to build libguestfs and this requirement cannot be removed.  Using I<--disable-ocaml> only disables the bindings and OCaml tools.
uk: Для збирання libguestfs необхідний OCaml. Цю залежність не можна вилучити. Використання прапорця I<--disable-ocaml> вимикає лише збирання прив'язок та інструментів мовою OCaml.

note: type: textblock
en: Disable FUSE support in the API and the L<guestmount(1)> tool.
uk: Вимкнути підтримку FUSE у програмному інтерфейсі і програмі L<guestmount(1)>.

note: type: textblock
en: On some platforms the GNUlib test suite can be flaky.  This disables it, since errors in the GNUlib test suite are often not important.
uk: На деяких платформах працездатність комплексу тестування GNUlib перебуває під сумнівом. За допомогою цього прапорця можна вимкнути комплекс тестування, оскільки помилки, на які вказує GNUlib, часто є несуттєвими.

note: type: textblock
en: Don’t build a static linked version of the libguestfs library.
uk: Не збирати версії бібліотеки libguestfs зі статичною прив'язкою.

note: type: textblock
en: Normally L<guestfsd(8)> is not installed by C<make install>, since that wouldn't be useful (instead it is "installed" inside the supermin appliance).  However if packagers are building "libguestfs live" then they should use this option.
uk: Зазвичай, L<guestfsd(8)> не встановлюється C<make install>, оскільки ця фонова служба у основній системі непотрібна (вона корисна, лише коли її «встановлено» у базовій системі supermin). Втім, якщо пакувальники збирають «портативну версію libguestfs», їм слід скористатися цим параметром.

note: type: textblock
en: This turns compiler warnings into errors (ie. C<-Werror>).  Use this for development, especially when submitting patches.  It should generally I<not> be used for production or distro builds.
uk: За допомогою цього параметра можна перетворити попередження на помилки (тобто додати C<-Werror>). Скористайтеся цим параметром для розробки, особливо, якщо надсилатимете латки. Загалом, цей параметр I<не> слід використовувати для робочих або дистрибутивних збірок.

note: type: textblock
en: This controls the default method that libguestfs uses to run qemu (see L<guestfs(3)/BACKEND>).  If not specified, the default backend is C<direct>, which means libguestfs runs qemu directly.
uk: Визначає типовий спосіб, у який libguestfs запускає qemu (див. L<guestfs(3)/МОДУЛЬ>). Якщо не вказано, типовим модулем буде C<direct>, що означає, що libguestfs запускатиме qemu безпосередньо.

note: type: textblock
en: Fedora and Red Hat Enterprise Linux (RHEL) E<ge> 7 use this flag to change the default backend to C<libvirt>, because (especially in RHEL)  the policy is not to allow any program to run qemu except via libvirt.
uk: У Fedora і Red Hat Enterprise Linux (RHEL) E<ge> 7 цим прапорцем можна скористатися для зміни типового модуля обробки на C<libvirt>, оскільки (особливо у RHEL) правила безпеки забороняють запуск qemu, інакше як за допомогою libvirt.

note: type: textblock
en: Note that despite this setting, all backends are built into libguestfs, and you can override the backend at runtime by setting the C<$LIBGUESTFS_BACKEND> environment variable (or using API methods).
uk: Зауважте, що незважаючи на цей параметр, у libguestfs збираються усі модулі обробки, і ви можете перевизначити модуль обробки під час запуску програм встановленням змінної середовища C<$LIBGUESTFS_BACKEND> (або за допомогою програмних інтерфейсів).

note: type: textblock
en: Libguestfs needs to know which Linux distro is in use so it can choose package names for the appliance correctly (see for example F<appliance/packagelist.in>).  It normally does this automatically.
uk: Libguestfs потребує відомостей, який дистрибутив Linux використовується, щоб бібліотека могла вибрати назви пакунків базової системи належним чином (див., наприклад, F<appliance/packagelist.in>). Зазвичай, це завдання виконується автоматично.

note: type: textblock
en: However if you can building or packaging libguestfs on a new distro then you can use I<--with-distro> to specify that the distro is similar to an existing one (eg. I<--with-distro=REDHAT> if the distro is a new Red Hat or CentOS derivative).
uk: Втім, якщо ви збираєте і пакуєте libguestfs у новому дистрибутиві, ви можете скористатися I<--with-distro>, щоб вказати, що дистрибутив є подібним до наявного (наприклад, I<--with-distro=REDHAT>, якщо дистрибутив є новою похідною від Red Hat або CentOS).

note: type: textblock
en: Note that if your distro is completely new then it may still require upstream modifications.
uk: Зауважте, що якщо ваш дистрибутив є повністю новим, він може потребувати внесення змін до основної гілки коду бібліотеки.

note: type: =item
en: B<--with-extra=">I<distroname>=I<version>,libvirt,...B<">
uk: B<--with-extra=">I<назва_дистрибутива>=I<версія>,libvirt,...B<">

note: type: textblock
en: This option controls the "extra" field returned by L<guestfs(3)/guestfs_version> and also printed by virt tools' I<--version> option.  It is a free text field, but a good idea is to encode a comma-separated list of facts such as the distro name and version, whether libvirt is the default backend, and anything else that may help with debugging problems raised by users.
uk: Цей параметр визначає вміст поля «extra», яке повертає L<guestfs(3)/guestfs_version>, а також виводиться параметром I<--version> засобів віртуалізації. Вміст цього поля є довільним, втім, слід записати до нього список відокремлених комами фактів, зокрема щодо назви і версії бібліотеки, те, чи libvirt є типовим модулем обробки, і взагалі усе, що може допомогти користувачам із діагностичними проблемами.

note: type: textblock
en: For custom and/or local builds, this can be set to C<local> to indicate this is I<not> a distro build.
uk: Для нетипових і/або локальних збірок можете встановити для цього параметра значення C<local>, щоб позначити, що це I<не> дистрибутивна збірка.

note: type: textblock
en: Compile libguestfs without libvirt support, even if libvirt development libraries are installed.
uk: Зібрати libguestfs без підтримки libvirt, навіть якщо буде виявлено встановлені бібліотеки для розробки libvirt.

note: type: =item
en: B<--with-qemu=">bin1 bin2 ...B<">
uk: B<--with-qemu=">виконуваний файл1 виконуваний файл2 ...B<">

note: type: textblock
en: Provide an alternate qemu binary (or list of binaries).  This can be overridden at runtime by setting the C<LIBGUESTFS_HV> environment variable.
uk: Визначає альтернативний виконуваний файл qemu (або список виконуваних файлів). Назву виконуваного файла можна змінити встановленням значення змінної середовища C<LIBGUESTFS_HV>.

note: type: textblock
en: This passes the I<--packager-config> option to L<supermin(1)>.
uk: Передає параметр I<--packager-config> до L<supermin(1)>.

note: type: textblock
en: The most common use for this is to build the appliance using an alternate repository (instead of using the installed yum/dnf/apt/etc configuration to find and download packages).  You might need to use this if you want to build libguestfs without having a network connection.  Examples of using this can be found in the Fedora C<libguestfs.spec> file (see L</BUILDING A PACKAGE FOR FEDORA> below for resources).
uk: Найпоширенішим випадком використання цього параметра є збирання базової системи за допомогою альтернативного сховища пакунків (замість використання встановлених налаштувань yum, dnf, apt тощо для пошуку і отримання пакунків). Можливо, вам захочеться скористатися цим, якщо ви захочете зібрати libguestfs без використання з'єднання із мережею. Приклади використання цього параметра можна знайти у файлі C<libguestfs.spec> для Fedora (див. L</ЗБИРАННЯ ПАКУНКА ДЛЯ FEDORA> нижче, щоб дізнатися більше).

note: type: =item
en: B<--with-supermin-extra-options=">--opt1 --opt2 ...B<">
uk: B<--with-supermin-extra-options=">--парам1 --парам2 ...B<">

note: type: textblock
en: Pass additional options to L<supermin(1)>.  See F<appliance/make.sh.in> to understand precisely what this does.
uk: Передати додаткові параметри L<supermin(1)>. Див. F<appliance/make.sh.in>, щоб зрозуміти, як саме це слід робити.

note: type: textblock
en: This environment variable may be set to point to a python binary (eg. C<python3>).  When C<./configure> runs, it inspects this python binary to find the version of Python, the location of Python libraries and so on.
uk: Цією змінною середовища можна скористатися для того, щоб вказати виконуваний файл python (наприклад, C<python3>). Під час запуску C<./configure> програма виконує визначення версії цього виконуваного файла Python, розташування бібліотек Python тощо.

note: type: textblock
en: This environment variable can be set to choose an alternative L<supermin(1)> binary.  This might be used, for example, if you want to use a newer upstream version of supermin than is packaged for your distro, or if supermin is not packaged at all.  On RHEL 7, you must set C<SUPERMIN=/usr/bin/supermin5> when compiling libguestfs.
uk: Цією змінною середовища можна скористатися для вибору альтернативного виконуваного файла L<supermin(1)>. Вона може пригодитися, якщо ви хочете скористатися новішою версією supermin, ніж та, яка є частиною пакунків вашого дистрибутива, або якщо у вашому дистрибутиві взагалі немає пакунка supermin. У RHEL 7 вам слід встановити C<SUPERMIN=/usr/bin/supermin5> під час збирання libguestfs.

note: type: =head1
en: NOTES ABOUT QEMU AND KVM
uk: НОТАТКИ ЩОДО QEMU І KVM

note: type: textblock
en: A common problem is with broken or incompatible qemu releases.
uk: Типовою проблемою є помилкові або несумісні випуски qemu.

note: type: textblock
en: Different versions of qemu have problems booting the appliance for different reasons.  This varies between versions of qemu, and Linux distributions which add their own patches.
uk: У різних версіях qemu можуть із різних причин виникати проблеми із завантаженням базової системи. Проблеми залежать від версії qemu та дистрибутивів Linux, які можуть накладати на код пакунка різні латки.

note: type: textblock
en: If you find a problem, you could try using your own qemu built from source (qemu is very easy to build from source), with a "qemu wrapper".  See L<guestfs(3)/QEMU WRAPPERS>.
uk: Якщо вами буде виявлено проблему, ви можете спробувати скористатися власним зібраним із початкових кодів виконуваним файлом qemu (qemu дуже просто зібрати із початкових кодів) за допомогою «обгортки qemu». Див. L<guestfs(3)/ОБГОРТКИ QEMU>.

note: type: textblock
en: By default the configure script will look for qemu-kvm (KVM support).  KVM is much faster than using plain qemu.
uk: Типово, скрипт налаштовування шукатиме qemu-kvm (підтримку KVM). KVM є набагато швидшим за звичайний qemu.

note: type: textblock
en: You may also need to enable KVM support for non-root users, by following these instructions: L<http://www.linux-kvm.org/page/FAQ#How_can_I_use_kvm_with_a_non-privileged_user.3F>
uk: Крім того, може виникнути потреба у вмиканні підтримки KVM для користувачів, відмінних від root. Слід скористатися цими настановами: L<http://www.linux-kvm.org/page/FAQ#How_can_I_use_kvm_with_a_non-privileged_user.3F>

note: type: textblock
en: On some systems, this will work too:
uk: У деяких системах таке теж спрацює:

note: type: textblock
en: On some systems, the chmod will not survive a reboot, and you will need to make edits to the udev configuration.
uk: У деяких системах, де зміна режиму доступу не переживає перезавантаження системи, вам доведеться внести зміни до налаштувань udev.

note: type: =head1
en: USING CLANG (LLVM) INSTEAD OF GCC
uk: ВИКОРИСТАННЯ CLANG (LLVM) ЗАМІСТЬ GCC

note: type: =head1
en: USING A PREBUILT BINARY APPLIANCE
uk: ВИКОРИСТАННЯ ПОПЕРЕДНЬО ЗІБРАНОЇ БІНАРНОЇ ОСНОВНОЇ СИСТЕМИ

note: type: textblock
en: To understand what the libguestfs appliance means, see L<guestfs-internals(1)>.
uk: Щоб зрозуміти, що таке базова система libguestfs, див. L<guestfs-internals(1)>.

note: type: textblock
en: If you are using non-Linux, or a Linux distribution that does not have L<supermin(1)> support, or simply if you don't want to build your own libguestfs appliance, then you can use one of the prebuilt binary appliances that we supply: L<http://libguestfs.org/download/binaries/appliance>
uk: Якщо ви користуєтеся операційною системою, відмінною від Linux, або дистрибутивом Linux, у якому немає пакунка L<supermin(1)>, або просто не хочете збирати власну базову систему libguestfs, ви можете скористатися попередньо зібраними двійковими базовими системами, які ми постачаємо: L<http://libguestfs.org/download/binaries/appliance>

note: type: textblock
en: Build libguestfs like this:
uk: Зберіть libguestfs ось таким чином:

note: type: textblock
en: Set C<$LIBGUESTFS_PATH> to the path where you unpacked the appliance tarball, eg:
uk: Встановіть для змінної C<$LIBGUESTFS_PATH> значення шляху, до якого ви розпакували архів tar із базовою системою, ось так:

note: type: textblock
en: and run the libguestfs programs and virt tools in the normal way, eg. using the F<./run> script (see above).
uk: і запускайте програми libguestfs та засоби віртуалізації у звичайний спосіб, наприклад, за допомогою скрипту F<./run> (див. вище).

note: type: =head1
en: BUILDING A PACKAGE FOR FEDORA
uk: ЗБИРАННЯ ПАКУНКА ДЛЯ FEDORA

note: type: textblock
en: The Fedora spec file is stored under: L<http://pkgs.fedoraproject.org/cgit/rpms/libguestfs.git/>
uk: Файл spec для Fedora зберігається тут: L<http://pkgs.fedoraproject.org/cgit/rpms/libguestfs.git/>

note: type: textblock
en: Libguestfs is built in Fedora using the ordinary Fedora build system (Koji).
uk: Libguestfs зібрано у Fedora за допомогою типової системи збирання Fedora (Koji).

note: type: =head1
en: BUILDING A PACKAGE FOR RED HAT ENTERPRISE LINUX
uk: ЗБИРАННЯ ПАКУНКА ДЛЯ RED HAT ENTERPRISE LINUX

note: type: textblock
en: Red Hat Enterprise Linux (RHEL) builds of libguestfs are heavily patched.  There are broadly two types of patches we apply:
uk: Збірки libguestfs для Red Hat Enterprise Linux (RHEL) містять дуже багато латок. Загалом, ці латки можна поділити на два типи:

note: type: textblock
en: We disable many features that we do not wish to support for RHEL customers.  For example, the "libguestfs live" feature is disabled.
uk: Вимикання багатьох можливостей, підтримку яких ми не хочемо здійснювати для користувачів RHEL. Наприклад, ми вимикаємо підтримку можливості «libguestfs live».

note: type: textblock
en: We backport upstream features.
uk: Ми виконуємо зворотне портування можливостей основної версії.

note: type: textblock
en: The patches we apply to RHEL releases are available publically in the upstream git repository, in a branch called C<rhel-x.y>
uk: Латки, які ми застосовуємо для випусків RHEL загально доступні у нашому основному сховищі коду git, гілка називається C<rhel-x.y>

note: type: textblock
en: For example, the RHEL 7.3 patches are available here: L<https://github.com/libguestfs/libguestfs/commits/rhel-7.3>
uk: Наприклад, із латками для RHEL 7.3 можна ознайомитися тут: L<https://github.com/libguestfs/libguestfs/commits/rhel-7.3>

note: type: textblock
en: The sources and spec files for RHEL versions of libguestfs are available on L<https://git.centos.org/project/rpms>, and see also L<https://wiki.centos.org/Sources>.
uk: Початкові коди і файли spec для версії libguestfs для RHEL можна знайти на сторінці L<https://git.centos.org/project/rpms>. Також варто ознайомитися із вмістом сторінки L<https://wiki.centos.org/Sources>.

note: type: textblock
en: guestfs-faq - libguestfs Frequently Asked Questions (FAQ)
uk: guestfs-faq — поширені питання щодо libguestfs на відповіді на них (FAQ)

note: type: =head1
en: ABOUT LIBGUESTFS
uk: ПРО LIBGUESTFS

note: type: =head2
en: What is libguestfs?
uk: Для чого призначено libguestfs?

note: type: textblock
en: libguestfs is a way to create, access and modify disk images.  You can look inside disk images, modify the files they contain, create them from scratch, resize them, and much more.  It’s especially useful from scripts and programs and from the command line.
uk: libguestfs — засіб створення образів диска, доступу до образів диску та внесення змін до образів диска. За її допомогою ви зможете бачити вміст образів диска, вносити зміни до файлів, які у ньому містяться, створювати образи, змінювати їхні розміри тощо. Це особливо корисно для керування образами зі скриптів та програм, а також командного рядка.

note: type: textblock
en: libguestfs is a C library (hence "lib-"), and a set of tools built on this library, and bindings for many common programming languages.
uk: libguestfs є бібліотекою мовою C (звідси «lib-») і набором інструментів, побудованих на основі цієї бібліотеки, а також прив'язок до багатьох типових мов програмування.

note: type: textblock
en: For more information about what libguestfs can do read the introduction on the home page (L<http://libguestfs.org>).
uk: Докладніший опис призначення і можливостей libguestfs наведено у вступній частині домашньої сторінки (L<http://libguestfs.org>).

note: type: =head2
en: What are the virt tools?
uk: Для чого призначено virt tools?

note: type: textblock
en: Virt tools (website: L<http://virt-tools.org>) are a whole set of virtualization management tools aimed at system administrators.  Some of them come from libguestfs, some from libvirt and many others from other open source projects.  So virt tools is a superset of libguestfs.  However libguestfs comes with many important tools.  See L<http://libguestfs.org> for a full list.
uk: Засоби віртуалізації (сайт: L<http://virt-tools.org>) — загальний набір засобів для керування віртуалізацією, призначений для системних адміністраторів. Деякі із засобів походять із libguestfs, деякі — з libvirt, а багато інших — із інших проєктів із відкритим кодом. Отже, засоби віртуалізації — надбудова над libguestfs. Втім, багато важливих інструментів є частиною саме libguestfs. Із повним списком можна ознайомитися тут: L<http://libguestfs.org>.

note: type: =head2
en: Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?
uk: Чи потрібно встановлювати пакунки { libvirt / KVM / Red Hat / Fedora } для роботи з libguestfs?

note: type: textblock
en: No!
uk: Ні!

note: type: textblock
en: libvirt is not a requirement for libguestfs.
uk: libvirt не є обов’язковою частиною libguestfs.

note: type: textblock
en: libguestfs works with any disk image, including ones created in VMware, KVM, qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have created from scratch.
uk: libguestfs працює із будь-яким образом диска, зокрема образами, створеним за допомогою VMware, KVM, qemu, VirtualBox, Xen та багатьох інших гіпервізорів, а також тими образами, які ви створили «з нуля».

note: type: textblock
en: S<Red Hat> sponsors (ie. pays for) development of libguestfs and a huge number of other open source projects.  But you can run libguestfs and the virt tools on many different Linux distros and Mac OS X.  We try our best to support all Linux distros as first-class citizens.  Some virt tools have been ported to Windows.
uk: S<Red Hat> спонсорує (тобто оплачує) розробку libguestfs та величезної кількості інших проєктів із відкритим кодом. Втім, ви можете працювати із libguestfs та засобами віртуалізації на багатьох інших дистрибутивах Linux та у Mac OS X. Ми намагаємося якнайкраще підтримувати передусім усі дистрибутиви Linux. Деякі із засобів віртуалізації портовано на Windows.

note: type: =head2
en: How does libguestfs compare to other tools?
uk: Що дає використання libguestfs порівняно з іншими інструментами?

note: type: =item
en: I<vs. kpartx>
uk: I<порівняно з kpartx>

note: type: textblock
en: Libguestfs takes a different approach from kpartx.  kpartx needs root, and mounts filesystems on the host kernel (which can be insecure - see L<guestfs-security(1)>).  Libguestfs isolates your host kernel from guests, is more flexible, scriptable, supports LVM, doesn't require root, is isolated from other processes, and cleans up after itself.  Libguestfs is more than just file access because you can use it to create images from scratch.
uk: У libguestfs використано інший підхід, порівняно із kpartx. Для роботи kpartx потрібні права доступу адміністратора (root) та монтування файлових систем на рівні ядра основної системи (що може бути небезпечним, див. L<guestfs-security(1)>).  Libguestfs ізолює ядро основної системи від гостьових систем, є гнучкішою, придатнішою для керування ззовні, підтримує LVM, не потребує прав доступу root, ізольована від інших процесів та чистить систему після себе. Libguestfs — це не лише доступ до файлів, оскільки бібліотека здатна сама створювати образи «з нуля».

note: type: =item
en: I<vs. vdfuse>
uk: I<порівняно з vdfuse>

note: type: textblock
en: vdfuse is like kpartx but for VirtualBox images.  See the kpartx comparison above.  You can use libguestfs on the partition files exposed by vdfuse, although it’s not necessary since libguestfs can access VirtualBox images directly.
uk: vdfuse подібна до kpartx, але призначена для образів VirtualBox. Відповідно, порівняння подібне до наведеного вище порівняння для kpartx. Ви можете скористатися libguestfs для роботи із файлами розділів крізь vdfuse, але у цьому немає потреби, оскільки libguestfs може отримувати доступ до образів VirtualBox безпосередньо.

note: type: =item
en: I<vs. qemu-nbd>
uk: I<порівняно з qemu-nbd>

note: type: textblock
en: NBD (Network Block Device) is a protocol for exporting block devices over the network.  qemu-nbd is an NBD server which can handle any disk format supported by qemu (eg. raw, qcow2).  You can use libguestfs and qemu-nbd or nbdkit together to access block devices over the network, for example: C<guestfish -a nbd://remote>
uk: NBD (Network Block Device) — протокол для експортування блокових пристроїв мережею. qemu-nbd — сервер NBD, який може працювати із дисками будь-якого формату, якщо підтримку цього формату передбачено у qemu (зокрема з raw, qcow2). Ви можете скористатися libguestfs у поєднанні із qemu-nbd або nbdkit together для доступу до блокових пристроїв мережею. Приклад: C<guestfish -a nbd://віддалена_система>

note: type: =item
en: I<vs. mounting filesystems in the host>
uk: I<порівняно з монтуванням файлових систем у основній системі>

note: type: textblock
en: Mounting guest filesystems in the host is insecure and should be avoided completely for untrusted guests.  Use libguestfs to provide a layer of protection against filesystem exploits.  See also L<guestmount(1)>.
uk: Монтування файлових систем гостьової системи до основної системи не є безпечним. Його слід завжди уникати для ненадійних гостьових систем. Скористайтеся libguestfs для створення шару захисту від вразливостей у засобах обробки файлових систем. Див. також L<guestmount(1)>.

note: type: =item
en: I<vs. parted>
uk: I<порівняно з parted>

note: type: textblock
en: Libguestfs supports LVM.  Libguestfs uses parted and provides most parted features through the libguestfs API.
uk: У libguestfs передбачено підтримку LVM. У libguestfs використовується parted, бібліотека надає доступ до більшості можливостей parted за допомогою програмного інтерфейсу libguestfs.

note: type: =head1
en: GETTING HELP AND REPORTING BUGS
uk: ОТРИМАННЯ ДОВІДКОВОЇ ІНФОРМАЦІЇ ТА ЗВІТУВАННЯ ПРО ВАДИ

note: type: =head2
en: How do I know what version I'm using?
uk: Як визначити версію програми, якою я користуюся?

note: type: textblock
en: The simplest method is:
uk: Найпростіший спосіб:

note: type: textblock
en: Libguestfs development happens along an unstable branch and we periodically create a stable branch which we backport stable patches to.  To find out more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>.
uk: Розробка libguestfs відбувається у нестабільній гілці. Ми також періодично створюємо стабільні гілки, до яких портуємо латки із виправленнями вад. Щоб дізнатися більше, ознайомтеся із розділом L<guestfs(3)/НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS>.

note: type: =head2
en: How can I get help?
uk: Як допомогти проєктові?

note: type: =head2
en: What mailing lists or chat rooms are available?
uk: Якими списками листування або кімнатами спілкування можна скористатися?

note: type: textblock
en: If you are a S<Red Hat> customer using Red Hat Enterprise Linux, please contact S<Red Hat Support>: L<http://redhat.com/support>
uk: Якщо ви є клієнтом S<Red Hat>, який користується Red Hat Enterprise Linux, будь ласка, зв'яжіться із S<Службою підтримки Red Hat>: L<http://redhat.com/support>

note: type: textblock
en: There is a mailing list, mainly for development, but users are also welcome to ask questions about libguestfs and the virt tools: L<https://www.redhat.com/mailman/listinfo/libguestfs>
uk: Передбачено список листування, здебільшого, для тем, пов'язаних із розробкою, але користувачі також можуть задавати питання щодо libguestfs та засобів віртуалізації у цьому списку: L<https://www.redhat.com/mailman/listinfo/libguestfs>

note: type: textblock
en: You can also talk to us on IRC channel C<#libguestfs> on FreeNode.  We're not always around, so please stay in the channel after asking your question and someone will get back to you.
uk: Крім того, ви можете поспілкуватися із нами на каналі IRC C<#libguestfs> сервера FreeNode. Не всі розробники можуть увесь час перебувати на зв'язку, отому, будь ласка, задавши питання на каналі, зачекайте хоч трохи, і хтось обов'язково на нього відповість.

note: type: textblock
en: For other virt tools (not ones supplied with libguestfs) there is a general virt tools mailing list: L<https://www.redhat.com/mailman/listinfo/virt-tools-list>
uk: Щодо інших засобів віртуалізації (не тих, які є частиною libguestfs) існує загальний список листування щодо засобів віртуалізації: L<https://www.redhat.com/mailman/listinfo/virt-tools-list>

note: type: =head2
en: How do I report bugs?
uk: Як повідомити про вади?

note: type: textblock
en: Please use the following link to enter a bug in Bugzilla:
uk: Будь ласка, скористайтеся цим посиланням для створення записів звітів щодо вад у Bugzilla:

note: type: textblock
en: Include as much detail as you can and a way to reproduce the problem.
uk: Надайте якнайдокладніший опис і поради щодо способу відтворення проблеми.

note: type: textblock
en: Include the full output of L<libguestfs-test-tool(1)>.
uk: Включіть до звіту усі дані, які було виведено L<libguestfs-test-tool(1)>.

note: type: =head1
en: COMMON PROBLEMS
uk: ТИПОВІ ПРОБЛЕМИ

note: type: textblock
en: See also L<guestfs(3)/LIBGUESTFS GOTCHAS> for some "gotchas" with using the libguestfs API.
uk: Приклади помилкового використання програмного інтерфейсу libguestfs також наведено у розділі L<guestfs(3)/ПРОБЛЕМНІ МІСЦЯ LIBGUESTFS>.

note: type: textblock
en: This obscure error is in fact an SELinux failure.  You have to enable the following SELinux boolean:
uk: Фактично, причиною цієї важковідстежуваної помилки є проблеми із SELinux. Вам слід увімкнути такий булевий перемикач SELinux:

note: type: textblock
en: For more information see L<https://bugzilla.redhat.com/show_bug.cgi?id=806106>.
uk: Докладніші відомості можна знайти за адресою L<https://bugzilla.redhat.com/show_bug.cgi?id=806106>.

note: type: textblock
en: [This error message was changed in libguestfs 1.21.18 to something more explanatory.]
uk: [Це повідомлення у libguestfs 1.21.18 було замінено на змістовніше.]

note: type: textblock
en: This error indicates that qemu failed or the host kernel could not boot.  To get further information about the failure, you have to run:
uk: Це повідомлення про помилку вказує на помилку у роботі qemu або неможливість завантаження ядра основної системи. Для отримання подальшої інформації щодо помилки вам слід віддати таку команду:

note: type: textblock
en: If, after using this, you still don’t understand the failure, contact us (see previous section).
uk: Якщо навіть після використання цієї команди ви не зрозуміли причини помилки, зверніться до розробників бібліотеки (див. попередній розділ).

note: type: =head2
en: libguestfs: error: cannot find any suitable libguestfs supermin, fixed or old-style appliance on LIBGUESTFS_PATH
uk: libguestfs: помилка: не вдалося знайти відповідного supermin libguestfs, фіксованого розгортання або розгортання у застарілому стилі за адресою LIBGUESTFS_PATH

note: type: =head2
en: febootstrap-supermin-helper: ext2: parent directory not found
uk: febootstrap-supermin-helper: ext2: не знайдено батьківського каталогу

note: type: =head2
en: supermin-helper: ext2: parent directory not found
uk: supermin-helper: ext2: не знайдено батьківського каталогу

note: type: textblock
en: [This issue is fixed permanently in libguestfs E<ge> 1.26.]
uk: [Цю ваду було остаточно виправлено у libguestfs E<ge> 1.26.]

note: type: textblock
en: If you see any of these errors on Debian/Ubuntu, you need to run the following command:
uk: Якщо ви бачите ці повідомлення про помилки у Debian/Ubuntu, вам слід віддати таку команду:

note: type: =head2
en: "Permission denied" when running libguestfs as root
uk: «Заборонено доступ» («Permission denied») під час виконання libguestfs від імені root

note: type: textblock
en: You get a permission denied error when opening a disk image, even though you are running libguestfs as root.
uk: Ви отримуєте повідомлення щодо заборони доступу під час відкриття образу диска, незважаючи на те, що запускали libguestfs від імені адміністратора системи (root).

note: type: textblock
en: This is caused by libvirt, and so only happens when using the libvirt backend.  When run as root, libvirt decides to run the qemu appliance as user C<qemu.qemu>.  Unfortunately this usually means that qemu cannot open disk images, especially if those disk images are owned by root, or are present in directories which require root access.
uk: Причиною є робота libvirt, отже, це трапляється лише при використанні модуля обробки libvirt. Під час роботи від імені користувача root libvirt запускає базову систему qemu від імені користувача C<qemu.qemu>. На жаль, зазвичай, це означає, що qemu не зможе відкривати образи дисків, особливо якщо власником цих образів диска є користувач root або ці образи зберігаються у каталогах, доступ до яких має лише користувач root.

note: type: textblock
en: There is a bug open against libvirt to fix this: L<https://bugzilla.redhat.com/show_bug.cgi?id=1045069>
uk: Для виправлення цього відкрито звіт про ваду у libvirt: L<https://bugzilla.redhat.com/show_bug.cgi?id=1045069>

note: type: textblock
en: You can work around this by one of the following methods:
uk: Обійти проблему можна у один з таких способів:

note: type: textblock
en: Switch to the direct backend:
uk: Перемкнутися на безпосередній модуль:

note: type: textblock
en: Don’t run libguestfs as root.
uk: Не запускати libguestfs від імені адміністратора (root).

note: type: textblock
en: Chmod the disk image and any parent directories so that the qemu user can access them.
uk: Змініть режим доступу до образу диска та усіх каталогів, з яких складається шлях до нього, таким чином, щоб користувач qemu мав до них доступ.

note: type: textblock
en: (Nasty) Edit F</etc/libvirt/qemu.conf> and change the C<user> setting.
uk: (Небезпечний спосіб) Відкрийте для редагування F</etc/libvirt/qemu.conf> і змініть значення параметра C<user>.

note: type: =head2
en: execl: /init: Permission denied
uk: execl: /init: відмовлено у доступі

note: type: textblock
en: B<Note:> If this error happens when you are using a distro package of libguestfs (eg. from Fedora, Debian, etc) then file a bug against the distro.  This is not an error which normal users should ever see if the distro package has been prepared correctly.
uk: B<Зауваження:> якщо ви бачите це повідомлення про помилку під час роботи із дистрибутивним пакунком libguestfs (наприклад, пакунком Fedora, Debian), повідомте про ваду розробникам дистрибутива. Звичайний користувач дистрибутивного пакунка, приготованого належним чином, ніколи не повинен бачити цього повідомлення про помилку.

note: type: textblock
en: This error happens during the supermin boot phase of starting the appliance:
uk: Це повідомлення про помилку виникає під час стадії завантаження запуску базової системи у supermin:

note: type: verbatim
en:  supermin: mounting new root on /root
     supermin: chroot
     execl: /init: Permission denied
     supermin: debug: listing directory /
     [...followed by a lot of debug output...]
uk:  supermin: mounting new root on /root
     supermin: chroot
     execl: /init: Permission denied
     supermin: debug: listing directory /
     [...далі багато інших діагностичних повідомлень...]

note: type: textblock
en: This is a complicated bug related to L<supermin(1)> appliances.  The appliance is constructed by copying files like F</bin/bash> and many libraries from the host.  The file C<hostfiles> lists the files that should be copied from the host into the appliance.  If some files don't exist on the host then they are missed out, but if these files are needed in order to (eg) run F</bin/bash> then you'll see the above error.
uk: Це складна вада, пов'язана із базовими системами L<supermin(1)>. Базова система будується шляхом копіювання файлів, подібних до F</bin/bash>, та багатьох бібліотек із основної системи. Список файлів, які має бути скопійовано з основної системи до базової, зберігається у файлі C<hostfiles>. Якщо якихось файлів немає у основній системі, їх буде пропущено, але якщо такі файли потрібні (наприклад) для запуску F</bin/bash>, ви побачите згодом саме таке повідомлення про помилку.

note: type: textblock
en: Diagnosing the problem involves studying the libraries needed by F</bin/bash>, ie:
uk: Виявити причину помилки можна вивчивши список бібліотек, потрібних для роботи F</bin/bash>. Тобто, слід віддати таку команду:

note: type: textblock
en: comparing that with C<hostfiles>, with the files actually available in the host filesystem, and with the debug output printed in the error message.  Once you've worked out which file is missing, install that file using your package manager and try again.
uk: і порівняти отриманий список зі списком із C<hostfiles>, списком файлів, які є у файловій системі основної системи та діагностичними повідомленнями із повідомлення про помилку. Щойно буде виявлено файл, якого не вистачає, його слід встановити за допомогою програми для керування пакунками, а потім повторити спробу.

note: type: textblock
en: You should also check that files like F</init> and F</bin/bash> (in the appliance) are executable.  The debug output shows file modes.
uk: Також слід перевірити, чи є файли, подібні до F</init> та F</bin/bash> (у базовій системі) виконуваними. У діагностичних даних мають бути відомості щодо режимів файлів.

note: type: =head1
en: DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS
uk: ОТРИМАННЯ, ВСТАНОВЛЕННЯ, ЗБИРАННЯ LIBGUESTFS

note: type: =head2
en: Where can I get the latest binaries for ...?
uk: Де взяти найсвіжіші збірки для... ?

note: type: textblock
en: Use:
uk: Скористайтеся командою:

note: type: textblock
en: For the latest builds, see: L<http://koji.fedoraproject.org/koji/packageinfo?packageID=8391>
uk: Найсвіжіші збірки можна знайти тут: L<http://koji.fedoraproject.org/koji/packageinfo?packageID=8391>

note: type: textblock
en: It is part of the default install.  On RHEL 6 and 7 (only) you have to install C<libguestfs-winsupport> to get Windows guest support.
uk: Є частиною типового набору для встановлення. У RHEL 6 і 7 (і лише тут) вам слід встановити C<libguestfs-winsupport>, щоб мати змогу працювати з гостьовими системами Windows.

note: type: =item
en: Debian and Ubuntu
uk: Debian і Ubuntu

note: type: textblock
en: For libguestfs E<lt> 1.26, after installing libguestfs you need to do:
uk: У libguestfs E<lt> 1.26 після встановлення libguestfs вам слід віддати такі команди:

note: type: textblock
en: (This script has been removed on Debian/Ubuntu with libguestfs E<ge> 1.26 and instead the appliance is built on demand.)
uk: (Цей скрипт було вилучено у Debian/Ubuntu у версіях libguestfs E<ge> 1.26, де замість цього базова система збирається на вимогу.)

note: type: textblock
en: On Ubuntu only:
uk: Лише в Ubuntu:

note: type: textblock
en: You may need to add yourself to the C<kvm> group:
uk: Вам, ймовірно, варто додати вашого користувача до групи C<kvm>:

note: type: verbatim
en:  sudo usermod -a -G kvm yourlogin
uk:  sudo usermod -a -G kvm ваш_обліковий_запис

note: type: textblock
en: Hilko Bengen has built libguestfs in squeeze backports: L<http://packages.debian.org/search?keywords=guestfs&searchon=names&section=all&suite=squeeze-backports>
uk: Hilko Bengen зібрано libguestfs для сховища пакунків зворотного портування squeeze: L<http://packages.debian.org/search?keywords=guestfs&searchon=names&section=all&suite=squeeze-backports>

note: type: =item
en: Debian Wheezy and later (7+)
uk: Debian Wheezy та пізніші версії (7+)

note: type: textblock
en: Hilko Bengen supports libguestfs on Debian.  Official Debian packages are available: L<http://packages.debian.org/search?keywords=libguestfs>
uk: Супровід libguestfs у Debian здійснює Hilko Bengen. Ви можете скористатися офіційними пакунками Debian: L<http://packages.debian.org/search?keywords=libguestfs>

note: type: textblock
en: We don’t have a full time Ubuntu maintainer, and the packages supplied by Canonical (which are outside our control) are sometimes broken.
uk: У нас немає повноцінного супровідника пакунків Ubuntu. Пакунки, що надаються Canonical (і не контролюються нами) іноді виявляються непрацездатними.

note: type: textblock
en: Canonical decided to change the permissions on the kernel so that it's not readable except by root.  This is completely stupid, but they won't change it (L<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725>).  So every user should do this:
uk: Компанією Canonical прийнято рішення щодо зміни прав доступу до ядра таким чином, що його читання не може виконувати жоден з користувачів, окрім root. Ми вважаємо таке рішення повністю невиправданим, але компанія відмовляється його змінювати (L<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725>). Тому користувачам слід віддати таку команду:

note: type: textblock
en: libguestfs in this version of Ubuntu works, but you need to update febootstrap and seabios to the latest versions.
uk: libguestfs у цій версії Ubuntu має працювати, але вам слід оновити пакунки febootstrap та seabios до найсвіжіших версій.

note: type: textblock
en: You need febootstrap E<ge> 3.14-2 from: L<http://packages.ubuntu.com/precise/febootstrap>
uk: Вам знадобиться пакунок febootstrap E<ge> 3.14-2 з L<http://packages.ubuntu.com/precise/febootstrap>

note: type: textblock
en: After installing or updating febootstrap, rebuild the appliance:
uk: Після встановлення або оновлення febootstrap виконайте повторне збирання базової системи:

note: type: textblock
en: You need seabios E<ge> 0.6.2-0ubuntu2.1 or E<ge> 0.6.2-0ubuntu3 from: L<http://packages.ubuntu.com/precise-updates/seabios> or L<http://packages.ubuntu.com/quantal/seabios>
uk: Вам знадобиться пакунок seabios E<ge> 0.6.2-0ubuntu2.1 або E<ge> 0.6.2-0ubuntu3 з L<http://packages.ubuntu.com/precise-updates/seabios> або L<http://packages.ubuntu.com/quantal/seabios>

note: type: textblock
en: Also you need to do (see above):
uk: Крім того, вам слід виконати такі дії (див. вище):

note: type: textblock
en: Libguestfs was added to Gentoo in 2012-07 by Andreis Vinogradovs (libguestfs) and Maxim Koltsov (mainly hivex).  Do:
uk: Libguestfs було додано до Gentoo 2012-07, автори —  Andreis Vinogradovs (libguestfs) та Maxim Koltsov (в основному hivex). Віддайте команду:

note: type: textblock
en: Libguestfs was added to SuSE in 2012 by Olaf Hering.
uk: Libguestfs було додано до сховищ пакунків SuSE у 2012 році, супровідник — Olaf Hering.

note: type: textblock
en: Libguestfs was added to the AUR in 2010.
uk: Libguestfs було додано до AUR у 2010 році.

note: type: =item
en: Other Linux distro
uk: Інші дистрибутиви Linux

note: type: textblock
en: Compile from source (next section).
uk: Можна зібрати з початкових кодів (наступний розділ).

note: type: =item
en: Other non-Linux distro
uk: Інші дистрибутиви не-Linux

note: type: textblock
en: You'll have to compile from source, and port it.
uk: Вам слід зібрати бібліотеку з початкових кодів і портувати її.

note: type: =head2
en: How can I compile and install libguestfs from source?
uk: Як зібрати і встановити libguestfs з початкових кодів?

note: type: textblock
en: You can compile libguestfs from git or a source tarball.  Read the README file before starting.
uk: Ви можете зібрати libguestfs з git або архіву tar із початковим кодом. Перш ніж почнете це робити, ознайомтеся із вмістом файла README.

note: type: textblock
en: Git: L<https://github.com/libguestfs/libguestfs> Source tarballs: L<http://libguestfs.org/download>
uk: Git: L<https://github.com/libguestfs/libguestfs> Архіви з кодом: L<http://libguestfs.org/download>

note: type: textblock
en: Don’t run C<make install>! Use the C<./run> script instead (see README).
uk: Не використовуйте команду C<make install>! Замість неї слід користуватися скриптом C<./run> (див. README).

note: type: =head2
en: How can I compile and install libguestfs if my distro doesn't have new enough qemu/supermin/kernel?
uk: Як зібрати і встановити libguestfs, якщо у дистрибутиві немає достатньо нового qemu, supermin або ядра?

note: type: textblock
en: Libguestfs needs supermin 5.  If supermin 5 hasn't been ported to your distro, then see the question below.
uk: Для роботи libguestfs потрібен supermin 5. Якщо supermin 5 не портовано на ваш дистрибутив, ознайомтеся із наведеною нижче відповіддю на наступне питання.

note: type: textblock
en: First compile qemu, supermin and/or the kernel from source.  You do I<not> need to C<make install> them.
uk: Спочатку зберіть qemu, supermin і/або ядро із початкового коду. Вам I<не слід> віддавати команду C<make install> для встановлення.

note: type: textblock
en: In the libguestfs source directory, create two files.  C<localconfigure> should contain:
uk: У каталозі із початковим кодом libguestfs створіть два файли. Файл C<localconfigure> має містити такий текст:

note: type: textblock
en: Make C<localconfigure> executable.
uk: Зробіть C<localconfigure> виконуваним.

note: type: textblock
en: C<localenv> should contain:
uk: C<localenv> має містити таке:

note: type: textblock
en: Uncomment and adjust these lines as required to use the alternate programs you have compiled.
uk: Розкоментуйте і скоригуйте рядки так, щоб вони відповідали зібраним вами альтернативним варіантам програм.

note: type: textblock
en: Use C<./localconfigure> instead of C<./configure>, but otherwise you compile libguestfs as usual.
uk: Скористайтеся C<./localconfigure> замість C<./configure> додавши до скрипту звичайні аргументи для збирання libguestfs.

note: type: =head2
en: How can I compile and install libguestfs without supermin?
uk: Як зібрати і встановити libguestfs без supermin?

note: type: textblock
en: If supermin 5 supports your distro, but you don’t happen to have a new enough supermin installed, then see the previous question.
uk: Якщо у supermin 5 передбачено підтримку вашого дистрибутива, але якось так вийшло, що у вашій системі не встановлено достатньо нової версії supermin, скористайтеся настановами із відповіді на попереднє питання.

note: type: textblock
en: If supermin 5 doesn't support your distro at all, you will need to use the "fixed appliance method" where you use a pre-compiled binary appliance.  To build libguestfs without supermin, you need to pass C<--disable-appliance --disable-daemon> to either F<./autogen.sh> or F<./configure> (depending whether you are building respectively from git or from tarballs).  Then, when using libguestfs, you B<must> set the C<LIBGUESTFS_PATH> environment variable to the directory of a pre-compiled appliance, as also described in L<guestfs-internals(1)/FIXED APPLIANCE>.
uk: Якщо у supermin 5 взагалі не передбачено підтримки вашого дистрибутива, вам доведеться скористатися «методом фіксованої базової системи», згідно з яким вам слід скористатися наперед зібраним двійковим образом базової системи. Щоб зібрати libguestfs без підтримки supermin, вам слід передати параметри C<--disable-appliance --disable-daemon> F<./autogen.sh> або F<./configure> (залежно від того, що ви збираєте, код з git або код з архіву tar). Далі, під час використання libguestfs вам B<слід> встановити для змінної середовища C<LIBGUESTFS_PATH> значення, яке збігається із адресою каталогу, де зберігається попередньо зібрана базова система, як це описано у розділі L<guestfs-internals(1)/ФІКСОВАНА БАЗОВА СИСТЕМА>.

note: type: textblock
en: For pre-compiled appliances, see also: L<http://libguestfs.org/download/binaries/appliance/>.
uk: Крім того, попередньо зібрані базові системи можна знайти тут: L<http://libguestfs.org/download/binaries/appliance/>.

note: type: textblock
en: Patches to port supermin to more Linux distros are welcome.
uk: Ми будемо раді надісланим вами латкам для портування supermin на інші дистрибутиви Linux.

note: type: =head2
en: How can I add support for sVirt?
uk: Як додати підтримку для sVirt?

note: type: textblock
en: B<Note for Fedora/RHEL users:> This configuration is the default starting with S<Fedora 18> and S<RHEL 7>.  If you find any problems, please let us know or file a bug.
uk: B<Зауваження для користувачів Fedora/RHEL:> ця конфігурація є типовою, починаючи з S<Fedora 18> та S<RHEL 7>.  Якщо вами буде виявлено якісь проблеми, будь ласка, повідомте розробникам або створіть звіт про ваду у бібліотеці.

note: type: textblock
en: L<SVirt|http://selinuxproject.org/page/SVirt> provides a hardened appliance using SELinux, making it very hard for a rogue disk image to "escape" from the confinement of libguestfs and damage the host (it's fair to say that even in standard libguestfs this would be hard, but sVirt provides an extra layer of protection for the host and more importantly protects virtual machines on the same host from each other).
uk: L<SVirt|http://selinuxproject.org/page/SVirt> створює захищену базову систему із використанням SELinux, роблячи дуже складною для створеного зловмисниками образу диска «втечу» з контейнера libguestfs і ускладнюючи спроби нашкодити основній системі (слід сказати, що навіть у стандартній libguestfs зробити це складно, але sVirt створює додатковий шар захисту для основної системи і, що важливіше, захищає віртуальні машини на одній основній системі одна від одної).

note: type: textblock
en: Currently to enable sVirt you will need libvirt E<ge> 0.10.2 (1.0 or later preferred), libguestfs E<ge> 1.20, and the SELinux policies from recent Fedora.  If you are not running S<Fedora 18+>, you will need to make changes to your SELinux policy - contact us on the mailing list.
uk: У поточній версії для вмикання sVirt вам знадобиться libvirt E<ge> 0.10.2 (бажано 1.0 або новіша версія), libguestfs E<ge> 1.20, та правила SELinux зі свіжої версії Fedora. Якщо ви працюєте не з S<Fedora 18+>, вам доведеться внести зміни до ваших правил SELinux — якщо потрібен конкретний список, зв'яжіться із нами за допомогою списку листування.

note: type: textblock
en: Once you have the requirements, do:
uk: Щойно усі вимоги буде задоволено, зробіть наступне:

note: type: textblock
en: Set SELinux to Enforcing mode, and sVirt should be used automatically.
uk: Встановіть SELinux у примусовий (Enforcing) режим, і sVirt буде використано автоматично.

note: type: textblock
en: All, or almost all, features of libguestfs should work under sVirt.  There is one known shortcoming: L<virt-rescue(1)> will not use libvirt (hence sVirt), but falls back to direct launch of qemu.  So you won't currently get the benefit of sVirt protection when using virt-rescue.
uk: З sVirt мають працювати усі або майже усі можливості libguestfs. Втім, є один відомий недолік: L<virt-rescue(1)> не використовуватиме libvirt (а отже, і sVirt), а повернеться до безпосереднього запуску qemu. Тому, ви не зможете скористатися перевагами захисту sVirt, якщо користуватиметеся virt-rescue.

note: type: textblock
en: You can check if sVirt is being used by enabling libvirtd logging (see F</etc/libvirt/libvirtd.log>), killing and restarting libvirtd, and checking the log files for S<"Setting SELinux context on ..."> messages.
uk: Перевірити, чи працює sVirt можна вмиканням журналу libvirtd (див. F</etc/libvirt/libvirtd.log>). Далі слід завершити роботу libvirtd і перезапустити цю службу, а потім пошукати у файлах журналу повідомлення S<"Setting SELinux context on ..."> (Встановлюємо контекст SELinux...»).

note: type: textblock
en: In theory sVirt should support AppArmor, but we have not tried it.  It will almost certainly require patching libvirt and writing an AppArmor policy.
uk: Теоретично, у sVirt має бути передбачено підтримку AppArmor, але ми цього не перевіряли. Майже напевне, використання sVirt потребуватиме латання libvirt і написання правил AppArmor.

note: type: =head2
en: Libguestfs has a really long list of dependencies!
uk: Чому у Libguestfs такий великий список залежностей?

note: type: textblock
en: The base library doesn't depend on very much, but there are three causes of the long list of other dependencies:
uk: Основа бібліотеки має доволі мало залежностей, але існує три причини, через які список залежностей є доволі довгим:

note: type: textblock
en: Libguestfs has to be able to read and edit many different disk formats.  For example, XFS support requires XFS tools.
uk: Libguestfs повинна мати змогу читати і редагувати дані у багатьох різних форматах дисків. Наприклад, підтримка XFS потребує використання інструментів для роботи з XFS.

note: type: textblock
en: There are language bindings for many different languages, all requiring their own development tools.  All language bindings (except C) are optional.
uk: До складу бібліотеки включено прив'язки до багатьох мов програмування, і для усіх цих мов потрібні власні інструменти для розробки. Усі прив'язки до мов (окрім C) є необов'язковими.

note: type: textblock
en: There are some optional library features which can be disabled.
uk: До складу бібліотеки включено декілька додаткових можливостей, які можна вимкнути.

note: type: textblock
en: Since libguestfs E<ge> 1.26 it is possible to split up the appliance dependencies (item 1 in the list above) and thus have (eg)  C<libguestfs-xfs> as a separate subpackage for processing XFS disk images.  We encourage downstream packagers to start splitting the base libguestfs package into smaller subpackages.
uk: Починаючи з libguestfs E<ge> 1.26, можна відділити залежності базової системи (пункт 1 у наведеному вище списку), створивши, наприклад, окремий підпакунок C<libguestfs-xfs> для обробки образів дисків XFS. Ми радимо пакувальникам для дистрибутивів почати ділити базовий пакунок libguestfs на менші підпакунки.

note: type: =head2
en: Errors during launch on Fedora E<ge> 18, RHEL E<ge> 7
uk: Помилки під час запуску на Fedora E<ge> 18, RHEL E<ge> 7

note: type: textblock
en: In Fedora E<ge> 18 and RHEL E<ge> 7, libguestfs uses libvirt to manage the appliance.  Previously (and upstream) libguestfs runs qemu directly:
uk: У Fedora E<ge> 18 та RHEL E<ge> 7 libguestfs використовує libvirt для керування базовою системою. Раніше (і у основній гілці розробки) libguestfs запускає qemu безпосередньо:

note: type: verbatim
en:  ┌──────────────────────────────────┐
     │ libguestfs                       │
     ├────────────────┬─────────────────┤
     │ direct backend │ libvirt backend │
     └────────────────┴─────────────────┘
            ↓                  ↓
        ┌───────┐         ┌──────────┐
        │ qemu  │         │ libvirtd │
        └───────┘         └──────────┘
                               ↓
                           ┌───────┐
                           │ qemu  │
                           └───────┘
uk:  ┌──────────────────────────────────┐
     │ libguestfs                       │
     ├────────────────┬─────────────────┤
     │ безп. модуль │ модуль libvirt │
     └────────────────┴─────────────────┘
            ↓                  ↓
        ┌───────┐         ┌──────────┐
        │ qemu  │         │ libvirtd │
        └───────┘         └──────────┘
                               ↓
                           ┌───────┐
                           │ qemu  │
                           └───────┘

note: type: verbatim
en:     upstream          Fedora 18+
        non-Fedora         RHEL 7+
        non-RHEL
uk:     upstream          Fedora 18+
        не-Fedora         RHEL 7+
        не-RHEL

note: type: textblock
en: The libvirt backend is more sophisticated, supporting SELinux/sVirt (see above), hotplugging and more.  It is, however, more complex and so less robust.
uk: Модуль libvirt є складнішим, підтримує SELinux/sVirt (див. вище), «гаряче» з'єднання образів тощо. Втім, через складність він є менш стійким.

note: type: textblock
en: If you have permissions problems using the libvirt backend, you can switch to the direct backend by setting this environment variable:
uk: Якщо виникають проблеми із правами доступу під час використання модуля libvirt, ви можете перейти на модуль безпосереднього керування встановленням такої змінної середовища:

note: type: textblock
en: before running any libguestfs program or virt tool.
uk: до запуску будь-яких інструментів libguestfs або virt.

note: type: =head2
en: How can I switch to a fixed / prebuilt appliance?
uk: Як перемкнути бібліотеку на фіксовану або попередньо зібрану базову систему?

note: type: textblock
en: This may improve the stability and performance of libguestfs on Fedora and RHEL.
uk: Це може поліпшити стабільність та швидкодію libguestfs у Fedora і RHEL.

note: type: textblock
en: Any time after installing libguestfs, run the following commands as root:
uk: Будь-коли після встановлення libguestfs віддайте такі команди від імені root:

note: type: textblock
en: Now set the following environment variable before using libguestfs or any virt tool:
uk: Далі, встановіть значення для такої змінної середовища до використання libguest або будь-якого іншого засобу віртуалізації:

note: type: textblock
en: Of course you can change the path to any directory you want.  You can share the appliance across machines that have the same architecture (eg. all x86-64), but note that libvirt will prevent you from sharing the appliance across NFS because of permissions problems (so either switch to the direct backend or don't use NFS).
uk: Звичайно ж, ви можете змінити шлях на адресу будь-якого каталогу. Ви можете спільно використовувати базову систему на різних машинах із однаковою архітектурою (наприклад, усіх машинах x86-64), але слід пам'ятати, що libvirt не дасть вам спільно використовувати базову систему за допомогою NFS через проблеми із правами доступу (отже, слід або перемкнутися на модуль безпосередньої роботи, або не використовувати NFS).

note: type: =head2
en: How can I speed up libguestfs builds?
uk: Як пришвидшити збирання libguestfs?

note: type: textblock
en: By far the most important thing you can do is to install and properly configure Squid.  Note that the default configuration that ships with Squid is rubbish, so configuring it is not optional.
uk: Найважливішим у пришвидшенні роботи може стати встановлення і належне налаштовування Squid. Зауважте, що типові налаштування, з якими встановлюється Squid не дадуть бажаних результатів, тому налаштовування у цьому випадку є обов'язковим.

note: type: textblock
en: A very good place to start with Squid configuration is here: L<https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>
uk: Чудові початкові поради щодо налаштовування Squid можна знайти тут: L<https://fedoraproject.org/wiki/Extras/MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>

note: type: textblock
en: Make sure Squid is running, and that the environment variables C<$http_proxy> and C<$ftp_proxy> are pointing to it.
uk: Переконайтеся, що Squid працює, і що змінні середовища C<$http_proxy> та C<$ftp_proxy> вказують на нього.

note: type: textblock
en: With Squid running and correctly configured, appliance builds should be reduced to a few minutes.
uk: Якщо Squid запущено і належним чином налаштовано, збирання базової системи має стати справою декількох хвилин.

note: type: =head3
en: How can I speed up libguestfs builds (Debian)?
uk: Як пришвидшити збирання libguestfs (Debian)?

note: type: textblock
en: Hilko Bengen suggests using "approx" which is a Debian archive proxy (L<http://packages.debian.org/approx>).  This tool is documented on Debian in the approx(8) manual page.
uk: Hilko Bengen запропоновано використовувати «approx», архівний проксі-сервер Debian (L<http://packages.debian.org/approx>).   Документацію до цієї програми можна знайти на сторінці підручника щодо approx(8).

note: type: =head1
en: SPEED, DISK SPACE USED BY LIBGUESTFS
uk: ШВИДКІСТЬ, МІСЦЕ НА ДИСКУ, ЯКЕ ЗАЙНЯТО LIBGUESTFS

note: type: textblock
en: B<Note:> Most of the information in this section has moved: L<guestfs-performance(1)>.
uk: B<Зауваження:> більшу частину відомостей з цього розділу перенесено до розділу L<guestfs-performance(1)>.

note: type: =head2
en: Upload or write seem very slow.
uk: Вивантаження або запис дуже повільні.

note: type: textblock
en: If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then writes can be slow because the host operating system has to do costly disk allocations while you are writing. The solution is to use a fully allocated format instead, ie. non-sparse raw, or qcow2 with the C<preallocation=metadata> option.
uk: Якщо базовий диск не повністю розподілено (наприклад, маєте справу із розрідженим raw або qcow2), запис може бути повільним через те, що основна операційна система має виконувати ресурсомісткі операції із отримання місця на диску під час запису. Усунути проблему можна використанням формату із повним розподілом, тобто raw без розрідження або qcow2 з параметром C<preallocation=metadata>.

note: type: =head2
en: Libguestfs uses too much disk space!
uk: Libguestfs займає надто багато місця на диску!

note: type: textblock
en: libguestfs caches a large-ish appliance in:
uk: libguestfs кешує найбільшу базову систему сюди:

note: type: textblock
en: If the environment variable C<TMPDIR> is defined, then F<$TMPDIR/.guestfs-E<lt>UIDE<gt>> is used instead.
uk: Якщо визначено змінну середовища C<TMPDIR>, буде використано F<$TMPDIR/.guestfs-E<lt>UIDE<gt>>.

note: type: textblock
en: It is safe to delete this directory when you are not using libguestfs.
uk: Коли ви не використовуєте libguestfs, цей каталог можна безпечно вилучити.

note: type: =head2
en: virt-sparsify seems to make the image grow to the full size of the virtual disk
uk: Здається, virt-sparsify робить так, що розмір образу збільшується до повного розміру віртуального диска

note: type: textblock
en: If the input to L<virt-sparsify(1)> is raw, then the output will be raw sparse.  Make sure you are measuring the output with a tool which understands sparseness such as C<du -sh>.  It can make a huge difference:
uk: Якщо результатом L<virt-sparsify(1)> є образ raw, буде виведено розріджені дані raw. Отже, вимірювати виведені дані слід за допомогою інструмента, який обробляє розріджені дані, наприклад C<du -sh>. Використання такого інструмента є дуже важливим:

note: type: textblock
en: (Compare the apparent size B<100M> vs the actual size B<3.6M>)
uk: (Порівняйте видимий розмір у B<100 МБ> зі справжнім розміром у B<3,6 МБ>)

note: type: textblock
en: If all this confuses you, use a non-sparse output format by specifying the I<--convert> option, eg:
uk: Якщо такі відмінності бентежать вас, скористайтеся форматом виведення без розрідження, вказавши параметр I<--convert>. Приклад:

note: type: verbatim
en:  virt-sparsify --convert qcow2 disk.raw disk.qcow2
uk:  virt-sparsify --convert qcow2 диск.raw диск.qcow2

note: type: =head2
en: Why doesn't virt-resize work on the disk image in-place?
uk: Чому virt-resize не працює із образами дисків «на місці»?

note: type: textblock
en: Resizing a disk image is very tricky -- especially making sure that you don't lose data or break the bootloader.  The current method effectively creates a new disk image and copies the data plus bootloader from the old one.  If something goes wrong, you can always go back to the original.
uk: Зміна розміру образу диска є доволі непростою дією — особливо, з урахуванням того, що слід зберегти усі дані і не пошкодити завантажувач. У поточній версії, насправді, створюється новий образ диска, до якого копіюються дані і завантажувач зі старого образу. Якщо щось піде не так, ви завжди можете повернутися до початкового варіанта.

note: type: textblock
en: If we were to make virt-resize work in-place then there would have to be limitations: for example, you wouldn't be allowed to move existing partitions (because moving data across the same disk is most likely to corrupt data in the event of a power failure or crash), and LVM would be very difficult to support (because of the almost arbitrary mapping between LV content and underlying disk blocks).
uk: Якби нами було реалізовано роботу virt-resize «на місці», нам довелося б також ввести декілька обмежень: наприклад, було б заборонено пересування наявних розділів (оскільки пересування даних у межах одного диска, найімовірніше, призвело б до пошкодження даних при раптовому вимиканні живлення або аварійному завершенні роботи програми), а підтримка LVM стала б дуже складною справою (через майже випадковий зв'язок між вмістом логічного тому і підлеглих йому блоків на диску).

note: type: textblock
en: Another method we have considered is to place a snapshot over the original disk image, so that the original data is untouched and only differences are recorded in the snapshot.  You can do this today using C<qemu-img create> + C<virt-resize>, but qemu currently isn't smart enough to recognize when the same block is written back to the snapshot as already exists in the backing disk, so you will find that this doesn't save you any space or time.
uk: Ми розглядали і інший спосіб, який полягав у тому, щоб створювати різницю-знімок щодо початкового образу диска так, щоб початкові дані лишалися незмінними, а до знімка записувалася лише різниця. Зробити це у поточній версії можна за допомогою комбінації C<qemu-img create> + C<virt-resize>. Втім, qemu у поточній версії недостатньо кмітлива, щоб розпізнати ситуацію, коли блок, який записується до знімка вже існує у резервній копію диска, отже, зрозуміло, цей спосіб не заощадить вам ні місця на диску, ні часу.

note: type: textblock
en: In summary, this is a hard problem, and what we have now mostly works so we are reluctant to change it.
uk: Підсумовуючи, це складна проблема, у поточній версії усе працює майже як слід, тому ми не дуже хочемо щось міняти.

note: type: =head2
en: Why doesn't virt-sparsify work on the disk image in-place?
uk: Чому virt-sparcify не працює із образами дисків «на місці»?

note: type: textblock
en: In libguestfs E<ge> 1.26, virt-sparsify can now work on disk images in place.  Use:
uk: У libguestfs E<ge> 1.26 virt-sparsify може працювати над образами диска на місці. Скористайтеся такою командою:

note: type: textblock
en: But first you should read L<virt-sparsify(1)/IN-PLACE SPARSIFICATION>.
uk: Але спочатку вам слід ознайомитися із розділом L<virt-sparsify(1)/РОЗРІДЖЕННЯ НА МІСЦІ>.

note: type: =head1
en: PROBLEMS OPENING DISK IMAGES
uk: ПРОБЛЕМИ З ВІДКРИТТЯМ ОБРАЗІВ ДИСКІВ

note: type: =head2
en: Remote libvirt guests cannot be opened.
uk: Неможливо відкрити віддалені гостьові системи libvirt.

note: type: textblock
en: Opening remote libvirt guests is not supported at this time.  For example this won't work:
uk: Підтримки відкриття віддалених гостьових систем libvirt у поточній версії не передбачено. Наприклад, така команда не працюватиме:

note: type: textblock
en: To open remote disks you have to export them somehow, then connect to the export.  For example if you decided to use NBD:
uk: Щоб відкрити віддалені диски, вам слід спочатку якось їх експортувати, а потім з'єднатися із експортованими даними. Наприклад, якщо ви вирішили скористатися NBD:

note: type: textblock
en: Other possibilities include ssh (if qemu is recent enough), NFS or iSCSI.  See L<guestfs(3)/REMOTE STORAGE>.
uk: Серед інших можливостей є використання ssh (якщо ви користуєтеся досить свіжою версією qemu), NFS або iSCSI. Див. L<guestfs(3)/ВІДДАЛЕНЕ СХОВИЩЕ>.

note: type: =head2
en: How can I open this strange disk source?
uk: Як відкрити якесь дивне дискове джерело?

note: type: textblock
en: You have a disk image located inside another system that requires access via a library / HTTP / REST / proprietary API, or is compressed or archived in some way.  (One example would be remote access to OpenStack glance images without actually downloading them.)
uk: Нехай у вас є образ диска, розташований у іншій системі, доступ до якої потребує бібліотеки, HTTP, REST або пропрієтарного програмного інтерфейсу, або такий образ, який стиснено або архівовано у певний спосіб. (Одним із прикладів є віддалений доступ до образів glance OpenStack без початкового отримання усіх даних таких образів.)

note: type: textblock
en: We have a sister project called nbdkit (L<https://github.com/libguestfs/nbdkit>).  This project lets you turn any disk source into an NBD server.  Libguestfs can access NBD servers directly, eg:
uk: Ми створили дочірній проєкт із назвою nbdkit (L<https://github.com/libguestfs/nbdkit>). Цей проєкт надає вам змогу перетворити будь-яке дискове джерело у сервер NBD. Libguestfs може отримати доступ до серверів NBD безпосередньо, приклад:

note: type: textblock
en: nbdkit is liberally licensed, so you can link it to or include it in proprietary libraries and code.  It also has a simple, stable plugin API so you can easily write plugins against the API which will continue to work in future.
uk: Умови ліцензування nbdkit є доволі ліберальними, тому ви можете компонувати або включати цей програмний код до пропрієтарних бібліотек та програм. Крім того, передбачено простий і стабільний програмний інтерфейс для додатків. Отже, ви зможете без проблем писати додатки з цим програмним інтерфейсом, які працюватимуть і з майбутніми версіями.

note: type: =head2
en: Error opening VMDK disks: "uses a vmdk feature which is not supported by this qemu version: VMDK version 3"
uk: Повідомлення про помилку під час відкриття дисків VMDK: «uses a vmdk feature which is not supported by this qemu version: VMDK version 3»

note: type: textblock
en: Qemu (and hence libguestfs) only supports certain VMDK disk images.  Others won't work, giving this or similar errors.
uk: У qemu (а отже і у libguestfs) передбачено підтримку лише деяких образів дисків VMDK. Інші не працюватимуть — буде показано лише це або подібне повідомлення про помилку.

note: type: textblock
en: Ideally someone would fix qemu to support the latest VMDK features, but in the meantime you have three options:
uk: Було б чудово, якби хтось виправив qemu так, щоб було реалізовано найновіші можливості VMDK, але, доки цього не сталося, у вас три варіанти дій:

note: type: textblock
en: If the guest is hosted on a live, reachable ESX server, then locate and download the disk image called F<I<somename>-flat.vmdk>.  Despite the name, this is a raw disk image, and can be opened by anything.
uk: Якщо гостьова система працює на «живому», доступному сервері ESX, знайдіть і отримайте образ диска із назвою F<I<назва_гостьової_системи>-flat.vmdk>. Незважаючи на назву, це образ диска raw, який можна відкрити будь-якою відповідною програмою.

note: type: textblock
en: If you have a recent enough version of qemu and libguestfs, then you may be able to access this disk image remotely using either HTTPS or ssh.  See L<guestfs(3)/REMOTE STORAGE>.
uk: Якщо ви працюєте з доволі свіжою версією qemu і libguestfs, ви, ймовірно, зможете отримати доступ до цього образу диска віддалено за допомогою HTTPS або ssh. Див. L<guestfs(3)/ВІДДАЛЕНЕ СХОВИЩЕ>.

note: type: textblock
en: Use VMware’s proprietary vdiskmanager tool to convert the image to raw format.
uk: Скористайтеся пропрієтарним інструментом VMware vdiskmanager для перетворення образу у формат raw.

note: type: textblock
en: Use nbdkit with the proprietary VDDK plugin to live export the disk image as an NBD source.  This should allow you to read and write the VMDK file.
uk: Скористайтеся nbdkit із пропрієтарним додатком VDDK для експортування «вживу» образу диска як джерела NBD. Це дасть вам змогу прочитати дані файла VMDK і записати до нього дані.

note: type: =head2
en: UFS disks (as used by BSD) cannot be opened.
uk: Не передбачено можливості відкриття дисків UFS (у форматі, що використовується BSD).

note: type: textblock
en: The UFS filesystem format has many variants, and these are not self-identifying.  The Linux kernel has to be told which variant of UFS it has to use, which libguestfs cannot know.
uk: У файлової системи UFS багато варіантів. Визначити варіант непросто. Ядру Linux має бути повідомлено варіант UFS, який слід використати, а libguestfs не зможе це зробити самостійно.

note: type: textblock
en: You have to pass the right C<ufstype> mount option when mounting these filesystems.
uk: Під час монтування цих файлових систем слід передати правильне значення параметра монтування C<ufstype>.

note: type: textblock
en: See L<https://www.kernel.org/doc/Documentation/filesystems/ufs.txt>
uk: Див. L<https://www.kernel.org/doc/Documentation/filesystems/ufs.txt>

note: type: textblock
en: Windows ReFS is Microsoft’s ZFS/Btrfs copy.  This filesystem has not yet been reverse engineered and implemented in the Linux kernel, and therefore libguestfs doesn't support it.  At the moment it seems to be very rare "in the wild".
uk: Windows ReFS є копією ZFS/Btrfs від Microsoft. Принципи роботи цієї файлової системи ще не визначено шляхами зворотної інженерії і не реалізовано у ядрі Linux, тому у libguestfs не передбачено її підтримки. На сьогодні, зустріти цю файлову систему «наживо» доволі важко.

note: type: =head2
en: Non-ASCII characters don’t appear on VFAT filesystems.
uk: У файлових системах VFAT не видно символів поза ASCII.

note: type: textblock
en: Typical symptoms of this problem:
uk: Типові симптоми проблеми:

note: type: textblock
en: You get an error when you create a file where the filename contains non-ASCII characters, particularly non 8-bit characters from Asian languages (Chinese, Japanese, etc).  The filesystem is VFAT.
uk: Ви бачите повідомлення про помилку під час створення файла із назвою, яка містить символи поза ASCII, зокрема не-8-бітові символи з азійських мов (китайської, японської тощо). Файловою системою є VFAT.

note: type: textblock
en: When you list a directory from a VFAT filesystem, filenames appear as question marks.
uk: У каталогах файлової системи VFAT назви файлів показано знаками питання.

note: type: textblock
en: This is a design flaw of the GNU/Linux system.
uk: Це конструктивна проблема системи GNU/Linux.

note: type: textblock
en: VFAT stores long filenames as UTF-16 characters.  When opening or returning filenames, the Linux kernel has to translate these to some form of 8 bit string.  UTF-8 would be the obvious choice, except for Linux users who persist in using non-UTF-8 locales (the user’s locale is not known to the kernel because it’s a function of libc).
uk: VFAT зберігає довгі назви файлів у форматі набору символів UTF-16. Коли операційна система відкриває або повертає назви файлів, ядро Linux має перетворити такий набір символів у певну форму рядка із 8-бітових символів. Очевидним вибором про цьому є UTF-8, окрім тих випадків, коли користувачі Linux примусово визначають локалі, відмінні від UTF-8 (локаль користувача не є відомою ядру, оскільки її роботу забезпечує не ядро, а libc).

note: type: textblock
en: Therefore you have to tell the kernel what translation you want done when you mount the filesystem.  The two methods are the C<iocharset> parameter (which is not relevant to libguestfs) and the C<utf8> flag.
uk: Через це вам слід повідомити ядру, яке саме перетворення слід виконати під час монтування файлової системи. Зробити це можна або за допомогою параметра C<iocharset> (у випадку із libguestfs цей спосіб не спрацює), або за допомогою прапорця C<utf8>.

note: type: textblock
en: So to use a VFAT filesystem you must add the C<utf8> flag when mounting.  From guestfish, use:
uk: Отже, щоб скористатися файловою системою VFAT, вам слід додати прапорець C<utf8> під час монтування. У guestfish скористайтеся таким кодом:

note: type: verbatim
en:  ><fs> mount-options utf8 /dev/sda1 /
uk:  ><fs> параметри_монтування utf8 /dev/sda1 /

note: type: textblock
en: or on the guestfish command line:
uk: або у командному рядку guestfish:

note: type: textblock
en: or from the API:
uk: або з програмного інтерфейсу:

note: type: textblock
en: The kernel will then translate filenames to and from UTF-8 strings.
uk: Після цього ядро зможе належним чином перетворювати назви файлів у рядки UTF-8, і навпаки.

note: type: textblock
en: We considered adding this mount option transparently, but unfortunately there are several problems with doing that:
uk: У нас були наміри додати цей параметр монтування у прозорий спосіб, але, на жаль, з цим виникли певні проблеми:

note: type: textblock
en: On some Linux systems, the C<utf8> mount option doesn't work.  We don't precisely understand what systems or why, but this was reliably reported by one user.
uk: У деяких системах Linux параметр монтування C<utf8> не працює. Нам не відомі точні критерії визначення таких систем та причини непрацездатності параметра, але щодо цього є гідні довіри звіти від одного з наших користувачів.

note: type: textblock
en: It would prevent you from using the C<iocharset> parameter because it is incompatible with C<utf8>.  It is probably not a good idea to use this parameter, but we don't want to prevent it.
uk: Це не дасть вам змоги скористатися параметром C<iocharset>, оскільки він є несумісним із C<utf8>. Ймовірно, цим параметром не варто користуватися, але ми не хочемо і забороняти його використання.

note: type: =head2
en: Non-ASCII characters appear as underscore (_) on ISO9660 filesystems.
uk: У файлових системах ISO9660 символи, які не належать до символів ASCII, показуються як підкреслювання (_).

note: type: textblock
en: The filesystem was not prepared correctly with mkisofs or genisoimage.  Make sure the filesystem was created using Joliet and/or Rock Ridge extensions.  libguestfs does not require any special mount options to handle the filesystem.
uk: Файлову систему не було належним чином приготовано за допомогою mkisofs або genisoimage. Переконайтеся, що файлову систему було створено за допомогою розширень Joliet і/або Rock Ridge. libguestfs не потрібні ніяких спеціальні параметри монтування для роботи з файловою системою.

note: type: =head2
en: Cannot open Windows guests which use NTFS.
uk: Не вдається відкрити гостьові системи Windows, у яких використовується NTFS.

note: type: textblock
en: You see errors like:
uk: Ви бачите такі повідомлення про помилки:

note: type: textblock
en: On Red Hat Enterprise Linux or CentOS E<lt> 7.2, you have to install the L<libguestfs-winsupport|https://people.redhat.com/~rjones/libguestfs-winsupport/> package.  In RHEL E<ge> 7.2, C<libguestfs-winsupport> is part of the base RHEL distribution, but see the next question.
uk: У Red Hat Enterprise Linux або CentOS E<lt> 7.2 вам слід встановити пакунок L<libguestfs-winsupport|https://people.redhat.com/~rjones/libguestfs-winsupport/>. У RHEL E<ge> 7.2, C<libguestfs-winsupport> є частиною базового дистрибутива RHEL, але є аспекти, описані у наступному питанні.

note: type: =head2
en: "mount: unsupported filesystem type" with NTFS in RHEL E<ge> 7.2
uk: «mount: unsupported filesystem type» для NTFS у RHEL E<ge> 7.2

note: type: textblock
en: In RHEL 7.2 we were able to add C<libguestfs-winsupport> to the base RHEL distribution, but we had to disable the ability to use it for opening and editing filesystems.  It is only supported when used with L<virt-v2v(1)>.  If you try to use L<guestfish(1)> or L<guestmount(1)> or some other programs on an NTFS filesystem, you will see the error:
uk: У RHEL 7.2 нам вдалося додати C<libguestfs-winsupport> до базового дистрибутива RHEL, але довелося вимкнути можливість використовувати програму для відкриття та редагування файлових систем. Підтримку цих дій передбачено лише у поєднанні із L<virt-v2v(1)>. Якщо ви спробуєте скористатися L<guestfish(1)>,  L<guestmount(1)> або деякими іншими програмами для файлової системи NTFS, ви побачите таке повідомлення про помилку:

note: type: textblock
en: This is not a supported configuration, and it will not be made to work in RHEL.  Don't bother to open a bug about it, as it will be immediately C<CLOSED -E<gt> WONTFIX>.
uk: Підтримки цієї конфігурації не передбачено, отже ніхто не працюватиме над тим, щоб це запрацювало у RHEL. Вам не варто створювати повідомлень про ваду, оскільки їх одразу буде закрито за критерієм C<CLOSED -E<gt> WONTFIX>.

note: type: textblock
en: You may L<compile your own libguestfs removing this restriction|https://www.redhat.com/archives/libguestfs/2016-February/msg00145.html>, but that won't be endorsed or supported by Red Hat.
uk: Ви можете L<зібрати власну версію libguestfs без цього обмеження|https://www.redhat.com/archives/libguestfs/2016-February/msg00145.html>, але не очікуйте на схвалення або підтримку з боку Red Hat.

note: type: =head2
en: Cannot open or inspect RHEL 7 guests.
uk: Не вдається відкрити або вивчити гостьові системи RHEL 7.

note: type: =head2
en: Cannot open Linux guests which use XFS.
uk: Не вдається відкрити гостьові системи Linux, де використовується XFS.

note: type: textblock
en: RHEL 7 guests, and any other guests that use XFS, can be opened by libguestfs, but you have to install the C<libguestfs-xfs> package.
uk: Гостьові системи RHEL 7 та будь-які інші гостьові системи, де використовується XFS, можна відкрити у libguestfs, але вам слід встановити пакунок C<libguestfs-xfs>.

note: type: =head1
en: USING LIBGUESTFS IN YOUR OWN PROGRAMS
uk: ВИКОРИСТАННЯ LIBGUESTFS У ВАШИХ ВЛАСНИХ ПРОГРАМАХ

note: type: =head2
en: The API has hundreds of methods, where do I start?
uk: У програмному інтерфейсі сотні методів, з чого почати?

note: type: textblock
en: We recommend you start by reading the API overview: L<guestfs(3)/API OVERVIEW>.
uk: Рекомендуємо вам розпочати з читання огляду програмного інтерфейсу: L<guestfs(3)/ОГЛЯД ПРОГРАМНОГО ІНТЕРФЕЙСУ>.

note: type: textblock
en: Although the API overview covers the C API, it is still worth reading even if you are going to use another programming language, because the API is the same, just with simple logical changes to the names of the calls:
uk: Хоча огляд програмного інтерфейсу стосується програмного інтерфейсу мовою C, все ж варто його прочитати, навіть якщо ви будете користуватися іншою мовою програмування, оскільки програмний інтерфейс є тим самим, лише з простими логічними змінами у назвах викликів:

note: type: textblock
en: Once you're familiar with the API overview, you should look at this list of starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES>.
uk: Після ознайомлення із оглядом програмного інтерфейсу, вам слід вивчити ці початкові настанови щодо прив'язки до інших мов програмування: L<guestfs(3)/ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ>.

note: type: =head2
en: Can I use libguestfs in my proprietary / closed source / commercial program?
uk: Чи можна використовувати libguestfs у пропрієтарній програмі, програмі із закритим кодом або комерційній програмі?

note: type: textblock
en: In general, yes.  However this is not legal advice - read the license that comes with libguestfs, and if you have specific questions contact a lawyer.
uk: Загалом, так. Втім, ця порада не є порадою юриста. Ознайомтеся із умовами ліцензування, які постачаються разом із libguestfs, і якщо у вас виникнуть специфічні питання, зв'яжіться із правником.

note: type: textblock
en: In the source tree the license is in the file C<COPYING.LIB> (LGPLv2+ for the library and bindings) and C<COPYING> (GPLv2+ for the standalone programs).
uk: У ієрархії початкового коду умови ліцензування викладено у файлах C<COPYING.LIB> (LGPLv2+ для бібліотеки і прив'язок) та C<COPYING> (GPLv2+ для окремих програм).

note: type: =head1
en: DEBUGGING LIBGUESTFS
uk: ДІАГНОСТИКА LIBGUESTFS

note: type: =head2
en: Help, it’s not working!
uk: Допоможіть, не працює!

note: type: textblock
en: If no libguestfs program seems to work at all, run the program below and paste the B<complete, unedited> output into an email to C<libguestfs> @ C<redhat.com>:
uk: Якщо не працює жодна із програм libguestfs, віддайте вказану нижче команду і вставте виведений текст B<повністю, без змін> до повідомлення на адресу C<libguestfs> @ C<redhat.com>:

note: type: textblock
en: If a particular operation fails, supply all the information in this checklist, in an email to C<libguestfs> @ C<redhat.com>:
uk: Якщо не вдається виконати певну дію, надайте усі дані із наведеного нижче списку у повідомлення на адресу C<libguestfs> @ C<redhat.com>:

note: type: textblock
en: What are you trying to do?
uk: Що саме ви намагаєтеся зробити?

note: type: textblock
en: What exact command(s) did you run?
uk: Які саме команди було віддано вами?

note: type: textblock
en: What was the precise error or output of these commands?
uk: Як саме виглядало повідомлення про помилку або результат виконання ваших команд?

note: type: textblock
en: Enable debugging, run the commands again, and capture the B<complete> output.  B<Do not edit the output.>
uk: Увімкніть діагностику, віддайте команду ще раз і скопіюйте B<усі> виведені дані. B<Не редагуйте виведені дані.>

note: type: textblock
en: Include the version of libguestfs, the operating system version, and how you installed libguestfs (eg. from source, C<yum install>, etc.)
uk: Вкажіть версію libguestfs, версію операційної системи та спосіб встановлення libguestfs (наприклад, з початкового коду (from source), C<yum install> тощо)

note: type: =head2
en: How do I debug when using any libguestfs program or tool (eg. virt-customize or virt-df)?
uk: Як виконати діагностику роботи програми або інструмента libguestfs (наприклад virt-customize або virt-df)?

note: type: textblock
en: There are two C<LIBGUESTFS_*> environment variables you can set in order to get more information from libguestfs.
uk: Передбачено дві змінні середовища C<LIBGUESTFS_*>, якими ви можете скористатися для отримання додаткових відомостей від libguestfs.

note: type: textblock
en: Set this to 1 and libguestfs will print out each command / API call in a format which is similar to guestfish commands.
uk: Встановіть для цієї змінної значення 1, і libguestfs виводитиме кожну команду і виклик програмного інтерфейсу у форматі, який подібний до команд guestfish.

note: type: textblock
en: Set this to 1 in order to enable massive amounts of debug messages.  If you think there is some problem inside the libguestfs appliance, then you should use this option.
uk: Встановіть для цієї змінної значення 1, щоб увімкнути значний масив діагностичних повідомлень. Якщо ви вважаєте, що причина проблеми ховається у базовій системі libguestfs, вам слід скористатися цим варіантом.

note: type: textblock
en: To set these from the shell, do this before running the program:
uk: Щоб встановити ці змінні із командної оболонки, віддайте такі команди до запуску програми:

note: type: textblock
en: For csh/tcsh the equivalent commands would be:
uk: Для csh/tcsh еквівалентними командами будуть такі:

note: type: textblock
en: For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>.
uk: Докладніші дані можна знайти на сторінці L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>.

note: type: =head2
en: How do I debug when using guestfish?
uk: Як виконувати діагностику за допомогою guestfish?

note: type: textblock
en: You can use the same environment variables above.  Alternatively use the guestfish options -x (to trace commands) or -v (to get the full debug output), or both.
uk: Можна скористатися описаними вище змінними середовища. Крім того, ви можете скористатися параметрами guestfish -x (для трасування команд) та -v (для отримання повної діагностичної інформації).

note: type: textblock
en: For further information, see: L<guestfish(1)>.
uk: Докладніші дані можна знайти на сторінці L<guestfish(1)>.

note: type: =head2
en: How do I debug when using the API?
uk: Як виконувати діагностику за допомогою програмного інтерфейсу?

note: type: textblock
en: Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or L<guestfs(3)/guestfs_set_verbose> to enable debug messages.
uk: Викличте L<guestfs(3)/guestfs_set_trace>, щоб увімкнути трасування команд і/або L<guestfs(3)/guestfs_set_verbose>, щоб увімкнути діагностичні повідомлення.

note: type: textblock
en: For best results, call these functions as early as possible, just after creating the guestfs handle if you can, and definitely before calling launch.
uk: Щоб отримати якнайкращі результати, викликайте ці функції якомога раніше, одразу після створення дескриптора guestfs, точно до виклику launch.

note: type: =head2
en: How do I capture debug output and put it into my logging system?
uk: Як перехопити діагностичні повідомлення і спрямувати їх до системи ведення журналу?

note: type: textblock
en: Use the event API.  For examples, see: L<guestfs(3)/SETTING CALLBACKS TO HANDLE EVENTS> and the F<examples/debug-logging.c> program in the libguestfs sources.
uk: Скористайтеся програмним інтерфейсом подій. Приклади можна знайти у розділі L<guestfs(3)/ВСТАНОВЛЕННЯ ЗВОРОТНИХ ВИКЛИКІВ ДЛЯ ОБРОБКИ ПОДІЙ> та програмі F<examples/debug-logging.c> у початковому коді libguestfs.

note: type: =head2
en: Digging deeper into the appliance boot process.
uk: Занурення глибше до процесу завантаження базової системи.

note: type: textblock
en: Enable debugging and then read this documentation on the appliance boot process: L<guestfs-internals(1)>.
uk: Увімкніть діагностику, а потім ознайомтеся із цією документацією щодо процесу завантаження базової системи: L<guestfs-internals(1)>.

note: type: =head2
en: libguestfs hangs or fails during run/launch.
uk: libguestfs повисає або повідомляє про помилку під час запуску.

note: type: textblock
en: Enable debugging and look at the full output.  If you cannot work out what is going on, file a bug report, including the I<complete> output of L<libguestfs-test-tool(1)>.
uk: Увімкніть діагностику і ознайомтеся із повними виведеними даними. Якщо вам не вдається визначити причину, повідомте про ваду, додавши виведені L<libguestfs-test-tool(1)> дані I<повністю>.

note: type: =head2
en: Debugging libvirt
uk: Діагностування libvirt

note: type: textblock
en: If you are using the libvirt backend, and libvirt is failing, then you can enable debugging by editing F</etc/libvirt/libvirtd.conf>.
uk: Якщо ви користуєтеся модулем libvirt, а libvirt не працює, ви можете увімкнути діагностику редагуванням F</etc/libvirt/libvirtd.conf>.

note: type: textblock
en: If you are running as non-root, then you have to edit a different file.  Create F<~/.config/libvirt/libvirtd.conf> containing:
uk: Якщо ви запускаєте програму не від імені користувача root, вам слід внести зміни до іншого файла. Створіть F<~/.config/libvirt/libvirtd.conf> з таким вмістом:

note: type: textblock
en: Kill any session (non-root) libvirtd that is running, and next time you run the libguestfs command, you should see a large amount of useful debugging information from libvirtd in F</tmp/libvirtd.log>
uk: Припиніть роботу усіх libvirtd (запущених не від імені root) у сеансі, і під час наступного виконання команди libguestfs ви маєте побачити багато корисних діагностичних відомостей від libvirtd у F</tmp/libvirtd.log>

note: type: =head2
en: Broken kernel, or trying a different kernel.
uk: Помилки у ядрі або як спробувати інше ядро.

note: type: textblock
en: You can choose a different kernel for the appliance by setting some L<supermin environment variables|supermin(8)/ENVIRONMENT VARIABLES>:
uk: Ви можете вибрати інше ядро для базової системи встановленням певних L<змінних середовища supermin|supermin(8)/ЗМІННІ СЕРЕДОВИЩА>:

note: type: =head2
en: Broken qemu, or trying a different qemu.
uk: Помилки у qemu або як спробувати іншу qemu.

note: type: textblock
en: You can choose a different qemu by setting the hypervisor L<environment variable|guestfs(3)/ENVIRONMENT VARIABLES>:
uk: Ви можете вибрати іншу qemu встановленням L<змінної середовища|guestfs(3)/ЗМІННІ СЕРЕДОВИЩА> гіпервізору:

note: type: verbatim
en:  export LIBGUESTFS_HV=/path/to/qemu-system-x86_64
     libguestfs-test-tool
uk:  export LIBGUESTFS_HV=/шлях/до/qemu-system-x86_64
     libguestfs-test-tool

note: type: =head1
en: DESIGN/INTERNALS OF LIBGUESTFS
uk: ДИЗАЙН/ВНУТРІШНЯ БУДОВА LIBGUESTFS

note: type: textblock
en: See also L<guestfs-internals(1)>.
uk: Див. також L<guestfs-internals(1)>.

note: type: =head2
en: Why don’t you do everything through the FUSE / filesystem interface?
uk: Чому б не виконувати усі дії за допомогою інтерфейсу FUSE або файлової системи?

note: type: textblock
en: We offer a command called L<guestmount(1)> which lets you mount guest filesystems on the host.  This is implemented as a FUSE module.  Why don't we just implement the whole of libguestfs using this mechanism, instead of having the large and rather complicated API?
uk: Нами створено програму із назвою L<guestmount(1)>, за допомогою якої ви можете монтувати файлові системи гостьових систем у основній системі. Програму реалізовано як модуль FUSE. Чому ж ми не реалізували усю libguestfs з використанням цього механізму, замість створення великого і доволі складного програмного інтерфейсу?

note: type: textblock
en: The reasons are twofold.  Firstly, libguestfs offers API calls for doing things like creating and deleting partitions and logical volumes, which don't fit into a filesystem model very easily.  Or rather, you could fit them in: for example, creating a partition could be mapped to C<mkdir /fs/hda1> but then you'd have to specify some method to choose the size of the partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition type, start and end sectors etc., but once you've done that the filesystem-based API starts to look more complicated than the call-based API we currently have.
uk: Причини дві. По-перше, libguestfs надає змогу виконувати запити до програмного інтерфейсу з метою створення та вилучення розділів і логічних томів, що не вкладається у просту модель файлової системи. Звичайно ж, можна уявити це і як роботу із файловою системою. Наприклад, створення розділу можна пов'язати із C<mkdir /fs/hda1>, але тоді доведеться вказувати метод вибору розміру розділу (наприклад, C<echo 100M E<gt> /fs/hda1/.size>), типу розділу, початкового і кінцевого секторів тощо. Але якщо усе це реалізувати програмний інтерфейс на основі файлової системи стає складнішим за програмний інтерфейс на основі викликів, який зараз має бібліотека.

note: type: textblock
en: The second reason is for efficiency.  FUSE itself is reasonably efficient, but it does make lots of small, independent calls into the FUSE module.  In guestmount these have to be translated into messages to the libguestfs appliance which has a big overhead (in time and round trips).  For example, reading a file in 64 KB chunks is inefficient because each chunk would turn into a single round trip.  In the libguestfs API it is much more efficient to download an entire file or directory through one of the streaming calls like C<guestfs_download> or C<guestfs_tar_out>.
uk: Другою причиною є ефективність. Сама FUSE є доволі ефективною, але вона виконує багато незначних незалежних викликів модуля FUSE. У guestmount ці виклики доводиться переводити у повідомлення для базової системи libguestfs і втрачати на цьому багато часу (у сенсі навантаження на систему і циклів обробки). Наприклад, читання 64-кілобайтових фрагментів файла є неефективним, оскільки кожен фрагмент дає власний цикл обробки.  У програмному інтерфейсі libguestfs набагато ефективнішим є отримання усього файла або каталогу за допомогою одного з потокових викликів, подібних до C<guestfs_download> або C<guestfs_tar_out>.

note: type: =head2
en: Why don’t you do everything through GVFS?
uk: Чому б не виконувати усі дії за допомогою GVFS?

note: type: textblock
en: The problems are similar to the problems with FUSE.
uk: Проблеми такого варіанта подібні до проблем із FUSE.

note: type: textblock
en: GVFS is a better abstraction than POSIX/FUSE.  There is an FTP backend for GVFS, which is encouraging because FTP is conceptually similar to the libguestfs API.  However the GVFS FTP backend makes multiple simultaneous connections in order to keep interactivity, which we can't easily do with libguestfs.
uk: GVFS є кращою абстракцією за POSIX/FUSE. Існує модуль FTP для GVFS, що має надихати, оскільки FTP концептуально подібна до програмного інтерфейсу libguestfs. Втім, модуль FTP GVFS для підтримання інтерактивності встановлює одразу декілька одночасних з'єднань, що непросто реалізувати у libguestfs.

note: type: =head2
en: Why can I write to the disk, even though I added it read-only?
uk: Чому у мене лишається можливість запису на диск, навіть якщо його позначено як придатний лише для читання?

note: type: =head2
en: Why does C<--ro> appear to have no effect?
uk: Чому використання C<--ro> не дає бажаних наслідків?

note: type: textblock
en: When you add a disk read-only, libguestfs places a writable overlay on top of the underlying disk.  Writes go into this overlay, and are discarded when the handle is closed (or C<guestfish> etc. exits).
uk: Коли ви додаєте диск як придатний лише для читання, libguestfs розташовує на основі підлеглого диска придатну для запису накладку. Записувані дані потрапляють до цієї накладки і відкидаються, коли закривається дескриптор (або завершує роботу програма C<guestfish> або подібна).

note: type: textblock
en: There are two reasons for doing it this way: Firstly read-only disks aren't possible in many cases (eg. IDE simply doesn't support them, so you couldn't have an IDE-emulated read-only disk, although this is not common in real libguestfs installations).
uk: Причин у такому стилі роботи є дві: по-перше, у багатьох випадках створення дисків, які придатні лише для читання, неможливе (наприклад, у IDE взагалі не передбачено підтримки таких дисків, отже, ви не можете створити придатний лише для читання диск із емуляцією IDE, хоча створення таких дисків і не є типовим у встановлених екземплярах libguestfs).

note: type: textblock
en: Secondly and more importantly, even if read-only disks were possible, you wouldn't want them.  Mounting any filesystem that has a journal, even C<mount -o ro>, causes writes to the filesystem because the journal has to be replayed and metadata updated.  If the disk was truly read-only, you wouldn't be able to mount a dirty filesystem.
uk: По-друге, і важливіше, навіть якщо створення придатних лише для читання дисків можливе, вам вони просто не знадобляться. Монтування будь-якої файлової системи із журналом, навіть за допомогою команди C<mount -o ro>, призводить до запису до файлової системи, оскільки має бути відтворено журнал і оновлено метадані. Якщо б диск був насправді захищеним від запису, ви б не змогли змонтувати файлову систему у стані незавершеного запису.

note: type: textblock
en: To make it usable, we create the overlay as a place to temporarily store these writes, and then we discard it afterwards.  This ensures that the underlying disk is always untouched.
uk: Щоб такими файловими системами можна було користуватися, ми створили накладку, як місце для запису даних, які згодом буде відкинуто. Це забезпечує недоторканність підлеглого диска.

note: type: textblock
en: Note also that there is a regression test for this when building libguestfs (in C<tests/qemu>).  This is one reason why it’s important for packagers to run the test suite.
uk: Слід зауважити, що для цього передбачено особливий тест на регресії під час збирання libguestfs (у C<tests/qemu>). Це одна з причин, з яких ми рекомендуємо пакувальникам вмикати комплекс перевірок під час збирання пакунків.

note: type: =head2
en: Does C<--ro> make all disks read-only?
uk: Чи робить C<--ro> усі диски придатними лише для читання?

note: type: textblock
en: I<No!> The C<--ro> option only affects disks added on the command line, ie. using C<-a> and C<-d> options.
uk: I<Ні!> Параметр C<--ro> стосується лише дисків, які додано за допомогою командного рядка, тобто за допомогою параметрів C<-a> та C<-d>.

note: type: textblock
en: In guestfish, if you use the C<add> command, then disk is added read-write (unless you specify the C<readonly:true> flag explicitly with the command).
uk: У guestfish, якщо ви використовуєте команду C<add>, диск додається у режимі читання і запису (якщо ви не вкажете прапорець C<readonly:true> явним чином у команді).

note: type: =head2
en: Can I use C<guestfish --ro> as a way to backup my virtual machines?
uk: Чи можна скористатися C<guestfish --ro> для резервного копіювання моїх віртуальних машин?

note: type: textblock
en: Usually this is I<not> a good idea.  The question is answered in more detail in this mailing list posting: L<https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html>
uk: Зазвичай, I<не варто> цього роботи. Докладнішу відповідь на це питання можна знайти у цьому повідомленні зі списку листування: L<https://www.redhat.com/archives/libguestfs/2010-August/msg00024.html>

note: type: textblock
en: See also the next question.
uk: Див. також наступне питання.

note: type: =head2
en: Why can’t I run fsck on a live filesystem using C<guestfish --ro>?
uk: Чому не можна запускати fsck для робочої файлової системи, де використано C<guestfish --ro>?

note: type: textblock
en: This command will usually I<not> work:
uk: Така команда, зазвичай, I<не працює>:

note: type: textblock
en: The reason for this is that qemu creates a snapshot over the original filesystem, but it doesn't create a strict point-in-time snapshot.  Blocks of data on the underlying filesystem are read by qemu at different times as the fsck operation progresses, with host writes in between.  The result is that fsck sees massive corruption (imaginary, not real!) and fails.
uk: Причиною є те, що qemu створює знімок початкової файлової системи, але не створює цей знімок із точною прив'язкою до часу. Блоки даних підлеглої файлової системи читаються qemu у різні моменти часу під час обробки файлової системи за допомогою fsck, а основна система у цей час може записувати дані. У результаті fsck виявить значні пошкодження (уявні, не справжні!) у файловій системі і завершить роботу із повідомленням про помилку.

note: type: textblock
en: What you have to do is to create a point-in-time snapshot.  If it’s a logical volume, use an LVM2 snapshot.  If the filesystem is located inside something like a btrfs/ZFS file, use a btrfs/ZFS snapshot, and then run the fsck on the snapshot.  In practice you don't need to use libguestfs for this -- just run F</sbin/fsck> directly.
uk: Щоб досягти бажаного результату, вам слід створити прив'язаний до часу знімок. Якщо маєте справу із логічним томом, скористайтеся знімком LVM2. Якщо файлову систему розташовано у чомусь подібному до файла btrfs/ZFS, скористайтеся знімком btrfs/ZFS, а потім запустіть fsck для перевірки знімка. На практиці, для виконання цього завдання libguestfs не потрібна — просто скористайтеся F</sbin/fsck> безпосередньо.

note: type: textblock
en: Creating point-in-time snapshots of host devices and files is outside the scope of libguestfs, although libguestfs can operate on them once they are created.
uk: Створення прив'язаних до часу знімків пристроїв і файлів основної системи не виконується засобами libguestfs, хоча libguestfs може працювати із такими знімками, коли їх буде створено.

note: type: =head2
en: What’s the difference between guestfish and virt-rescue?
uk: Чим відрізняються guestfish і virt-rescue?

note: type: textblock
en: A lot of people are confused by the two superficially similar tools we provide:
uk: Для багато кого є незрозумілим включення нами двох з першого погляду подібних інструментів до бібліотеки:

note: type: textblock
en: And the related question which then arises is why you can’t type in full shell commands with all the --options in guestfish (but you can in L<virt-rescue(1)>).
uk: А ще одним пов'язаним питанням, яке тоді виникає, є питання того, чому у guestfish не можна вводити команди оболонки повністю з усіма параметрами з мінусами (але це можна робити у L<virt-rescue(1)>).

note: type: textblock
en: L<guestfish(1)> is a program providing structured access to the L<guestfs(3)> API.  It happens to be a nice interactive shell too, but its primary purpose is structured access from shell scripts.  Think of it more like a language binding, like Python and other bindings, but for shell.  The key differentiating factor of guestfish (and the libguestfs API in general) is the ability to automate changes.
uk: L<guestfish(1)> — програма, яка надає структурований доступ до програмного інтерфейсу L<guestfs(3)>. Також це непогана інтерактивна командна оболонка, але основним її призначенням є структурований доступ до скриптів командної оболонки. Її можна вважати скоріше прив'язкою до мов програмування, зокрема Python, та інших прив'язок, але для оболонки. Ключовим фактором диференціювання guestfish (і програмного інтерфейсу libguestfs загалом) є можливість автоматизації змін.

note: type: textblock
en: L<virt-rescue(1)> is a free-for-all freeform way to boot the libguestfs appliance and make arbitrary changes to your VM. It’s not structured, you can't automate it, but for making quick ad-hoc fixes to your guests, it can be quite useful.
uk: L<virt-rescue(1)> — гнучкий спосіб завантажити базову систему libguestfs і внести довільні зміни до вашої віртуальної машини. Його не структуровано, ви не можете автоматизувати його використання, але для швидкого ситуаційного внесення виправлень до ваших гостьових систем ця програма може бути дуже зручною.

note: type: textblock
en: But, libguestfs also has a "backdoor" into the appliance allowing you to send arbitrary shell commands.  It’s not as flexible as virt-rescue, because you can't interact with the shell commands, but here it is anyway:
uk: Але у libguestfs також є і «чорний вхід» до базової системи, який надає вам змогу надсилати довільні команди до командної оболонки. Він не є настільки гнучким як virt-rescue, оскільки ви не можете взаємодіяти із командами оболонки. Втім, ось він:

note: type: verbatim
en:  ><fs> debug sh "cmd arg1 arg2 ..."
uk:  ><fs> debug sh "команда аргумент1 аргумент2 ..."

note: type: textblock
en: Note that you should B<not> rely on this.  It could be removed or changed in future. If your program needs some operation, please add it to the libguestfs API instead.
uk: Зауважте, що на цей спосіб B<не слід> покладатися. Відповідні засоби може бути вилучено або змінено у майбутньому. Якщо у вашій програмі потрібна певна операція, будь ласка, додайте її до програмного інтерфейсу libguestfs.

note: type: =head2
en: What’s the deal with C<guestfish -i>?
uk: Для чого призначено C<guestfish -i>?

note: type: =head2
en: Why does virt-cat only work on a real VM image, but virt-df works on any disk image?
uk: Чому virt-cat працює лише для справжнього образу віртуальної машини, а virt-df працює для будь-якого образу диска?

note: type: =head2
en: What does "no root device found in this operating system image" mean?
uk: Що означає повідомлення «у цьому образі операційної системи не знайдено кореневого пристрою»?

note: type: textblock
en: These questions are all related at a fundamental level which may not be immediately obvious.
uk: Усі ці питання пов'язано на базовому рівні, хоча це спочатку здається неочевидним.

note: type: textblock
en: At the L<guestfs(3)> API level, a "disk image" is just a pile of partitions and filesystems.
uk: На рівні програмного інтерфейсу L<guestfs(3)> «образ диска» це просто купа розділів і файлових систем.

note: type: textblock
en: In contrast, when the virtual machine boots, it mounts those filesystems into a consistent hierarchy such as:
uk: У протилежність, коли завантажується віртуальна машина, вона монтує файлові системи у послідовну ієрархію, ось так:

note: type: textblock
en: (or drive letters on Windows).
uk: (або літери дисків у Windows).

note: type: textblock
en: The API first of all sees the disk image at the "pile of filesystems" level.  But it also has a way to inspect the disk image to see if it contains an operating system, and how the disks are mounted when the operating system boots: L<guestfs(3)/INSPECTION>.
uk: Перш за все, програмний інтерфейс бачить образ диска на рівні «купи файлових систем». Але у програмному інтерфейсі також передбачено способи інспектування образу диска для визначення, чи міститься на ньому операційна система, та того, як монтуються диски, коли завантажується операційна система: L<guestfs(3)/ІНСПЕКЦІЯ>.

note: type: textblock
en: Users expect some tools (like L<virt-cat(1)>) to work with VM paths:
uk: Користувачі очікують працездатності деяких інструментів (зокрема L<virt-cat(1)>) для шляхів у ВМ:

note: type: textblock
en: How does virt-cat know that F</var> is a separate partition? The trick is that virt-cat performs inspection on the disk image, and uses that to translate the path correctly.
uk: Як virt-cat дізнається про те, що F</var> є окремим розділом? Справа полягає у тому, що virt-cat виконує інспекцію образу диска і використовує отримані дані для правильної трансляції шляху.

note: type: textblock
en: Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>)  use inspection to map VM paths.  Other tools, such as L<virt-df(1)> and L<virt-filesystems(1)> operate entirely at the raw "big pile of filesystems" level of the libguestfs API, and don't use inspection.
uk: Деякі з інструментів (зокрема L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>) використовують інспекцію для визначення шляхів у віртуальній машині. Інші інструменти, зокрема L<virt-df(1)> і L<virt-filesystems(1)>, працюють лише на рівні необробленої «великої купи файлових систем» програмного інтерфейсу libguestfs і не використовують інспекцію.

note: type: textblock
en: L<guestfish(1)> is in an interesting middle ground.  If you use the I<-a> and I<-m> command line options, then you have to tell guestfish exactly how to add disk images and where to mount partitions. This is the raw API level.
uk: L<guestfish(1)> є цікавим проміжним варіантом. Якщо ви використовуєте параметри командного рядка I<-a> та I<-m>, вам доведеться повідомити guestfish точно, як додавати образи дисків і куди слід монтувати розділи. Це рівень програмного інтерфейсу без додаткової обробки.

note: type: textblock
en: If you use the I<-i> option, libguestfs performs inspection and mounts the filesystems for you.
uk: Якщо ви використовуєте параметр I<-i>, libguestfs виконує інспектування та монтує файлові системи.

note: type: textblock
en: The error C<no root device found in this operating system image> is related to this.  It means inspection was unable to locate an operating system within the disk image you gave it.  You might see this from programs like virt-cat if you try to run them on something which is just a disk image, not a virtual machine disk image.
uk: Повідомлення про помилку C<у цьому образі операційної системи не знайдено кореневого пристрою> пов'язано із цим. Воно означає, що під час інспекції не удалося виявити операційну систему на вказаному образі диска. Ви можете побачити таке повідомлення від програм, подібних до virt-cat, якщо ви скористаєтеся ними для дослідження образу диска, який не є образом диска віртуальної машини.

note: type: =head2
en: What do these C<debug*> and C<internal-*> functions do?
uk: Яке завдання виконують функції C<debug*> і C<internal-*>?

note: type: textblock
en: There are some functions which are used for debugging and internal purposes which are I<not> part of the stable API.
uk: У бібліотеці існує декілька функцій, які використовуються для діагностування та внутрішньої обробки даних. Ці функції I<не> є частиною стабільного програмного інтерфейсу.

note: type: textblock
en: The C<debug*> (or C<guestfs_debug*>) functions, primarily L<guestfs(3)/guestfs_debug> and a handful of others, are used for debugging libguestfs.  Although they are not part of the stable API and thus may change or be removed at any time, some programs may want to call these while waiting for features to be added to libguestfs.
uk: Функції C<debug*> (або C<guestfs_debug*>), головним чином L<guestfs(3)/guestfs_debug> та декілька інших, використовуються для діагностики помилок у libguestfs. Хоча вони і не є частиною стабільного програмного інтерфейсу, а отже, їх може бути будь-коли вилучено, їх можна використовувати у програмах, доки певні можливості буде додано до libguestfs.

note: type: textblock
en: The C<internal-*> (or C<guestfs_internal_*>) functions are purely to be used by libguestfs itself.  There is no reason for programs to call them, and programs should not try to use them.  Using them will often cause bad things to happen, as well as not being part of the documented stable API.
uk: Функції C<internal-*> (або C<guestfs_internal_*>) призначено для використання лише у libguestfs. Немає сенсу викликати ці функції з програм, їх також не слід використовувати у програмах. Зрідка, використання цих функцій може призвести до небажаних наслідків, окрім того, вони не є частиною документованого стабільного програмного інтерфейсу.

note: type: =head1
en: DEVELOPERS
uk: РОЗРОБНИКАМ

note: type: =head2
en: Where do I send patches?
uk: Куди слід надсилати латки?

note: type: textblock
en: Please send patches to the libguestfs mailing list L<https://www.redhat.com/mailman/listinfo/libguestfs>.  You don't have to be subscribed, but there will be a delay until your posting is manually approved.
uk: Будь ласка, надсилайте латки до списку листування libguestfs, L<https://www.redhat.com/mailman/listinfo/libguestfs>. Підписуватися на список не обов'язково, але для непідписаних користувачів розповсюдження відбувається лише після підтвердження повідомлення вручну кимось із адміністраторів.

note: type: textblock
en: B<Please don’t use github pull requests - they will be ignored>.  The reasons are (a) we want to discuss and dissect patches on the mailing list, and (b) github pull requests turn into merge commits but we prefer to have a linear history.
uk: B<Будь ласка, не використовуйте запити щодо об'єднання на github — ці запити буде проігноровано>. Причинами цього є: (а) ми хочемо обговорювати і розбирати латки у списку листування, і (б) запити щодо об'єднання github перетворюються у внески із об'єднанням, а ми хочемо зберігати у сховищі лінійну історію.

note: type: =head2
en: How do I propose a feature?
uk: Як запропонувати нову можливість?

note: type: textblock
en: Large new features that you intend to contribute should be discussed on the mailing list first (L<https://lists.libguestfs.org>).  This avoids disappointment and wasted work if we don't think the feature would fit into the libguestfs project.
uk: Значні нові можливості, розробку яких ви маєте намір здійснити, має бути спочатку обговорено у списку листування (L<https://www.redhat.com/mailman/listinfo/libguestfs>). Так ви можете уникнути прикростей і заощадити час, якщо раптом виявиться, що інші розробники вважають можливість такою, яка не відповідає меті проєкту libguestfs.

note: type: textblock
en: If you want to suggest a useful feature but don’t want to write the code, you can file a bug (see L</GETTING HELP AND REPORTING BUGS>)  with C<"RFE: "> at the beginning of the Summary line.
uk: Якщо ви хочете запропонувати корисну можливість, але не хочете писати код для її реалізації, ви можете створити повідомлення про ваду (див. L</ОТРИМАННЯ ДОВІДКОВОЇ ІНФОРМАЦІЇ ТА ЗВІТУВАННЯ ПРО ВАДИ>) із додаванням C<"RFE: "> на початку рядка резюме (Summary).

note: type: =head2
en: Who can commit to libguestfs git?
uk: Хто має право записувати внески до git libguestfs?

note: type: textblock
en: About 5 people have commit access to github.  Patches should be posted on the list first and ACKed.  The policy for ACKing and pushing patches is outlined here:
uk: Доступ на запис до сховища на github має близько 5 осіб. Латки має бути спочатку надіслано до списку листування і схвалено учасниками. Правила схвалення та запису латок окреслено нижче:

note: type: =head2
en: Can I fork libguestfs?
uk: Можна мені створити відгалуження libguestfs?

note: type: textblock
en: Of course you can.  Git makes it easy to fork libguestfs.  Github makes it even easier.  It’s nice if you tell us on the mailing list about forks and the reasons for them.
uk: Звичайно ж, ви можете. Git спрощує створення відгалужень libguestfs. Github робить цю процедуру ще простішою. Було б добре також оголосити про відгалуження у списку листування та повідомити про причини його створення.

note: type: =head1
en: MISCELLANEOUS QUESTIONS
uk: ІНШІ ПИТАННЯ

note: type: =head2
en: Can I monitor the live disk activity of a virtual machine using libguestfs?
uk: Чи можна інтерактивно стежити за роботою диска у віртуальній машині за допомогою libguestfs?

note: type: textblock
en: A common request is to be able to use libguestfs to monitor the live disk activity of a guest, for example, to get notified every time a guest creates a new file.  Libguestfs does I<not> work in the way some people imagine, as you can see from this diagram:
uk: Типовим запитом є реалізація у libguestfs можливості інтерактивного стеження за діями з диском у гостьовій системі, наприклад, отримання сповіщення кожного разу, коли у гостьовій системі створюється файл. Libguestfs I<не працює> так, як дехто собі уявляє. Це можна бачити на наведеній нижче діаграмі:

note: type: verbatim
en:             ┌─────────────────────────────────────┐
                │ monitoring program using libguestfs │
                └─────────────────────────────────────┘
                                 ↓
     ┌───────────┐    ┌──────────────────────┐
     │ live VM   │    │ libguestfs appliance │
     ├───────────┤    ├──────────────────────┤
     │ kernel (1)│    │ appliance kernel (2) │
     └───────────┘    └──────────────────────┘
          ↓                      ↓ (r/o connection)
          ┌──────────────────────┐
          |      disk image      |
          └──────────────────────┘
uk:             ┌─────────────────────────────────────┐
                │ програма для спостереження за допомогою libguestfs │
                └─────────────────────────────────────┘
                                 ↓
     ┌───────────┐    ┌──────────────────────┐
     │ жива ВМ   │    │ базова система libguestfs │
     ├───────────┤    ├──────────────────────┤
     │ ядро (1)│    │ ядро базової системи (2) │
     └───────────┘    └──────────────────────┘
          ↓                      ↓ (з'єднання для читання)
          ┌──────────────────────┐
          |      образ диска      |
          └──────────────────────┘

note: type: textblock
en: This scenario is safe (as long as you set the C<readonly> flag when adding the drive).  However the libguestfs appliance kernel (2) does not see all the changes made to the disk image, for two reasons:
uk: Цей сценарій є безпечним (якщо під час додавання диска було встановлено прапорець C<лише читання>). Втім, тоді ядро базової системи libguestfs (2) не бачитиме усі зміни, які відбулися у образі диска, з двох причин:

note: type: textblock
en: The VM kernel (1) can cache data in memory, so it doesn't appear in the disk image.
uk: Ядро віртуальної машини (1) може кешувати дані у пам'яті, щоб кеш не записувався на образ диска.

note: type: textblock
en: The libguestfs appliance kernel (2) doesn't expect that the disk image is changing underneath it, so its own cache is not magically updated even when the VM kernel (1) does update the disk image.
uk: Ядро базової системи libguestfs (2) не очікує на зміни у образі диска, тому його власний кеш не буде магічним чином оновлено, навіть коли ядро віртуальної машини (1) оновлює образ диска.

note: type: textblock
en: The only supported solution is to restart the entire libguestfs appliance whenever you want to look at changes in the disk image.  At the API level that corresponds to calling C<guestfs_shutdown> followed by C<guestfs_launch>, which is a heavyweight operation (see also L<guestfs-performance(3)>).
uk: Єдиним підтримуваним рішенням є перезапуск усієї базової системи libguestfs кожного разу, коли вам потрібно переглянути зміни у образі диска. На рівні програмного інтерфейсу це відповідає виклику C<guestfs_shutdown> з наступним викликом C<guestfs_launch>, що є доволі вартісною операцією (див. також L<guestfs-performance(3)>).

note: type: textblock
en: There are some unsupported hacks you can try if relaunching the appliance is really too costly:
uk: Існує декілька «брудних» прийомів, якими ви можете скористатися, якщо перезапуск базової системи є дійсно дуже вартісною справою:

note: type: textblock
en: Call C<guestfs_drop_caches (g, 3)>.  This causes all cached data help by the libguestfs appliance kernel (2) to be discarded, so it goes back to the disk image.
uk: Виклик C<guestfs_drop_caches (g, 3)>. Такий виклик призводить до того, що усі кешовані дані ядра базової системи libguestfs (2) буде відкинуто, отже йому доведеться користуватися образом диска.

note: type: textblock
en: However this on its own is not sufficient, because qemu also caches some data.  You will also need to patch libguestfs to (re-)enable the C<cache=none> mode.  See: L<https://rwmj.wordpress.com/2013/09/02/new-in-libguestfs-allow-cache-mode-to-be-selected/>
uk: Втім, лише цього недостатньо, оскільки qemu також кешує деякі дані. Вам також доведеться латати libguestfs, щоб увімкнути режим C<cache=none>. Див. L<https://rwmj.wordpress.com/2013/09/02/new-in-libguestfs-allow-cache-mode-to-be-selected/>

note: type: textblock
en: Use a tool like L<virt-bmap|http://git.annexia.org/?p=virt-bmap.git> instead.
uk: Замість цього, вам варто скористатися інструментами, подібними до L<virt-bmap|http://git.annexia.org/?p=virt-bmap.git>.

note: type: textblock
en: Run an agent inside the guest.
uk: Запуск агента у гостьовій системі.

note: type: textblock
en: Nothing helps if the guest is making more fundamental changes (eg.  deleting filesystems).  For those kinds of things you must relaunch the appliance.
uk: Нічого не поможе, якщо у гостьовій системі виконуються фундаментальніші зміни (наприклад, вилучаються файлові системи). Для фіксації таких змін вам доведеться перезапускати базову систему.

note: type: textblock
en: (Note there is a third problem that you need to use consistent snapshots to really examine live disk images, but that’s a general problem with using libguestfs against any live disk image.)
uk: (Зауважте, що існує і третя проблема: вам доведеться користуватися послідовними знімками для справжнього вивчення образів дисків, але це загальна проблема використання libguestfs для роботи з будь-яким «живим» образом диска.)

note: type: textblock
en: Copyright (C) 2012-2020 Red Hat Inc.
uk: © Red Hat Inc., 2012–2020

note: type: textblock
en: guestfs-hacking - extending and contributing to libguestfs
uk: guestfs-hacking — розширення можливостей і участь у розробці libguestfs

note: type: textblock
en: This manual page is for hackers who want to extend libguestfs itself.
uk: Цю сторінку підручника призначено для тих, хто хоче розширити можливості libguestfs власноруч.

note: type: =head1
en: THE SOURCE CODE
uk: ПОЧАТКОВИЙ КОД

note: type: textblock
en: Libguestfs source is located in the github repository L<https://github.com/libguestfs/libguestfs>
uk: Код libguestfs зберігається у сховищі github L<https://github.com/libguestfs/libguestfs>

note: type: textblock
en: Large amounts of boilerplate code in libguestfs (RPC, bindings, documentation) are generated.  This means that many source files will appear to be missing from a straightforward git checkout.  You have to run the generator (C<./autogen.sh && make -C generator>) in order to create those files.
uk: Велика частина стереотипного коду у libguestfs (RPC, прив'язки, документація) створюється автоматично. Це означає, що у звичайному клоні сховища git не буде багатьох файлів, які є у архівах з початковим кодом. Вам доведеться запустити генератор (C<./autogen.sh && make -C generator>), щоб створити ці файли.

note: type: textblock
en: Libguestfs uses an autotools-based build system, with the main files being F<configure.ac> and F<Makefile.am>.  See L</THE BUILD SYSTEM>.
uk: У libguestfs використовується система збирання на основі autotools, основними файлами якої є F<configure.ac> і F<Makefile.am>. Див. L</СИСТЕМА ЗБИРАННЯ>.

note: type: textblock
en: The F<generator> subdirectory contains the generator, plus files describing the API.  The F<lib> subdirectory contains source for the library.  The F<appliance> and F<daemon> subdirectories contain the source for the code that builds the appliance, and the code that runs in the appliance respectively.  Other directories are covered in the section L<SOURCE CODE SUBDIRECTORIES> below.
uk: У підкаталозі F<generator> міститься генератор та файли із описом програмного інтерфейсу. У підкаталозі F<lib> міститься початковий код бібліотеки. У підкаталогах F<appliance> та F<daemon> зберігається початковий код, який збирає базову систему, так код, який запускає базову систему, відповідно. Інші каталоги описано у розділі L<ПІДКАТАЛОГИ ПОЧАТКОВОГО КОДУ> нижче.

note: type: textblock
en: Apart from the fact that all API entry points go via some generated code, the library is straightforward.  (In fact, even the generated code is designed to be readable, and should be read as ordinary code).  Some actions run entirely in the library, and are written as C functions in files under F<lib>.  Others are forwarded to the daemon where (after some generated RPC marshalling) they appear as C functions in files under F<daemon>.
uk: Окрім того факту, що усі вхідні точки програмного інтерфейсу перебувають у певному створеному коді, сама бібліотека є простою. (Фактично, навіть створений код читається так самою легко, як і звичайний код.) Деякі дії виконуються суто у бібліотеці, їхній код написано мовою C, він зберігається у підкаталозі F<lib>. Виконання інших дій переспрямовується до фонової служби, де (після певного скерування RPC) їх реалізовано як функції мовою C у файлах підкаталогу F<daemon>.

note: type: textblock
en: To build from source, first read the L<guestfs-building(1)>.
uk: Настанови щодо збирання з початкового коду наведено у підручнику L<guestfs-building(1)>.

note: type: =head2
en: SOURCE CODE SUBDIRECTORIES
uk: ПІДКАТАЛОГИ ПОЧАТКОВОГО КОДУ

note: type: textblock
en: There are a lot of subdirectories in the source tree! Which ones should you concentrate on first? F<lib> and F<daemon> which contain the source code of the core library.  F<generator> is the code generator described above, so that is important.  The F<Makefile.am> in the root directory will tell you in which order the subdirectories get built.  And then if you are looking at a particular tool (eg. F<customize>) or language binding (eg. F<python>), go straight to that subdirectory, but remember that if you didn't run the generator yet, then you may find files which appear to be missing.
uk: У ієрархії початкового коду багато підкаталогів! На яких слід зосередити увагу передусім? На каталогах F<lib> та F<daemon>, у яких міститься початковий код основи бібліотеки. F<generator> містить код генератора, описаного вище, тому цей підкаталог також є важливим. Файл F<Makefile.am> у кореневому каталозі містить цінні дані щодо порядку збирання коду у підкаталогах. І нарешті, якщо ви шукаєте код певного інструмента (наприклад F<customize>) або прив'язки до мови (наприклад F<python>), зверніться безпосередньо до відповідного підкаталогу, але пам'ятайте, що якщо ще не було запущено генератор, вам може здатися, що у початковому коді не вистачає багатьох файлів.

note: type: textblock
en: L<virt-alignment-scan(1)> command and documentation.
uk: Програма L<virt-alignment-scan(1)> та документація до неї.

note: type: textblock
en: The libguestfs appliance, build scripts and so on.
uk: Базова система libguestfs, скрипти збирання тощо.

note: type: textblock
en: Bash tab-completion scripts.
uk: Скрипти доповнення команд у відповідь на натискання клавіші Tab.

note: type: textblock
en: Various build scripts used by autotools.
uk: Різноманітні скрипти збирання, які використовуються autotools.

note: type: textblock
en: L<virt-builder(1)> command and documentation.
uk: Програма L<virt-builder(1)> та документація до неї.

note: type: textblock
en: Embedded copies of other libraries, mostly for convenience (and the embedded library is not widespread enough).
uk: Вбудовані копії інших бібліотек, здебільшого для зручності (і випадків, коли вбудована бібліотека не є достатньо поширеною).

note: type: textblock
en: Bindings for the Augeas library.  These come from the ocaml-augeas library L<http://git.annexia.org/?p=ocaml-augeas.git>
uk: Прив'язки до бібліотеки Augeas. Їх запозичено з бібліотеки ocaml-augeas, L<http://git.annexia.org/?p=ocaml-augeas.git>

note: type: textblock
en: The L<virt-cat(1)>, L<virt-filesystems(1)>, L<virt-log(1)>, L<virt-ls(1)> and L<virt-tail(1)> commands and documentation.
uk: Код програм L<virt-cat(1)>, L<virt-filesystems(1)>, L<virt-log(1)>, L<virt-ls(1)> and L<virt-tail(1)> та документація до них.

note: type: textblock
en: Various libraries of internal code can be found in the F<common> subdirectory:
uk: У підкаталозі F<common> зберігаються різноманітні бібліотеки внутрішнього коду:

note: type: textblock
en: Common code for interactively and non-interactively editing files within a libguestfs filesystem.
uk: Загальний код для інтерактивного та неінтерактивного редагування файлів у файловій системі libguestfs.

note: type: textblock
en: The communication protocol used between the library and the daemon running inside the appliance has to encode errnos as strings, which is handled by this library.
uk: Протоколом обміну даними, який використовується між бібліотекою і фоновою службою, запущеною у базовій системі, передбачено кодування номерів помилок у рядки, які обробляються цією бібліотекою.

note: type: textblock
en: Library code associated with C<virt-customize> but also used in other tools.
uk: Код бібліотек, пов'язаних із C<virt-customize>, але використовується і в інших інструментах.

note: type: textblock
en: Small, generated wrapper which allows libguestfs to be compiled with or without ocaml-gettext.  This is generated by F<./configure>.
uk: Невеличкий автоматично створений скрипт-обгортка, який надає змогу збирати libguestfs з ocaml-gettext та без нього. Скрипт створюється за допомогою F<./configure>.

note: type: textblock
en: Lightweight OCaml bindings for Perl Compatible Regular Expressions (PCRE).  Note this is not related in any way to Markus Mottl's ocaml-pcre library.
uk: Невибагливі до ресурсів прив'язки до OCaml бібліотеки сумісних із Perl формальних виразів (PCRE). Зауважте, що цей код ніяким чином не пов'язано із бібліотекою ocaml-pcre, яку створив Markus Mottl.

note: type: textblock
en: OCaml bindings for the progress bar functions (see F<common/progress>).
uk: Прив'язки OCaml до функцій смужки поступу (див. F<common/progress>).

note: type: textblock
en: A library of pure OCaml utility functions used in many places.
uk: Бібліотека допоміжних функцій, які використовуються у багатьох місцях, суто мовою OCaml.

note: type: textblock
en: OCaml utility functions only used by the OCaml virt tools (like C<virt-sysprep>, C<virt-customize> etc.)
uk: Допоміжні функції OCaml, які використовуються лише інструментами віртуалізації мовою OCaml (зокрема C<virt-sysprep>, C<virt-customize> тощо)

note: type: textblock
en: OCaml bindings for C functions in C<common/utils>, and some POSIX bindings which are missing from the OCaml stdlib.
uk: Прив'язки до OCaml для функцій C у C<common/utils> та деякі прив'язки POSIX, яких немає у стандартній бібліотеці OCaml.

note: type: textblock
en: OCaml bindings for the visit functions (see F<common/visit>).
uk: Прив'язки до OCaml для функцій visit (див. F<common/visit>).

note: type: textblock
en: OCaml bindings for the libxml2 library.
uk: Прив'язки OCaml для бібліотеки libxml2.

note: type: textblock
en: Common options parsing for guestfish, guestmount and some virt tools.
uk: Загальна обробка параметрів для guestfish, guestmount та деяких інструментів віртуалізації.

note: type: textblock
en: A framework used for processing multiple libvirt domains in parallel.
uk: Комплект бібліотек для паралельної обробки декількох доменів libvirt.

note: type: textblock
en: Common code for printing progress bars.
uk: Загальний код для виведення смужок поступу.

note: type: textblock
en: The XDR-based communication protocol used between the library and the daemon running inside the appliance is defined here.
uk: Тут визначається протокол обміну даними, заснований на XDR, який використовується для спілкування між бібліотекою і фоновою службою у базовій системі.

note: type: textblock
en: Mini-library for writing qemu command lines and qemu config files.
uk: Мінібібліотека для запису рядків команд qemu та файлів налаштувань qemu.

note: type: textblock
en: Common code for printing and freeing libguestfs structs, used by the library and some tools.
uk: Загальний код для виведення та вивільнення структур libguestfs, який використовується у бібліотеці та деяких інструментах.

note: type: textblock
en: Various utility functions used throughout the library and tools.
uk: Різноманітні допоміжні функції, які використовуються у бібліотеці та інструментах.

note: type: textblock
en: Recursively visit a guestfs filesystem hierarchy.
uk: Рекурсивний обхід ієрархії файлових систем guestfs.

note: type: textblock
en: Utility functions for handling Windows drive letters.
uk: Допоміжні функції для обробки літер дисків у Windows.

note: type: textblock
en: Outside contributions, experimental parts.
uk: Зовнішні внески, експериментальні частини.

note: type: textblock
en: L<virt-customize(1)> command and documentation.
uk: Програма L<virt-customize(1)> та документація до неї.

note: type: textblock
en: The daemon that runs inside the libguestfs appliance and carries out actions.
uk: Фонова служба, яка працює у базовій системі libguestfs і забезпечує виконання дій.

note: type: textblock
en: L<virt-df(1)> command and documentation.
uk: Програма L<virt-df(1)> та документація до неї.

note: type: textblock
en: L<virt-dib(1)> command and documentation.
uk: Програма L<virt-dib(1)> та документація до неї.

note: type: textblock
en: L<virt-diff(1)> command and documentation.
uk: Програма L<virt-diff(1)> та документація до неї.

note: type: textblock
en: Miscellaneous manual pages.
uk: Різноманітні сторінки підручника.

note: type: textblock
en: L<virt-edit(1)> command and documentation.
uk: Програма L<virt-edit(1)> та документація до неї.

note: type: textblock
en: C API example code.
uk: Код прикладів використання програмного інтерфейсу мовою C.

note: type: textblock
en: L<guestfish(1)>, the command-line shell, and various shell scripts built on top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>.
uk: L<guestfish(1)> — оболонка командного рядка та різноманітні скрипти оболонки на її основі, зокрема L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>.

note: type: textblock
en: L<virt-format(1)> command and documentation.
uk: Програма L<virt-format(1)> та документація до неї.

note: type: textblock
en: L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs.
uk: L<guestmount(1)>, FUSE (файлова система у просторі користувача), яку зібрано на основі libguestfs.

note: type: textblock
en: The crucially important generator, used to automatically generate large amounts of boilerplate C code for things like RPC and bindings.
uk: Критично важливий засіб створення коду, використовується для автоматичного створення значного обсягу важливого коду мовою C, зокрема для RPC та прив'язок.

note: type: textblock
en: L<virt-get-kernel(1)> command and documentation.
uk: Програма L<virt-get-kernel(1)> та документація до неї.

note: type: textblock
en: Gnulib is used as a portability library.  A copy of gnulib is included under here.
uk: Gnulib використовується як бібліотека забезпечення портованості. До цього каталогу включено копію gnulib.

note: type: textblock
en: L<virt-inspector(1)>, the virtual machine image inspector.
uk: L<virt-inspector(1)> — засіб інспектування образів віртуальних машин.

note: type: textblock
en: Source code to the C library.
uk: Початковий код бібліотеки мовою C.

note: type: textblock
en: Logo used on the website.  The fish is called Arthur by the way.
uk: Логотип, який використовується на сайті. До речі, ім'я рибки — Артур.

note: type: textblock
en: M4 macros used by autoconf.  See L</THE BUILD SYSTEM>.
uk: Макроси M4, які використовуються autoconf. Див. L</СИСТЕМА ЗБИРАННЯ>.

note: type: textblock
en: L<virt-make-fs(1)> command and documentation.
uk: Програма L<virt-make-fs(1)> та документація до неї.

note: type: textblock
en: Translations of simple gettext strings.
uk: Переклади простих рядків gettext.

note: type: textblock
en: The build infrastructure and PO files for translations of manpages and POD files.  Eventually this will be combined with the F<po> directory, but that is rather complicated.
uk: Інфраструктура збирання та файли PO перекладів сторінок підручника та файлів POD. Колись ми об'єднаємо ці дані з каталогом F<po>, але цей процес є доволі складним.

note: type: textblock
en: L<virt-rescue(1)> command and documentation.
uk: Програма L<virt-rescue(1)> та документація до неї.

note: type: textblock
en: L<virt-resize(1)> command and documentation.
uk: Програма L<virt-resize(1)> та документація до неї.

note: type: textblock
en: L<virt-sparsify(1)> command and documentation.
uk: Програма L<virt-sparsify(1)> та документація до неї.

note: type: textblock
en: L<virt-sysprep(1)> command and documentation.
uk: Програма L<virt-sysprep(1)> та документація до неї.

note: type: textblock
en: Tests.
uk: Тести.

note: type: textblock
en: Files and other test data used by the tests.
uk: Файли та інші тестові дані, які використовуються при тестуванні.

note: type: textblock
en: Test tool for end users to test if their qemu/kernel combination will work with libguestfs.
uk: Засіб тестування, який допоможе визначити кінцевим користувачам, чи працюватиме їхня комбінація qemu/ядро з libguestfs.

note: type: textblock
en: Used for temporary files when running the tests (instead of F</tmp> etc).  The reason is so that you can run multiple parallel tests of libguestfs without having one set of tests overwriting the appliance created by another.
uk: Використовується для тимчасових файлів під час тестування (замість F</tmp> та подібних каталогів). Причиною створення є уможливлення запуску декількох тестів libguestfs паралельно без ризику перезапису базової системи набором тестів, який виконується паралельно із набором, за допомогою якого було створено базову систему.

note: type: textblock
en: Command line tools written in Perl (L<virt-win-reg(1)> and many others).
uk: Засоби командного рядка, які написано мовою програмування Perl (L<virt-win-reg(1)> та багато інших).

note: type: textblock
en: Miscellaneous utilities, such as C<boot-benchmark>.
uk: Різноманітні допоміжні програми, зокрема C<boot-benchmark>.

note: type: textblock
en: Up to libguestfs E<gt> 1.42 this contained the L<virt-v2v(1)> tool, but this has now moved into a separate repository: L<https://github.com/libguestfs/virt-v2v>
uk: Аж до libguestfs E<gt> 1.42 тут містився код інструмента L<virt-v2v(1)>, але цей код тепер переміщено до окремого сховища: L<https://github.com/libguestfs/virt-v2v>

note: type: textblock
en: The L<http://libguestfs.org> website files.
uk: Файли сайта L<http://libguestfs.org>.

note: type: textblock
en: Language bindings.
uk: Прив’язки до мов програмування.

note: type: =head2
en: THE BUILD SYSTEM
uk: СИСТЕМА ЗБИРАННЯ

note: type: textblock
en: Libguestfs uses the GNU autotools build system (autoconf, automake, libtool).
uk: Libguestfs використовує систему збирання GNU autotools (autoconf, automake, libtool).

note: type: textblock
en: The F<./configure> script is generated from F<configure.ac> and F<m4/guestfs-*.m4>.  Most of the configure script is split over many m4 macro files by topic, for example F<m4/guestfs-daemon.m4> deals with the dependencies of the daemon.
uk: Скрипт F<./configure> створюється на основі F<configure.ac> і F<m4/guestfs-*.m4>. Більшу частину вмісту скрипту configure складають дані з багатьох файлів макросів m4, поділених за розділами, наприклад, F<m4/guestfs-daemon.m4> призначено для обробки залежностей фонової служби (daemon).

note: type: textblock
en: The job of the top level F<Makefile.am> is mainly to list the subdirectories (C<SUBDIRS>) in the order they should be compiled.
uk: Завданням файла F<Makefile.am> на верхньому рівні є визначення списку підкаталогів (C<SUBDIRS>) у порядку їхнього збирання.

note: type: textblock
en: F<common-rules.mk> is included in every F<Makefile.am> (top level and subdirectories).  F<subdir-rules.mk> is included only in subdirectory F<Makefile.am> files.
uk: F<common-rules.mk> включається до усіх файлів F<Makefile.am> (верхнього рівня та підкаталогів). F<subdir-rules.mk> включається лише до файлів F<Makefile.am> у підкаталогах.

note: type: textblock
en: There are many make targets.  Use this command to list them all:
uk: Цілей збирання багато. Скористайтеся цією командою, щоб побачити список:

note: type: =head1
en: EXTENDING LIBGUESTFS
uk: РОЗШИРЕННЯ МОЖЛИВОСТЕЙ LIBGUESTFS

note: type: =head2
en: ADDING A NEW API
uk: ДОДАВАННЯ НОВИХ ПРОГРАМНИХ ІНТЕРФЕЙСІВ

note: type: textblock
en: Because large amounts of boilerplate code in libguestfs are generated, this makes it easy to extend the libguestfs API.
uk: Оскільки більша частина стереотипного коду у libguestfs створюється у автоматичному режимі, розширити програмний інтерфейс libguestfs доволі просто.

note: type: textblock
en: To add a new API action there are two changes:
uk: Щоб додати нову дію програмного інтерфейсу, слід внести дві зміни:

note: type: textblock
en: You need to add a description of the call (name, parameters, return type, tests, documentation) to F<generator/actions_*.ml> and possibly F<generator/proc_nr.ml>.
uk: Вам слід додати опис виклику (назву, параметри, тип значення, яке повертається, тести, документацію) до F<generator/actions_*.ml> і, можливо, до F<generator/proc_nr.ml>.

note: type: textblock
en: There are two sorts of API action, depending on whether the call goes through to the daemon in the appliance, or is serviced entirely by the library (see L<guestfs-internals(1)/ARCHITECTURE>).  L<guestfs(3)/guestfs_sync> is an example of the former, since the sync is done in the appliance.  L<guestfs(3)/guestfs_set_trace> is an example of the latter, since a trace flag is maintained in the handle and all tracing is done on the library side.
uk: Існує два різновиди дій програмного інтерфейсу. Тип залежить від того, проходить виклик до базової системи через фонову службу, чи обслуговується лише засобами бібліотеки (див. L<guestfs-internals(1)/АРХІТЕКТУРА>). L<guestfs(3)/guestfs_sync> є прикладом дій першого типу, оскільки синхронізація відбувається у базовій системі. L<guestfs(3)/guestfs_set_trace> є прикладом дій другого типу, оскільки прапорець трасування обслуговується у дескрипторі, а усе трасування виконується на боці бібліотеки.

note: type: textblock
en: Most new actions are of the first type, and get added to the C<daemon_functions> list.  Each function has a unique procedure number used in the RPC protocol which is assigned to that action when we publish libguestfs and cannot be reused.  Take the latest procedure number and increment it.
uk: Більшість нових дій належить до першого типу, тому їхні записи додаються до списку C<daemon_functions>. У кожної функції є унікальний номер процедури, який використовується у протоколі RPC, який пов'язується із цією дією під час оприлюднення версії libguestfs і який не можна використовувати повторно. Знайдіть останній номер процедури і додайте до нього одиницю, щоб отримати ваш номер.

note: type: textblock
en: For library-only actions of the second type, add to the C<non_daemon_functions> list.  Since these functions are serviced by the library and do not travel over the RPC mechanism to the daemon, these functions do not need a procedure number, and so the procedure number is set to C<-1>.
uk: Дії другого типу, які пов'язано лише з бібліотекою, слід додавати до списку C<non_daemon_functions>. Оскільки ці функції обслуговуються бібліотекою і не поширюються механізмом RPC до фонової служби, ці функції не потребують номеру процедури; отже, для них встановлюється номер процедури C<-1>.

note: type: textblock
en: Implement the action (in C):
uk: Реалізація дії (мовою C):

note: type: textblock
en: For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the C<daemon/> directory.
uk: Для дій фонової служби слід реалізувати функцію C<do_E<lt>назваE<gt>> у каталозі C<daemon/>.

note: type: textblock
en: For library actions, implement the function C<guestfs_impl_E<lt>nameE<gt>> in the C<lib/> directory.
uk: Для дій бібліотеки слід реалізувати функцію C<guestfs_impl_E<lt>назваE<gt>> у каталозі C<lib/>.

note: type: textblock
en: In either case, use another function as an example of what to do.
uk: У обох випадках скористайтеся якоюсь іншою функцією як прикладом реалізації.

note: type: textblock
en: As an alternative to step 2: Since libguestfs 1.38, daemon actions can be implemented in OCaml.  You have to set the C<impl = OCaml ...> flag in the generator.  Take a look at F<daemon/file.ml> for an example.
uk: Альтернатива кроку 2: починаючи з версії libguestfs 1.38, дії фонової служби може бути реалізовано мовою OCaml. Вам слід встановити прапорець C<impl = OCaml ...> у генераторі. Прикладом може слугувати файл F<daemon/file.ml>.

note: type: textblock
en: After making these changes, use C<make> to compile.
uk: Після внесення цих змін скористайтеся командою C<make> для збирання.

note: type: textblock
en: Note that you don’t need to implement the RPC, language bindings, manual pages or anything else.  It’s all automatically generated from the OCaml description.
uk: Зауважте, що вам не потрібно реалізовувати RPC, прив'язки до мов, сторінки підручника або щось інше. Усе це буде створено автоматично на основі опису OCaml.

note: type: =head3
en: Adding tests for an API
uk: Додавання тестів для програмного інтерфейсу

note: type: textblock
en: You can supply zero or as many tests as you want per API call.  The tests can either be added as part of the API description (F<generator/actions_*.ml>), or in some rarer cases you may want to drop a script into C<tests/*/>.  Note that adding a script to C<tests/*/> is slower, so if possible use the first method.
uk: До кожного виклику програмного інтерфейсу можна не додавати тести або додавати будь-яку кількість тестів. Тести може бути додано або як частину опису програмного інтерфейсу (F<generator/actions_*.ml>), або у деяких рідкісних випадках, додати скрипт до C<tests/*/>. Зауважте, що додавання скрипту до C<tests/*/> уповільнює тестування, тому, якщо можна, користуйтеся першим зі способів.

note: type: textblock
en: The following describes the test environment used when you add an API test in F<actions_*.ml>.
uk: Нижче описано тестове середовище, яке використовується при додавання тесту програмного інтерфейсу до F<actions_*.ml>.

note: type: textblock
en: The test environment has 4 block devices:
uk: У середовищі тестування 4 блокових пристрої:

note: type: =item
en: F</dev/sda> 2 GB
uk: F</dev/sda> 2 ГБ

note: type: textblock
en: General block device for testing.
uk: Блоковий пристрій загального типу для тестування.

note: type: =item
en: F</dev/sdb> 2 GB
uk: F</dev/sdb> 2 ГБ

note: type: textblock
en: F</dev/sdb1> is an ext2 filesystem used for testing filesystem write operations.
uk: F</dev/sdb1> — файлова система ext2, яка використовується для тестування дій із запису до файлової системи.

note: type: =item
en: F</dev/sdc> 10 MB
uk: F</dev/sdc> 10 МБ

note: type: textblock
en: Used in a few tests where two block devices are needed.
uk: Використовується для тестів, у яких потрібні два блокових пристрої.

note: type: textblock
en: ISO with fixed content (see F<images/test.iso>).
uk: ISO із фіксованим вмістом (див. F<images/test.iso>).

note: type: textblock
en: To be able to run the tests in a reasonable amount of time, the libguestfs appliance and block devices are reused between tests.  So don't try testing L<guestfs(3)/guestfs_kill_subprocess> :-x
uk: Щоб мати змогу виконувати тестування у прийнятні строки, базову систему та блокові пристрої libguestfs слід повторно використовувати у тестах. Отже, не намагайтеся тестувати L<guestfs(3)/guestfs_kill_subprocess> :-x

note: type: textblock
en: Each test starts with an initial scenario, selected using one of the C<Init*> expressions, described in F<generator/types.ml>.  These initialize the disks mentioned above in a particular way as documented in F<types.ml>.  You should not assume anything about the previous contents of other disks that are not initialized.
uk: Кожен тест запускає початковий сценарій, який вибирається за допомогою одного з виразів C<Init*>, описаний у F<generator/types.ml>. Сценарій ініціалізує диски, згадані вище, у спосіб, який задокументовано у F<types.ml>. Ви не повинні робити у своєму коді жодних припущень щодо попереднього вмісту інших дисків, які не ініціалізовано.

note: type: textblock
en: You can add a prerequisite clause to any individual test.  This is a run-time check, which, if it fails, causes the test to be skipped.  Useful if testing a command which might not work on all variations of libguestfs builds.  A test that has prerequisite of C<Always> means to run unconditionally.
uk: Ви можете додати інструкцію щодо попередніх вимог до будь-якого окремого тесту. Це динамічна перевірка, яка, якщо її не буде пройдено, призведе до пропускання тесту. Це корисно для тестування команди, яка може не працювати у всіх різновидах збірок libguestfs. Тест, для якого попередньою вимогою є C<Always>, запускається безумовно.

note: type: textblock
en: In addition, packagers can skip individual tests by setting environment variables before running C<make check>.
uk: Крім того, пакувальники можуть пропускати окремі тести встановленням відповідних змінних середовища до запуску C<make check>.

note: type: textblock
en: eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L<guestfs(3)/guestfs_command>.
uk: Приклад: C<SKIP_TEST_COMMAND_3=1> призведе до пропускання тесту 3 у L<guestfs(3)/guestfs_command>.

note: type: textblock
en: eg: C<SKIP_TEST_ZEROFREE=1> skips all L<guestfs(3)/guestfs_zerofree> tests.
uk: Приклад: C<SKIP_TEST_ZEROFREE=1> призводить до пропускання усіх тестів L<guestfs(3)/guestfs_zerofree>.

note: type: textblock
en: Packagers can run only certain tests by setting for example:
uk: Пакувальники можуть обмежити тестування певним набором тестів, встановлюючи, наприклад, таке:

note: type: textblock
en: See F<tests/c-api/tests.c> for more details of how these environment variables work.
uk: Див. F<tests/c-api/tests.c>, щоб дізнатися більше про те, як працюють ці змінні середовища.

note: type: =head3
en: Debugging new APIs
uk: Діагностика нових програмних інтерфейсів

note: type: textblock
en: Test new actions work before submitting them.
uk: Перевірте нові можливості, перш ніж записувати їх до сховища коду.

note: type: textblock
en: You can use guestfish to try out new commands.
uk: Для перевірки нових команд ви можете скористатися guestfish.

note: type: textblock
en: Debugging the daemon is a problem because it runs inside a minimal environment.  However you can fprintf messages in the daemon to stderr, and they will show up if you use C<guestfish -v>.
uk: Діагностика фонової служби є проблематичною, оскільки вона виконується у мінімалістичному середовищі. Втім, ви можете скористатися виведенням повідомлень за допомогою fprintf у фоновій службі до stderr. Повідомлення можна буде переглядати за допомогою C<guestfish -v>.

note: type: =head2
en: ADDING A NEW LANGUAGE BINDING
uk: ДОДАВАННЯ НОВОЇ ПРИВ’ЯЗКИ ДО МОВИ

note: type: textblock
en: All language bindings must be generated by the generator (see the F<generator> subdirectory).
uk: Усі прив'язки до мов має бути створено відповідним засобом (див. підкаталог F<generator>).

note: type: textblock
en: There is no documentation for this yet.  We suggest you look at an existing binding, eg. F<generator/ocaml.ml> or F<generator/perl.ml>.
uk: Документації з цього питання ще не написано. Пропонуємо вам звернутися до коду наявних прив'язок, наприклад F<generator/ocaml.ml> або F<generator/perl.ml>.

note: type: =head3
en: Adding tests for language bindings
uk: Додавання тестів для прив'язок до мов

note: type: textblock
en: Language bindings should come with tests.  Previously testing of language bindings was rather ad-hoc, but we have been trying to formalize the set of tests that every language binding should use.
uk: Прив'язки до мов мають постачатися із тестами. Раніше тестування прив'язок до мов було суто ситуативним, але тепер ми намагаємося формалізувати набір тестів, які має використовувати кожна прив'язка до мови.

note: type: textblock
en: Currently only the OCaml and Perl bindings actually implement the full set of tests, and the OCaml bindings are canonical, so you should emulate what the OCaml tests do.
uk: У поточній версії повний набір тестів реалізовано лише для прив'язок до OCaml і Perl. Канонічним набором є набір для OCaml, тому вам слід емулювати тести саме для OCaml.

note: type: textblock
en: This is the numbering scheme used by the tests:
uk: Ось схема нумерації, яка використовується у тестах:

note: type: verbatim
en:  - 000+ basic tests:
uk:  - 000+, базові перевірки:

note: type: verbatim
en:    010  load the library
       020  create
       030  create-flags
       040  create multiple handles
       050  test setting and getting config properties
       060  explicit close
       065  implicit close (in GC'd languages)
       070  optargs
       080  version
       090  retvalues
uk:    010  завантажити бібліотеку
       020  створення
       030  прапорці створення
       040  створення декількох дескрипторів
       050  налаштовування тестування та отримання властивостей налаштовування
       060  явне закриття
       065  неявне закриття (у мовах із збирачем сміття)
       070  аргументи параметрів
       080  версія
       090  повернуті значення

note: type: verbatim
en:  - 100  launch, create partitions and LVs and filesystems
uk:  - 100  запуск, створення розділів та логічних томів, а також файлових систем

note: type: verbatim
en:  - 400+ events:
uk:  - події 400+:

note: type: verbatim
en:    410  close event
       420  log messages
       430  progress messages
uk:    410  подія закриття
       420  повідомлення журналу
       430  повідомлення щодо поступу

note: type: verbatim
en:  - 800+ regression tests (specific to the language)
uk:  - 800+ тести на регресії (специфічні для мови)

note: type: verbatim
en:  - 900+ any other custom tests for the language
uk:  - 900+ будь-які інші нетипові тести для мови

note: type: textblock
en: To save time when running the tests, only 100, 430, 800+, 900+ should launch the handle.
uk: Для заощадження часу під час виконання тестування дескриптор запускатимуть лише 100, 430, 800+, 900+.

note: type: =head2
en: FORMATTING CODE
uk: ФОРМАТУВАННЯ КОДУ

note: type: textblock
en: Our C source code generally adheres to some basic code-formatting conventions.  The existing code base is not totally consistent on this front, but we do prefer that contributed code be formatted similarly.  In short, use spaces-not-TABs for indentation, use 2 spaces for each indentation level, and other than that, follow the K&R style.
uk: Наш початковий код мовою C загалом відповідає деяким базовим вимогам щодо форматування коду. Наявна кодова база є повністю однорідною у цьому сенсі, але ми б хотіли, щоб увесь новий код також було форматовано подібним чином. Якщо коротко, користуйтеся пробілами, а не символами табуляції, використовуйте додаткові 2 пробіли на кожному із рівнів відступів, у інших аспектах форматування слідуйте стилю книги Кернігана та Річі.

note: type: textblock
en: If you use Emacs, add the following to one of your start-up files (e.g., ~/.emacs), to help ensure that you get indentation right:
uk: Якщо ви користуєтеся Emacs, додайте наступний текст до одного із ваших файлів налаштувань для запуску (наприклад, ~/.emacs), щоб забезпечити належні правила встановлення відступів:

note: type: verbatim
en:  ;;; When editing C sources in libguestfs, use this style.
     (defun libguestfs-c-mode ()
       "C mode with adjusted defaults for use with libguestfs."
       (interactive)
       (c-set-style "K&R")
       (setq c-indent-level 2)
       (setq c-basic-offset 2))
     (add-hook 'c-mode-hook
               '(lambda () (if (string-match "/libguestfs\\>"
                                   (buffer-file-name))
                               (libguestfs-c-mode))))
uk:  ;;; Під час редагування початкового коду C у libguestfs користуйтеся цим стилем.
     (defun libguestfs-c-mode ()
       "C mode with adjusted defaults for use with libguestfs."
       (interactive)
       (c-set-style "K&R")
       (setq c-indent-level 2)
       (setq c-basic-offset 2))
     (add-hook 'c-mode-hook
               '(lambda () (if (string-match "/libguestfs\\>"
                                   (buffer-file-name))
                               (libguestfs-c-mode))))

note: type: =head2
en: TESTING YOUR CHANGES
uk: ТЕСТУВАННЯ ВНЕСЕНИХ ВАМИ ЗМІН

note: type: textblock
en: Turn warnings into errors when developing to make warnings hard to ignore:
uk: Перетворити попередження на повідомлення про помилки під час розробки, щоб ці попередження не ігнорувалися:

note: type: textblock
en: Useful targets are:
uk: Корисні цілі збирання:

note: type: textblock
en: Runs the regular test suite.
uk: Запускає звичайний комплект перевірок.

note: type: textblock
en: This is implemented using the regular automake C<TESTS> target.  See the automake documentation for details.
uk: Реалізовано за допомогою типової цілі automake C<TESTS>. Докладніше про цю ціль можна дізнатися з документації до automake.

note: type: textblock
en: Runs a subset of the test suite under valgrind.
uk: Запускає підмножину комплекту тестування у valgrind.

note: type: textblock
en: See L</VALGRIND> below.
uk: Див. L</VALGRIND> нижче.

note: type: textblock
en: Runs a subset of the test suite under valgrind using locally installed libvirt guests (read-only).
uk: Запускає підмножину комплекту тестування у valgrind з використанням локально встановлених гостьових систем libvirt (лише для читання).

note: type: textblock
en: Runs all tests using default appliance back-end.  This only has any effect if a non-default backend was selected using C<./configure --with-default-backend=...>
uk: Виконує усі тести за допомогою типового модуля роботи із базовою системою. Працює, лише якщо за допомогою C<./configure --with-default-backend=...> було вибрано нетиповий модуль.

note: type: textblock
en: Run a subset of the test suite under valgrind using the default appliance back-end.
uk: Запустити підмножину комплексу тестів під керуванням valgrind з використанням типового модуля базової системи.

note: type: textblock
en: Runs all tests using the User-Mode Linux backend.
uk: Виконує усі тести з використанням модуля режиму користувача у Linux.

note: type: textblock
en: As there is no standard location for the User-Mode Linux kernel, you I<have> to set C<LIBGUESTFS_HV> to point to the kernel image, eg:
uk: Оскільки немає стандартизованого місця для зберігання ядра Linux з режимом користувача, вам I<слід> встановити значення C<LIBGUESTFS_HV> таким чином, щоб воно вказувало на образ ядра. Приклад:

note: type: textblock
en: Runs all tests using the User-Mode Linux backend, under valgrind.
uk: Виконує усі тести з використанням модуля режиму користувача Linux під керуванням valgrind.

note: type: textblock
en: As above, you have to set C<LIBGUESTFS_HV> to point to the kernel.
uk: Як і вище, вам слід встановити значення C<LIBGUESTFS_HV> так, щоб воно вказувало на ядро.

note: type: textblock
en: Runs all tests using a local qemu binary.  It looks for the qemu binary in QEMUDIR (defaults to F<$HOME/d/qemu>), but you can set this to another directory on the command line, eg:
uk: Виконує усі тести з використанням локального виконуваного файла qemu. Шукає виконуваний файл qemu за допомогою змінної QEMUDIR (типове значення F<$HOME/d/qemu>), але ви можете встановити інший каталог за допомогою рядка команди. Приклад:

note: type: textblock
en: Runs all tests using a local libvirt.  This only has any effect if the libvirt backend was selected using C<./configure --with-default-backend=libvirt>
uk: Виконує усі тести за допомогою локальної копії libvirt. Працює, лише якщо за допомогою C<./configure --with-default-backend=libvirt> було вибрано модуль libvirt.

note: type: textblock
en: It looks for libvirt in LIBVIRTDIR (defaults to F<$HOME/d/libvirt>), but you can set this to another directory on the command line, eg:
uk: Пошук libvirt виконуватиметься у каталозі LIBVIRTDIR (типово, F<$HOME/d/libvirt>), але ви можете вказати інший каталог у рядку команди. Приклад:

note: type: textblock
en: Runs some slow/long-running tests which are not run by default.
uk: Запускає повільні тести або тести, які виконуються довго. Такі тести типово не запускаються.

note: type: textblock
en: To mark a test as slow/long-running:
uk: Щоб позначити тест як повільний або такий, який виконується довго:

note: type: textblock
en: Add it to the list of C<TESTS> in the F<Makefile.am>, just like a normal test.
uk: Додайте це до списку C<TESTS> у F<Makefile.am>, подібно до звичайного тесту.

note: type: textblock
en: Modify the test so it checks if the C<SLOW=1> environment variable is set, and if I<not> set it skips (ie. returns with exit code 77).  If using C<$TEST_FUNCTIONS>, you can call the function C<slow_test> for this.
uk: Змініть тест так, щоб у ньому перевірялася умова для змінної середовища C<SLOW=1>, і якщо таке значення змінної I<не> встановлено, тест пропускався (тобто повертав код виходу 77). Якщо використовується C<$TEST_FUNCTIONS>, для цього ви можете викликати функцію C<slow_test>.

note: type: textblock
en: Add a variable C<SLOW_TESTS> to the F<Makefile.am> listing the slow tests.
uk: Додайте змінну C<SLOW_TESTS> до файла F<Makefile.am> зі значенням-списком повільних тестів.

note: type: textblock
en: Add a rule to the F<Makefile.am>:
uk: Додайте таке правило до F<Makefile.am>:

note: type: textblock
en: Runs some tests which require root privileges.  These are supposed to be safe, but take care.  You have to run this as root (eg. using L<sudo(8)> explicitly).
uk: Запускає деякі тести, які потребують прав доступу користувача root. Ці тести, як ми припускаємо, безпечні, але вам слід вжити усіх додаткових засобів захисту. Вам слід запускати цю команду від імені root (наприклад, за допомогою явного використання L<sudo(8)>).

note: type: textblock
en: To mark a test as requiring root:
uk: Щоб позначити тест як такий, що вимагає прав доступу користувача root:

note: type: textblock
en: Modify the test so it checks if euid == 0, and if I<not> set it skips (ie. returns with exit code 77).  If using C<$TEST_FUNCTIONS>, you can call the function C<root_test> for this.
uk: Внесіть зміни до тесту так, щоб тест перевіряв, чи euid == 0, і якщо це значення I<не> встановлено, тест пропускається (тобто повертає код виходу 77). Якщо використовується C<$TEST_FUNCTIONS>, ви можете викликати функцію C<root_test> для цього.

note: type: textblock
en: Add a variable C<ROOT_TESTS> to the F<Makefile.am> listing the root tests.
uk: Додайте змінну C<ROOT_TESTS> до файла F<Makefile.am> зі значенням-списком тестів для root.

note: type: textblock
en: Equivalent to running all C<make check*> rules except C<check-root>.
uk: Еквівалент запуску усіх правил C<make check*>, окрім C<check-root>.

note: type: textblock
en: Runs a subset of C<make check*> rules that are required to pass before a tarball can be released.  Currently this is:
uk: Виконує підмножину правил C<make check*>, які слід передати до створення архіву tar. У поточній версії це:

note: type: textblock
en: Run C<make check> on the installed copy of libguestfs.
uk: Запустити C<make check> для встановленої копії libguestfs.

note: type: textblock
en: The version of installed libguestfs being tested, and the version of the libguestfs source tree must be the same.
uk: Версії встановленої libguestfs, тестування якої виконується, та версія у ієрархії початкового коду libguestfs мають збігатися.

note: type: textblock
en: Do:
uk: Команди:

note: type: textblock
en: When you do C<make check-valgrind>, it searches for any F<Makefile.am> in the tree that has a C<check-valgrind:> target and runs it.
uk: Коли ви віддаєте команду C<make check-valgrind>, відбувається пошук будь-якого F<Makefile.am> у ієрархії коду, де є ціль C<check-valgrind:>, і його запуск.

note: type: textblock
en: Writing the F<Makefile.am> and tests correctly to use valgrind and working with automake parallel tests is subtle.
uk: Правильно написати F<Makefile.am> і тести, щоб скористатися valgrind і паралельним тестуванням automake, не так уже і просто.

note: type: textblock
en: If your tests are run via a shell script wrapper, then in the wrapper use:
uk: Якщо ваш тести запускаються за допомогою скриптової обгортки для командної оболонки, у обгортці слід скористатися таким кодом:

note: type: textblock
en: and in the F<Makefile.am> use:
uk: а у F<Makefile.am> слід вказати:

note: type: textblock
en: However, if your binaries run directly from the C<TESTS> rule, you have to modify the F<Makefile.am> like this:
uk: Втім, якщо ваші виконувані файли запускаються безпосередньо з правила C<TESTS>, до F<Makefile.am> слід внести такий рядок:

note: type: textblock
en: In either case, check that the right program is being tested by examining the F<tmp/valgrind*> log files carefully.
uk: Який би з варіантів ви не реалізовували, слід перевіряти, чи ту програму ви тестуєте, шляхом уважного вивчення файлів журналу F<tmp/valgrind*>.

note: type: =head2
en: SUBMITTING PATCHES
uk: НАДСИЛАННЯ ЛАТОК

note: type: textblock
en: Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to L<rjones@redhat.com>.
uk: Надсилайте латки до списку листування, L<http://www.redhat.com/mailman/listinfo/libguestfs> і копію повідомлення до L<rjones@redhat.com>.

note: type: textblock
en: You do not need to subscribe to the mailing list if you don’t want to.  There may be a short delay while your message is moderated.
uk: Можете не підписуватися на список листування, якщо не хочете. Втім, для непідписаних користувачів повідомлення з'являються у списку із затримкою, потрібною на модерацію.

note: type: =head2
en: DAEMON CUSTOM PRINTF FORMATTERS
uk: НЕТИПОВІ ЗАСОБИ ФОРМАТУВАННЯ PRINTF У ФОНОВІЙ СЛУЖБІ

note: type: textblock
en: In the daemon code we have created custom printf formatters C<%Q> and C<%R>, which are used to do shell quoting.
uk: У коді фонової служби напис створено нетипові форматувальники printf C<%Q> і C<%R>, які використовуються для режиму встановлення лапок у командній оболонці.

note: type: textblock
en: Simple shell quoted string.  Any spaces or other shell characters are escaped for you.
uk: Простий рядок командної оболонки із лапками. Автоматичне екранування пробілів та інших керівних символів оболонки.

note: type: textblock
en: Same as C<%Q> except the string is treated as a path which is prefixed by the sysroot.
uk: Те саме, що і C<%Q>, але рядок вважатиметься шляхом із префіксом sysroot.

note: type: textblock
en: would produce C<cat /sysroot/some\ path\ with\ spaces>
uk: дасть C<cat /sysroot/якийсь\ шлях\ із\ пробілами>

note: type: textblock
en: I<Note:> Do I<not> use these when you are passing parameters to the C<command{,r,v,rv}()> functions.  These parameters do NOT need to be quoted because they are not passed via the shell (instead, straight to exec).  You probably want to use the C<sysroot_path()> function however.
uk: I<Зауваження:> I<не> використовуйте ці замінники, якщо передаєте параметри функціям C<command{,r,v,rv}()>. У параметрах цих функцій НЕ потрібно нічого міняти, оскільки вони не передаються крізь командну оболонку (а безпосередньо передаються функції exec). Втім, ймовірно, варто використовувати функцію C<sysroot_path()>.

note: type: =head2
en: INTERNATIONALIZATION (I18N) SUPPORT
uk: ПІДТРИМКА ІНТЕРНАЦІОНАЛІЗАЦІЇ (I18N)

note: type: textblock
en: We support i18n (gettext anyhow) in the library.
uk: У нашій бібліотеці передбачено можливість інтернаціоналізації (засобами gettext).

note: type: textblock
en: However many messages come from the daemon, and we don’t translate those at the moment.  One reason is that the appliance generally has all locale files removed from it, because they take up a lot of space.  So we'd have to readd some of those, as well as copying our PO files into the appliance.
uk: Втім, багато повідомлень надходять від фонової служби, і у поточній версії ми їх не перекладаємо. Однією з причин цього є те, що, загалом, у базовій системі немає файлів локалей, оскільки вони досить об'ємні. Тому для реалізації можливості перекладу нам довелося б додати ці файли і скопіювати наші файли PO до базової системи.

note: type: textblock
en: Debugging messages are never translated, since they are intended for the programmers.
uk: Діагностичні повідомлення не перекладаються, оскільки їх призначено для програмістів.

note: type: =head1
en: MISCELLANEOUS TOPICS
uk: ІНШІ ТЕМИ

note: type: =head2
en: HOW OCAML PROGRAMS ARE COMPILED AND LINKED
uk: ЯК КОМПІЛЮЮТЬСЯ І КОМПОНУЮТЬСЯ ПРОГРАМИ OCAML

note: type: textblock
en: Mostly this section is "how we make automake & ocamlopt work together" since OCaml programs themselves are easy to compile.
uk: Більша частина цього розділу присвячена питанню «як ми змусили automake і ocamlopt працювати разом», оскільки самі програми OCaml зібрати легко.

note: type: textblock
en: Automake has no native support for OCaml programs, ocamlc nor ocamlopt.  What we do instead is to treat OCaml programs as C programs which happen to contain these "other objects" (C<"DEPENDENCIES"> in automake-speak) that happen to be the OCaml objects.  This works because OCaml programs usually have C files for native bindings etc.
uk: У automake немає вбудованої підтримки програм OCaml, ocamlc та ocamlopt. Наш підхід полягає у обробці програм OCaml як програм C, які можуть містити такі «інші об'єкти» (C<"DEPENDENCIES"> у термінології automake), які можуть бути об'єктами OCaml. Це працює, оскільки програми OCaml зазвичай містять файли C для природних прив'язок до бібліотек тощо.

note: type: textblock
en: So a typical program is described as just its C sources:
uk: Отже, типова програма описується як список файлів з її кодом мовою C:

note: type: textblock
en: For programs that have no explicit C sources, we create an empty F<dummy.c> file, and list that instead:
uk: Для програм, які не містять явних початкових текстів мовою C ми створюємо порожній файл F<dummy.c> і додаємо його до списку замість справжніх файлів:

note: type: textblock
en: The OCaml objects which contain most of the code are listed as automake dependencies (other dependencies may also be listed):
uk: Об'єкти OCaml, які містять більшу частину коду, потрапляють до списку як залежності automake (інші залежності також можуть потрапляти до списку):

note: type: textblock
en: The only other special thing we need to do is to provide a custom link command.  This is needed because automake won't assemble the ocamlopt command, the list of objects and the C<-cclib> libraries in the correct order otherwise.
uk: Окрім того, єдиною іншою річчю, яку нам слід зробити, є надання нетипової команди компонування. Ця команда потрібна, оскільки інакше automake не зможе зібрати команду ocamlopt, список об'єктів та бібліотеки C<-cclib> у належному порядку.

note: type: textblock
en: The actual rules, which you can examine in F<customize/Makefile.am>, are a little bit more complicated than this because they have to handle:
uk: Справжні правила, із якими ви можете ознайомитися у файлі F<customize/Makefile.am> є дещо складнішими за ці, оскільки у них ще треба обробити:

note: type: textblock
en: Compiling for byte code or native code.
uk: Компіляцію у байткод або природний код системи.

note: type: textblock
en: The pattern rules needed to compile the OCaml sources to objects.
uk: Взірцеві правила, потрібні для збирання коду OCaml у об'єкти.

note: type: textblock
en: These are now kept in F<subdir-rules.mk> at the top level, which is included in every subdirectory F<Makefile.am>.
uk: Ці правила тепер зберігаються у F<subdir-rules.mk> на верхньому рівні ієрархії коду. Цей файл включається до усіх підкаталогів F<Makefile.am>.

note: type: textblock
en: Adding OCaml sources files to C<EXTRA_DIST>.
uk: Додавання файлів початкового коду OCaml до C<EXTRA_DIST>.

note: type: textblock
en: Automake isn't aware of the complete list of sources for a binary, so it will not add them all automatically.
uk: Automake не зможе визначити повний список початкових кодів для виконуваного файла, тому програма не зможе додати відповідні файли автоматично.

note: type: =head1
en: MAINTAINER TASKS
uk: ЗАВДАННЯ ІЗ СУПРОВОДУ

note: type: =head2
en: MAINTAINER MAKEFILE TARGETS
uk: ЦІЛІ ДЛЯ СУПРОВІДНИКІВ У MAKEFILE

note: type: textblock
en: These C<make> targets probably won’t work and aren't useful unless you are a libguestfs maintainer.
uk: Ці цілі C<make>, ймовірно, не працюватимуть або не будуть корисними, якщо ви не є супровідником пакунків libguestfs.

note: type: textblock
en: This commits everything in the working directory with the commit message C<Version $(VERSION).>.  You must update F<configure.ac>, clean and rebuild first.
uk: Ця ціль вносить усі зміни із робочого каталогу до системи керування сховищем коду із повідомленням щодо внеску C<Version $(VERSION).>. Вам слід спочатку оновити F<configure.ac>, очистити ієрархію коду та виконати повторне збирання.

note: type: textblock
en: This tags the current HEAD commit with the tag C<v$(VERSION)> and one of the messages:
uk: Ця команда створює мітку для поточного внеску у HEAD зі значенням мітки C<v$(VERSION)> і одним із таких повідомлень:

note: type: textblock
en: (See L<guestfs(3)/LIBGUESTFS VERSION NUMBERS> for the difference between a stable and development release.)
uk: (Опис відмінностей між стабільним випуском і випуском, який перебуває у розробці, наведено у розділі L<guestfs(3)/НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS>.)

note: type: textblock
en: Check that all authors (found in git commit messages) are included in the F<generator/authors.ml> file.
uk: Перевірити, чи усіх авторів (записи яких можна знайти у повідомленнях щодо внесків до git) включено до файла F<generator/authors.ml>.

note: type: textblock
en: This rule must be run after C<make dist> (so there is a tarball in the working directory).  It compares the contents of the tarball with the contents of git to ensure that no files have been missed from F<Makefile.am> C<EXTRA_DIST> rules.
uk: Це правило слід запускати після C<make dist> (щоб у робочому каталозі уже був архів tar). Воно порівнює вміст архіву tar із даними у git з метою переконатися, що не пропущено жодного файла із правил C<EXTRA_DIST> у F<Makefile.am>.

note: type: textblock
en: This is used by the software used to automate libguestfs releases to copy the libguestfs website to another git repository before it is uploaded to the web server.
uk: Це правило використовується програмним забезпеченням автоматизації випусків libguestfs для копіювання сайта libguestfs до іншого сховища git до його вивантаження на вебсервер.

note: type: =head2
en: MAKING A STABLE RELEASE
uk: СТВОРЕННЯ СТАБІЛЬНОГО ВИПУСКУ

note: type: textblock
en: When we make a stable release, there are several steps documented here.  See L<guestfs(3)/LIBGUESTFS VERSION NUMBERS> for general information about the stable branch policy.
uk: Тут наведено документацію щодо створення стабільних випусків. Загальні правила щодо створення стабільних випусків наведено у розділі L<guestfs(3)/НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS>.

note: type: textblock
en: Check C<make && make check> works on at least:
uk: Перевірте, чи працює C<make && make check> принаймні у таких системах:

note: type: textblock
en: Check C<./configure --without-libvirt> works.
uk: Перевірте, чи працює C<./configure --without-libvirt>.

note: type: textblock
en: Finalize F<guestfs-release-notes.pod>
uk: Внесіть завершальні зміни до F<guestfs-release-notes.pod>

note: type: textblock
en: Push and pull from Zanata.
uk: Надіслати і отримати дані з Zanata.

note: type: textblock
en: Run:
uk: Віддайте команду:

note: type: textblock
en: to push the latest POT files to Zanata.  Then run:
uk: щоб надіслати найсвіжіші файли POT на Zanata. Потім віддайте команду:

note: type: textblock
en: which is a wrapper to pull the latest translated F<*.po> files.
uk: яка є обгорткою для команд отримання найсвіжіших перекладених файлів F<*.po>.

note: type: textblock
en: Consider updating gnulib to latest upstream version.
uk: Оновіть gnulib до найсвіжішої версії основної гілки розробки.

note: type: textblock
en: Create new stable and development directories under L<http://libguestfs.org/download>.
uk: Створіть каталоги стабільної версії і версії у розробці на L<http://libguestfs.org/download>.

note: type: textblock
en: Edit F<website/index.html.in>.
uk: Внесіть зміни до F<website/index.html.in>.

note: type: textblock
en: Set the version (in F<configure.ac>) to the new I<stable> version, ie. 1.XX.0, and commit it:
uk: Встановіть версію (у F<configure.ac>) у значення нової I<стабільної> версії, тобто 1.XX.0, і запишіть версію:

note: type: textblock
en: Create the stable branch in git:
uk: Створіть стабільну гілку у git:

note: type: textblock
en: Do a full release of the stable branch.
uk: Виконайте повноцінний випуск стабільної гілки.

note: type: textblock
en: Set the version to the next development version and commit that.  Optionally do a full release of the development branch.
uk: Встановіть значення номера наступної версії для розробки і запишіть його до сховища. Можна також створити повноцінний випуск із гілки для розробки.

note: type: =head1
en: INTERNAL DOCUMENTATION
uk: ВНУТРІШНЯ ДОКУМЕНТАЦІЯ

note: type: textblock
en: This section documents internal functions inside libguestfs and various utilities.  It is intended for libguestfs developers only.
uk: У цьому розділі наведено документацію щодо внутрішніх функцій libguestfs та різноманітних допоміжних програм. Вміст цього розділу буде цікавим лише для розробників libguestfs.

note: type: textblock
en: This section is autogenerated from C</**> comments in source files, which are marked up in POD format.
uk: Цей розділ створено автоматично на основі тих коментарів C</**> у файлах початкового коду, які форматовано для використання у форматі POD.

note: type: textblock
en: B<These functions are not publicly exported, and may change or be removed at any time.>
uk: B<Ці функції не експортуються відкрито (public). Їх може бути змінено або вилучено у будь-якій новішій версії.>

note: type: textblock
en: guestfs-internals - architecture and internals of libguestfs
uk: guestfs-internals — архітектура і внутрішня будова libguestfs

note: type: textblock
en: This manual page is for hackers who want to understand how libguestfs works internally.  This is just a description of how libguestfs works now, and it may change at any time in the future.
uk: Цю сторінку підручника призначено для тих, хто хоче зрозуміти, як працює libguestfs на внутрішньому рівні. Це опис лише того, як libguestfs працює у поточній версії. Принципи роботи може бути змінено у майбутніх версіях.

note: type: textblock
en: Internally, libguestfs is implemented by running an appliance (a special type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child process of the main program.
uk: На внутрішньому рівні libguestfs реалізовано шляхом запуску базової системи (спеціального типу малої віртуальної машини) за допомогою L<qemu(1)>. Qemu запускається як дочірній процес основної програми.

note: type: verbatim
en:  ┌───────────────────┐
     │ main program      │
     │                   │
     │                   │           child process / appliance
     │                   │          ┌──────────────────────────┐
     │                   │          │ qemu                     │
     ├───────────────────┤   RPC    │      ┌─────────────────┐ │
     │ libguestfs  ◀╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶ guestfsd        │ │
     │                   │          │      ├─────────────────┤ │
     └───────────────────┘          │      │ Linux kernel    │ │
                                    │      └────────┬────────┘ │
                                    └───────────────│──────────┘
                                                    │
                                                    │ virtio-scsi
                                             ┌──────┴──────┐
                                             │  Device or  │
                                             │  disk image │
                                             └─────────────┘
uk:  ┌───────────────────┐
     │ main program      │
     │                   │
     │                   │           дочірній процес / базова система
     │                   │          ┌──────────────────────────┐
     │                   │          │ qemu                     │
     ├───────────────────┤   RPC    │      ┌─────────────────┐ │
     │ libguestfs  ◀╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶ guestfsd        │ │
     │                   │          │      ├─────────────────┤ │
     └───────────────────┘          │      │   ядро Linux    │ │
                                    │      └────────┬────────┘ │
                                    └───────────────│──────────┘
                                                    │
                                                    │ virtio-scsi
                                             ┌──────┴──────┐
                                             │  Пристрій або │
                                             │  образ диска│
                                             └─────────────┘

note: type: textblock
en: The library, linked to the main program, creates the child process and hence the appliance in the L<guestfs(3)/guestfs_launch> function.
uk: Бібліотека, пов'язана із основною програмою, створює дочірній процес і, отже, базову систему у функції L<guestfs(3)/guestfs_launch>.

note: type: textblock
en: Inside the appliance is a Linux kernel and a complete stack of userspace tools (such as LVM and ext2 programs) and a small controlling daemon called L</guestfsd>.  The library talks to L</guestfsd> using remote procedure calls (RPC).  There is a mostly one-to-one correspondence between libguestfs API calls and RPC calls to the daemon.  Lastly the disk image(s) are attached to the qemu process which translates device access by the appliance’s Linux kernel into accesses to the image.
uk: Всередині базової системи знаходиться ядро Linux і повний комплект засобів керування простором користувача (зокрема програми для керування LVM та ext2), а також невеличка фонова служба, яка називається L</guestfsd>. Бібліотека обмінюється даними із L</guestfsd> за допомогою віддаленого виклику процедур (RPC). Між викликами програмного інтерфейсу libguestfs та викликами RPC фонової служби існує майже дзеркальна подібність. Нарешті, образи дисків долучено до процесу qemu, який транслює доступ до пристроїв за допомогою ядра Linux базової системи у доступ до образів для основної системи.

note: type: textblock
en: A common misunderstanding is that the appliance "is" the virtual machine.  Although the disk image you are attached to might also be used by some virtual machine, libguestfs doesn't know or care about this.  (But you will care if both libguestfs’s qemu process and your virtual machine are trying to update the disk image at the same time, since these usually results in massive disk corruption).
uk: Поширеною помилкою є вважати, що базова система «є» віртуальна машина. Хоча образ диска, з яким з'єднується ваша система, може використовуватися якоюсь із систем керування віртуальними машинами, libguestfs не використовує і не бере до уваги цю можливість. (Але вам слід брати це до уваги, якщо оновлення даних на образі диска одночасно виконується процесом qemu libguestfs та вашою віртуальною машиною, оскільки це, зазвичай, призводить до значних ушкоджень даних на диску).

note: type: =head1
en: STATE MACHINE
uk: СКІНЧЕННИЙ АВТОМАТ

note: type: textblock
en: libguestfs uses a state machine to model the child process:
uk: libguestfs використовує скінченний автомат для моделювання дочірнього процесу:

note: type: verbatim
en:                          |
              guestfs_create / guestfs_create_flags
                             |
                             |
                         ____V_____
                        /          \
                        |  CONFIG  |
                        \__________/
                           ^   ^  \
                           |    \  \ guestfs_launch
                           |    _\__V______
                           |   /           \
                           |   | LAUNCHING |
                           |   \___________/
                           |       /
                           |  guestfs_launch
                           |     /
                         __|____V
                        /        \
                        | READY  |
                        \________/
uk:                          |
              guestfs_create / guestfs_create_flags
                             |
                             |
                         ____V___________
                        /          \
                        |  НАЛАШТУВАННЯ  |
                        \_________________/
                           ^   ^  \
                           |    \  \ guestfs_launch
                           |    _\__V___
                           |   /           \
                           |   | ЗАПУСК |
                           |   \________/
                           |       /
                           |  guestfs_launch
                           |     /
                         __|____V_____
                        /        \
                        | ГОТОВНІСТЬ  |
                        \_____________/

note: type: textblock
en: The normal transitions are (1) CONFIG (when the handle is created, but there is no child process), (2) LAUNCHING (when the child process is booting up), (3) READY meaning the appliance is up, actions can be issued to, and carried out by, the child process.
uk: Нормальними станами є (1) CONFIG (коли створено дескриптор, але немає дочірнього процесу), (2) LAUNCHING (коли завантажується дочірній процес), (3) READY — означає, що базова система завантажилася, можна виконувати за її допомогою дії, працездатністю системи опікується дочірній процес.

note: type: textblock
en: The guest may be killed by L<guestfs(3)/guestfs_kill_subprocess>, or may die asynchronously at any time (eg. due to some internal error), and that causes the state to transition back to CONFIG.
uk: Роботу гостьової системи можна завершити за допомогою L<guestfs(3)/guestfs_kill_subprocess>, гостьова система також може будь-коли асинхронно припинити роботу (наприклад, через якусь внутрішню помилку). Це спричиняє повернення до стану CONFIG.

note: type: textblock
en: Configuration commands for qemu such as L<guestfs(3)/guestfs_set_path> can only be issued when in the CONFIG state.
uk: Команди налаштовування для qemu, зокрема L<guestfs(3)/guestfs_set_path>, можна віддавати лише у стані CONFIG.

note: type: textblock
en: The API offers one call that goes from CONFIG through LAUNCHING to READY.  L<guestfs(3)/guestfs_launch> blocks until the child process is READY to accept commands (or until some failure or timeout).  L<guestfs(3)/guestfs_launch> internally moves the state from CONFIG to LAUNCHING while it is running.
uk: Програмний інтерфейс пропонує один виклик, який проходить від CONFIG крізь LAUNCHING до READY.  L<guestfs(3)/guestfs_launch> блокує систему, аж доки дочірній процес не повідомить про стан READY для отримання команд (або не надійде повідомлення про помилку чи перевищення часу очікування). L<guestfs(3)/guestfs_launch> на внутрішньому рівні переводить стан з CONFIG у LAUNCHING протягом часу своєї роботи.

note: type: textblock
en: API actions such as L<guestfs(3)/guestfs_mount> can only be issued when in the READY state.  These API calls block waiting for the command to be carried out.  There are no non-blocking versions, and no way to issue more than one command per handle at the same time.
uk: Команди програмного інтерфейсу, зокрема L<guestfs(3)/guestfs_mount>, можуть надсилатися, лише у стані READY. Ці виклики програмного інтерфейсу блокуються до завершення виконання попередньої команди. Версій без блокування не передбачено. Крім того, не передбачено способів надсилання декількох команд одному дескриптору одночасно.

note: type: textblock
en: Finally, the child process sends asynchronous messages back to the main program, such as kernel log messages.  You can register a callback to receive these messages.
uk: Нарешті, дочірній процес надсилає асинхронні повідомлення, зокрема повідомлення журналу ядра, до основної програми. Ви можете зареєструвати зворотний виклик для отримання цих повідомлень.

note: type: =head1
en: INTERNALS
uk: ВНУТРІШНІ ПРИНЦИПИ РОБОТИ

note: type: =head2
en: APPLIANCE BOOT PROCESS
uk: ПРОЦЕДУРА ЗАВАНТАЖЕННЯ БАЗОВОЇ СИСТЕМИ

note: type: textblock
en: This process has evolved and continues to evolve.  The description here corresponds only to the current version of libguestfs and is provided for information only.
uk: Цей процес змінювався із розвитком бібліотеки і продовжує змінюватися. Наведений тут опис відповідає поточній версії libguestfs. Його надано із інформаційною метою.

note: type: textblock
en: In order to follow the stages involved below, enable libguestfs debugging (set the environment variable C<LIBGUESTFS_DEBUG=1>).
uk: Для виконання описаних нижче кроків увімкніть діагностику у libguestfs (встановіть значення змінної середовища C<LIBGUESTFS_DEBUG=1>).

note: type: =item
en: Create the appliance
uk: Створення базової системи

note: type: textblock
en: C<supermin --build> is invoked to create the kernel, a small initrd and the appliance.
uk: C<supermin --build> викликається для створення ядра, невеличкого initrd та базової системи.

note: type: textblock
en: The appliance is cached in F</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another directory if C<LIBGUESTFS_CACHEDIR> or C<TMPDIR> are set).
uk: Кеш базової системи зберігається у F</var/tmp/.guestfs-E<lt>UIDE<gt>> (або іншому каталозі, якщо встановлено значення змінної середовища C<LIBGUESTFS_CACHEDIR> або C<TMPDIR>).

note: type: textblock
en: For a complete description of how the appliance is created and cached, read the L<supermin(1)> man page.
uk: Щоб ознайомитися із повним описом створення базової системи та особливостями кешування, прочитайте сторінку підручника щодо L<supermin(1)>.

note: type: =item
en: Start qemu and boot the kernel
uk: Запуск qemu і завантаження ядра

note: type: textblock
en: qemu is invoked to boot the kernel.
uk: qemu викликається для завантаження ядра.

note: type: =item
en: Run the initrd
uk: Запуск initrd

note: type: textblock
en: C<supermin --build> builds a small initrd.  The initrd is not the appliance.  The purpose of the initrd is to load enough kernel modules in order that the appliance itself can be mounted and started.
uk: C<supermin --build> збирає невеличкий initrd. initrd не є базовою системою. Метою роботи initrd є завантаження достатньої кількості модулів ядра для того, щоб можна було змонтувати і запустити саму базову систему.

note: type: textblock
en: The initrd is a cpio archive called F</var/tmp/.guestfs-E<lt>UIDE<gt>/appliance.d/initrd>.
uk: initrd є архівом cpio із назвою F</var/tmp/.guestfs-E<lt>UIDE<gt>/appliance.d/initrd>.

note: type: textblock
en: When the initrd has started you will see messages showing that kernel modules are being loaded, similar to this:
uk: Після запуску initrd ви побачите повідомлення щодо завантаження модулів ядра, подібні до таких:

note: type: =item
en: Find and mount the appliance device
uk: Пошук і монтування пристрою базової системи

note: type: textblock
en: The appliance is a sparse file containing an ext2 filesystem which contains a familiar (although reduced in size) Linux operating system.  It would normally be called F</var/tmp/.guestfs-E<lt>UIDE<gt>/appliance.d/root>.
uk: Базовою системою є розріджений файл, що містить файлову систему ext2 зі звичайною (але зменшеною у розмірах) операційною системою Linux. За звичайних умов, цей файл називається F</var/tmp/.guestfs-E<lt>UIDE<gt>/appliance.d/root>.

note: type: textblock
en: The regular disks being inspected by libguestfs are the first devices exposed by qemu (eg. as F</dev/vda>).
uk: Звичайні диски, які досліджуються за допомогою libguestfs, є першими пристроями, які «бачить» qemu (eg. as F</dev/vda>).

note: type: textblock
en: The last disk added to qemu is the appliance itself (eg. F</dev/vdb> if there was only one regular disk).
uk: Останнім диском, який додано до qemu, є сама базова система (наприклад, F</dev/vdb>, якщо був лише один звичайний диск).

note: type: textblock
en: Thus the final job of the initrd is to locate the appliance disk, mount it, and switch root into the appliance, and run F</init> from the appliance.
uk: Таким чином, останнім завданням initrd є визначення розташування диска базової системи, його монтування та перемикання кореневої файлової системи на базову систему і запуск F</init> з базової системи.

note: type: textblock
en: If this works successfully you will see messages such as:
uk: Якщо усе працюватиме як слід, ви побачите такі повідомлення:

note: type: textblock
en: Note that C<Starting /init script ...> indicates that the appliance's init script is now running.
uk: Зауважте, що повідомлення C<Starting /init script ...> означає, що запущено скрипт ініціалізації (init) базової системи.

note: type: =item
en: Initialize the appliance
uk: Ініціалізація базової системи

note: type: textblock
en: The appliance itself now initializes itself.  This involves starting certain processes like C<udev>, possibly printing some debug information, and finally running the daemon (C<guestfsd>).
uk: Далі, базова система ініціалізується. Ця процедура включає запуск певних процесів, зокрема C<udev>, можливе виведення певної діагностичної інформації і, нарешті, запуск фонової служби (C<guestfsd>).

note: type: =item
en: The daemon
uk: Фонова служба

note: type: textblock
en: Finally the daemon (C<guestfsd>) runs inside the appliance.  If it runs you should see:
uk: На останньому етапі фонова служба (C<guestfsd>) працює у базовій системі. Якщо запуск служби виконано вдало, ви побачите таке повідомлення:

note: type: textblock
en: The daemon expects to see a named virtio-serial port exposed by qemu and connected on the other end to the library.
uk: Фонова служба очікує виявити іменований послідовний порт virtio, відкритий qemu і з'єднаний іншим боком із бібліотекою.

note: type: textblock
en: The daemon connects to this port (and hence to the library) and sends a four byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication protocol (see below).
uk: Фонова служба встановлює з'єднання з цим портом (а отже і з бібліотекою) і надсилає чотирибайтове повідомлення C<GUESTFS_LAUNCH_FLAG>, яке ініціює протокол обміну даними (див. нижче).

note: type: =head2
en: COMMUNICATION PROTOCOL
uk: ПРОТОКОЛ ОБМІНУ ДАНИМИ

note: type: textblock
en: Don’t rely on using this protocol directly.  This section documents how it currently works, but it may change at any time.
uk: Не покладайтеся на викладені у цьому розділі подробиці протоколу безпосередньо. Документація цього розділу стосується поточних принципів його роботи, але вони можуть змінитися у майбутніх версіях.

note: type: textblock
en: The protocol used to talk between the library and the daemon running inside the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC 1014, RFC 1832, RFC 4506).
uk: Протокол, який використовується для обміну даними між бібліотекою та фоновою службою, запущеною всередині віртуальної машини qemu, простим механізмом RPC, побудованим на основі XDR (RFC 1014, RFC 1832, RFC 4506).

note: type: textblock
en: The detailed format of structures is in F<common/protocol/guestfs_protocol.x> (note: this file is automatically generated).
uk: Докладний формат структур описано у файлі F<common/protocol/guestfs_protocol.x> (зауваження: цей файл створюється автоматично під час збирання бібліотеки).

note: type: textblock
en: There are two broad cases, ordinary functions that don’t have any C<FileIn> and C<FileOut> parameters, which are handled with very simple request/reply messages.  Then there are functions that have any C<FileIn> or C<FileOut> parameters, which use the same request and reply messages, but they may also be followed by files sent using a chunked encoding.
uk: Існує два широких класи: звичайні функції, які не мають параметрів C<FileIn> і C<FileOut> і які керуються дуже простим повідомленнями запитів і відповідей, і функції, які мають параметри C<FileIn> або C<FileOut> і які використовують такі самі повідомлення запитів і відповідей, але за повідомленням може слідувати файл, який надсилається у певному фрагментному кодуванні.

note: type: =head3
en: ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)
uk: ЗВИЧАЙНІ ФУНКЦІЇ (БЕЗ ПАРАМЕТРІВ FILEIN/FILEOUT)

note: type: textblock
en: For ordinary functions, the request message is:
uk: Повідомлення запиту для звичайних функцій:

note: type: verbatim
en:  total length (header + arguments,
          but not including the length word itself)
     struct guestfs_message_header (encoded as XDR)
     struct guestfs_<foo>_args (encoded as XDR)
uk:  загальна довжина (заголовок + аргументи,
          але без включення самого слова length)
     struct guestfs_message_header (у кодуванні XDR)
     struct guestfs_<щось>_args (у кодуванні XDR)

note: type: textblock
en: The total length field allows the daemon to allocate a fixed size buffer into which it slurps the rest of the message.  As a result, the total length is limited to C<GUESTFS_MESSAGE_MAX> bytes (currently 4MB), which means the effective size of any request is limited to somewhere under this size.
uk: Поле загальної довжини надає змогу фоновій службі отримувати фіксований буфер у пам'яті, до якого вона записуватиме решту повідомлення. Отже, загальну довжину обмежено до C<GUESTFS_MESSAGE_MAX> байтів (у поточній версії, 4 МБ), що означає, що ефективний розмір будь-якого запису обмежено цим обсягом пам'яті.

note: type: textblock
en: Note also that many functions don’t take any arguments, in which case the C<guestfs_I<foo>_args> is completely omitted.
uk: Зауважте, що багато функцій не приймають жодних аргументів. Для таких функцій C<guestfs_I<щось>_args> взагалі не вказують.

note: type: textblock
en: The header contains the procedure number (C<guestfs_proc>) which is how the receiver knows what type of args structure to expect, or none at all.
uk: У заголовку міститься номер процедури (C<guestfs_proc>), за допомогою якого функція-отримувач визначає тип структури аргументів, який слід очікувати, або дізнається про те, що аргументів не буде.

note: type: textblock
en: For functions that take optional arguments, the optional arguments are encoded in the C<guestfs_I<foo>_args> structure in the same way as ordinary arguments.  A bitmask in the header indicates which optional arguments are meaningful.  The bitmask is also checked to see if it contains bits set which the daemon does not know about (eg. if more optional arguments were added in a later version of the library), and this causes the call to be rejected.
uk: Для функцій, які приймають необов'язкові аргументи, додаткові аргументи кодуються у структуру C<guestfs_I<foo>_args> у той самий спосіб, що і звичайні аргументи. Бітова маска у заголовку позначає, які додаткові аргументи мають значення. Виконується також перевірка бітової маски на вміст бітів, про які не знає фонова служба (наприклад, якщо у новішій версії бібліотеки додано додаткові аргументи). Виклики із такими бітами відкидаються.

note: type: textblock
en: The reply message for ordinary functions is:
uk: Повідомлення відповіді для звичайних функцій:

note: type: verbatim
en:  total length (header + ret,
          but not including the length word itself)
     struct guestfs_message_header (encoded as XDR)
     struct guestfs_<foo>_ret (encoded as XDR)
uk:  загальна довжина (заголовок + повернуте значення,
          але без включення самого слова length)
     struct guestfs_message_header (у кодуванні XDR)
     struct guestfs_<щось>_ret (у кодуванні XDR)

note: type: textblock
en: As above the C<guestfs_I<foo>_ret> structure may be completely omitted for functions that return no formal return values.
uk: Як і вище, структуру C<guestfs_I<щось>_ret> може бути повністю пропущено, якщо функція формально не повертає значень.

note: type: textblock
en: As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>.
uk: Як і вище, значення загальної довжини відповіді обмежується значенням C<GUESTFS_MESSAGE_MAX>.

note: type: textblock
en: In the case of an error, a flag is set in the header, and the reply message is slightly changed:
uk: Якщо станеться помилка, у заголовку буде встановлено прапорець, а саме повідомлення відповіді буде дещо змінено:

note: type: verbatim
en:  total length (header + error,
          but not including the length word itself)
     struct guestfs_message_header (encoded as XDR)
     struct guestfs_message_error (encoded as XDR)
uk:  загальна довжина (заголовок + помилка,
          але без включення самого слова length)
     struct guestfs_message_header (у кодуванні XDR)
     struct guestfs_<щось>_message_error (у кодуванні XDR)

note: type: textblock
en: The C<guestfs_message_error> structure contains the error message as a string.
uk: Структура C<guestfs_message_error> містить повідомлення про помилку у форматі рядка.

note: type: =head3
en: FUNCTIONS THAT HAVE FILEIN PARAMETERS
uk: ФУНКЦІЇ З ПАРАМЕТРАМИ FILEIN

note: type: textblock
en: A C<FileIn> parameter indicates that we transfer a file I<into> the guest.  The normal request message is sent (see above).  However this is followed by a sequence of file chunks.
uk: Параметр C<FileIn> позначає, що ми передаємо файл I<до> гостьової системи. Надсилається звичайне повідомлення запиту (див. вище). Втім, за ним слідує послідовність фрагментів файла.

note: type: verbatim
en:  total length (header + arguments,
          but not including the length word itself,
          and not including the chunks)
     struct guestfs_message_header (encoded as XDR)
     struct guestfs_<foo>_args (encoded as XDR)
     sequence of chunks for FileIn param #0
     sequence of chunks for FileIn param #1 etc.
uk:  загальна довжина (заголовок + аргументи,
          але без включення самого слова length,
          і без включення фрагментів)
     struct guestfs_message_header (у кодуванні XDR)
     struct guestfs_<щось>_args (у кодуванні XDR)
     послідовність фрагментів для параметра 0 FileIn
     послідовність фрагментів для параметра 1 FileIn тощо

note: type: textblock
en: The "sequence of chunks" is:
uk: «Послідовність фрагментів» це:

note: type: verbatim
en:  length of chunk (not including length word itself)
     struct guestfs_chunk (encoded as XDR)
     length of chunk
     struct guestfs_chunk (encoded as XDR)
       ...
     length of chunk
     struct guestfs_chunk (with data.data_len == 0)
uk:  довжина фрагмента (без самого слова length)
     struct guestfs_chunk (у кодуванні XDR)
    довжина фрагмента
     struct guestfs_chunk (у кодуванні XDR)
       ...
    довжина фрагмента
     struct guestfs_chunk (із data.data_len == 0)

note: type: textblock
en: The final chunk has the C<data_len> field set to zero.  Additionally a flag is set in the final chunk to indicate either successful completion or early cancellation.
uk: Значення C<data_len> останнього фрагмента дорівнює нулю. Крім того, у останньому фрагментів встановлено прапорець, який позначає успішне завершення або передчасне переривання.

note: type: textblock
en: At time of writing there are no functions that have more than one FileIn parameter.  However this is (theoretically) supported, by sending the sequence of chunks for each FileIn parameter one after another (from left to right).
uk: На момент написання цього підручника не існувало жодної функції, яка б приймала більше одного параметра FileIn. Втім, теоретично, підтримку багатьох таких параметрів передбачено. Адже передбачено можливість надсилати послідовність фрагментів для кожного параметра FileIn один фрагмент за одним (зліва праворуч).

note: type: textblock
en: Both the library (sender) I<and> the daemon (receiver) may cancel the transfer.  The library does this by sending a chunk with a special flag set to indicate cancellation.  When the daemon sees this, it cancels the whole RPC, does I<not> send any reply, and goes back to reading the next request.
uk: Передавання даних може бути скасовано як бібліотекою (відправником), I<так і> фоновою службою (отримувачем). Бібліотека скасовує передавання надсиланням фрагмента із спеціальним прапорцем, який позначає скасовування. Коли фонова служба отримує такий фрагмент, вона скасовує увесь RPC, I<не> надсилає жодної відповіді і повертається до читання наступного запиту.

note: type: textblock
en: The daemon may also cancel.  It does this by writing a special word C<GUESTFS_CANCEL_FLAG> to the socket.  The library listens for this during the transfer, and if it gets it, it will cancel the transfer (it sends a cancel chunk).  The special word is chosen so that even if cancellation happens right at the end of the transfer (after the library has finished writing and has started listening for the reply), the "spurious" cancel flag will not be confused with the reply message.
uk: Фонова служба також може скасувати передавання даних. Зробити це вона можна записуванням до сокета спеціального слова C<GUESTFS_CANCEL_FLAG>. Бібліотека очікує на цьому сокеті на дані під час передавання. Якщо буде отримано спеціальне слово, бібліотека скасує передавання (надішле фрагмент скасовування). Спеціальне слово вибрано так, щоб навіть якщо скасовування станеться безпосередньо наприкінці передавання (після того, як бібліотека завершить запис і розпочне очікувати на відповідь), «неоднозначний» прапорець скасовування не буде переплутано із повідомленням відповіді.

note: type: textblock
en: This protocol allows the transfer of arbitrary sized files (no 32 bit limit), and also files where the size is not known in advance (eg. from pipes or sockets).  However the chunks are rather small (C<GUESTFS_MAX_CHUNK_SIZE>), so that neither the library nor the daemon need to keep much in memory.
uk: Цей протокол уможливлює передавання файлів довільного розміру (без обмеження у 32 біти), а також файлів, розмір яких невідомий наперед (наприклад з каналів обробки даних або сокетів). Втім, фрагменти є доволі малими (C<GUESTFS_MAX_CHUNK_SIZE>), отже, ні бібліотеці, ні фоновій службі не потрібно для передавання багато оперативної пам'яті.

note: type: =head3
en: FUNCTIONS THAT HAVE FILEOUT PARAMETERS
uk: FФУНКЦІЇ З ПАРАМЕТРАМИ FILEOUT

note: type: textblock
en: The protocol for FileOut parameters is exactly the same as for FileIn parameters, but with the roles of daemon and library reversed.
uk: Протокол для параметрів FileOut є тим самим, що і для параметрів FileIn, але у ньому фонова служба і бібліотека міняються місцями.

note: type: verbatim
en:  total length (header + ret,
          but not including the length word itself,
          and not including the chunks)
     struct guestfs_message_header (encoded as XDR)
     struct guestfs_<foo>_ret (encoded as XDR)
     sequence of chunks for FileOut param #0
     sequence of chunks for FileOut param #1 etc.
uk:  загальна довжина (заголовок + повернуте значення,
          але без включення самого слова length,
          і без включення фрагментів)
     struct guestfs_message_header (у кодуванні XDR)
     struct guestfs_<щось>_ret (у кодуванні XDR)
     послідовність фрагментів для параметра 0 FileOut
     послідовність фрагментів для параметра 1 FileOut тощо

note: type: =head3
en: INITIAL MESSAGE
uk: ПОЧАТКОВЕ ПОВІДОМЛЕННЯ

note: type: textblock
en: When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) which indicates that the guest and daemon is alive.  This is what L<guestfs(3)/guestfs_launch> waits for.
uk: Під час запуску фонова служба надсилає початкове слово (C<GUESTFS_LAUNCH_FLAG>), яке означає, що гостьова система і фонова служба працюють. Саме на це очікує L<guestfs(3)/guestfs_launch>.

note: type: =head3
en: PROGRESS NOTIFICATION MESSAGES
uk: ПОВІДОМЛЕННЯ ЩОДО ПОСТУПУ

note: type: textblock
en: The daemon may send progress notification messages at any time.  These are distinguished by the normal length word being replaced by C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message.
uk: Фонова служба може будь-коли надсилати сповіщення щодо поступу. Ці сповіщення відрізняються від інших тим, що звичайне слово length замінюється на C<GUESTFS_PROGRESS_FLAG>, а за ним слідує повідомлення щодо поступу фіксованого розміру.

note: type: textblock
en: The library turns them into progress callbacks (see L<guestfs(3)/GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them if not.
uk: Бібліотека перетворює їх на зворотні виклики щодо поступу (див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>), якщо зареєстровано зворотний виклик; або відкидає їх, якщо виклик не зареєстровано.

note: type: textblock
en: The daemon self-limits the frequency of progress messages it sends (see C<daemon/proto.c:notify_progress>).  Not all calls generate progress messages.
uk: Фонова служба автоматично обмежує частоту повідомлень щодо поступу, які вона надсилає (див. C<daemon/proto.c:notify_progress>). Не усі виклики створюють повідомлення щодо поступу.

note: type: =head2
en: FIXED APPLIANCE
uk: ФІКСОВАНА БАЗОВА СИСТЕМА

note: type: textblock
en: When libguestfs (or libguestfs tools) are run, they search a path looking for an appliance.  The path is built into libguestfs, or can be set using the C<LIBGUESTFS_PATH> environment variable.
uk: Під час роботи libguestfs (або інструментів libguestfs) виконується пошук базової системи у відповідному каталозі. Типовий шлях до цього каталогу вбудовано до libguestfs, його також можна змінити за допомогою змінної середовища C<LIBGUESTFS_PATH>.

note: type: textblock
en: Normally a supermin appliance is located on this path (see L<supermin(1)/SUPERMIN APPLIANCE>).  libguestfs reconstructs this into a full appliance by running C<supermin --build>.
uk: Зазвичай, базова система supermin зберігається саме у цьому каталозі (див. L<supermin(1)/БАЗОВА СИСТЕМА SUPERMIN>).  libguestfs перебудовує її у повноцінну базову систему за допомогою команди C<supermin --build>.

note: type: textblock
en: However, a simpler "fixed appliance" can also be used.  libguestfs detects this by looking for a directory on the path containing all the following files:
uk: Втім, також можна скористатися простішою «фіксованою базовою системою». libguestfs визначає таку систему, виконуючи пошук каталогу, який містить такі файли:

note: type: =item
en: * F<README.fixed> (note that it B<must> be present as well)
uk: * F<README.fixed> (зауважте, що він також B<має> бути)

note: type: textblock
en: If the fixed appliance is found, libguestfs skips supermin entirely and just runs the virtual machine (using qemu or the current backend, see L<guestfs(3)/BACKEND>) with the kernel, initrd and root disk from the fixed appliance.
uk: Якщо буде виявлено фіксовану базову систему, libguestfs не використовуватиме supermin взагалі і запустить віртуальну машину (за допомогою qemu або поточного модуля обробки, див. L<guestfs(3)/МОДУЛЬ>) із ядром, initrd та кореневим диском із фіксованої базової системи.

note: type: textblock
en: Thus the fixed appliance can be used when a platform or a Linux distribution does not support supermin.  You build the fixed appliance on a platform that does support supermin using L<libguestfs-make-fixed-appliance(1)>, copy it over, and use that to run libguestfs.
uk: Отже, фіксованою базовою системою можна скористатися, якщо для платформи або дистрибутива Linux не передбачено підтримки supermin. Ви збираєте базову систему на платформі, де таку підтримку передбачено, за допомогою L<libguestfs-make-fixed-appliance(1)>, копіюєте її і використовуєте для запуску libguestfs.

note: type: textblock
en: guestfs-performance - engineering libguestfs for greatest performance
uk: guestfs-performance — керування libguestfs з метою отримання найкращої швидкодії

note: type: textblock
en: This page documents how to get the greatest performance out of libguestfs, especially when you expect to use libguestfs to manipulate thousands of virtual machines or disk images.
uk: Цю сторінку присвячено питанням отримання найліпшої швидкодії libguestfs, особливо у випадках, коли ви хочете використовувати libguestfs для керування тисячами віртуальних машин або образів дисків.

note: type: textblock
en: Three main areas are covered. Libguestfs runs an appliance (a small Linux distribution) inside qemu/KVM.  The first two areas are: minimizing the time taken to start this appliance, and the number of times the appliance has to be started.  The third area is shortening the time taken for inspection of VMs.
uk: Наведені рекомендації стосуються трьох основних областей. Libguestfs запускає базову систему (невеличкий дистрибутив Linux) у qemu/KVM. Першими двома областями є мінімізація часу запуску базової системи та кількості запусків базової системи. Третьою областю є скорочення часу, потрібного на інспектування віртуальних машин.

note: type: =head1
en: BASELINE MEASUREMENTS
uk: БАЗОВІ ВИМІРИ

note: type: textblock
en: Before making changes to how you use libguestfs, take baseline measurements.
uk: Перш ніж вносити зміни до способів використання libguestfs, виконайте базові виміри.

note: type: =head2
en: Baseline: Starting the appliance
uk: База: запуск базової системи

note: type: textblock
en: On an unloaded machine, time how long it takes to start up the appliance:
uk: На незавантаженій машині час, який потрібне для запуску базової системи:

note: type: textblock
en: Run this command several times in a row and discard the first few runs, so that you are measuring a typical "hot cache" case.
uk: Віддайте цю команду декілька разів послідовно і відкиньте результати перших декількох запусків, щоб виміряти типовий випадок із «гарячим кешем».

note: type: textblock
en: I<Side note for developers:> There is a program called F<boot-benchmark> in L<https://github.com/libguestfs/libguestfs-analysis-tools> which does the same thing, but performs multiple runs and prints the mean and standard deviation.
uk: I<Примітка для розробників:> у <https://github.com/libguestfs/libguestfs-analysis-tools> можна знайти програму із назвою F<boot-benchmark>, яка виконує те саме, але виконує декілька запусків і виводить математичне сподівання та стандартне відхилення.

note: type: =head3
en: Explanation
uk: Пояснення

note: type: textblock
en: The guestfish command above starts up the libguestfs appliance on a null disk, and then immediately shuts it down.  The first time you run the command, it will create an appliance and cache it (usually under F</var/tmp/.guestfs-*>).  Subsequent runs should reuse the cached appliance.
uk: Наведена вище команда guestfish запускає базову систему libguestfs для порожнього диска, а потім одразу вимикає її. Під час першого виконання команди програма створить базову систему і виконає її кешування (зазвичай, у F</var/tmp/.guestfs-*>). Під час наступних запусків програма просто повторно використовуватиме кешовану базову систему.

note: type: =head3
en: Expected results
uk: Очікувані результати

note: type: textblock
en: You should expect to be getting times under 6 seconds.  If the times you see on an unloaded machine are above this, then see the section L</TROUBLESHOOTING POOR PERFORMANCE> below.
uk: Слід очікувати значень тривалості виконання дії, менших за 6 секунд. Якщо для ненавантаженої машини ви спостерігаєте значення тривалості, яке є вищим за вказане, вам слід ознайомитися із вмістом розділу L</БОРОТЬБА ІЗ ПРОБЛЕМАМИ ЗІ ШВИДКОДІЄЮ>, наведеного нижче.

note: type: =head2
en: Baseline: Performing inspection of a guest
uk: База: виконання інспектування гостьової системи

note: type: textblock
en: For this test you will need an unloaded machine and at least one real guest or disk image.  If you are planning to use libguestfs against only X guests (eg. X = Windows), then using an X guest here would be most appropriate.  If you are planning to run libguestfs against a mix of guests, then use a mix of guests for testing here.
uk: Для цього тесту вам потрібна буде ненавантажена машина і принаймні одна справжня гостьова система або образ диска. Якщо ви плануєте використовувати libguestfs лише для гостьових систем X (наприклад, X = Windows), тоді у цьому тесті варто використати саме гостьову систему X. Якщо ж ви плануєте використовувати libguestfs для різних гостьових систем, скористайтеся у цьому тесті різними гостьовими системами.

note: type: textblock
en: Time how long it takes to perform inspection and mount the disks of the guest.  Use the first command if you will be using disk images, and the second command if you will be using libvirt.
uk: Визначте тривалість інспектування і монтування дисків гостьової системи. Скористайтеся першою з команд, якщо ви використовуватимете образи дисків, і другою із команд, якщо ви використовуватимете libvirt.

note: type: verbatim
en:  time guestfish --ro -a disk.img -i exit
uk:  time guestfish --ro -a диск.img -i exit

note: type: verbatim
en:  time guestfish --ro -d GuestName -i exit
uk:  time guestfish --ro -d НазваГостьовоїСистеми -i exit

note: type: textblock
en: Run the command several times in a row and discard the first few runs, so that you are measuring a typical "hot cache" case.
uk: Віддайте цю команду декілька разів послідовно і відкиньте результати перших декількох запусків, щоб виміряти типовий випадок із «гарячим кешем».

note: type: textblock
en: This command starts up the libguestfs appliance on the named disk image or libvirt guest, performs libguestfs inspection on it (see L<guestfs(3)/INSPECTION>), mounts the guest’s disks, then discards all these results and shuts down.
uk: Ця команда запускає базову систему libguestfs для іменованого образу диска або гостьової системи libvirt, виконує її інспектування за допомогою libguestfs (див. L<guestfs(3)/ІНСПЕКТУВАННЯ>), монтує диски гостьової системи, а потім відкидає усі ці результати і завершує роботу.

note: type: textblock
en: The first time you run the command, it will create an appliance and cache it (usually under F</var/tmp/.guestfs-*>).  Subsequent runs should reuse the cached appliance.
uk: Під час першого виконання команди програма створить базову систему і виконає її кешування (зазвичай, у F</var/tmp/.guestfs-*>). Під час наступних запусків програма просто повторно використовуватиме кешовану базову систему.

note: type: textblock
en: You should expect times which are E<le> 5 seconds greater than measured in the first baseline test above.  (For example, if the first baseline test ran in 5 seconds, then this test should run in E<le> 10 seconds).
uk: Слід очікувати на тривалість виконання, яка на E<le> 5 секунд перевищує виміряну у першому базовому тесті вище. (Наприклад, якщо перший базовий тест було виконано за 5 секунд, цей тест має виконуватися за E<le> 10 секунд.)

note: type: =head1
en: UNDERSTANDING THE APPLIANCE AND WHEN IT IS BUILT/CACHED
uk: ДОКЛАДНІШЕ ПРО БАЗОВУ СИСТЕМУ ТА ПРО ТЕ, КОЛИ ЇЇ ЗБИРАЮТЬ ТА КОЛИ ВОНА ПОТРАПЛЯЄ ДО КЕШУ

note: type: textblock
en: The first time you use libguestfs, it will build and cache an appliance.  This is usually in F</var/tmp/.guestfs-*>, unless you have set C<$TMPDIR> or C<$LIBGUESTFS_CACHEDIR> in which case it will be under that temporary directory.
uk: Під час першої спроби скористатися libguestfs бібліотека збирає і надсилає до кешу базову систему. Зазвичай, така базова система має адресу F</var/tmp/.guestfs-*>, якщо вами не було встановлено значень для змінних середовища C<$TMPDIR> або C<$LIBGUESTFS_CACHEDIR>. Якщо було встановлено такі значення, базова система зберігатиметься у відповідному тимчасовому каталозі.

note: type: textblock
en: For more information about how the appliance is constructed, see L<supermin(1)/SUPERMIN APPLIANCES>.
uk: Щоб дізнатися більше про побудову базової системи, див. L<supermin(1)/БАЗОВІ СИСТЕМИ SUPERMIN>.

note: type: textblock
en: Every time libguestfs runs it will check that no host files used by the appliance have changed.  If any have, then the appliance is rebuilt.  This usually happens when a package is installed or updated on the host (eg. using programs like C<yum> or C<apt-get>).  The reason for reconstructing the appliance is security: the new program that has been installed might contain a security fix, and so we want to include the fixed program in the appliance automatically.
uk: Під час кожного запуску libguestfs намагається визначити, чи не було змінено якість файли основної системи, які використовуються базовою системою. Якщо було змінено хоч один такий файл, базову систему буде перезібрано. Таке, зазвичай, трапляється, якщо у основній системі встановлюється або оновлюється якийсь пакунок (наприклад, за допомогою програм, подібних до C<yum> або C<apt-get>). Причиною повторного збирання базової системи є забезпечення захисту: нова програма, яку було встановлено, може містити виправлення захисту, тому нам варто включити виправлену програму до базової системи автоматично.

note: type: textblock
en: These are the performance implications:
uk: Ось речі, які пов'язано із швидкодією:

note: type: textblock
en: The process of building (or rebuilding) the cached appliance is slow, and you can avoid this happening by using a fixed appliance (see below).
uk: Процес побудови (або повторної побудови) кешованої базової системи є повільним. Ви можете уникнути його, якщо скористаєтеся фіксованою базовою системою (див. нижче).

note: type: textblock
en: If not using a fixed appliance, be aware that updating software on the host will cause a one time rebuild of the appliance.
uk: Якщо ви не користуєтеся фіксованою базовою системою, майте на увазі, що оновлення програмного забезпечення основної системи призведе до одноразового повторного збирання базової системи.

note: type: textblock
en: F</var/tmp> (or C<$TMPDIR>, C<$LIBGUESTFS_CACHEDIR>) should be on a fast disk, and have plenty of space for the appliance.
uk: F</var/tmp> (або C<$TMPDIR>, C<$LIBGUESTFS_CACHEDIR>) має зберігатися на швидкому диску і мати достатньо місця для базової системи.

note: type: =head1
en: USING A FIXED APPLIANCE
uk: ВИКОРИСТАННЯ ФІКСОВАНОЇ БАЗОВОЇ СИСТЕМИ

note: type: textblock
en: To fully control when the appliance is built, you can build a fixed appliance.  This appliance should be stored on a fast local disk.
uk: Щоб мати повний контроль над тим, коли збирається базова система, ви можете зібрати фіксовану базову систему. Ця базова система має зберігатися на швидкому локальному диску.

note: type: textblock
en: To build the appliance, run the command:
uk: Щоб зібрати образ системи для розгортання, віддайте таку команду:

note: type: verbatim
en:  libguestfs-make-fixed-appliance <directory>
uk:  libguestfs-make-fixed-appliance <каталог>

note: type: textblock
en: replacing C<E<lt>directoryE<gt>> with the name of a directory where the appliance will be stored (normally you would name a subdirectory, for example: F</usr/local/lib/guestfs/appliance> or F</dev/shm/appliance>).
uk: замінивши рядок C<E<lt>каталогE<gt>> на назву каталогу, у якому зберігатиметься базова система (зазвичай, вам слід вказати підкаталог, наприклад: F</usr/local/lib/guestfs/appliance> або F</dev/shm/appliance>).

note: type: textblock
en: Then set C<$LIBGUESTFS_PATH> (and ensure this environment variable is set in your libguestfs program), or modify your program so it calls C<guestfs_set_path>.  For example:
uk: Далі, встановіть значення для C<$LIBGUESTFS_PATH> (і переконайтеся, що цю змінну середовища встановлено у вашій програмі libguestfs) або внесіть зміни до вашої програми так, щоб вона викликала C<guestfs_set_path>. Приклад:

note: type: textblock
en: Now you can run libguestfs programs, virt tools, guestfish etc. as normal.  The programs will use your fixed appliance, and will not ever build, rebuild, or cache their own appliance.
uk: Тепер ви можете запускати програми libguestfs, засоби віртуалізації, guestfish тощо у звичний спосіб. Програми використовуватимуть вашу фіксовану базову систему і ніколи не збиратимуть, не перезбиратимуть і не кешуватимуть власну базову систему.

note: type: textblock
en: (For detailed information on this subject, see: L<libguestfs-make-fixed-appliance(1)>).
uk: (Докладніші відомості з цієї теми можна знайти тут: L<libguestfs-make-fixed-appliance(1)>).

note: type: =head2
en: Performance of the fixed appliance
uk: Швидкодія фіксованої базової системи

note: type: textblock
en: In our testing we did not find that using a fixed appliance gave any measurable performance benefit, even when the appliance was located in memory (ie. on F</dev/shm>).  However there are two points to consider:
uk: Наші тестування показали, що використання фіксованої базової системи не дає ніяких помітних переваг у швидкодії, навіть якщо розташувати базову систему у оперативній пам'яті (тобто на пристрої F</dev/shm>). Втім, слід зважити ось на що:

note: type: textblock
en: Using a fixed appliance stops libguestfs from ever rebuilding the appliance, meaning that libguestfs will have more predictable start-up times.
uk: Використання фіксованої базової системи запобігатиме спробам libguestfs повторно зібрати базову систему, що означатиме, що тривалість запуску libguestfs буде легше передбачити.

note: type: textblock
en: The appliance is loaded on demand.  A simple test such as:
uk: Базова система завантажується на вимогу. Простий тест, наприклад такий:

note: type: textblock
en: does not load very much of the appliance.  A real libguestfs program using complicated API calls would demand-load a lot more of the appliance.  Being able to store the appliance in a specified location makes the performance more predictable.
uk: не дуже навантажує базову систему. Справжня програма libguestfs, де використовуватимуться складні виклики програмного інтерфейсу, навантажуватиме базову систему набагато більше. Можливість зберігати базову систему у вказаному місці робить швидкодію значно передбачуванішою.

note: type: =head1
en: REDUCING THE NUMBER OF TIMES THE APPLIANCE IS LAUNCHED
uk: ЗМЕНШЕННЯ КІЛЬКОСТІ ЗАПУСКІВ БАЗОВОЇ СИСТЕМИ

note: type: textblock
en: By far the most effective, though not always the simplest way to get good performance is to ensure that the appliance is launched the minimum number of times.  This will probably involve changing your libguestfs application.
uk: Набагато ефективнішим, але не завжди найпростішим способом дістати добру швидкодію є забезпечення якомога меншої кількості запусків базової системи. Це, ймовірно, включає внесення змін до самої вашої програми libguestfs.

note: type: textblock
en: Try to call C<guestfs_launch> at most once per target virtual machine or disk image.
uk: Намагайтеся викликати C<guestfs_launch> не більше одного разу на одну віртуальну машину або образ диска.

note: type: textblock
en: Instead of using a separate instance of L<guestfish(1)> to make a series of changes to the same guest, use a single instance of guestfish and/or use the guestfish I<--listen> option.
uk: Замість використання окремого екземпляра L<guestfish(1)> для внесення змін до тієї самої гостьової системи, скористайтеся єдиним екземпляром guestfish і/або використовуйте параметр guestfish I<--listen>.

note: type: textblock
en: Consider writing your program as a daemon which holds a guest open while making a series of changes.  Or marshal all the operations you want to perform before opening the guest.
uk: Спробуйте написати вашу програму у формі фонової служби, яка підтримує зв'язок із гостьовою системою відкритим протягом усього сеансу внесення послідовності змін. Крім того, можете скерувати усі дії, які ви хочете виконати, до відкриття зв'язку із гостьовою системою.

note: type: textblock
en: You can also try adding disks from multiple guests to a single appliance.  Before trying this, note the following points:
uk: Ви також можете спробувати додавати диски з декількох гостьових систем до єдиної базової системи. Перш ніж намагатися це зробити, врахуйте ось що:

note: type: textblock
en: Adding multiple guests to one appliance is a security problem because it may allow one guest to interfere with the disks of another guest.  Only do it if you trust all the guests, or if you can group guests by trust.
uk: Додавання декількох гостьових системи до однієї базової системи створює проблему із захистом, оскільки може уможливити для однієї гостьової системи втручання до дисків іншої гостьової системи. Робіть це, лише якщо ви довіряєте усім гостьовим системам або якщо ви можете згрупувати гостьові системи за рівнем довіри.

note: type: textblock
en: There is a hard limit to the number of disks you can add to a single appliance.  Call L<guestfs(3)/guestfs_max_disks> to get this limit.  For further information see L<guestfs(3)/LIMITS>.
uk: Існує жорстке обмеження для кількості дисків, які ви можете додати до однієї базової системи. Щоб отримати максимальне можливе значення, скористайтеся викликом L<guestfs(3)/guestfs_max_disks>. Докладнішу інформацію можна знайти у розділі L<guestfs(3)/ОБМЕЖЕННЯ>.

note: type: textblock
en: Using libguestfs this way is complicated.  Disks can have unexpected interactions: for example, if two guests use the same UUID for a filesystem (because they were cloned), or have volume groups with the same name (but see C<guestfs_lvm_set_filter>).
uk: Використання libguestfs у цей спосіб є ускладненим. Диски можуть взаємодіяти у несподіваний спосіб: наприклад, якщо у двох гостьових системах використовуються однакові UUID для файлової системи (оскільки ці системи було клоновано) або існують групи томів із однаковими назвами (але див. C<guestfs_lvm_set_filter>).

note: type: textblock
en: L<virt-df(1)> adds multiple disks by default, so the source code for this program would be a good place to start.
uk: L<virt-df(1)>, типово, додає одразу декілька дисків, тому код цієї програми є чудовим прикладом для ваших власних розробок.

note: type: =head1
en: SHORTENING THE TIME TAKEN FOR INSPECTION OF VMs
uk: СКОРОЧЕННЯ ЧАСУ, ПОТРІБНОГО ДЛЯ ІНСПЕКТУВАННЯ ВІРТУАЛЬНИХ МАШИН

note: type: textblock
en: The main advice is obvious: Do not perform inspection (which is expensive) unless you need the results.
uk: Основна порада очевидна: не виконуйте інспектування (це дуже витратна операція), якщо вам не потрібні його результати.

note: type: textblock
en: If you previously performed inspection on the guest, then it may be safe to cache and reuse the results from last time.
uk: Якщо гостьова система інспектується декілька разів, варто створити кеш результатів першого інспектування і повторно скористатися ними для наступних дій.

note: type: textblock
en: Some disks don’t need to be inspected at all: for example, if you are creating a disk image, or if the disk image is not a VM, or if the disk image has a known layout.
uk: Деякі диски взагалі не потребують інспектування. Наприклад, якщо ви створюєте образ диска, або якщо образ диска не є віртуальною машиною, або якщо образ диска має заздалегідь відоме компонування.

note: type: textblock
en: Even when basic inspection (C<guestfs_inspect_os>) is required, auxiliary inspection operations may be avoided:
uk: Навіть якщо базове інспектування (C<guestfs_inspect_os>) є обов'язковим, можна обійтися без допоміжних операцій з інспектування:

note: type: textblock
en: Mounting disks is only necessary to get further filesystem information.
uk: Монтування дисків є необхідним, лише якщо потрібно отримати докладніші дані щодо файлової системи.

note: type: textblock
en: Listing applications (C<guestfs_inspect_list_applications>) is an expensive operation on Linux, but almost free on Windows.
uk: Отримання списку програм (C<guestfs_inspect_list_applications>) є витратною операцією для Linux, яка, втім, виконується дуже швидко для Windows.

note: type: textblock
en: Generating a guest icon (C<guestfs_inspect_get_icon>) is cheap on Linux but expensive on Windows.
uk: Створення піктограми гостьової системи (C<guestfs_inspect_get_icon>) виконується дуже швидко для Linux, але є витратною операцією для Windows.

note: type: =head1
en: PARALLEL APPLIANCES
uk: ПАРАЛЕЛЬНІ БАЗОВІ СИСТЕМИ

note: type: textblock
en: Libguestfs appliances are mostly I/O bound and you can launch multiple appliances in parallel.  Provided there is enough free memory, there should be little difference in launching 1 appliance vs N appliances in parallel.
uk: Базові системи libguestfs є здебільшого зв'язками введення-виведення даних, отже ви можете паралельно запускати одразу декілька базових систем.  Якщо у основній системі достатньо багато вільної оперативної пам'яті, між запуском 1 базової системи і паралельним запуском багатьох базових систем відмінність є незначною.

note: type: textblock
en: On a 2-core (4-thread) laptop with 16 GB of RAM, using the (not especially realistic) test Perl script below, the following plot shows excellent scalability when running between 1 and 20 appliances in parallel:
uk: На 2-ядерному (4 потоки обробки) ноутбуці із 16 ГБ оперативної пам'яті, використання (не дуже реалістичного) тестового скрипту мовою Perl, наведеного нижче, дало вказані нижче результати, які свідчать про чудову масштабованість у запуску 1 базової системи і паралельному запуску 20 базових систем:

note: type: verbatim
en:   12 ++---+----+----+----+-----+----+----+----+----+---++
         +    +    +    +    +     +    +    +    +    +    *
         |                                                  |
         |                                               *  |
      11 ++                                                ++
         |                                                  |
         |                                                  |
         |                                          *  *    |
      10 ++                                                ++
         |                                        *         |
         |                                                  |
     s   |                                                  |
       9 ++                                                ++
     e   |                                                  |
         |                                     *            |
     c   |                                                  |
       8 ++                                  *             ++
     o   |                                *                 |
         |                                                  |
     n 7 ++                                                ++
         |                              *                   |
     d   |                           *                      |
         |                                                  |
     s 6 ++                                                ++
         |                      *  *                        |
         |                   *                              |
         |                                                  |
       5 ++                                                ++
         |                                                  |
         |                 *                                |
         |            * *                                   |
       4 ++                                                ++
         |                                                  |
         |                                                  |
         +    *  * *    +    +     +    +    +    +    +    +
       3 ++-*-+----+----+----+-----+----+----+----+----+---++
         0    2    4    6    8     10   12   14   16   18   20
                   number of parallel appliances
uk:   12 ++---+----+----+----+-----+----+----+----+----+---++
         +    +    +    +    +     +    +    +    +    +    *
         |                                                  |
         |                                               *  |
      11 ++                                                ++
         |                                                  |
         |                                                  |
         |                                          *  *    |
      10 ++                                                ++
         |                                        *         |
         |                                                  |
     s   |                                                  |
       9 ++                                                ++
     e   |                                                  |
         |                                     *            |
     c   |                                                  |
       8 ++                                  *             ++
     o   |                                *                 |
         |                                                  |
     n 7 ++                                                ++
         |                              *                   |
     d   |                           *                      |
         |                                                  |
     s 6 ++                                                ++
         |                      *  *                        |
         |                   *                              |
         |                                                  |
       5 ++                                                ++
         |                                                  |
         |                 *                                |
         |            * *                                   |
       4 ++                                                ++
         |                                                  |
         |                                                  |
         +    *  * *    +    +     +    +    +    +    +    +
       3 ++-*-+----+----+----+-----+----+----+----+----+---++
         0    2    4    6    8     10   12   14   16   18   20
                   кількість паралельних базових систем

note: type: textblock
en: It is possible to run many more than 20 appliances in parallel, but if you are using the libvirt backend then you should be aware that out of the box libvirt limits the number of client connections to 20.
uk: Можна запустити і набагато більше за 20 базових систем паралельно, але вам слід мати на увазі, що якщо ви використовуєте модуль обробки libvirt, типово, libvirt обмежує кількість з'єднань із клієнтами двадцятьма.

note: type: textblock
en: The simple Perl script below was used to collect the data for the plot above, but there is much more information on this subject, including more advanced test scripts and graphs, available in the following blog postings:
uk: Для отримання даних, наведених на рисунку вище, було використано простий скрипт мовою Perl, наведений нижче. Втім, набагато більше відомостей з цього питання, зокрема досконаліші скрипти для тестування та графіки, можна знайти у наступних дописах у блогах:

note: type: verbatim
en:      # You could add some work for libguestfs to do here.
uk:      # Тут можна виконати якісь завдання за допомогою libguestfs.

note: type: verbatim
en:  # Get everything into cache.
     test (); test (); test ();
uk:  # Отримати усе до кешу.
     test (); test (); test ();

note: type: =head1
en: USING USER-MODE LINUX
uk: ВИКОРИСТАННЯ USER-MODE LINUX

note: type: textblock
en: Since libguestfs 1.24, it has been possible to use the User-Mode Linux (uml) backend instead of KVM (see L<guestfs(3)/USER-MODE LINUX BACKEND>).  This section makes some general remarks about this backend, but it is B<highly advisable> to measure your own workload under UML rather than trusting comments or intuition.
uk: Починаючи з libguestfs 1.24, стало можливим використання модуля обробки User-Mode Linux (uml) замість KVM (див. L<guestfs(3)/МОДУЛЬ USER-MODE LINUX>). У цьому розділі наведено деякі загальні зауваження щодо цього модуля, але ми B<наполегливо рекомендуємо> вам виміряти навантаження з UML у вашій системі, а не сліпо довірятися коментарям або інтуїції.

note: type: textblock
en: UML usually performs the same or slightly slower than KVM, on baremetal.
uk: UML, зазвичай, працює із тією самою швидкістю, що і KVM, або трохи повільніше на типовій системі.

note: type: textblock
en: However UML often performs the same under virtualization as it does on baremetal, whereas KVM can run much slower under virtualization (since hardware virt acceleration is not available).
uk: Втім, UML часто працює так само швидко в умовах віртуалізації, як і у звичайному апаратному середовищі, тоді як KVM може працювати набагато повільніше в умовах віртуалізації (оскільки там недоступне апаратне прискорення віртуалізації).

note: type: textblock
en: Upload and download is as much as 10 times slower on UML than KVM.  Libguestfs sends this data over the UML emulated serial port, which is far less efficient than KVM’s virtio-serial.
uk: Вивантаження і отримання даних у UML удесятеро повільніше за такі самі операції у KVM. Libguestfs надсилає дані крізь емульований послідовний порт UML, який є набагато менш ефективним за virtio-serial у KVM.

note: type: textblock
en: UML lacks some features (eg. qcow2 support), so it may not be applicable at all.
uk: В UML недоступні деякі можливості (наприклад, підтримка qcow2), тому іноді цей варіант взагалі не є придатним.

note: type: textblock
en: For some actual figures, see: L<http://rwmj.wordpress.com/2013/08/14/performance-of-user-mode-linux-as-a-libguestfs-backend/#content>
uk: Самі графіки можна знайти тут: L<http://rwmj.wordpress.com/2013/08/14/performance-of-user-mode-linux-as-a-libguestfs-backend/#content>

note: type: =head1
en: TROUBLESHOOTING POOR PERFORMANCE
uk: БОРОТЬБА ІЗ ПРОБЛЕМАМИ ЗІ ШВИДКОДІЄЮ

note: type: =head2
en: Ensure hardware virtualization is available
uk: Переконайтеся, що увімкнено апаратну віртуалізацію

note: type: textblock
en: Use F</proc/cpuinfo> to ensure that hardware virtualization is available.  Note that you may need to enable it in your BIOS.
uk: Скористайтеся командою F</proc/cpuinfo>, щоб переконатися, що апаратна віртуалізація доступна. Зауважте, що, можливо, апаратну віртуалізацію слід увімкнути у BIOS.

note: type: textblock
en: Hardware virt is not usually available inside VMs, and libguestfs will run slowly inside another virtual machine whatever you do.  Nested virtualization does not work well in our experience, and is certainly no substitute for running libguestfs on baremetal.
uk: Усередині віртуальних машин апаратна віртуалізація зазвичай недоступна, тому, щоб ви не робили, у віртуальній машині libguestfs працюватиме повільно. Наш досвід свідчить про те, що вкладена віртуалізація працює погано, і, напевне, альтернативи запуску libguestfs у основній системі немає.

note: type: =head2
en: Ensure KVM is available
uk: Переконайтеся, що KVM є доступним

note: type: textblock
en: Ensure that KVM is enabled and available to the user that will run libguestfs.  It should be safe to set 0666 permissions on F</dev/kvm> and most distributions now do this.
uk: Переконайтеся, що KVM увімкнено і доступний користувачеві, який запускає libguestfs. Безпечним є встановлення прав доступу 0666 для F</dev/kvm>, як це робиться у більшості сучасних дистрибутивів.

note: type: =head2
en: Processors to avoid
uk: Процесори, яких слід уникати

note: type: textblock
en: Avoid processors that don’t have hardware virtualization, and some processors which are simply very slow (AMD Geode being a great example).
uk: Не використовуйте процесори, у яких немає апаратної віртуалізації, та процесорів, які просто дуже повільні (чудовим прикладом такого процесора є AMD Geode).

note: type: textblock
en: In Xen, dom0 is a virtual machine, and so hardware virtualization is not available.
uk: У Xen dom0 є віртуальною машиною, отже на ньому апаратна віртуалізація недоступна.

note: type: =head2
en: Use libguestfs E<ge> 1.34 and qemu E<ge> 2.7
uk: Скористайтеся libguestfs E<ge> 1.34 і qemu E<ge> 2.7

note: type: textblock
en: During the libguestfs 1.33 development cycle, we spent a large amount of time concentrating on boot performance, and added some patches to libguestfs, qemu and Linux which in some cases can reduce boot times to well under 1 second.  You may therefore get much better performance by moving to the versions of libguestfs or qemu mentioned in the heading.
uk: Під час циклу розробки libguestfs 1.33 ми приділяли багато часу швидкодії, зосередившись на швидкості завантаження, і додали декілька латок до libguestfs, qemu та Linux, що у певних випадках зменшило час завантаження до значень, менших за 1 секунду. Тому, ви можете спостерігати набагато швидшу роботу версій libguestfs та qemu, згаданих у заголовку розділу.

note: type: =head1
en: DETAILED ANALYSIS
uk: ДОКЛАДНИЙ АНАЛІЗ

note: type: =head2
en: Boot analysis
uk: Аналіз завантаження

note: type: textblock
en: In L<https://github.com/libguestfs/libguestfs-analysis-tools> is a program called C<boot-analysis>.  This program is able to produce a very detailed breakdown of the boot steps (eg. qemu, BIOS, kernel, libguestfs init script), and can measure how long it takes to perform each step.
uk: У L<https://github.com/libguestfs/libguestfs-analysis-tools> можна знайти програму, яка називається C<boot-analysis>. Ця програма може виводити дуже докладні дані щодо кроків завантаження (наприклад, qemu, BIOS, ядра, скрипту ініціалізації libguestfs) і вимірювати тривалість виконання кожного з кроків.

note: type: =head2
en: Detailed timings using ts
uk: Докладний таймінг з використанням ts

note: type: textblock
en: Use the L<ts(1)> command (from moreutils) to show detailed timings:
uk: Скористайтеся програмою L<ts(1)> (з moreutils), щоб переглянути докладну картину:

note: type: textblock
en: The timestamps are seconds (incrementally since the previous line).
uk: Часові позначки вказано у секундах (з нарощуванням щодо попереднього рядка).

note: type: =head2
en: Detailed timings using SystemTap
uk: Докладний таймінг з використанням SystemTap

note: type: textblock
en: You can use SystemTap (L<stap(1)>) to get detailed timings from libguestfs programs.
uk: Для отримання докладної інформації щодо часових параметрів обробки у програмах libguestfs можете скористатися SystemTap (L<stap(1)>).

note: type: textblock
en: Save the following script as F<time.stap>:
uk: Збережіть такий скрипт із назвою F<time.stap>:

note: type: verbatim
en:  /* Display all calls to static markers. */
     probe process("/usr/lib*/libguestfs.so.0")
               .provider("guestfs").mark("*") ? {
           display_time();
           printf ("\t%s %s\n", $$name, $$parms);
     }
uk:  /* Показати усі виклики статичних маркерів. */
     probe process("/usr/lib*/libguestfs.so.0")
               .provider("guestfs").mark("*") ? {
           display_time();
           printf ("\t%s %s\n", $$name, $$parms);
     }

note: type: verbatim
en:  /* Display all calls to guestfs_* functions. */
     probe process("/usr/lib*/libguestfs.so.0")
               .function("guestfs_[a-z]*") ? {
           display_time();
           printf ("\t%s %s\n", probefunc(), $$parms);
     }
uk:  /* Показати усі виклики функцій guestfs_*. */
     probe process("/usr/lib*/libguestfs.so.0")
               .function("guestfs_[a-z]*") ? {
           display_time();
           printf ("\t%s %s\n", probefunc(), $$parms);
     }

note: type: textblock
en: Run it as root in one window:
uk: Запустіть його у одному вікні від імені користувача root:

note: type: textblock
en: It prints "ready" when SystemTap has loaded the program.  Run your libguestfs program, guestfish or a virt tool in another window.  For example:
uk: Скрипт виведе рядок «ready», коли SystemTap завантажить програму. Запустіть вашу програму libguestfs, guestfish або програму засобів віртуалізації у іншому вікні. Приклад:

note: type: textblock
en: In the stap window you will see a large amount of output, with the time taken for each step shown (microseconds in parenthesis).  For example:
uk: У вікні stap ви побачити багато даних, зокрема, буде показано дані щодо часу, потрібного на виконання кожного з кроків (у форматі кількості мілісекунд у дужках). Приклад:

note: type: textblock
en: You will need to consult, and even modify, the source to libguestfs to fully understand the output.
uk: Вам слід звернутися до початкового коду libguestfs або навіть трохи змінити його, щоб повністю розібратися у виведених даних.

note: type: =head2
en: Detailed debugging using gdb
uk: Докладна діагностика з використанням gdb

note: type: textblock
en: You can attach to the appliance BIOS/kernel using gdb.  If you know what you're doing, this can be a useful way to diagnose boot regressions.
uk: Ви можете керувати BIOS або ядром базової системи за допомогою gdb. Якщо ви добре знаєтеся на процесі діагностики за допомогою gdb, це може бути корисним інструментом для виявлення і усування регресій у процесі завантаження.

note: type: textblock
en: Firstly, you have to change qemu so it runs with the C<-S> and C<-s> options.  These options cause qemu to pause at boot and allow you to attach a debugger.  Read L<qemu(1)> for further information.  Libguestfs invokes qemu several times (to scan the help output and so on) and you only want the final invocation of qemu to use these options, so use a qemu wrapper script like this:
uk: По-перше, вам слід змінити qemu так, щоб програма запускалася із параметрами C<-S> і C<-s>. Ці параметри наказують qemu призупинити процес завантаження і уможливити долучення до нього засобу діагностики. Щоб дізнатися більше, ознайомтеся із підручником щодо L<qemu(1)>. Libguestfs викликає qemu декілька разів (для сканування допоміжних виведених даних тощо). Вам потрібен лише кінцевий виклик qemu, тому скористайтеся скриптом-обгорткою, подібним до такого:

note: type: verbatim
en:  # Set this to point to the real qemu binary.
     qemu=/usr/bin/qemu-kvm
uk:  # Встановіть значення, яке вказуватиме на справжній виконуваний файл qemu.
     qemu=/usr/bin/qemu-kvm

note: type: textblock
en: Now run guestfish or another libguestfs tool with the qemu wrapper (see L<guestfs(3)/QEMU WRAPPERS> to understand what this is doing):
uk: Далі, запустіть guestfish або інший інструмент libguestfs із обгорткою qemu (див. L<guestfs(3)/ОБГОРТКИ QEMU>, щоб зрозуміти, які дії виконуються):

note: type: verbatim
en:  LIBGUESTFS_HV=/path/to/qemu-wrapper guestfish -a /dev/null -v run
uk:  LIBGUESTFS_HV=/шлях/до/qemu-wrapper guestfish -a /dev/null -v run

note: type: textblock
en: This should pause just after qemu launches.  In another window, attach to qemu using gdb:
uk: Виконання має призупинитися після запуску qemu. У іншому вікні з'єднайтеся із qemu за допомогою gdb:

note: type: textblock
en: At this point you can use standard gdb techniques, eg. hitting C<^C> to interrupt the boot and C<bt> get a stack trace, setting breakpoints, etc.  Note that when you are past the BIOS and into the Linux kernel, you'll want to change the architecture back to 32 or 64 bit.
uk: Після цього ви можете використовувати стандартні методики gdb, наприклад, натискати C<^C>, щоб перервати завантаження, або C<bt>, щоб отримати трасування стека, встановлювати точки зупину тощо. Зауважте, що після проходження BIOS і потрапляння до ядра Linux вам варто знову змінити архітектуру на 32 або 64-бітову.

note: type: =head1
en: PERFORMANCE REGRESSIONS IN OTHER PROGRAMS
uk: ПРОБЛЕМИ ЗІ ШВИДКОДІЄЮ У ІНШИХ ПРОГРАМАХ

note: type: textblock
en: Sometimes performance regressions happen in other programs (eg. qemu, the kernel) that cause problems for libguestfs.
uk: Іноді регресії у швидкодії трапляються у інших програмах (наприклад, у qemu або ядрі системи), що спричиняє проблеми і у libguestfs.

note: type: textblock
en: In L<https://github.com/libguestfs/libguestfs-analysis-tools> F<boot-benchmark/boot-benchmark-range.pl> is a script which can be used to benchmark libguestfs across a range of git commits in another project to find out if any commit is causing a slowdown (or speedup).
uk: У L<https://github.com/libguestfs/libguestfs-analysis-tools> F<boot-benchmark/boot-benchmark-range.pl> є скриптом, яким можна скористатися для вимірювання параметрів роботи libguestfs на діапазоні внесків git у іншому проєкті, щоб визначити внесок, який спричинив уповільнення роботи (або її пришвидшення).

note: type: textblock
en: To find out how to use this script, consult the manual:
uk: Щоб дізнатися більше про те, як користуватися цим скриптом, зверніться до підручника:

note: type: textblock
en: We break with tradition here and don’t use ALL CAPS for the section headings, as this makes them much easier to read.
uk: Тут ми порушили традицію і не писали заголовки розділів великими літерами, оскільки це значно полегшує читання заголовків.

note: type: textblock
en: guestfs-recipes - libguestfs, guestfish and virt tools recipes
uk: guestfs-recipes — рецепти для libguestfs, guestfish та інструментів віртуалізації

note: type: textblock
en: This page contains recipes for and links to things you can do using libguestfs, L<guestfish(1)> and the virt tools.
uk: На цій сторінці містяться рецепти і посилання на сторінки із описом дій, які можна виконати за допомогою libguestfs, L<guestfish(1)> та інших засобів віртуалізації.

note: type: =head1
en: Access a remote disk image using guestfish
uk: Доступ до віддаленого образу диска за допомогою guestfish

note: type: textblock
en: If the disk image is on a remote server which is accessible using SSH, HTTP, FTP, NBD, iSCSI, or similar, then you can open it directly.  See L<guestfish(1)/ADDING REMOTE STORAGE> for several examples.  This requires libguestfs E<ge> 1.22 and qemu E<ge> 1.5.
uk: Якщо образ диска зберігається на віддаленому сервері, доступ до якого здійснюється за допомогою SSH, HTTP, FTP, NBD, iSCSI або подібного протоколу, ви можете відкрити його безпосередньо. Приклади наведено у розділі L<guestfish(1)/ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>. Цю можливість реалізовано у libguestfs E<ge> 1.22 та qemu E<ge> 1.5.

note: type: =head1
en: Audit a virtual machine for setuid files
uk: Аудит віртуальної машини щодо файлів із setuid

note: type: =head1
en: Audit a virtual machine for vulnerabilities and security problems
uk: Аудит віртуальної машини щодо вразливостей і проблем захисту

note: type: textblock
en: See: L<https://rwmj.wordpress.com/2013/05/16/scanning-offline-guests-using-openscap-and-guestmount/#content>
uk: Див. L<https://rwmj.wordpress.com/2013/05/16/scanning-offline-guests-using-openscap-and-guestmount/#content>

note: type: =head1
en: Change the background image in a Windows XP VM
uk: Зміна зображення тла у віртуальній машині Windows XP

note: type: textblock
en: The links below explain how to use L<guestfish(1)> to change the background image for a user of a Windows XP VM.  Unfortunately the technique appears to be substantially different for each version of Windows.
uk: За наведеними нижче посиланнями можна знайти опис використання L<guestfish(1)> для зміни зображення тла для користувача віртуальної машини Windows XP. На жаль, у різних версіях Windows методика досягнення аналогічного результату є різною.

note: type: =head1
en: Checksum a file or device within a disk image
uk: Створення контрольної суми файла або пристрою всередині образу диска

note: type: textblock
en: To checksum a whole device, or a partition, LV etc within a disk image:
uk: Щоб створити контрольну суму усього пристрою, розділу, логічного тому всередині образу диска, скористайтеся командою:

note: type: verbatim
en:  guestfish --ro -a disk.img run : checksum-device md5 /dev/sda1
uk:  guestfish --ro -a диск.img run : checksum-device md5 /dev/sda1

note: type: textblock
en: Replace C<md5> with the type of checksum you want.  See L<guestfs(3)/guestfs_checksum_device> for a list of supported types.
uk: Замініть C<md5> на тип потрібної вам контрольної суми. Список підтримуваних типів можна знайти у розділі L<guestfs(3)/guestfs_checksum_device>.

note: type: textblock
en: F</dev/sda1> means "the first partition".  You could use F</dev/sda> to checksum the whole disk image, or the name of a logical volume or RAID device.
uk: F</dev/sda1> означає «перший розділ». Ви можете скористатися F</dev/sda>, щоб обчислити контрольну суму всього образу диска, або вказати назву логічного тому або пристрою RAID.

note: type: textblock
en: To checksum a single file:
uk: Створення контрольної суми для окремого файла:

note: type: verbatim
en:  guestfish --ro -a disk.img -i checksum sha256 /etc/passwd
uk:  guestfish --ro -a диск.img -i checksum sha256 /etc/passwd

note: type: textblock
en: or for a Windows guest:
uk: або для гостьової системи Windows:

note: type: verbatim
en:  guestfish --ro -a disk.img -i \
       checksum sha256 'win:\windows\system32\config\SOFTWARE'
uk:  guestfish --ro -a диск.img -i \
       checksum sha256 'win:\windows\system32\config\SOFTWARE'

note: type: =head1
en: Cloning a virtual machine
uk: Клонування віртуальної машини

note: type: textblock
en: Use a combination of tools like L<cp(1)>, L<dd(1)>, and virt tools like L<virt-sysprep(1)>, L<virt-sparsify(1)> and L<virt-resize(1)>.
uk: Скористайтеся комбінацією інструментів, подібних до L<cp(1)>, L<dd(1)>, та інструментами віртуалізації, зокрема L<virt-sysprep(1)>, L<virt-sparsify(1)> та L<virt-resize(1)>.

note: type: textblock
en: For more details, see: L<virt-sysprep(1)/COPYING AND CLONING>.
uk: Докладніший опис у розділі L<virt-sysprep(1)/КОПІЮВАННЯ І КЛОНУВАННЯ>.

note: type: =head1
en: Convert a CD-ROM / DVD / ISO to a tarball
uk: Перетворення CD-ROM / DVD / ISO на архів tar

note: type: textblock
en: This converts input F<cd.iso> to output F<cd.tar.gz>:
uk: Ця команда перетворює F<cd.iso> на F<cd.tar.gz>:

note: type: textblock
en: To export just a subdirectory, eg. F</files>, do:
uk: Щоб експортувати підкаталог, наприклад F</files>, віддайте таку команду:

note: type: =head1
en: Convert from one format/filesystem to another
uk: Перетворення з одного формату або однієї файлової системи у інший формат

note: type: textblock
en: If you have a data disk in one format / filesystem / partition / volume manager, you can convert it another using this technique.
uk: Якщо у вас є диск із даними у одному форматі, файловій системі, на розділі або під керуванням засобу керування томами, за допомогою цієї методики ви можете перетворити ці дані у інший формат.

note: type: textblock
en: In this example, we start with a data disk that has a single partition containing a filesystem, and we want to create another disk that contains the same files but on an ext3 filesystem embedded in a logical volume on a sparse raw-format disk.
uk: У цьому прикладі ми розпочнемо з диска, на якому є один розділ із однією файловою системою. Ми створимо інший диск, який міститиме ті самі файли, але у файловій системі ext3, вбудованій у логічний том на диску у розрідженому простому (raw) форматі.

note: type: textblock
en: First create the formatted-but-empty target disk:
uk: Спочатку створіть форматований, але порожній диск призначення:

note: type: textblock
en: Now, pipe two guestfish instances together to transfer the old data to the new disk:
uk: Тепер, з'єднаємо канали обробки двох екземплярів guestfish разом для передавання старих даних на новий диск:

note: type: textblock
en: To browse the final disk image, do:
uk: Для навігації створеним остаточним образом диска скористайтеся такою командою:

note: type: textblock
en: This technique is quite powerful, allowing you for example to split up source directories over the target filesystems.
uk: Ця методика доволі потужна і надає вам змогу, наприклад, поділити початкові каталоги між файловими системами призначення.

note: type: textblock
en: Note this won’t work (at least, not directly) for bootable virtual machine disks because it doesn't copy over the boot loader.
uk: Зауважте, що це не працюватиме (принаймні безпосередньо) для завантажувальних дисків віртуальних машин, оскільки не копіюється завантажувач.

note: type: =head1
en: Convert Windows DVD to bootable USB key
uk: Перетворення DVD Windows на придатний до завантаження диск USB

note: type: =head1
en: Convert Xen-style partitionless image to partitioned disk image
uk: Перетворення образу без розділів у стилі Xen на образ диска із розділами

note: type: textblock
en: Xen disk images are often partitionless, meaning that the filesystem starts directly at the beginning of the disk with no partition table.  You can in fact use these directly in KVM (provided the guest isn't Windows), but some people like to convert them to regular partitioned disk images, and this is required for Windows guests.  Here is how to use guestfish to do this:
uk: У образах дисків Xen часто немає розділів. Це означає, що файлова система розпочинається безпосередньо на початку диска, без таблиці розділів. Ви, фактично, можете користуватися такими образами безпосередньо у KVM (якщо гостьовою системою не є Windows), але декому подобається перетворювати такі образи у образи дисків зі звичайним розподілом на розділи. Такий розподіл є обов'язковим для гостьових систем Windows. Ось як скористатися guestfish для виконання цього завдання:

note: type: verbatim
en:  guestfish
     ><fs> add-ro input.img
     ><fs> sparse output.img 10G     # adjust the output size
     ><fs> run
     # Create a partition table on the output disk:
     ><fs> part-init /dev/sdb mbr
     ><fs> part-add /dev/sdb p 2048 -2048
     # Copy the data to the target partition:
     ><fs> copy-device-to-device /dev/sda /dev/sdb1 sparse:true
     # Optionally resize the target filesystem.  Use ntfsresize
     # for Windows guests:
     ><fs> resize2fs /dev/sdb1
uk:  guestfish
     ><fs> add-ro input.img
     ><fs> sparse output.img 10G     # скоригувати розмір результату
     ><fs> run
     # Створити таблицю розділів на диску-результаті:
     ><fs> part-init /dev/sdb mbr
     ><fs> part-add /dev/sdb p 2048 -2048
     # Скопіювати дані на розділ призначення:
     ><fs> copy-device-to-device /dev/sda /dev/sdb1 sparse:true
     # Додатково змінити розмір файлової системи призначення.
     # Скористайтеся ntfsresize для гостьових систем Windows:
     ><fs> resize2fs /dev/sdb1

note: type: textblock
en: Such a disk image won’t be directly bootable.  You may need to boot it with an external kernel and initramfs (see below).  Or you can use the guestfish commands C<syslinux> or C<extlinux> to install a SYSLINUX bootloader.
uk: Такий образ диска не можна буде безпосередньо завантажити. Ймовірно, для його завантаження вам доведеться використовувати зовнішнє ядро та initramfs (див. нижче). Ви також можете скористатися командами guestfish C<syslinux> та C<extlinux> для встановлення завантажувача SYSLINUX.

note: type: =head1
en: Create empty disk images
uk: Створення порожніх образів дисків

note: type: textblock
en: The L<virt-format(1)> tool can do this directly.
uk: Програма L<virt-format(1)> може робити це безпосередньо.

note: type: textblock
en: Use L<virt-make-fs(1)> to create a disk image with content.  This can also create some standard disk images such as virtual floppy devices (VFDs).
uk: Скористайтеся L<virt-make-fs(1)> для створення образу диска з даними. Ця програма здатна також створювати деякі стандартні образи дисків, зокрема віртуальні пристрої для читання дискет (VFD).

note: type: textblock
en: You can also use the L<guestfish(1)> I<-N> option to create empty disk images.  The useful guide below explains the options available.
uk: Ви також можете скористатися параметром I<-N> L<guestfish(1)> для створення порожніх образів дисків. Корисні настанови, наведені нижче, допоможуть вам скористатися доступними варіантами.

note: type: textblock
en: L<virt-builder(1)> can create minimal guests.
uk: L<virt-builder(1)> може створювати мінімальні гостьові системи.

note: type: =head1
en: Delete a file (or other simple file operations)
uk: Вилучення файлів (або інші прості дії з файлами)

note: type: textblock
en: Use guestfish.  To delete a file:
uk: Скористайтеся guestfish. Вилучення файла:

note: type: verbatim
en:  guestfish -a disk.img -i rm /file/to/delete
uk:  guestfish -a диск.img -i rm /файл/який/слід/вилучити

note: type: textblock
en: To touch a file (bring it up to date or create it):
uk: Торкнутися файла (оновити його часову позначку або створити його):

note: type: verbatim
en:  guestfish -a disk.img -i touch /file/to/touch
uk:  guestfish -a диск.img -i touch /файл/позначку/якого/слід/оновити

note: type: textblock
en: To stat a file.  Since this is a read-only operation, we can make it safer by adding the I<--ro> flag.
uk: Отримання статистичних даних щодо файла. Оскільки для цієї дії потрібне лише читання, можна зробити її безпечнішою, додавши параметр I<--ro>.

note: type: verbatim
en:  guestfish --ro -a disk.img -i stat /file/to/stat
uk:  guestfish --ro -a диск.img -i stat /файл/який/слід/обробити

note: type: textblock
en: There are dozens of these commands.  See L<guestfish(1)> or the output of C<guestfish -h>
uk: Таких команд десятки. Див. L<guestfish(1)>  або дані, виведені командою C<guestfish -h>

note: type: =head1
en: Diff two guests; compare a snapshot to the current version
uk: Порівняти дві гостьові системи; порівняти знімок із поточною версією

note: type: textblock
en: Since libguestfs E<ge> 1.26, use L<virt-diff(1)> to look for differences between two guests (for example if they were originally cloned from the same source), or between two snapshots from the same guest.  In earlier versions of libguestfs, use L<virt-ls(1)>.
uk: Починаючи з libguestfs E<ge> 1.26, можна скористатися L<virt-diff(1)> для пошуку відмінностей між двома гостьовими системами (наприклад, якщо ці системи у початковому стані були клонами тієї самої системи) або між двома знімками однієї гостьової системи. У ранніх версіях libguestfs для цього використовувалася програма L<virt-ls(1)>.

note: type: =head1
en: Disable a systemd service
uk: Вимикання служби systemd

note: type: textblock
en: The following is the equivalent of C<systemctl mask ...>. To disable the C<cloud-init> service so it doesn't start at next boot:
uk: Наведена нижче команда є еквівалентом C<systemctl mask ...>. Щоб вимкнути службу C<cloud-init> так, щоб вона не запускалася під час наступного завантаження, віддайте таку команду:

note: type: textblock
en: To disable tmp-on-tmpfs:
uk: Щоб вимкнути tmp-on-tmpfs:

note: type: textblock
en: One problem with the commands above is there is no feedback if you get the name of the service you are trying to mask wrong.  But you can use L<virt-ls(1)> to list the available systemd services like this:
uk: Однією з проблем наведених вище команд є те, що ви не отримаєте ніякого відгуку від системи, якщо назву служби, яку ви хочете замаскувати, вказано неправильно. Але ви можете скористатися L<virt-ls(1)> для отримання списку доступних служб systemd, ось так:

note: type: =head1
en: Drive letters over FUSE
uk: Літери дисків у FUSE

note: type: textblock
en: You have a Windows guest, and you want to expose the drive letters as FUSE mountpoints (F</C/...>, F</D/...> etc).  Instead of L<guestmount(1)>, use this Perl script:
uk: Якщо ви маєте справу із гостьовою системою Windows і хочете відкрити її літерні диски як точки монтування FUSE (F</C/...>, F</D/...> тощо), замість L<guestmount(1)> скористайтеся таким скриптом мовою Perl:

note: type: textblock
en: You can use the script like this:
uk: Ви можете скористатися скриптом ось так:

note: type: textblock
en: In another window:
uk: У іншому вікні:

note: type: =head1
en: Dump raw filesystem content from inside a disk image or VM
uk: Створення дампів вмісту простої файлової системи у образі диска або ВМ

note: type: textblock
en: You can use the L<guestfish(1)> C<download> command to extract the raw filesystem content from any filesystem in a disk image or a VM (even one which is encrypted or buried inside an LV or RAID device):
uk: Ви можете скористатися командою C<download> L<guestfish(1)> для видобування вмісту простої файлової системи з будь-якої файлової системи на образі диску або у віртуальній машині (навіть зашифрованої або захованої у логічному томі або на пристрої RAID):

note: type: textblock
en: To download to stdout, replace the filename with a C<-> character:
uk: Щоб отримати дані до stdout, замініть назву файла символом C<->:

note: type: textblock
en: To list the filesystems in a disk image, use L<virt-filesystems(1)>.
uk: Для отримання списку файлових систем на образі диска скористайтеся L<virt-filesystems(1)>.

note: type: textblock
en: See also L</Uploading raw filesystem content>.
uk: Див. також L</Вивантаження даних на файлові системи без обробки>.

note: type: =head1
en: Edit grub configuration in a VM
uk: Редагувати налаштування grub у віртуальній машині

note: type: textblock
en: You can use this to:
uk: Ви можете скористатися цим для того, щоб виконати такі завдання:

note: type: textblock
en: Fix a virtual machine that does not boot.
uk: Виправити віртуальну машину, яка не завантажується.

note: type: textblock
en: Change which kernel is used to boot the VM.
uk: Змінити ядро, яке використовується для завантаження віртуальної машини.

note: type: textblock
en: Change kernel command line options.
uk: Змінити параметри командного рядка ядра.

note: type: textblock
en: Use L<virt-edit(1)> to edit the grub configuration:
uk: Для редагування налаштувань grub скористайтеся L<virt-edit(1)>:

note: type: textblock
en: or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like this:
uk: або, для загального виправлення у непридатній до завантаження віртуальній машині, скористайтеся L<virt-rescue(1)> ось так:

note: type: =head1
en: Export any directory from a VM
uk: Експортувати будь-який каталог з віртуальної машини

note: type: textblock
en: To export F</home> from a VM into a local directory use L<virt-copy-out(1)>:
uk: Щоб експортувати F</home> з віртуальної машини до локального каталогу, скористайтеся L<virt-copy-out(1)>:

note: type: textblock
en: The final dot of the command is not a printing error.  It means we want to copy out to the current directory.
uk: Кінцева крапка у команді не є друкарською помилкою. Вона означає, що ми хочемо скопіювати дані до поточного каталогу.

note: type: textblock
en: This creates a directory called C<home> under the current directory.
uk: Ця команда створить каталог із назвою C<home> у поточному каталозі.

note: type: textblock
en: If the guest is a Windows guest then you can use drive letters and backslashes, but you must prefix the path with C<win:> and quote it to protect it from the shell, like this:
uk: Якщо гостьова система є операційною системою Windows, ви можете скористатися літерами дисків та символами зворотної похилої риски, але вам слід додати до шляху префікс C<win:> і взяти його у лапки, щоб захистити від обробки командною оболонкою, ось так:

note: type: textblock
en: To get the output as a compressed tarball, do:
uk: Щоб отримати результат у форматі стисненого архіву tar, слід віддати таку команду:

note: type: textblock
en: Although it sounds tempting, this is usually not a reliable way to get a backup from a running guest.  See the entry in the FAQ: L<http://libguestfs.org/FAQ.html#backup>
uk: Хоча виникає спокуса використання цієї команди для створення резервних копій запущеної гостьової системи, не варто користуватися нею саме для цього. Докладніше про це у розділі запитань та відповідей на них: L<http://libguestfs.org/FAQ.html#backup>

note: type: =head1
en: Export external kernel and initramfs (initrd)
uk: Експортування зовнішнього ядра та initramfs (initrd)

note: type: textblock
en: If a Linux guest doesn't have a boot loader or it is broken, then you can usually boot it using an external kernel and initramfs.  In this configuration, the hypervisor acts like a bootloader, loading the kernel from the host disk into guest memory and jumping straight into the kernel.
uk: Якщо у гостьовій системі Linux немає завантажувача або завантажувач пошкоджено, ви, зазвичай, можете завантажити цю систему за допомогою зовнішнього ядра і initramfs. У такій конфігурації гіпервізор працює як завантажувач, завантажуючи ядро з диска основної системи до пам'яті гостьової системи і переходячи безпосередньо до ядра.

note: type: textblock
en: However you may wonder how to get the right kernel corresponding to the disk image you have.  Since libguestfs E<ge> 1.24 L<virt-builder(1)> can get the latest kernel and corresponding initramfs for you:
uk: Втім, у вас може виникнути питання щодо того, як отримати правильне ядро, яке відповідає образу диска, який у вас є. Починаючи з libguestfs E<ge> 1.24, L<virt-builder(1)> може отримувати найсвіжіше ядро і відповідний файл initramfs:

note: type: =head1
en: Find out which user is using the most space
uk: Визначення користувача, дані якого займають найбільше місця

note: type: textblock
en: This simple script examines a Linux guest to find out which user is using the most space in their home directory:
uk: За допомогою цього простого скрипту ви можете визначити, який із користувачів гостьової системи Linux використовує найбільше місця для даних у своєму домашньому каталозі:

note: type: =head1
en: Get DHCP address from a VM
uk: Отримання адреси DHCP з ВМ

note: type: textblock
en: The link below explains the many different possible techniques for getting the last assigned DHCP address of a virtual machine.
uk: За наведеним нижче посиланням можна знайти різноманітні методики отримання останньої призначеної адреси DHCP для віртуальної машини.

note: type: textblock
en: In the libguestfs source examples directory you will find the latest version of the F<virt-dhcp-address.c> program.
uk: Каталозі із прикладами початкових кодів libguestfs є найсвіжіша версія програми F<virt-dhcp-address.c>.

note: type: =head1
en: Get the operating system product name string
uk: Отримання рядка назви продукту операційної системи

note: type: textblock
en: Save the following script into a file called F<product-name.sh>:
uk: Збережіть наведений нижче скрипт до файла із назвою F<product-name.sh>:

note: type: textblock
en: Make the script executable and run it on a named guest:
uk: Зробіть скрипт придатним до виконання і запустіть його на іменованій гостьовій системі:

note: type: textblock
en: You can also use an XPath query on the L<virt-inspector(1)> XML using the C<xpath> command line tool or from your favourite programming language:
uk: Крім того, ви можете скористатися запитом XPath у XML L<virt-inspector(1)> за допомогою засобу командного рядка C<xpath> або з вашої улюбленої мови програмування:

note: type: =head1
en: Get the default boot kernel for a Linux VM
uk: Отримання типового ядра для завантаження для віртуальної машини Linux

note: type: textblock
en: The link below contains a program to print the default boot kernel for a Linux VM.
uk: За наведеним нижче посиланням можна знайти програму для виведення типового ядра для завантаження у віртуальній машині Linux.

note: type: textblock
en: It uses Augeas, and the technique is generally applicable for many different tasks, such as:
uk: У ній використано Augeas та методику, якою можна скористатися для виконання багатьох різних завдань, зокрема таких:

note: type: textblock
en: listing the user accounts in the guest
uk: показ списку облікових записів користувачів у гостьовій системі

note: type: textblock
en: what repositories is it configured to use
uk: показ списку сховищ, які використовуються системою

note: type: textblock
en: what NTP servers does it connect to
uk: показ списку серверів NTP, з якими з'єднано систему

note: type: textblock
en: what were the boot messages last time it booted
uk: показ списку повідомлень під час останнього сеансу завантаження системи

note: type: textblock
en: listing who was logged in recently
uk: показ списку користувачів, які входили до системи нещодавно

note: type: =head1
en: Hanging guests
uk: Повислі гостьові системи

note: type: textblock
en: There are various ways to use libguestfs to find out why a guest is hanging or unresponsive:
uk: Існують різноманітні способи скористатися libguestfs для визначення причин, чому гостьова система повисла або не відповідає на запити:

note: type: textblock
en: Read the log files using virt-cat:
uk: Читання файлів журналу за допомогою virt-cat:

note: type: textblock
en: Read the Windows Event Log (Windows Vista or later only):
uk: Читання журналу подій Windows (лише Windows Vista або новіші версії):

note: type: textblock
en: Find out which files were last updated in a guest:
uk: Визначити файли, які було нещодавно оновлено у гостьовій системі:

note: type: textblock
en: This might give you a clue as to what program is running.
uk: Це може підказати вам, яка саме програма працює.

note: type: =head1
en: Hex-dumping sectors from the guest
uk: Створення шістнадцяткових дампів секторів диска з гостьової системи

note: type: textblock
en: Hex-dump the boot partition (Master Boot Record / first sector):
uk: Створення шістнадцяткового дампу розділу завантаження (MBR / перший сектор):

note: type: verbatim
en:  guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |
       hexdump -C
uk:  guestfish --ro -a диск.img run : pread-device /dev/sda 0x200 0 |
       hexdump -C

note: type: textblock
en: (C<0x200> = 512 bytes which is the size of traditional PC sectors)
uk: (C<0x200> = 512 байтів, тобто розмір традиційних секторів PC)

note: type: textblock
en: To hexdump the N'th partition, substitute a number for C<N> in the following command:
uk: Щоб створити шістнадцятковий дамп N-го розділу, замініть C<N> на відповідне число у такій команду:

note: type: =head1
en: Hex-editing sectors in the guest
uk: Шістнадцяткове редагування секторів у гостьовій системі

note: type: textblock
en: Hex-edit the boot partition (Master Boot Record / first sector):
uk: Редагування шістнадцяткового дампу розділу завантаження (MBR / перший сектор):

note: type: verbatim
en:  guestfish --rw -a disk.img run : hexedit /dev/sda 0x200
uk:  guestfish --rw -a диск.img run : hexedit /dev/sda 0x200

note: type: =head1
en: Install packages (RPMs, Debian packages) in a guest
uk: Встановлення пакунків (RPM, пакунки Debian) у гостьовій системі

note: type: textblock
en: Since libguestfs 1.26, L<virt-builder(1)>, L<virt-customize(1)> and L<virt-sysprep(1)> have an I<--install> option for installing packages in Linux guests.  (Use virt-customize if you have an existing guest, or virt-builder if you want to create a guest from scratch).
uk: Починаючи з libguestfs 1.26, L<virt-builder(1)>, L<virt-customize(1)> та L<virt-sysprep(1)> мають параметр I<--install> для встановлення пакунків у гостьових системах Linux. (Скористайтеся virt-customize, якщо у вас уже є наявна гостьова система, або virt-builder, якщо ви хочете створити гостьову систему від початку).

note: type: =head1
en: Install packages from an alternate repository
uk: Встановлення пакунків із альтернативного сховища

note: type: textblock
en: Since libguestfs 1.26, you can use L<virt-builder(1)>, L<virt-customize(1)> or L<virt-sysprep(1)> I<--edit> option to edit repository metadata before installing packages
uk: Починаючи з libguestfs 1.26, ви можете скористатися параметром I<--edit> L<virt-builder(1)>, L<virt-customize(1)> або L<virt-sysprep(1)> для редагування метаданих сховища до встановлення пакунків.

note: type: textblock
en: For example this would install packages from the updates-testing repository in Fedora:
uk: Наприклад, вказана нижче команда встановить пакунки зі сховища updates-testing у Fedora:

note: type: =head1
en: Install SYSLINUX bootloader in a guest
uk: Встановлення завантажувача SYSLINUX у гостьовій системі

note: type: textblock
en: SYSLINUX is a small, easy to configure bootloader for Linux and Windows guests.  If your guest is not bootable, you can install the SYSLINUX bootloader using either the guestfish commands C<syslinux> (for FAT-based guests) or C<extlinux> (for ext2/3/4 and btrfs-based guests).
uk: SYSLINUX — невеличкий, простий у налаштовуванні завантажувач для гостьових систем Linux і Windows. Якщо ваша гостьова система не придатна до завантаження, ви можете встановити завантажувач SYSLINUX за допомогою команди guestfish C<syslinux> (для заснованих на FAT гостьових систем) або C<extlinux> (для заснованих на ext2/3/4 або btrfs гостьових систем).

note: type: textblock
en: This guide assumes a Linux guest where F</dev/sda1> is F</boot>, F</boot/vmlinuz> is the guest kernel, and F</dev/sda3> is the root partition.  For a Windows guest you would need a FAT-formatted boot partition and you would need to use the C<syslinux> command instead.
uk: У цих настановах ми припускаємо, що маємо справу із гостьовою системою Linux, де F</dev/sda1> змонтовано як F</boot>, F</boot/vmlinuz> є ядром гостьової системи, а F</dev/sda3> є кореневим розділом. Для гостьової системи Windows вам знадобиться завантажувальний розділ у форматі FAT і використання команди C<syslinux> замість вказаних нижче.

note: type: textblock
en: Create a F<syslinux.cfg> configuration file.  You should check the SYSLINUX documentation at L<http://www.syslinux.org> but it may look something like this:
uk: Створіть файл налаштувань F<syslinux.cfg>. Вам слід скористатися документацією з SYSLINUX з сайта L<http://www.syslinux.org>, але вміст виглядатиме десь так:

note: type: textblock
en: Locate the syslinux master boot record (a file called something like F</usr/share/syslinux/mbr.bin>).
uk: Знайдіть головний запис завантаження syslinux (файл, який називається якось так: F</usr/share/syslinux/mbr.bin>).

note: type: verbatim
en:  guestfish -a disk.img -i
     # Upload the master boot record and configuration file:
     ><fs> upload ..../mbr.bin /boot/mbr.bin
     ><fs> upload ..../syslinux.cfg /boot/syslinux.cfg
     # Put the MBR into the boot sector:
     ><fs> copy-file-to-device /boot/mbr.bin /dev/sda size:440
     # Install syslinux on the first partition:
     ><fs> extlinux /boot
     # Set the first partition as bootable:
     ><fs> part-set-bootable /dev/sda 1 true
uk:  guestfish -a диск.img -i
     # Вивантаження головного запису завантаження та файла налаштувань:
     ><fs> upload ..../mbr.bin /boot/mbr.bin
     ><fs> upload ..../syslinux.cfg /boot/syslinux.cfg
     # Запис MBR до сектора завантаження:
     ><fs> copy-file-to-device /boot/mbr.bin /dev/sda size:440
     # Встановлення syslinux на першому розділі:
     ><fs> extlinux /boot
     # Визначення першого розділу як завантажувального:
     ><fs> part-set-bootable /dev/sda 1 true

note: type: textblock
en: See also: L<http://rwmj.wordpress.com/2013/04/04/new-in-libguestfs-use-syslinux-or-extlinux-to-make-bootable-guests/#content>
uk: Див. також L<http://rwmj.wordpress.com/2013/04/04/new-in-libguestfs-use-syslinux-or-extlinux-to-make-bootable-guests/#content>

note: type: =head1
en: List applications installed in a VM
uk: Показати список програм, встановлених у віртуальній машині

note: type: textblock
en: Save the following to a file F<list-apps.sh>:
uk: Збережіть такий текст до файла F<list-apps.sh>:

note: type: textblock
en: Make the file executable and then you can run it on any named virtual machine:
uk: Зробіть цей файл придатним до виконання, а потім можете запустити його для будь-якої іменованої віртуальної машини:

note: type: textblock
en: If you want to run the script on disk images (instead of libvirt virtual machines), change C<-d "$1"> to C<-a "$1">.  See also L<virt-inspector(1)>.
uk: Якщо ви хочете запустити скрипт для образів дисків (замість віртуальних машин libvirt), замініть C<-d "$1"> на C<-a "$1">. Див. також L<virt-inspector(1)>.

note: type: =head1
en: List files and directories in a VM
uk: Показати список файлів і каталогів у віртуальній машині

note: type: textblock
en: Use L<virt-ls(1)>.
uk: Скористайтеся L<virt-ls(1)>.

note: type: =head1
en: List services in a Windows VM
uk: Показати список служб у віртуальній машині Windows

note: type: textblock
en: The link below contains a script that can be used to list out the services from a Windows VM, and whether those services run at boot time or are loaded on demand.
uk: За наведеним нижче посиланням можна знайти скрипт, яким можна скористатися для отримання списку служб з віртуальної машини Windows і визначення того, запускаються ці служби під час завантаження чи завантажуються за потреби.

note: type: =head1
en: Make a disk image sparse
uk: Створення образу диска розрідженим

note: type: textblock
en: Use L<virt-sparsify(1)>.
uk: Скористайтеся L<virt-sparsify(1)>.

note: type: =head1
en: Monitor disk usage over time
uk: Спостереження за зміною використання диска з часом

note: type: textblock
en: You can use L<virt-df(1)> to monitor disk usage of your guests over time.  The link below contains a guide.
uk: Для спостереження за зміною вживання диска у ваших гостьових системах з часом ви можете скористатися L<virt-df(1)>. Настанови можна знайти за наведеним нижче посиланням.

note: type: =head1
en: Reading the Windows Event Log from Windows Vista (or later)
uk: Читання журналу подій у Windows з версії Windows Vista

note: type: textblock
en: L<guestfish(1)> plus the tools described in the link below can be used to read out the Windows Event Log from any virtual machine running Windows Vista or a later version.
uk: Для читання журналу подій Windows у будь-якій віртуальній машині, де запущено Windows Vista або новішу версію Windows, можна скористатися L<guestfish(1)> та іншими інструментами, як це описано за наведеним нижче посиланням.

note: type: =head1
en: Remove root password (Linux)
uk: Вилучення пароля root (Linux)

note: type: textblock
en: Using the L<virt-edit(1)> I<-e> option you can do simple replacements on files.  One use is to remove the root password from a Linux guest:
uk: За допомогою параметра I<-e> L<virt-edit(1)> ви можете виконувати прості заміни у файлах. Одним із варіантів таких замін є вилучення пароля root з гостьової системи Linux:

note: type: verbatim
en:  virt-edit -d domname /etc/passwd -e 's/^root:.*?:/root::/'
uk:  virt-edit -d назва_домену /etc/passwd -e 's/^root:.*?:/root::/'

note: type: verbatim
en:  virt-edit -a disk.img /etc/passwd -e 's/^root:.*?:/root::/'
uk:  virt-edit -a диск.img /etc/passwd -e 's/^root:.*?:/root::/'

note: type: =head1
en: Remove Administrator password (Windows)
uk: Вилучення пароля адміністратора (Windows)

note: type: textblock
en: The link below contains one technique for removing the Administrator password from a Windows VM, or to be more precise, it gives you a command prompt the next time you log in which you can use to bypass any security:
uk: За наведеним нижче посиланням викладено одну методику вилучення пароля адміністратора з віртуальної машини Windows VM або, якщо бути точнішим, отримання доступу до командної оболонки під час наступного входу до системи, звідки ви можете обійти будь-який захист:

note: type: =head1
en: Sysprepping a virtual machine (Windows)
uk: Виконання sysprep для віртуальної машини (Windows)

note: type: textblock
en: It is possible to do a "sysprep" using libguestfs alone, although not straightforward.  Currently there is code in the Aeolus Oz project which does this (using libguestfs).  It is likely we will add this to L<virt-sysprep(1)> in future.
uk: «sysprep» можна виконати засобами лише libguestfs, хоча і не напряму.  У поточній версії проєкту Aeolus Oz є код, який робить це (за допомогою libguestfs). Ймовірно, ми додамо цю можливість до L<virt-sysprep(1)> у майбутніх версіях.

note: type: =head1
en: Unpack a live CD
uk: Розпакування компакт-диска з портативною системою

note: type: textblock
en: Linux live CDs often contain multiple layers of disk images wrapped like a Russian doll.  You can use L<guestfish(1)> to look inside these multiple layers, as outlined in the guide below.
uk: Образи портативних систем Linux для компакт-дисків часто містять багато шарів образів дисків, подібно до матрьошки. Ви можете скористатися L<guestfish(1)>, щоб зазирнути всередину цих шарів, як це описано у настановах за наведеним нижче посиланням.

note: type: =head1
en: Uploading and downloading files
uk: Вивантаження і звантаження файлів

note: type: textblock
en: The link below contains general tips on uploading (copying in)  and downloading (copying out) files from VMs.
uk: За наведеним нижче посиланням містяться загальні підказки щодо вивантаження (копіювання всередину) або отримання (копіювання назовні) файлів з віртуальних машин.

note: type: =head1
en: Uploading raw filesystem content
uk: Вивантаження даних на файлові системи без обробки

note: type: textblock
en: You can use L<guestfish(1)> to upload whole filesystems into a VM, even into a filesystem which is encrypted or buried inside an LV or RAID device:
uk: Ви можете скористатися L<guestfish(1)> для вивантаження цілих файлових систем до віртуальної машини, навіть до файлової системи, яку зашифровано і включено до логічного тому або пристрою RAID:

note: type: textblock
en: One common problem is that the filesystem isn't the right size for the target.  If it is too large, there’s not much you can do with libguestfs - you have to prepare the filesystem differently.  But if the filesystem needs to expand into the target, you can use guestfish to resize it to the right size:
uk: Однією загальною проблемою є те, що розмір файлової системи є невідповідним для цілі. Якщо місця надто багато, зробити щось за допомогою libguestfs навряд чи вдасться — вам слід інакше готувати файлову систему. Але якщо файлову систему слід розширити, ви можете скористатися guestfish для зміни розміру на відповідний:

note: type: textblock
en: (or use C<ntfsresize> if the filesystem is NTFS).
uk: (або скористайтеся C<ntfsresize>, якщо файловою системою є NTFS).

note: type: =head1
en: Use libguestfs tools on VMware ESX guests
uk: Користування засобами libguestfs для роботи із гостьовими системами VMware ESX

note: type: textblock
en: The link below explains how to use libguestfs, L<guestfish(1)> and the virt tools on any VMware ESX guests, by first sharing the VMware VMFS over sshfs.
uk: За наведеним нижче посиланням описано використання libguestfs, L<guestfish(1)> та засобів віртуалізації для будь-яких гостьових систем VMware ESX. Для цього слід спочатку оприлюднити VMware VMFS за допомогою sshfs.

note: type: textblock
en: guestfs-release-notes - libguestfs Release Notes
uk: guestfs-release-notes - нотатки щодо випусків libguestfs

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.10
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.10

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.8.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.8.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: =head2
en: New features
uk: Нові можливості

note: type: verbatim
en:  - libguestfs and tools can be used against live virtual machines.
       See the 'guestfish --live' and 'guestmount --live' options, and (for
       the low-level interface) the new APIs set-attach-method and
       get-attach-method.
uk:  - libguestfs та інструменти можна використовувати для роботи
      із робочими віртуальними машинами. Див. параметри guestfish
     --live та guestmount --live, а також (для низькорівневого інтерфейсу)
     нові програмні інтерфейси set-attach-method і get-attach-method.

note: type: verbatim
en:  - New virt tools:
       virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.
uk:  - Нові інструменти віртуалізації:
       virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.

note: type: verbatim
en:  - libguestfs can get the drive letter mappings for Windows guests.
uk:  - libguestfs може отримувати прив'язки до літер дисків для гостьових систем Windows.

note: type: verbatim
en:  - virt-inspector displays drive letter mappings for Windows guests.
uk:  - virt-inspector показує прив'язки до літер дисків для гостьових систем Windows.

note: type: verbatim
en:  - Drive letters can now be used in virt-edit and guestfish programs
       when operating on Windows guests.
uk:  - Літери дисків тепер можна використовувати у програмах virt-edit і guestfish під час роботи із гостьовими системами Windows.

note: type: verbatim
en:  - virt-resize now works on 32 bit hosts.
uk:  - virt-resize тепер працює із 32-бітовими основними системами.

note: type: verbatim
en:  - You can now inspect the install disks and live CDs of many different
       operating systems.
uk:  - Тепер ви можете інспектувати диски для встановлення та
        образи портативних систем для компакт-дисків багатьох різних операційних систем.

note: type: verbatim
en:  - guestfish <! cmd which executes a shell cmd and inlines the result.
uk:  - guestfish <! команда, виконує команду оболонки і вбудовує результат її виконання.

note: type: verbatim
en:  - guestfish, guestmount, virt-rescue now all support --ro and --rw
       options, and the default for this can be chosen via a configuration
       file (/etc/libguestfs-tools.conf).
uk: - guestfish, guestmount, virt-rescue тепер усі підтримують параметри --ro і --rw. Типовий варіант можна вибрати за допомогою файла налаштувань (/etc/libguestfs-tools.conf).

note: type: verbatim
en:  - New event API allows more than one callback to be registered for
       each event, makes it possible to call the API from other languages,
       and allows nearly all log, debug and trace messages to be rerouted
       from stderr.
uk: - Новий програмний інтерфейс подій надає змогу реєструвати декілька зворотних викликів для кожної події, уможливлює виклики програмного інтерфейсу з інших мов програмування і надає змогу переспрямовувати з stderr майже усі повідомлення журналу, діагностики та трасування.

note: type: verbatim
en:  - Greater FHS compliance for temporary files, including using /var/tmp
       for large cached files that should survive reboot (instead of /tmp).
uk: - Ширша сумісність із FHS для тимчасових файлів, зокрема використання /var/tmp для великих кешованих файлів, які мають переживати перезавантаження (замість /tmp).

note: type: verbatim
en:  - guestfish, guestmount -m option allows mount options to be passed
       through to the underlying filesystem.
uk: - параметр guestfish, guestmount -m уможливлює передавання параметрів монтування до підлеглої файлової системи.

note: type: verbatim
en:  - mkfs-opts allows filesystem features to be specified.
uk: - mkfs-opts уможливлює визначення можливостей файлових систем.

note: type: verbatim
en:  - More intelligent handling of mountpoints, allowing mkmountpoint, mount
       and umount-all commands to work together properly.
uk: - Ефективніша обробка точок монтування, яка уможливлює належну сумісну роботу команд mkmountpoint, mount та umount-all.

note: type: verbatim
en:  - Trace messages are prefixed with a distinct string, allowing them to
       be easily 'grepped' out from debug output.
uk: - Реалізовано дописування префікса до повідомлень трасування, що уможливлює їхнє просте фільтрування за допомогою grep у виведених діагностичних повідомленнях.

note: type: verbatim
en:  - guestfs_launch (guestfish 'run' command) now produces progress
       messages (a guestfish progress bar) if it takes longer than 5
       seconds to run.
uk:  - guestfs_launch (команда guestfish run) тепер створює повідомлення щодо поступу (смужка поступу guestfish), якщо виконання триває понад 5 секунд.

note: type: verbatim
en:  - Several long-running commands where we are unable to estimate time
       to completion generate "pulse mode" progress events.  Progress bar
       in guestfish has been updated to display these.
uk: - Реалізовано надсилання подій щодо поступу у режимі пульсації для декількох команд, час виконання яких не можна наперед оцінити. Оновлено код смужки поступу у guestfish для показу даних таких подій.

note: type: verbatim
en:  - Publish new example code in: C, Perl, Python, OCaml, Ruby.
uk: - Оприлюднено нові приклади коду такими мовами: C, Perl, Python, OCaml, Ruby.

note: type: verbatim
en:  - New virt-dhcp-address example program.
uk:  - Новий приклад програми virt-dhcp-address.

note: type: verbatim
en:  - The Java and Ruby bindings have been improved greatly.
uk: - Значні поліпшення у прив'язках до Java і Ruby.

note: type: verbatim
en:  - Perl includes a way to get the errno of the last error.
uk:  - До Perl включено спосіб отримання номера останньої помилки.

note: type: verbatim
en:  - Python bindings now compatible with rpyc (thanks Erez Shinan).
uk:  - Прив'язки Python тепер сумісні з rpyc (завдяки Erez Shinan).

note: type: verbatim
en:  - Transifex is now being used to manage translations.
       http://www.transifex.net/projects/p/libguestfs/
uk:  - Для керування перекладами тепер використовується Transifex.
       http://www.transifex.net/projects/p/libguestfs/

note: type: verbatim
en:  - Inspection now supports Red Hat Desktop, Slackware distributions.
uk:  - У інспекції реалізовано підтримку дистрибутивів Red Hat Desktop, Slackware.

note: type: verbatim
en:  - Inspection no longer fails for Windows guests that have two or
       more disks.
uk: - Засіб інспектування тепер може обробляти гостьові системи Windows, у яких два або декілька дисків.

note: type: verbatim
en:  - Inspection can now tell the difference between Windows 2008 Server
       and Windows 7.
uk: - Засіб інспектування тепер може відрізняти Windows 2008 Server і Windows 7.

note: type: verbatim
en:  - Inspection can detect 32 bit applications installed in 64 bit
       Windows, running on the WOW64 emulator.
uk: - Засіб інспектування може виявляти встановлені 32-бітові програми у 64-бітовій Windows, де використовується емулятор WOW64.

note: type: verbatim
en:  - A series of protocol fixes has fixed the old bug RHBZ#576879
       which used to cause errors during the upload command to lose
       protocol synchronization.
uk:  - За допомогою послідовного виправлення протоколу виправлено давню ваду RHBZ#576879, яка спричиняла помилки під час виконання команди вивантаження через втрату синхронізації у протоколі.

note: type: verbatim
en:  - New logo!
uk:  - Новий логотип!

note: type: =head2
en: Security
uk: Безпека

note: type: verbatim
en:   [none]
uk:   [немає]

note: type: =head2
en: New APIs
uk: Нові програмні інтерфейси

note: type: =head2
en: Internals
uk: Внутрішня частина роботи програми

note: type: verbatim
en:  - The 'HACKING' file is obsolete.  The contents have been moved into
       a section of the guestfs(3) manual page.
uk: - Файл HACKING застарів. Вміст файла було перенесено до розділу на сторінці підручника щодо guestfs(3).

note: type: verbatim
en:  - libguestfs-test-tool simplified.  It no longer needs the static
       binary or tries to construct an ISO.
uk: - Спрощено libguestfs-test-tool. Тепер програма не вимагає статичного виконуваного файла і не намагається побудувати ISO.

note: type: verbatim
en:  - rpcgen-generated files are compiled with -fno-strict-aliasing
       which should be safer (thanks Matt Booth).
uk: - Створені за допомогою rpcgen файли збираються з використанням -fno-strict-aliasing, що має бути безпечнішим (дякуємо Matt Booth).

note: type: verbatim
en:  - virt-resize was rewritten in OCaml.
uk: - virt-resize було переписано на OCaml.

note: type: verbatim
en:  - guestfish and other tools tested with valgrind; some memory leaks
       were fixed.
uk: - guestfish та інші інструменти було перевірено за допомогою valgrind; виправлено деякі витоки пам'яті.

note: type: =head2
en: Bugs fixed
uk: Виправлені вади

note: type: verbatim
en:  - 502533 Updated Polish translation of 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 Punjabi Translation Completed (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
uk:  - 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

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.12
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.12

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.10.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.10.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:    - guestfish strings can use escapes,
         eg. ><fs> write /foo "line 1\nline 2\n"
uk: - Тепер у рядках guestfish можна використовувати екранування, приклад: ><fs> write /щось "рядок 1\nрядок 2\n"

note: type: verbatim
en:    - guestfish write-append command can be used to append to files.
uk: - Для дописування даних до файлів можна скористатися командою guestfish write-append.

note: type: verbatim
en:    - Long-running file uploads and downloads can be cancelled through the
         API or by hitting ^C in guestfish.
uk: - Довготривалі вивантаження і отримання файлів можна скасувати за допомогою програмного інтерфейсу або натискання ^C у guestfish.

note: type: verbatim
en:    - New guestfish "display" command for displaying graphical files
         inside guests.
uk: - Нова команда guestfish display для показу графічних файлів у гостьовій системі.

note: type: verbatim
en:    - In guestfish, tab completion now works on /dev/mapper devices.
uk: - У guestfish доповнення за Tab тепер працює і на пристроях /dev/mapper.

note: type: verbatim
en:    - Inspection API can get an icon or logo for certain guests.
uk: - Програмний інтерфейс інспектування тепер здатен отримувати піктограму або логотип певних гостьових систем.

note: type: verbatim
en:    - virt-inspector includes the logo and hostname for certain guests.
uk: - До virt-inspector включено логотипи і назви вузлів для певних гостьових систем.

note: type: verbatim
en:    - virt-inspector can now get the version and release numbers for RPM
         packages.
uk: - virt-inspector тепер може отримувати дані щодо версії і випуску пакунків RPM.

note: type: verbatim
en:    - CentOS and Scientific Linux are now treated as separate distros by
         the inspection API.
uk: - CentOS і Scientific Linux тепер вважаються окремими дистрибутивами у програмному інтерфейсі інспектування.

note: type: verbatim
en:    - virt-resize can now handle btrfs.
uk: - virt-resize тепер може працювати з btrfs.

note: type: verbatim
en:    - New virt-resize --ntfsresize-force option allows Windows VMs to be
         resized multiple times.
uk: - За допомогою нового параметра virt-resize --ntfsresize-force можна змінювати розмір віртуальних машин Windows декілька разів.

note: type: =head3
en: other virt tools
uk: інші virt tools

note: type: verbatim
en:    - guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,
         virt-inspector, virt-ls and virt-rescue now allow you to use
         "-d UUID" option to specify a guest by UUID.  This makes them more
         robust to use from other programs.
uk: - У guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems, virt-inspector, virt-ls та virt-rescue тепер можна скористатися параметром -d UUID для визначення гостьової системи за UUID. Це значно підвищує надійність роботи цих програм, якщо їх викликано іншими програмами.

note: type: verbatim
en:    - virt-ls -lR option allows complex file iteration and guest analysis.
uk: - Параметр virt-ls -lR уможливлює складну ітерацію файловою системою та аналіз гостьової системи.

note: type: verbatim
en:    - virt-win-reg supports HKEY_USERS\<SID> and HKEY_USERS\<username>.
uk: - У virt-win-reg реалізовано підтримку HKEY_USERS\<SID> та HKEY_USERS\<користувач>.

note: type: verbatim
en:    - virt-win-reg new option --unsafe-printable-strings allows printable
         strings to be displayed in the output (unsafely: read the documentation
         before using).
uk: - Параметр virt-win-reg --unsafe-printable-strings уможливлює показ придатних до друку рядків у виведених даних (не є безпечним: ознайомтеся із документацією, перш ніж користуватися).

note: type: verbatim
en:    - virt-edit has been rewritten in C.
uk: - virt-edit переписано на C.

note: type: =head3
en: API and language bindings
uk: Програмний інтерфейс і прив'язки до мов програмування

note: type: verbatim
en:    - Java is now completely supported.
         See http://libguestfs.org/guestfs-java.3.html
uk: - Реалізовано повну підтримку Java. Див. http://libguestfs.org/guestfs-java.3.html

note: type: verbatim
en:    - JRuby is supported via the Java bindings.
uk: - За допомогою прив'язок до Java реалізовано підтримку JRuby.

note: type: verbatim
en:    - guestfs_close now appears in trace messages.
uk: - Тепер у повідомленнях трасування з'являється guestfs_close.

note: type: verbatim
en:    - Python binding adds explicit g.close() method.
uk: - У прив'язках до Python додано явний метод g.close().

note: type: verbatim
en:    - Python programs can now use the new event API.
uk: - Програми мовою Python тепер можуть використовувати новий програмний інтерфейс подій.

note: type: verbatim
en:    - Python GIL is released during libguestfs calls, allowing multithreaded
         Python programs to work properly.
uk: - GIL Python вимикається на час викликів libguestfs, що уможливлює належну роботу багатопотокових програм мовою Python.

note: type: verbatim
en:    - 9pfs (Plan 9 filesystems exported from the host) are now supported.
uk: - Реалізовано підтримку 9pfs (файлових систем Plan 9, експортованих із основної системи).

note: type: verbatim
en:    - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API
         functions in C programs.
uk: - Додано -DGUESTFS_WARN_DEPRECATED=1 для попередження щодо використання функцій застарілого програмного інтерфейсу у програмах мовою C.

note: type: verbatim
en:    - New manual page guestfs-recipes(1) with recipes.
uk: - Нова сторінка підручника guestfs-recipes(1), яку призначено для зберігання рецептів.

note: type: verbatim
en:    - mkfs-opts can now set inode size and sector size on created filesystems
         (thanks Nikita Menkovich).
uk: - mkfs-opts тепер може встановлювати розміри inode та сектора на створених файлових системах (дякуємо Nikita Menkovich).

note: type: verbatim
en:    - guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).
uk: - guestfs_last_errno тепер є доступною з OCaml (як g#last_errno ()).

note: type: verbatim
en:  - optargs_bitmask is checked even for calls that have no optional
       arguments.  This closes a possible exploit in the daemon from
       untrusted callers.
uk: - optargs_bitmask перевіряється навіть для викликів, які не мають необов'язкових аргументів. Це унеможливлює використання можливої дірки у захисті фонової служби для ненадійних джерел викликів.

note: type: verbatim
en:   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
uk: 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

note: type: verbatim
en:  - Coverity (a static analysis tool) was run across the codebase and
       many fixes were made.
uk: - Для визначення вад у коді було запущено Coverity (інструмент статичного аналізу). Було виправлено багато вад.

note: type: verbatim
en:  - Generator can handle functions that return RBufferOut and have
       optional arguments.
uk: - Тепер генератор може обробляти функції, які повертають RBufferOut і мають необов'язкові аргументи.

note: type: verbatim
en:  - Compatible with Perl 5.14.
uk: - Реалізовано сумісність із Perl 5.14.

note: type: verbatim
en:  - Compatible with gcc 4.6.
uk:  - Сумісність з gcc 4.6.

note: type: verbatim
en:  - Perform safety checks on QEMU.
uk: - Було виконано перевірки захисту QEMU.

note: type: verbatim
en:  - C API tests can now fully test calls that have optional arguments.
uk: - Тести програмного інтерфейсу C тепер можуть повністю тестувати виклики із необов'язковими аргументами.

note: type: verbatim
en:  - Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.
uk:  - Скористайтеся ./configure --enable-install-daemon, щоб встановити /usr/sbin/guestfsd.

note: type: verbatim
en:  - po-docs directory now covers all man pages.
uk:  - Каталог po-docs тепер стосується усіх сторінок підручника (man).

note: type: verbatim
en:  - stderr from qemu process is now captured by the event subsystem.
uk: - stderr з процесу qemu тепер перехоплюється підсистемою подій.

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.14
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.14

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.12.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.12.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:   Erlang bindings.
uk:   прив’язки до Erlang.

note: type: verbatim
en:   virt-alignment-scan is a new tool to check the alignment of
      partitions within virtual machines or disk images.
uk: virt-alignment-scan — новий інструмент для перевірки вирівнювання розділів у віртуальних машинах або образах дисків.

note: type: verbatim
en:   virt-sparsify is a new tool to make virtual machine disk images
      sparse.
uk: virt-sparsify — новий інструмент для розрідження віртуальних машин та образів дисків.

note: type: verbatim
en:   virt-sysprep is a new tool to make cloning guests from a template
      simpler.
uk: virt-sysprep — новий інструмент для спрощення клонування гостьових систем за шаблоном.

note: type: verbatim
en:    - New commands setenv, unsetenv, to set environment variables.
uk: - Нові команди setenv, unsetenv для встановлення значень змінних середовища.

note: type: verbatim
en:    - The input file and line number is printed in error messages.
uk: - У повідомленнях про помилки тепер виводиться назва файла вхідних даних та номер рядка.

note: type: verbatim
en:    - guestfish progress bars are now a "mini-library" used by other
         tools too.
uk: - смужки поступу guestfish тепер є «мінібібліотекою», яка використовується також іншими інструментами.

note: type: verbatim
en:    - the --live option (for access to live VMs) now works.
uk: - параметр --live (для доступу до інтерактивних віртуальних машин) тепер працює.

note: type: verbatim
en:    - virt-cat can now handle Windows paths and drive letters (RHBZ#693359).
uk: - virt-cat тепер може обробляти шляхи і літери дисків Windows (RHBZ#693359).

note: type: verbatim
en:    - the MBR partition type byte is displayed in --long output.
uk: - байт типу розділу MBR тепер показується у даних, які виведено --long.

note: type: verbatim
en:    - virt-make-fs now sets the MBR partition type byte correctly,
         improving compatibility with Windows (RHBZ#746295).
uk: - virt-make-fs тепер встановлює байт типу розділу MBR належним чином, що поліпшує сумісність із Windows (RHBZ#746295).

note: type: verbatim
en:    - virt-resize can now work with guests using extended and logical
         partitions, in particular Ubuntu guests.
uk: - virt-resize тепер може працювати із гостьовими системами з використанням розширених і логічних розділів, зокрема із гостьовими системами Ubuntu.

note: type: verbatim
en:    - virt-resize can now align the first partition of Windows guests,
         improving performance.  The new virt-resize --align-first option
         controls this behaviour.
uk: - virt-resize тепер може вирівнювати перший розділ гостьових систем Windows, що поліпшує швидкодію. Цією поведінкою керує новий параметр virt-resize --align-first.

note: type: verbatim
en:    - The virt-resize --machine-readable flag makes it possible to use
         virt-resize from other programs.
uk: - Прапорець virt-resize --machine-readable уможливлює використання virt-resize іншими програмами.

note: type: verbatim
en:    - Partitions are now aligned to 128 sectors (usually 64K) by
         default.  This improves efficiency on high-end storage.  The new
         virt-resize --alignment option allows the alignment to be
         adjusted.
uk: - Розділи тепер вирівнюються на 128 секторів (зазвичай, 64 кБ). Це поліпшує ефективність для високоякісних сховищ даних. За допомогою нового параметра virt-resize --alignment можна коригувати вирівнювання.

note: type: verbatim
en:    - The syntax for deleting registry keys and values is documented
         in the man page (RHBZ#737944).
uk: - Синтаксис команд для вилучення ключів та значень реєстру документовано на сторінці підручника (RHBZ#737944).

note: type: =head3
en: library
uk: Бібліотека

note: type: verbatim
en:    - non-printing characters are escaped correctly in debug output.
uk: - у діагностичних повідомленнях належним чином екрануються непризначені для друку символи.

note: type: verbatim
en:    - GUESTFS_EVENT_ENTER is a new event type generated whenever a
         libguestfs function is called.
uk: - GUESTFS_EVENT_ENTER — новий тип подій, повідомлення про які створюються, коли викликається функція libguestfs.

note: type: verbatim
en:    - the library contains systemtap/DTrace probes.
uk: - у бібліотеці містяться зонди systemtap/DTrace.

note: type: verbatim
en:    - the library can now be compiled without hivex (RHBZ#723474).
uk: - тепер бібліотеку можна зібрати без hivex (RHBZ#723474).

note: type: =head3
en: inspection
uk: перевірка

note: type: verbatim
en:    - Improve detection of Windows disks.
uk: - Поліпшено виявлення дисків Windows.

note: type: verbatim
en:    - Adds support for:
             ttylinux - a minimal Linux
             Mageia (thanks Michael Scherer)
             OpenSUSE and zypper (thanks Michael Scherer, Vincent Untz)
             Ubuntu logos (thanks Michael Scherer)
             NetBSD and pkgsrc (thanks Michael Scherer)
uk: - Додано підтримку:
             ttylinux - мінімального Linux
             Mageia (дякуємо Michael Scherer)
             OpenSUSE і zypper (дякуємо Michael Scherer, Vincent Untz)
             логотипів Ubuntu (дякуємо Michael Scherer)
             NetBSD і pkgsrc (дякуємо Michael Scherer)

note: type: verbatim
en:    - Handle some guest types that use /dev/root in /etc/fstab.
uk: - Реалізовано роботу із певними типами гостьових систем, де використовується /dev/root у /etc/fstab.

note: type: verbatim
en:    - Fix handling of guests with > 26 disks (thanks Matthew Booth)
uk: - Виправлено обробку гостьових систем із > 26 дисками (дякуємо Matthew Booth)

note: type: verbatim
en:    - Add support for guests with HP Smart Array disks (thanks Matthew Booth)
uk: - Додано підтримку гостьових систем із дисками HP Smart Array (дякуємо Matthew Booth)

note: type: verbatim
en:    - FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES environment variables can
         be set in order to choose which kernel to use for the appliance.
uk: - Реалізовано використання змінних середовища FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES для вибору ядра, яке слід використовувати у базовій системі.

note: type: =head3
en: misc
uk: інше

note: type: verbatim
en:    - ArchLinux support now working with Linux 3.0 (thanks Erik Nolte)
uk:    - Підтримка ArchLinux тепер працює для Linux 3.0 (завдяки Erik Nolte)

note: type: verbatim
en:    - libvirt disks marked <readonly/> are now added readonly when
         using the virt-tools '-d' option.
uk: - Диски libvirt, які позначено як <readonly/>, тепер додаються у режимі лише читання за допомогою параметра virt-tools -d.

note: type: verbatim
en:   (no security problems were found or fixed in this release)
uk:   (у цьому випуску не було виявлено або виправлено жодної проблеми захисту)

note: type: verbatim
en:   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.
uk: 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.

note: type: verbatim
en:   The mount API no longer implicitly adds -o sync,noatime options.
uk: Програмний інтерфейс монтування більше не додає неявним чином параметри -o sync,noatime.

note: type: verbatim
en:   add-domain has a new 'readonlydisk' optional parameter to control
      how <readonly/> disks are handled.
uk: у add-domain реалізовано новий необов'язковий параметр readonlydisk» для керування тим, як обробляються диски <readonly/>.

note: type: verbatim
en:  - Coverity was run on the source and more bugs were identified and
       fixed.
uk: - Виконано перевірку коду за допомогою Coverity, виявлено і усунено вади.

note: type: verbatim
en:  - PCRE library is now required to build libguestfs.
uk: - для збирання libguestfs тепер потрібна бібліотека PCRE.

note: type: verbatim
en:  - APIC is now the default for the appliance.  You can also enable
       SMP support in the appliance.
uk: - Тепер для базової системи типово увімкнено APIC. Ви також можете увімкнути підтримку SMP у базовій системі.

note: type: verbatim
en:  - OCaml bindings now correctly acquire GC lock during callbacks.
uk: - Прив'язки до OCaml тепер правильно надсилають запит щодо блокування збірника сміття під час зворотних викликів.

note: type: verbatim
en:  - Out of tree builds should now work correctly (thanks Hilko Bengen).
uk: - Тепер правильно працює збирання поза ієрархією коду (дякуємо Hilko Bengen).

note: type: verbatim
en:  - ./configure --with-extra="..." can be used by packagers to set
       the extra version string.
uk: - Для встановлення додаткового рядка версії пакувальники тепер можуть скористатися ./configure --with-extra="...".

note: type: verbatim
en:  - zero, zero-device APIs: if the blocks already contain zeroes,
       don't write zeroes, so that we don't unnecessarily make the
       underlying storage non-sparse.
uk: - Програмні інтерфейси zero, zero-device: якщо у блоках уже містяться нулі, записування нулів не виконується, отже без потреби програма не скасовує розрідженість відповідних сховищ даних.

note: type: verbatim
en:  - is-zero, is-zero-device APIs: optimize these so zero detection is
       faster.
uk: - Програмні інтерфейси is-zero, is-zero-device: оптимізація з метою пришвидшення виявлення нулів.

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.16
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.16

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.14.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.14.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:    - allow XFS filesystems to be created over an existing filesystem
         (Wanlong Gao)
uk:  - уможливлено створення файлових систем XFS на наявних файлових системах (Wanlong Gao)

note: type: verbatim
en:    - the (unspecified) default alignment for part-disk has been
         changed to 64K for better support of high-end network-attached
         storage
uk: - (невказане) типове вирівнювання для part-disk змінено на 64 кБ для поліпшення підтримки високоякісних сховищ, з'єднаних із мережею

note: type: verbatim
en:    - new guestfs-testing(1) man page
uk:    - нова сторінка підручника, guestfs-testing(1)

note: type: verbatim
en:    - list-filesystems returns MD devices containing filesystems
         (Matthew Booth)
uk:  - list-filesystems тепер повертає пункти пристроїв MD, які містять файлові системи (Matthew Booth)

note: type: verbatim
en:    - support for GCC >= 4.7 (Jim Meyering)
uk:    - підтримка GCC >= 4.7 (Jim Meyering)

note: type: verbatim
en:    - check user does not add the same drive twice (Wanlong Gao).
uk: - реалізовано перевірку повторного додавання користувачем диска (Wanlong Gao).

note: type: =head3
en: language bindings
uk: прив’язки до мов програмування

note: type: verbatim
en:    - Experimental GObject bindings, with support for GObject
         Introspection.  You can now use libguestfs from Javascript.
         Please note these are not stable and final in this release.
         (Matthew Booth).
uk: - експериментальні прив'язки до GObject із підтримкою інтроспекції GObject. Тепер ви можете використовувати libguestfs з Javascript. Будь ласка, зауважте, що прив'язки у цьому випуску не є стабільними і остаточними. (Matthew Booth).

note: type: verbatim
en:    - support for Ruby >= 1.9
uk:    - підтримка Ruby >= 1.9

note: type: verbatim
en:    - Ruby bindings can be disabled individually (Hilko Bengen)
uk: - прив'язки до Ruby можна вимикати окремо (Hilko Bengen)

note: type: verbatim
en:    - support for Python 2.6, 3.x (Richard Jones, Hilko Bengen)
uk:    - підтримка Python 2.6, 3.x (Richard Jones, Hilko Bengen)

note: type: verbatim
en:    - support for PHP >= 5.4
uk:    - підтримка PHP >= 5.4

note: type: verbatim
en:    - new %guestfs_introspection hash is available in Perl bindings so
         you can query which optional arguments are available
uk: - у прив'язках до Perl доступний новий хеш %guestfs_introspection, отже ви можете виконувати за його допомогою опитування щодо необов'язкових аргументів

note: type: verbatim
en:    - guests with MD devices can be inspected (Matthew Booth)
uk: - уможливлено інспектування пристроїв MD (Matthew Booth)

note: type: verbatim
en:    - support for GNU/Hurd guests
uk: - реалізовано підтримку гостьових систем GNU/Hurd

note: type: verbatim
en:    - libguestfs events (such as progress bar events and log messages) can
         be trapped and processed by user-defined shell scripts.
uk: - події libguestfs (зокрема події смужки поступу та повідомлення журналу) тепер можна перехоплювати і обробляти за допомогою визначених користувачем скриптів оболонки.

note: type: verbatim
en:    - MD devices are tab-completed (Matthew Booth)
uk: - уможливлено доповнення за Tab для пристроїв MD (Matthew Booth)

note: type: verbatim
en:    - New tool virt-format for erasing and making blank disks
uk: - новий інструмент virt-format для витирання і створення порожніх дисків

note: type: verbatim
en:    - virt-sparsify new --compress and -o options to allow for compressed
         and different format output
uk: - нові параметри virt-sparsify --compress і -o для уможливлення виведення стиснених даних та виведення у іншому форматі

note: type: verbatim
en:    - virt-sparsify can now detect and sparsify .vdi files
uk: - virt-sparsify тепер може виявляти і розріджувати файли .vdi

note: type: verbatim
en:    - virt-sysprep no longer requires xmlstarlet; a new virt-inspector --xpath
         option has been added to replace this functionality
uk: - virt-sysprep більше не потребує xmlstarlet; додано новий параметр virt-inspector --xpath для заміни цієї функціональної можливості

note: type: verbatim
en:    - virt-rescue has a new --suggest option which suggests mount commands
         for the guest
uk: - virt-rescue має новий параметр --suggest, за допомогою якого реалізовано пропозиції команд монтування для гостьової системи

note: type: verbatim
en:    - virt-resize no longer requires OCaml pcre library
uk: - virt-resize більше не потребує виконуваного файла pcre OCaml

note: type: verbatim
en:    - daemon will no longer try to edit your live /etc/lvm configuration
uk: - фонова служба більше не намагається редагувати ваші поточні налаштування /etc/lvm

note: type: verbatim
en:    - fix a potential security problem with predictable /tmp names (Steve Kemp)
uk: - усунено потенційну проблему захисту, пов'язану із передбачуваними назвами у /tmp (Steve Kemp)

note: type: verbatim
en:   CVE-2011-4127, RHBZ#757071
      Mitigate possible privilege escalation via SG_IO ioctl
      For more information, see: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db
uk:   CVE-2011-4127, RHBZ#757071
      Усунено можливе розширення прав доступу за допомогою SG_IO ioctl
      Докладніший опис: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db

note: type: verbatim
en:   blkid: print all attributes of a device known to blkid (Wanlong Gao)
      e2fsck: access to more features of e2fsck (Wanlong Gao)
      list-md-devices: list of Linux MD devices (Matthew Booth)
      md-create: create an MD device
      md-detail: returns metadata for an MD device (Matthew Booth)
      md-stop: stop an MD device (Wanlong Gao)
      tune2fs: allow ext2/3/4 filesystems to be tuned
uk: 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

note: type: verbatim
en:   Git hosting has moved to http://github.com/libguestfs
uk: сховище коду git перенесено до http://github.com/libguestfs

note: type: verbatim
en:   The various test directories have been rearranged logically, and now
      all appear under 'tests/'.
uk: Різноманітні каталоги для тестування перевпорядковано логічно: тепер усі вони є підкаталогами tests/.

note: type: verbatim
en:   There is a 'make extra-tests' rule which runs ordinary tests and
      additional tests, using valgrind to check for memory problems.
uk: Реалізовано правило make extra-tests, яке запускає звичайні тести і додаткові тести, використовуючи valgrind для пошуку проблем із пам'яттю.

note: type: verbatim
en:   Multiple memory leaks and other problems found by valgrind and fixed.
uk: Виявлено за допомогою valgrind і усунено витоки пам'яті та інші проблеми.

note: type: verbatim
en:   Support for optional arguments in the generator has been rewritten
      to provide more features and safety (Matthew Booth).
uk: Підтримку необов'язкових аргументів у генераторі було переписано із метою розширення можливостей та поліпшення захисту (Matthew Booth).

note: type: verbatim
en:   With gcc -fvisibility=hidden is used for internal symbols, avoiding
      call indirection via the PLT.
uk: Використання gcc -fvisibility=hidden для внутрішніх символів надало змогу уникнути опосередкованих викликів за допомогою PLT.

note: type: verbatim
en:   RHashtable functions can be tested in the generator.
uk: Уможливлено тестування функцій RHashtable у генераторі.

note: type: verbatim
en:   ADD_ARG macro in daemon allows arg lists to be constructed without
      risk of stack smashing.
uk: Макрос ADD_ARG у фоновій службі надає змогу будувати списки аргументів без ризику порушення стека.

note: type: verbatim
en:   Fix generation of OCaml functions that have more than 10 arguments.
uk: Виправлено створення функцій OCaml, які мають понад 10 аргументів.

note: type: verbatim
en:   psmisc has been added to the appliance, allowing use of 'fuser',
      'killall' and 'pstree' for debugging.
uk: у базову систему додано psmisc, що уможливлює використання fuser, killall та pstree для діагностування.

note: type: verbatim
en:   bindtests now cover RBufferOut and optional arguments (Matthew Booth).
uk: bindtests тепер стосуються і RBufferOut та необов'язкових аргументів (Matthew Booth).

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.18
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.18

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.16.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.16.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:    - virt-sysprep has been rewritten and expanded (thanks Wanlong Gao)
         http://libguestfs.org/virt-sysprep.1.html
uk:    - virt-sysprep переписано із розширенням можливостей (дякуємо Wanlong Gao)
         http://libguestfs.org/virt-sysprep.1.html

note: type: verbatim
en:    - virt-sparsify --zero is a new option that zeroes the named
         partition or filesystem
uk: - virt-sparsify --zero — новий параметр, який занулює вказаний за назвою розділ або файлову систему

note: type: verbatim
en:    - virt-sparsify can now safely sparsify Linux swap partitions
uk: - virt-sparsify тепер може безпечно розріджувати розділи резервної пам'яті Linux

note: type: verbatim
en:    - virt-sparsify fixed so it cleans up after ^C
         http://libguestfs.org/virt-sparsify.1.html
uk:    - virt-sparsify виправлено так, щоб вона виконувала спорожнення після ^C
         http://libguestfs.org/virt-sparsify.1.html

note: type: verbatim
en:    - a new tool 'libguestfs-make-fixed-appliance' is provided to build
         fixed appliances that can be copied to other machines that don't
         have febootstrap support
         http://libguestfs.org/libguestfs-make-fixed-appliance.1.html
uk: - створено новий інструмент «libguestfs-make-fixed-appliance» для збирання фіксованих базових систем, які може бути скопійовано на інші машини, де не передбачено підтримки febootstrap
         http://libguestfs.org/libguestfs-make-fixed-appliance.1.html

note: type: verbatim
en:    - virt-filesystems now displays the parents (containers) of MD
         devices and volume groups
uk: - virt-filesystems тепер показує батьківські записи (контейнери) MD
         devices and volume groups

note: type: verbatim
en:    - virt-alignment-scan, run with no args, displays alignment information
         for all libvirt domains
uk: - virt-alignment-scan, запущена без аргументів, показує дані щодо вирівнювання для усіх доменів libvirt

note: type: verbatim
en:    - virt-df and virt-alignment-scan will display information from all
         guests even when a disk is inaccessible
uk: - virt-df та virt-alignment-scan показують інформацію з усіх гостьових систем, навіть якщо диск недоступний

note: type: verbatim
en:    - virt-rescue new --scratch option to make scratch disks
         https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content
uk: - новий параметр virt-rescue --scratch для створення тестових дисків
         https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content

note: type: verbatim
en:    - virt-make-fs can now be used to create btrfs
uk: - virt-make-fs тепер можна скористатися для створення btrfs

note: type: verbatim
en:    - virt-edit preserves permissions, UID, GID and SELinux context
         when editing files
uk: - virt-edit зберігає права доступу, UID, GID та контекст SELinux під час редагування файлів

note: type: verbatim
en:    - guestfish passes the close event over stdout and remote correctly
uk: - guestfish передає подію закриття за допомогою stdout та віддаленого зв'язку належним чином

note: type: verbatim
en:    - guestfish new '--pipe-error' option lets you detect errors in pipe
         commands
uk: - новий параметр guestfish --pipe-error надає вам змогу виявляти помилку у каналах командної обробки

note: type: verbatim
en:    - guestfish globs now expand device names
uk:    - guestfish, у замінниках тепер розгортаються назви пристроїв

note: type: verbatim
en:    - comma and colon characters in filenames now handled correctly by
         all virt tools
uk: - усі засоби віртуалізації тепер правильно обробляють коми і двокрапки у назвах файлів

note: type: verbatim
en:    - added support for Fedora 17+
uk:    - додано підтримку Fedora 17+

note: type: verbatim
en:    - added support for FreeDOS
uk: - додано підтримку FreeDOS

note: type: verbatim
en:    - added support for Buildroot and Cirros
uk: - додано підтримку Buildroot та Cirros

note: type: verbatim
en:    - inspection is now compatible with Windows guests that have been
         sysprepped (thanks Grant Williamson).
uk: - засіб інспектування тепер повністю сумісний із гостьовими системами Windows, які оброблено sysprep (дякуємо Grant Williamson).

note: type: verbatim
en:    - broad support for btrfs added, including adding multiple devices,
         fsck, snapshots (thanks Wanlong Gao)
uk: - реалізовано широку підтримку btrfs, зокрема додавання декількох пристроїв, fsck, знімки (дякуємо Wanlong Gao)

note: type: verbatim
en:    - the new 'mount-local' API brings FUSE support directly into the
         core libguestfs API
         https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content
uk: - новий програмний інтерфейс mount-local впроваджує підтримку FUSE безпосередньо до основного програмного інтерфейсу libguestfs
         https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content

note: type: verbatim
en:    - new man page: guestfs-performance(1), which contains performance
         tuning tips
         http://libguestfs.org/guestfs-performance.1.html
uk: - нова сторінка підручника: guestfs-performance(1), де містяться підказки щодо поліпшення швидкодії
         http://libguestfs.org/guestfs-performance.1.html

note: type: verbatim
en:    - new man page: guestfs-faq(1), Frequently Asked Questions
         http://libguestfs.org/guestfs-faq.1.html
uk:    - Нова сторінка підручника: guestfs-faq(1), Поширені питання та відповіді на них
         http://libguestfs.org/guestfs-faq.1.html

note: type: verbatim
en:    - ENOTSUP (from guestfs_last_errno) is now returned for APIs that
         are not supported
uk: - тепер для програмних інтерфейсів, підтримки яких не передбачено, повертається ENOTSUP (від guestfs_last_errno)

note: type: =head3
en: examples
uk: приклади

note: type: verbatim
en:    - 'copy_over' example showing how to copy between two handles
uk: - у прикладі copy_over продемонстровано копіювання між двома дескрипторами

note: type: verbatim
en:    - 'display_icon' program displays the icon associated with a guest
uk: - програма display_icon показує піктограму, пов'язану із гостьовою системою

note: type: verbatim
en:    - 'mount_local.c' example shows how to use the mount-local API
uk: - приклад mount_local.c» демонструє, як користуватися програмним інтерфейсом mount-local

note: type: verbatim
en:   btrfs-device-add: Add devices to a btrfs filesystem.
      btrfs-device-delete: Remove devices from a btrfs filesystem.
      btrfs-filesystem-sync: Sync a btrfs filesystem.
      btrfs-filesystem-balance: Balance a btrfs filesystem.
      btrfs-fsck: Check btrfs filesystem.
      btrfs-set-seeding: Enable or disable seeding.
      btrfs-subvolume-create: Create a btrfs snapshot.
      btrfs-subvolume-delete: Delete a btrfs snapshot.
      btrfs-subvolume-list: List btrfs snapshots and subvolumes.
      btrfs-subvolume-set-default: Set default btrfs subvolume.
      btrfs-subvolume-snapshot: Create a writable btrfs snapshot.
      get-e2attrs: List ext2 file attributes of a file.
      get-e2generation: Get ext2 file generation of a file.
      isoinfo, isoinfo-device: Get information from the header of ISO files.
      llz: List files with SELinux information.
      lvcreate-free: Create an LVM logical volume in % remaining free space.
      md-stat: Return underlying devices from an MD device.
      mkfs-brtfs: Make btrfs filesystem, with all tunables.
      mount-local, mount-local-run, umount-local: FUSE support in the API.
      ntfsclone-in, ntfsclone-out: Save, restore NTFS from backup.
      ntfsfix: Fix common errors and force Windows to check NTFS.
      set-e2attrs: Set or clear ext2 file attributes of a file.
      set-e2generation: Set ext2 file generation of a file.
      set-label: Unified interface for setting filesystem label.
      vgmeta: Get volume group metadata.
      wipefs: Wipe filesystem signatures from a device.
      zero-free-space: Zero free space in a filesystem.
uk: 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: занулення вільного місця у файловій системі.

note: type: verbatim
en:  - The debian/ subdirectory has been removed.  We recommend you use
       the official Debian packages made by Hilko Bengen.
       http://people.debian.org/~bengen/libguestfs/
       http://packages.debian.org/search?keywords=libguestfs
uk: - Вилучено підкаталог debian/. Рекомендуємо вам користуватися офіційними пакунками Debian, створеними Hilko Bengen.
       http://people.debian.org/~bengen/libguestfs/
       http://packages.debian.org/search?keywords=libguestfs

note: type: verbatim
en:  - O_CLOEXEC / SOCK_CLOEXEC is now used for almost all file
       descriptors that the library opens.
uk: - Тепер майже для усіх дескрипторів файлів, які відкриває файлова система, використовується O_CLOEXEC / SOCK_CLOEXEC.

note: type: verbatim
en:  - posix_fadvise is called when sequentially reading or writing large
       files.
uk: - при послідовному читанні або запису великих файлів викликається posix_fadvise.

note: type: verbatim
en:  - close all file descriptors and remove all signal handlers in the
       recovery process
uk: - реалізовано закриття усіх дескрипторів файлів та вилучення усіх обробників сигналів у процесі відновлення

note: type: verbatim
en:  - multiple gcc warnings and Coverity bugs have been fixed;  many
       strict-overflow bugs have also been fixed
uk: - виправлено декілька попереджень gcc та вад, виявлених Coverity; також було виправлено багато вад строго переповнення

note: type: verbatim
en:  - use ./configure --enable-valgrind-daemon to use valgrind on the
       daemon;  many errors have been fixed
uk: - впроваджено використання ./configure --enable-valgrind-daemon для того, щоб можна було скористатися valgrind для фонової служби; виправлено багато помилок

note: type: verbatim
en:  - use ./configure --with-qemu-options to pass extra options to qemu
uk: - впроваджено використання ./configure --with-qemu-options для передавання додаткових параметрів qemu

note: type: verbatim
en:  - the daemon now has a growable strings buffer type (DECLARE_STRINGSBUF)
uk: - тепер у фоновій службі є придатний до розширення тип рядкового буфера (DECLARE_STRINGSBUF)

note: type: verbatim
en:  - the <guestfs.h> header file works with C++ and we have a regression
       test for this
uk: - файл заголовків <guestfs.h> тепер працює у C++, і у нас є перевірка пов'язаних із цим регресій

note: type: verbatim
en:  - multiple APIs which should only be called in the CONFIG state now
       give an error if they are not
uk: - декілька програмних інтерфейсів, які слід викликати лише у стані CONFIG, тепер повідомляють про помилку, якщо їх викликано у іншому стані

note: type: verbatim
en:  - .gitignore fixed to use absolute paths
uk: - виправлено .gitignore так, щоб шляхи були абсолютними

note: type: verbatim
en:  - gobject bindings have been expanded, including mapping libguestfs
       events to gobject signals (thanks Matt Booth)
uk: - розгорнуто прив'язки до gobject, зокрема прив'язку подій libguestfs до сигналів gobject (дякуємо Matt Booth)

note: type: verbatim
en:  - gobject documentation is generated properly (thanks Matt Booth)
uk: - належним чином створюється документація gobject (дякуємо Matt Booth)

note: type: verbatim
en:  - gobject header files now live in a subdirectory
uk: - файли заголовків gobject тепер зберігаються у окремому підкаталозі

note: type: verbatim
en:  - CompareWithString test in the generator now works
uk: - тепер працює тест CompareWithString у генераторі

note: type: verbatim
en:  - FUInt32, FUInt64 struct field types now use the correct XDR type
uk: - у типах полів структур FUInt32, FUInt64 тепер використовуються належні типи XDR

note: type: verbatim
en:  - OCaml tests are now run on bytecode and native code.
uk: - тести OCaml тепер працюють із байткодом і звичайним кодом.

note: type: verbatim
en:  - java -Xlint:all is used, and all warnings have been fixed
uk: - у java використовується -Xlint:all і виправлено усі попередження

note: type: verbatim
en:  - bmptopng, wrestool (etc) missing or failure no longer prints
       warning messages
uk:  - bmptopng, wrestool (тощо) missing або failure більше не виводить повідомлень із попередженнями

note: type: verbatim
en:  - ruby: Use RbConfig instead of Config.
uk: - ruby: використано RbConfig замість Config.

note: type: verbatim
en:  - PYTHONPATH is set by the ./run script.
uk: - PYTHONPATH встановлюється скриптом ./run.

note: type: verbatim
en:  - appliance building is now thread-safe.
uk: - процес збирання базової системи тепер є безпечним щодо потоків виконання.

note: type: verbatim
en:  - appliance now uses 'ip' instead of 'ifconfig' and 'netstat'
       commands
uk: - у базовій системі тепер використовується ip замість програм ifconfig і netstat

note: type: verbatim
en:  - several fixes to make parallel builds work properly
uk:  - декілька виправлень, які уможливили належну роботу засобів паралельного збирання

note: type: verbatim
en:  - guestfish --listen now cleans up properly
uk:  - guestfish --listen у новій версії належним чином виконує чищення від зайвих даних

note: type: verbatim
en:  - the BUSY state has been removed
uk:  - вилучено стан BUSY

note: type: verbatim
en:  - gettextize has been removed, replaced by a simple Makefile.am
uk:  - gettextize вилучено і замінено на простий Makefile.am

note: type: verbatim
en:  - gettext support now covers virt-resize, virt-sparsify and virt-sysprep
uk:  - реалізовано підтримку gettext у virt-resize, virt-sparsify і virt-sysprep

note: type: verbatim
en:  - better support for the arm architecture
uk:  - ліпша підтримка архітектури arm

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.20
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.20

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.18.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.18.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: =head3
en: libvirt and sVirt (SELinux confinement)
uk: libvirt і sVirt (контейнер SELinux)

note: type: textblock
en: You can I<optionally> use libvirt to launch and manage the backend appliance by:
uk: Ви можете, I<якщо хочете>, скористатися libvirt для запуску і керування базовою системою за допомогою:

note: type: textblock
en: setting C<LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]>
uk: встановленням C<LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]>

note: type: textblock
en: using C<./configure --with-default-attach-method=libvirt[:URI]>
uk: за допомогою C<./configure --with-default-attach-method=libvirt[:URI]>

note: type: textblock
en: or calling the API method C<guestfs_set_attach_method>
uk: або виклику методу C<guestfs_set_attach_method> програмного інтерфейсу

note: type: textblock
en: SVirt (SELinux confinement) is used to secure the libguestfs appliance, if the libvirt backend is selected.
uk: Для захисту базової системи libguestfs використовується SVirt (контейнер SELinux), якщо вибрано модуль обробки libvirt.

note: type: =head3
en: virtio-scsi, larger number of drives, hotplugging
uk: virtio-scsi, більша кількість дисків, з'єднання у «гарячому» режимі

note: type: textblock
en: Virtio-scsi is now used by default, if it is available.  This greatly increases the number of drives that can be added to a single libguestfs handle (up to 255).
uk: Тепер типово використовується virtio-scsi, якщо цей інтерфейс доступний. Це набагато збільшує кількість дисків, які можна додати до одного дескриптора libguestfs (аж до 255).

note: type: textblock
en: You can now hotplug drives (add and remove drives after launch).
uk: Тепер можна додавати і вилучати диски після запуску у «гарячому» режимі.

note: type: textblock
en: Libguestfs can now handle E<gt> 25 disks, in all APIs, tools and tests.
uk: Libguestfs тепер може працювати із E<gt> 25 дисками, в усіх програмних інтерфейсах, засобах та тестах.

note: type: textblock
en: You can label drives when adding them, then refer to them by label (F</dev/disk/guestfs/LABEL>) instead of having to use device names (F</dev/sda>).
uk: Тепер ви можете додавати до дисків мітку і посилатися на них за міткою (F</dev/disk/guestfs/МІТКА>) замість використання назв пристроїв (F</dev/sda>).

note: type: =head3
en: new library features
uk: Нові можливості бібліотеки

note: type: textblock
en: POSIX Access Control Lists (ACLs) and Linux filesystem capabilities can now be read and written through the API.
uk: Через програмний інтерфейс читаються і записуються списки керування доступом POSIX (ACL) та можливості файлової системи Linux.

note: type: textblock
en: Windows Dynamic Disks are now supported.  The metadata can only be read (volumes cannot be modified or created).  However the data/filesystems in the volumes themselves can be mounted, read and written (Matthew Booth).
uk: Реалізовано підтримку динамічних дисків Windows. Метадані можна лише читати (не можна вносити зміни до томів або створювати томи). Втім дані та файлові системи на томах можна монтувати, читати та записувати (Matthew Booth).

note: type: textblock
en: Hivex (Windows Registry editing) is now directly supported through the API, making reading or editing the Windows Registry much more efficient.
uk: Реалізовано Hivex (редагування реєстру Windows) безпосередньо за допомогою програмного інтерфейсу, що робить читання та редагування реєстру Windows набагато ефективнішим.

note: type: textblock
en: Several libguestfs APIs were reimplemented so they no longer have any limits on output.  The reimplemented APIs are: C<guestfs_cat>, C<guestfs_find>, C<guestfs_read_file>, C<guestfs_read_lines>, C<guestfs_write>, C<guestfs_write_append>, C<guestfs_lstatlist>, C<guestfs_lxattrlist>, C<guestfs_readlinklist>, C<guestfs_ls>.
uk: Повторно реалізовано декілька програмних інтерфейсів libguestfs так, що у них більше немає жодних обмежень на виведення даних. Серед повторно реалізованих програмних інтерфейсів такі: C<guestfs_cat>, C<guestfs_find>, C<guestfs_read_file>, C<guestfs_read_lines>, C<guestfs_write>, C<guestfs_write_append>, C<guestfs_lstatlist>, C<guestfs_lxattrlist>, C<guestfs_readlinklist>, C<guestfs_ls>.

note: type: textblock
en: C<guestfish touch 'win:c:\new_file'> now works as expected.
uk: C<guestfish touch 'win:c:\новий_файл'> тепер працює як слід.

note: type: textblock
en: C<guestfish> has a new I<--network> option, which enables the user network in libguestfs.
uk: У C<guestfish> реалізовано новий параметр I<--network>, за допомогою якого можна увімкнути для користувача мережу у libguestfs.

note: type: textblock
en: You can set C<GUESTFISH_PS1> to use fancy prompts in C<guestfish>.
uk: Уможливлено встановлення змінної середовища C<GUESTFISH_PS1> для використання форматованих запитів щодо команд у C<guestfish>.

note: type: textblock
en: C<rsync>, C<ssh>, C<less> and C<lrzip> commands are now available in virt-rescue.  In addition, C<rsync> can be used through the API for doing incremental copies.
uk: Тепер у virt-rescue доступні команди C<rsync>, C<ssh>, C<less> та C<lrzip>. Крім того, для створення нарощувальних копій можна скористатися C<rsync> за допомогою програмного інтерфейсу.

note: type: textblock
en: C<virt-sparsify> uses qcow2 v3 for increased efficiency.
uk: C<virt-sparsify> використовує qcow2 v3 для підвищення ефективності.

note: type: textblock
en: C<virt-sysprep> enhancements:
uk: Поліпшення у C<virt-sysprep>:

note: type: textblock
en: generate new UUIDs for PVs and VGs
uk: створення нових UUID для фізичних томів та груп томів

note: type: textblock
en: remove the local machine ID (Wanlong Gao)
uk: вилучення ідентифікатора локальної машини (Wanlong Gao)

note: type: textblock
en: remove ABRT data (Wanlong Gao)
uk: вилучення даних ABRT (Wanlong Gao)

note: type: textblock
en: remove puppet keys and log files (Wanlong Gao)
uk: вилучення ключів і файлів журналів puppet (Wanlong Gao)

note: type: textblock
en: remove process accounting files (Wanlong Gao)
uk: вилучення файлів обліку процесів (Wanlong Gao)

note: type: textblock
en: new I<--firstboot> parameter allowing firstboot scripts for customizing guests
uk: новий параметр I<--firstboot>, який уможливлює створення скриптів firstboot для налаштовування гостьових систем

note: type: textblock
en: remove HOSTNAME field from C<ifcfg-eth*> files (Wanlong Gao)
uk: вилучення поля HOSTNAME з файлів C<ifcfg-eth*> (Wanlong Gao)

note: type: textblock
en: miscellaneous improvements for SuSE (Olaf Hering)
uk: різноманітні поліпшення для SuSE (Olaf Hering)

note: type: textblock
en: remove man pages cache (Wanlong Gao)
uk: вилучення кешу сторінок підручника (Wanlong Gao)

note: type: textblock
en: remove crash data generated by kexec-tools (Wanlong Gao)
uk: вилучення даних щодо аварій, створених kexec-tools (Wanlong Gao)

note: type: textblock
en: C<virt-make-fs> can now create virtual floppy disks (VFDs).
uk: C<virt-make-fs> тепер може створювати віртуальні дискети (VFD).

note: type: textblock
en: C<guestmount> has a I<--pid-file> option, which can be used to avoid a race condition between unmounting the filesystem and using the underlying disk image.
uk: У C<guestmount> реалізовано параметр I<--pid-file>, яким можна скористатися для уникнення конкуренції між демонтуванням файлової системи і використанням підлеглого образу диска.

note: type: textblock
en: Full-featured Lua bindings have been added in this release (thanks to Jerome Vuarand for many suggestions).
uk: У цьому випуску додано повноцінні прив'язки до Lua (дякуємо Jerome Vuarand за багато пропозицій).

note: type: textblock
en: In Ruby, optional arguments hash is optional.
uk: У Ruby хеш для необов'язкових аргументів є необов'язковим.

note: type: textblock
en: In Python, optional arguments now don't use special "sentinel" values, so any integer can be passed as an optional argument.
uk: У Python необов'язкові аргументи тепер не використовують спеціальних «сторожових» значень, отже як необов'язковий параметр можна передавати будь-яке ціле число.

note: type: textblock
en: Erlang bindings now come with examples and tests.
uk: Прив'язки до Erlang тепер постачаються із прикладами і тестами.

note: type: textblock
en: Erlang bindings now handle 64 bit integer parameters correctly.
uk: Прив'язки до Erlang тепер обробляють 64-бітові цілі параметри належним чином.

note: type: textblock
en: The automated 'bindtests' now test for 64 bit cleanliness in parameter passing.  Several bugs in the bindings were found and fixed as a result.
uk: Автоматизовані «bindtests» тепер тестують правильність передавання 64-бітових параметрів. У результатів виявлено і виправлено декілька вад у прив'язках до мов програмування.

note: type: textblock
en: Better handling of blocking and non-blocking functions should make libguestfs calls more efficient.
uk: Поліпшено обробку блокування та впроваджено функції, які не блокують обробку. Це має зробити виклики libguestfs ефективнішими.

note: type: textblock
en: Windows guests with unlimited-sized Registries are now supported.  By adding the hivex API to the libguestfs API, it is much more efficient and easier to inspect and modify the Windows Registry in guests.
uk: Тепер передбачено обробку гостьових систем Windows без обмежень на розмір реєстру. Додавання програмного інтерфейсу hivex до програмного інтерфейсу libguestfs зробило інспектування на внесення змір до реєстру Windows у гостьових системах набагато ефективнішим.

note: type: textblock
en: Better support for SuSE guests (Olaf Hering).
uk: Поліпшено підтримку гостьових систем SuSE (Olaf Hering).

note: type: textblock
en: Return the architecture of installed applications (John Eckersberg).
uk: Реалізовано повернення даних щодо архітектури встановлених програм (John Eckersberg).

note: type: textblock
en: Windows 8 is now supported.
uk: Реалізовано підтримку Windows 8.

note: type: textblock
en: Fedora 18 is now supported.
uk: Тепер підтримується Fedora 18.

note: type: textblock
en: Inspection of ISOs/CDs/DVDs can now use the libosinfo database.
uk: Засіб інспектування ISO, CD та DVD тепер може використовувати базу даних libosinfo.

note: type: =head3
en: ports
uk: порти

note: type: textblock
en: Libguestfs without the appliance can be compiled on Mac OS X (Masami HIRATA).
uk: Libguestfs без базової системи можна зібрати у Mac OS X (Masami HIRATA).

note: type: textblock
en: RHEL 5 is now explicitly supported through the 'oldlinux' branch in upstream git.
uk: RHEL 5 тепер явним чином підтримується у гілці «oldlinux» основного сховища git.

note: type: textblock
en: PowerPC 64 bit is now supported.  Also libguestfs has been examined for endianness bugs and these have been fixed.
uk: Реалізовано підтримку 64-бітової архітектури PowerPC. Крім того, libguestfs було проінспектовано на вади, пов'язані із порядком байтів. Виявлені вади було виправлено.

note: type: =head3
en: daemon
uk: фонова служба

note: type: textblock
en: A man page for the daemon (L<guestfsd(8)>) is included.
uk: Включено сторінку підручника для фонової служби (L<guestfsd(8)>).

note: type: =head3
en: guestfish history file
uk: Файл журналу guestfish

note: type: textblock
en: The F<$HOME/.guestfish> history file is now created with 0600 permissions (instead of 0644 before) so it is no longer world readable.
uk: Файл журналу F<$HOME/.guestfish> тепер створюється із правами доступу 0600 (раніше використовувалася маска 0644), отже, його більше не зможуть читати сторонні користувачі.

note: type: textblock
en: Old versions of both C<virt-edit> and the C<guestfish> C<edit> command created a new file containing the changes but did not set the permissions, etc of the new file to match the old one.  The result of this was that if you edited a security sensitive file such as F</etc/shadow> then it would be left world-readable after the edit.
uk: У старих версіях програми C<virt-edit> та команди C<edit> C<guestfish> створювався новий файл, у якому зберігалися зміни, але не встановлювалися права доступу та інші параметри так, щоб вони збігалися із параметрами старого редагованого файла. У результаті після редагування конфіденційного файла, зокрема F</etc/shadow>, він ставав доступним для сторонніх користувачів.

note: type: textblock
en: This issue was assigned CVE-2012-2690, and is fixed in libguestfs E<ge> 1.16.
uk: Цій ваді було надано код CVE-2012-2690. Її було виправлено у libguestfs E<ge> 1.16.

note: type: textblock
en: For further information, see L<https://bugzilla.redhat.com/show_bug.cgi?id=788642>
uk: Докладніші дані можна знайти на сторінці L<https://bugzilla.redhat.com/show_bug.cgi?id=788642>

note: type: verbatim
en:  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 [added label and uuid optional arguments]
     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 [backported to 1.16 and 1.18]
     tar-in [added compress flag]
     tar-out [added compress, numericowner, excludes flags]
     umount [added force and lazy optional arguments]
     utsname
     xfs-admin (Wanlong Gao)
     xfs-growfs (Wanlong Gao)
     xfs-info (Wanlong Gao)
     xfs-repair (Wanlong Gao)
uk:  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)

note: type: textblock
en: In the C API only:
uk: Лише у програмному інтерфейсі C:

note: type: textblock
en: qemu E<ge> 1.1 is required (E<ge> 1.2 preferred).
uk: qemu E<ge> 1.1 є обов'язковою (бажаною є версія E<ge> 1.2).

note: type: textblock
en: febootstrap E<ge> 3.20 is required.
uk: febootstrap E<ge> 3.20 є обов'язковою.

note: type: textblock
en: libvirt is optional, but if you want to use the new libvirt backend for launching the appliance then libvirt E<ge> 0.10.2 would be required.
uk: libvirt є необов'язковою, але якщо ви хочете користуватися новим модулем libvirt для запуску базової системи, тоді обов'язковою є libvirt E<ge> 0.10.2.

note: type: textblock
en: Coverity has been run over the complete codebase, and many issues fixed (thanks Ondrej Vasik, Kamil Dudka).
uk: Для усього коду було виконано перевірку Coverity. Виправлено багато вад (дякуємо Ondrej Vasik, Kamil Dudka).

note: type: textblock
en: Functions which previously had no optargs can now be converted to ones with optargs, making extending the API much more flexible.  Source and binary backwards compatibility is preserved for users of the API.
uk: Функції, у яких раніше не було необов'язкових аргументів, тепер можна перетворити на функції із необов'язковими аргументами, що робить розширення програмного інтерфейсу набагато гнучкішим. Для користувачів програмного інтерфейсу збережено зворотну сумісність за кодом і виконуваними файлами.

note: type: textblock
en: The way that libguestfs APIs and structures are represented in the generator has changed to use an OCaml struct instead of a tuple.  This makes generator descriptions more flexible and easier to understand.  For details see commits 39d1a7db and eb185eef.
uk: Змінено спосіб, у який програмні інтерфейси і структури libguestfs представляються у генераторі, так, щоб використовувалися структури OCaml замість кортежів. Це робить описи у генераторів гнучкішими та простішими для розуміння. Подробиці викладено у внесках 39d1a7db і eb185eef.

note: type: textblock
en: Separation of the library code into more files:
uk: Поділ коду бібліотеки на більшу кількість файлів:

note: type: textblock
en: Launch backends are now located in separate files eg. F<src/launch-appliance.c>, C<src/launch-libvirt.c>.
uk: Модулі запуску тепер зберігаються у окремих файлах, наприклад F<src/launch-appliance.c>, C<src/launch-libvirt.c>.

note: type: textblock
en: Generated action code is now split over several F<src/action*.c> files, for faster compilation.
uk: Породжений код дій тепер поділено на декілька файлів F<src/action*.c> для пришвидшення збирання.

note: type: textblock
en: The huge F<src/guestfs.c> file is now split into smaller logical units.
uk: Величезний файл F<src/guestfs.c> поділено на декілька менших логічних модулів.

note: type: textblock
en: POD (documentation) is now generated using a rewritten Perl program instead of pod2* + shell scripts.
uk: POD (документація) тепер створюється з використанням переписаної програми на Perl, а не pod2* + скриптів оболонки.

note: type: textblock
en: Man pages now contain stable dates (Hilko Bengen).
uk: Сторінки підручника тепер містять стабільні дати (Hilko Bengen).

note: type: textblock
en: Skipped tests now exit with code 77, so they appear as C<SKIP:> in C<make check> output.
uk: Пропущені тести тепер виходять із кодом 77, отже потрапляють до C<SKIP:> у виведених C<make check> даних.

note: type: textblock
en: The parallel mount-local test has been rewritten in C (RHBZ#838081).
uk: Паралельний тест щодо mount-local було переписано на C (RHBZ#838081).

note: type: textblock
en: Ruby 1.8.5 is now supported (though Ruby E<ge> 1.9 is preferred).
uk: Тепер передбачено підтримку Ruby 1.8.5 (хоча перевага надається Ruby E<ge> 1.9).

note: type: textblock
en: Perl bindings can be disabled via C<./configure --disable-perl> (Wulf C. Krueger).  Note that Perl is still required in order to build libguestfs.
uk: Прив'язки до Perl тепер можна вимкнути за допомогою C<./configure --disable-perl> (Wulf C. Krueger). Зауважте, що сам інтерпретатор Perl усе ще потрібен для збирання libguestfs.

note: type: textblock
en: Java bindings are now enabled/disabled using C<./configure --with-java> or C<./configure --without-java> (Wulf C. Krueger).
uk: Прив'язки до Java тепер можна увімкнути або вимкнути за допомогою C<./configure --with-java> або C<./configure --without-java> (Wulf C. Krueger).

note: type: textblock
en: New configure options C<./configure --enable-code-profiling> and C<./configure --enable-code-coverage>.
uk: Нові параметри налаштування: C<./configure --enable-code-profiling> і C<./configure --enable-code-coverage>.

note: type: textblock
en: Multiple fixes to use of 64 bit integers in language bindings.
uk: Декілька виправлень щодо використання 64-бітових цілих чисел у прив'язках до мов програмування.

note: type: textblock
en: The appliance backend now uses sgabios instead of vgabios (Dan Berrange).
uk: Модуль базової системи тепер використовує sgabios замість vgabios (Dan Berrange).

note: type: textblock
en: The C<./run> script now sets enough environment variables that you can run OCaml, Python, Ruby, Java, GJS, Erlang, Lua programs.
uk: Скрипт C<./run> тепер встановлює достатньо змінних середовища, щоб можна було запускати програми на OCaml, Python, Ruby, Java, GJS, Erlang, Lua.

note: type: textblock
en: C<./run --test> flag for running tests with minimal output.  It also prints the time taken to run each test.
uk: Реалізовано прапорець C<./run --test> для запуску тестів із мінімальним виведенням. Також скрипт виводить час, який було витрачено на кожен із тестів.

note: type: textblock
en: The C<./run> script now builds up paths cumulatively, meaning that you can use C<./run> twice, or use the libguestfs and libvirt C<./run> scripts together.
uk: Скрипт C<./run> тепер збирає шляхи накопичувально, тобто ви можете скористатися C<./run> двічі або скористатися скриптами C<./run> libguestfs і libvirt разом.

note: type: textblock
en: You can extract a list of external commands required by the daemon, making building the appliance on certain distros easier (Olaf Hering).
uk: Тепер можна видобути список зовнішніх команд, потрібних для роботи фонової служби, що робить збирання базової системи на деяких дистрибутивах простішим (Olaf Hering).

note: type: textblock
en: The C<virt-rescue> command is now tested during C<make check>.
uk: Тепер під час виконання C<make check> виконується тестування C<virt-rescue>.

note: type: textblock
en: The generator now removes unused generated files.  This helps when going back and forth with git rebase, git bisect, etc.
uk: Генератор тепер вилучає невикористані створені файли. Це допомагає, якщо виконуються маневри модифікаціями коду за допомогою git rebase, git bisect тощо.

note: type: textblock
en: Tests now run in a separate toplevel C<tmp/> directory in the source.  This allows the directory to be labelled for SELinux (sVirt), and also makes it easier to clean up.
uk: Тести тепер запускаються у окремому каталозі C<tmp/> верхнього рівня у ієрархії коду. Це надає змогу створювати мітки для каталогу для SELinux (sVirt), а також спрощує чищення ієрархії коду.

note: type: textblock
en: C<make syntax-check> now works to a greater extent, and many problems in the main code that were found by syntax-check have been fixed (thanks Jim Meyering).
uk: Розширено діапазон роботи C<make syntax-check> і усунено багато проблем у основному коді, які було виявлено за допомогою перевірки синтаксису (дякуємо Jim Meyering).

note: type: textblock
en: Emacs mode (-*- foo -*-) has been added to generated files.
uk: До створених файлів додано режим Emacs (-*- foo -*-).

note: type: textblock
en: Progress bar output is now sent to F</dev/tty> so it doesn't end up in the regular output of the program.  virt-resize and virt-sparsify now suppress progress bars if stdout is not a tty.
uk: Виведення смужки поступу тепер надсилається до F</dev/tty>, отже не потрапляє до звичайних виведених програмою даних. virt-resize і virt-sparsify тепер придушують дані смужки поступу, якщо стандартним виведенням не є tty.

note: type: textblock
en: There is now a C<./configure --without-libvirt> option.  This is useful for testing that the code still compiles without libvirt.
uk: Впроваджено параметр C<./configure --without-libvirt>. Він є корисним для тестування того, чи можна зібрати код без libvirt.

note: type: textblock
en: There is now an internal mini-library for running commands.  This allows us to redirect errors from external commands into events.
uk: Впроваджено вбудовану мінібібліотеку для запуску команд. Це надало нам змогу переспрямувати повідомлення про помилки від зовнішніх команд до записів подій.

note: type: textblock
en: Code for handling temporary directories and the appliance cache was completely overhauled.
uk: Повністю переглянуто код для обробки тимчасових каталогів та кешу базової системи.

note: type: textblock
en: Code for temporarily ignoring/disabling errors now looks like this:
uk: Код для тимчасового ігнорування або вимикання повідомлень про помилки тепер виглядає так:

note: type: verbatim
en:  guestfs_push_error_handler (g, NULL, NULL);
     guestfs_mkdir (g, "/foo"); /* We don't care if this fails. */
     guestfs_pop_error_handler (g);
uk:  guestfs_push_error_handler (g, NULL, NULL);
     guestfs_mkdir (g, "/foo"); /* Нам все одно, якщо спроба буде невдалою. */
     guestfs_pop_error_handler (g);

note: type: textblock
en: The C<tests/extra> directory has gone.  The "extra tests" are now split into separately runnable targets, such as C<make check-valgrind>.  Use C<make help> to get a summary of the targets.
uk: Усунено каталог C<tests/extra>. «Додаткові тести» тепер поділено на декілька окремих цілей, наприклад C<make check-valgrind>.  Скористайтеся командою C<make help>, щоб дізнатися більше про ці цілі.

note: type: textblock
en: The C<lpj> option is passed to the appliance kernel when using TCG.  This should improve clock stability (thanks Marcelo Tosatti, Olaf Hering).
uk: Ядру базової системи тепер передається параметр C<lpj>, якщо використовується TCG. Це має поліпшити стабільність відліку часу (дякуємо Marcelo Tosatti, Olaf Hering).

note: type: textblock
en: libguestfs tools fail with odd error messages if TMPDIR is not an absolute path
uk: Інструменти libguestfs показують повідомлення про незрозумілі помилки, якщо TMPDIR не є абсолютним шляхом

note: type: textblock
en: libguestfs: migration to /etc/hostname, /etc/vconsole.conf, /etc/locale.conf
uk: libguestfs: перехід на /etc/hostname, /etc/vconsole.conf, /etc/locale.conf

note: type: textblock
en: virt-df with two -a options displays incorrect disk image name
uk: virt-df із двома параметрами -a options показує некоректну назву образу диска

note: type: textblock
en: virt-rescue in Fedora 18 is completely broken
uk: virt-rescue у Fedora 18 повністю непрацездатний

note: type: textblock
en: virt-sparsify --compress fails if output is raw format
uk: virt-sparsify --compress не працює, якщо дані виводяться у необробленому форматі (raw)

note: type: textblock
en: virt-make-fs / tar-in should support vfat properly
uk: virt-make-fs / tar-in має підтримувати vfat належним чином

note: type: textblock
en: Data loss when writing to qcow2-format disk files
uk: Втрата даних під час запису до файлів дисків у форматі qcow2

note: type: textblock
en: Filenames containing Chinese characters can't be created on vfat filesystems
uk: Файли із китайськими ієрогліфами у назвах не можна створити у файловій системі vfat

note: type: textblock
en: virt-make-fs -t fat fails with an obscure error message
uk: virt-make-fs -t fat не працює, повідомляючи про незрозумілу помилку

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.22
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.22

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.20.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.20.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: Remote access to disks:
uk: Віддалений доступ до таких дисків:

note: type: textblock
en: HTTP and HTTPS
uk: HTTP та HTTPS

note: type: textblock
en: FTP and FTPS
uk: FTP та FTPS

note: type: textblock
en: The SYSLINUX and EXTLINUX bootloaders can now be installed in disk images using the API.
uk: Завантажувачі SYSLINUX і EXTLINUX тепер можна встановлювати на образи дисків за допомогою програмного інтерфейсу.

note: type: textblock
en: Inspection can now handle filesystems such as btrfs where subvolumes are separately mountable (Matthew Booth).
uk: Засіб інспектування тепер може обробляти файлові системи, зокрема btrfs, у яких підтомами є окремі точки монтування (Matthew Booth).

note: type: textblock
en: "Attach methods" are now known as "backends".  Compatibility with existing code is preserved.
uk: «Методи долучення» тепер називатимуться «модулями обробки». Сумісність із наявним кодом збережено.

note: type: textblock
en: Filenames can contain ':', as long as newer QEMU is being used.
uk: У назвах файлів можуть міститися символи «:», якщо використовується нова версія QEMU.

note: type: =head3
en: Tools
uk: Інструменти

note: type: textblock
en: Virt-alignment-scan and virt-df scan multiple guests in parallel.
uk: Virt-alignment-scan і virt-df можуть сканувати декілька гостьових систем паралельно.

note: type: textblock
en: Guestmount now passes errno accurately back to userspace in almost all cases.
uk: Guestmount тепер передає до простору користувача точний номер помилки майже завжди.

note: type: textblock
en: Guestfish and other tools can now use a URI-like syntax to access remote disks, eg:
uk: Guestfish та інші інструменти тепер можуть використовувати адресоподібний синтаксис для доступу до віддалених дисків. Приклад:

note: type: verbatim
en:  guestfish -a ssh://example.com/path/to/disk.img
uk:  guestfish -a ssh://example.com/шлях/до/диска.img

note: type: textblock
en: Guestfish and guestmount now allow you to specify the filesystem type when mounting, which is more secure (Dave Vasilevsky).
uk: Guestfish та guestmount тепер надають вам змогу вказувати тип файлової системи під час монтування, що є безпечнішими способом монтування (Dave Vasilevsky).

note: type: textblock
en: Guestfish is now the "guest filesystem shell".
uk: Guestfish тепер є «командною оболонкою файлової системи гостьової операційної системи».

note: type: textblock
en: Guestfish allows only C<1> C<true> C<t> C<yes> C<y> C<on> C<0> C<false> C<f> C<no> C<n> C<off> for boolean values (case insensitive), and gives an error for all other strings.
uk: Guestfish тепер надає змогу використовувати лише C<1> C<true> C<t> C<yes> C<y> C<on> C<0> C<false> C<f> C<no> C<n> C<off> як булеві значення (без врахування регістру символів) і повертає помилку для усіх інших рядків.

note: type: textblock
en: New tool C<guestunmount> for unmounting FUSE filesystems safely.
uk: Новий інструмент C<guestunmount> для безпечного демонтування файлових систем FUSE.

note: type: textblock
en: C<guestmount --no-fork> flag prevents guestmount from daemonizing.
uk: За допомогою прапорця C<guestmount --no-fork> тепер можна запобігти перетворенню guestmount на фонову службу.

note: type: textblock
en: Virt-resize now uses sparse copies by default, saving considerable space for guests which are mostly empty.
uk: Virt-resize тепер типово використовує розріджені копії, значно заощаджуючи місце на диску для гостьових систем, які є майже порожніми.

note: type: textblock
en: Bash tab completion has been rewritten and can now handle most tools, and correctly tab-complete C<--long> options.  In addition, bash completion scripts are loaded on demand.
uk: Інструкції доповнення команд за Tab у bash було переписано, тепер у них враховано більшість інструментів та реалізовано правильне доповнення C<--довгих> параметрів. Крім того, скрипти доповнення bash завантажуються на вимогу.

note: type: =head3
en: Language bindings
uk: Прив’язки до мов програмування

note: type: textblock
en: The Java API now supports events.
uk: У програмному інтерфейсі Java тепер передбачено підтримку подій.

note: type: textblock
en: The Python object now inherits from the C<object> base class.
uk: Об'єкт Python тепер успадковується від базового класу C<object>.

note: type: textblock
en: Python methods which previously returned lists of tuples can now be made to return a Python dict.  For backwards compatibility, you have to enable this by using the constructor option S<C<guestfs.GuestFS (python_return_dict=True)>>.
uk: Методи Python, які раніше повертали список кортежів, тепер можуть повертати словники Python. З метою забезпечення зворотної сумісності, вам доведеться увімкнути цю можливість за допомогою використання параметра конструктора S<C<guestfs.GuestFS (python_return_dict=True)>>.

note: type: textblock
en: The PHP bindings are now tested properly, and have had multiple fixes.
uk: Прив'язки до PHP тепер належним чином перевірено, у них виправлено декілька вад.

note: type: textblock
en: The long-deprecated Perl C<Sys::Guestfs::Lib> library has been removed.  L<https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html>
uk: Вилучено застарілу бібліотеку Perl C<Sys::Guestfs::Lib>. L<https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html>

note: type: =head3
en: Examples
uk: Приклади

note: type: textblock
en: New example program showing how to enable debugging and capture log messages.
uk: Нові приклади програм показують, як увімкнути діагностику і перехопити повідомлення журналу.

note: type: =head3
en: Other
uk: Інше

note: type: textblock
en: Distributors can add arbitrary extra packages to the appliance by doing:
uk: Автори дистрибутивів можуть додавати довільні додаткові пакунки до базової системи за допомогою такої команди:

note: type: verbatim
en:  ./configure --with-extra-packages="list of package names"
uk:  ./configure --with-extra-packages="список назв пакунків"

note: type: textblock
en: Distributors can use:
uk: Автори дистрибутивів можуть скористатися такою командою:

note: type: textblock
en: to add arbitrary extra options to supermin.
uk: для додавання довільних додаткових параметрів supermin.

note: type: textblock
en: No security issues were found in this release.
uk: У цьому випуску вад захисту не виявлено.

note: type: textblock
en: C only:
uk: Лише C:

note: type: textblock
en: The febootstrap tool has now been renamed to "supermin".  Libguestfs can use either, but now prefers "supermin".  L<http://people.redhat.com/~rjones/supermin/>
uk: Інструмент febootstrap перейменовано на «supermin». Libguestfs може використовувати обидві назви, але тепер пріоритетною назвою є «supermin». L<http://people.redhat.com/~rjones/supermin/>

note: type: textblock
en: libxml2 is required to build libguestfs.
uk: Для збирання libguestfs тепер обов'язковою є libxml2.

note: type: textblock
en: The hivexregedit program (from hivex) is required to build from git.
uk: Для збирання версії з git тепер обов'язковою є програма hivexregedit (з hivex).

note: type: textblock
en: Internal functions can no longer be used unless the caller defines C<-DGUESTFS_PRIVATE=1>.
uk: Внутрішніми функціями більше не можна користуватися, якщо функція виклику не визначає C<-DGUESTFS_PRIVATE=1>.

note: type: textblock
en: Enable C compiler warnings in Python, Ruby bindings.
uk: Увімкнено попередження компілятора C у прив'язках до Python і Ruby.

note: type: textblock
en: Fail early and clearly if libvirt does not support qemu/KVM (eg. if default libvirt connection is to Xen).
uk: Реалізовано раннє і зрозуміле завершення роботи, якщо у libvirt не передбачено підтримки qemu/KVM (наприклад, якщо типовим з'єднанням libvirt є Xen).

note: type: textblock
en: C<make print-subdirs> rule, useful for selectively running tests.
uk: Реалізовано правило C<make print-subdirs>, яке є корисним для вибіркового запуску тестів.

note: type: textblock
en: Multiple fixes to allow separated (sourcedir != builddir) builds.
uk: Декілька виправлень, які уможливлюють роздільне збирання (каталог коду != каталог збирання).

note: type: textblock
en: Multiple fixes to Haskell bindings.
uk: Декілька виправлень у прив’язках до Haskell.

note: type: textblock
en: C<ln> and C<ln-f> APIs now capture C<errno> correctly.
uk: Програмні інтерфейси C<ln> та C<ln-f> тепер правильно перехоплюють C<errno>.

note: type: textblock
en: Language binding tests use (mostly) a standard numbering scheme and aim to test the same range of features in each language.  Also the number of launches required has been reduced so these tests should run much more quickly.
uk: Тести прив'язок до мов (здебільшого) використовують стандартну схему нумерування і тестують однаковий діапазон можливостей для усіх мов. Крім того, зменшено кількість запусків, які для цього потрібні, отже виконання тестів значно пришвидшено.

note: type: textblock
en: Library code internally uses GCC C<__attribute__((cleanup))> (if available) to simplify memory allocation.
uk: Код бібліотеки на внутрішньому рівні використовує GCC C<__attribute__((cleanup))> (якщо доступне) для спрощення отримання пам'яті.

note: type: textblock
en: Internal header files have been reorganized.  See the comments in F<src/guestfs-internal*.h>
uk: Перевпорядковано внутрішні файли заголовків. Див. коментарі у F<src/guestfs-internal*.h>

note: type: textblock
en: Internal code shared between the library and certain tools is now located in a static C<libutils> library.
uk: Код внутрішнього використання, який є спільним для бібліотеки та деяких інструментів, тепер зберігається у статичній бібліотеці C<libutils>.

note: type: textblock
en: Almost all subdirectories can now use parallel builds, although note that the top-level directories still build in series.
uk: Майже у всіх підкаталогах тепер використовується паралельне збирання, хоча, слід зауважити, що усі каталоги верхнього рівня все ще збираються послідовно.

note: type: textblock
en: Use of C<PATH_MAX> and C<NAME_MAX> has been eliminated from the code.
uk: З коду вилучено усі випадки використання C<PATH_MAX> і C<NAME_MAX>.

note: type: textblock
en: The Java API now requires JVM E<ge> 1.6.
uk: Для програмного інтерфейсу Java тепер потрібна JVM E<ge> 1.6.

note: type: textblock
en: Force use of C<serial-tests> with automake E<ge> 1.12.
uk: Реалізовано примусове використання C<serial-tests> із automake E<ge> 1.12.

note: type: textblock
en: Use of sockets in the library protocol layer is abstracted, allowing other non-POSIX layers to be added in future (see F<src/conn-socket.c>).
uk: Створено абстракцію використання сокетів у шарі протоколу бібліотеки, що уможливлює додавання інших нових шарів, відмінних від POSIX (див. F<src/conn-socket.c>).

note: type: textblock
en: C<qemu-img info --output json> is used if available, for more secure parsing of the output of this command.
uk: Якщо можливо, використовується C<qemu-img info --output json> з метою зробити обробку виведених цією командою даних безпечнішою.

note: type: textblock
en: Distros can now use C<make INSTALLDIRS=vendor install> to place Ruby bindings in vendordir.  This eliminates a non-upstream patch carried by both Fedora and Debian.
uk: Тепер дистрибутиви можуть використовувати C<make INSTALLDIRS=vendor install> для розміщення прив'язок до Ruby у відповідному каталозі. Таким чином усунено потребу у зовнішній латці у Fedora та Debian.

note: type: textblock
en: Valgrind log files are now written to F<tmp/valgrind-I<DATE>-I<PID>.log>
uk: Файли журналу valgrind тепер записуються до F<tmp/valgrind-I<ДАТА>-I<PID>.log>

note: type: textblock
en: C<make clean> cleans the local C<tmp/> directory.
uk: C<make clean> очищує локальний каталог C<tmp/>.

note: type: textblock
en: The C API tests have been rewritten using a more flexible generator language that allows arbitrary C code to be executing during tests.
uk: Тести програмного інтерфейсу мовою C переписано із використанням гнучкішої мови генератора, що уможливило виконання довільного коду C під час тестування.

note: type: textblock
en: inspection fails if libosinfo is not installed
uk: Не вдається виконати інспектування, якщо не встановлено libosinfo

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.24
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.24

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.22.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.22.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: User-Mode Linux (UML) can be used as an alternative backend (ie. instead of KVM).  This improves performance especially when using libguestfs inside a VM (eg. in the cloud).  UML is supported as a first-class backend.  See L<guestfs(3)/USER-MODE LINUX BACKEND> for how to use this.
uk: Можна використовувати User-Mode Linux (UML) як альтернативний модуль обробки (замість KVM). Використання цього модуля поліпшує швидкодію, особливо, якщо libguestfs використовується у віртуальній машині (наприклад, у хмарі). Підтримка UML здійснюється як для основного модуля. Див. L<guestfs(3)/МОДУЛЬ USER-MODE LINUX>, щоб дізнатися про цей модуль більше.

note: type: textblock
en: ARM (32 bit) and PPC64 are now fully supported.
uk: Тепер повністю підтримуються архітектури ARM (32-бітова) та PPC64.

note: type: textblock
en: L<virt-builder(1)> is a new tool for building virtual machine images.  It lets you rapidly and securely create guests and customize them.
uk: L<virt-builder(1)> — новий інструмент для збирання образів для віртуальних машин. За його допомогою ви можете швидко і безпечно створювати і налаштовувати гостьові системи.

note: type: textblock
en: New L<virt-sysprep(1)> operations: Remove files in F</tmp> and F</var/tmp>.  Remove RPM database files.  Change root and user passwords.  More log files are removed.  New operations which are not enabled by default: Create random UUIDs for filesystems.  Reset firewall rules.  (Wanlong Gao)
uk: Нові дії у L<virt-sysprep(1)>: вилучення файлів у F</tmp> і F</var/tmp>. Вилучення файлів баз даних RPM. Зміна паролів root та користувача. Вилучається більше файлів журналів. Нові дії, які типово не увімкнено: створення випадкових UUID для файлових систем. Скидання правил брандмауера. (Wanlong Gao)

note: type: textblock
en: L<virt-resize(1)> and virt-sysprep can now use URIs to specify a remote disk.
uk: L<virt-resize(1)> та virt-sysprep тепер можуть використовувати адреси для визначення віддаленого диска.

note: type: textblock
en: Use C<guestfish -N filename=type> to create a named disk image (instead of the default F<test1.img> etc).
uk: Реалізовано використання C<guestfish -N назва_файла=тип> для створення іменованого образу диска (замість типового F<test1.img> тощо).

note: type: textblock
en: L<virt-sparsify(1)> now tests if there is enough disk space to complete the operation, instead of possibly running out of space half way through.
uk: L<virt-sparsify(1)> тепер перевіряє, чи достатньо місця на диску для завершення дії. Тепер неможлива ситуація, коли місце вичерпується під час виконання завдання.

note: type: textblock
en: L<virt-format(1)> and L<virt-make-fs(1)>: new I<--label> option for setting filesystem label.
uk: L<virt-format(1)> і L<virt-make-fs(1)>: новий параметр I<--label> для встановлення мітки файлової системи.

note: type: textblock
en: virt-resize I<--no-sparse> flag can be used to resize on to partitions and other targets that are not zeroed.
uk: Тепер можна скористатися прапорцем virt-resize I<--no-sparse> для зміни розмірів на розділи або інші незанулені місця.

note: type: textblock
en: New bindings for the Go programming language.
uk: Нові прив'язки до мови програмування Go.

note: type: textblock
en: Support for the systemd journal.
uk: Підтримка журналу systemd.

note: type: textblock
en: C<guestfs_add_drive_opts> can now control the qemu caching mode through a new C<cachemode> parameter.  You can select improved performance for temporary drives, or safety.
uk: C<guestfs_add_drive_opts> тепер може контролювати режим кешування qemu за допомогою нового параметра C<cachemode>. Ви можете вибрати поліпшену швидкодію для тимчасових дисків або надійний захист.

note: type: textblock
en: C<guestfs_set_label> now works for XFS and btrfs.
uk: C<guestfs_set_label> тепер працює з XFS і btrfs.

note: type: textblock
en: New GUESTFS_EVENT_WARNING event for warning messages.
uk: Нова подія GUESTFS_EVENT_WARNING для повідомлень із попередженнями.

note: type: =head3
en: Inspection
uk: Перевірка

note: type: textblock
en: Better inspection of SUSE guests (Olaf Hering).
uk: Поліпшено інспектування гостьових систем SUSE (Olaf Hering).

note: type: textblock
en: Better support for non-standard Windows %systemroot% (Matthew Booth).
uk: Поліпшено підтримку нестандартних %systemroot% у Windows (Matthew Booth).

note: type: textblock
en: Enhanced error reporting for Augeas errors.
uk: Удосконалено звітування про помилки у Augeas.

note: type: textblock
en: A denial of service was possible when inspecting certain guests.  The fix has been backported to 1.20 and 1.22 branches.
uk: Була можливою відмова у обслуговування під час інспектування певних гостьових систем. Виправлення зворотно портовано на гілки 1.20 і 1.22.

note: type: textblock
en: Fix insecure temporary directory handling for remote guestfish.  The fix has been backported to 1.20 and 1.22 branches.
uk: Виправлено незахищену обробку тимчасових каталогів для віддалених guestfish. Виправлення зворотно портовано на гілки 1.20 і 1.22.

note: type: verbatim
en:  add-drive-scratch: Add a temporary scratch drive
     aug-label
     aug-setm
     journal-open: Systemd journal support
     journal-close
     journal-next
     journal-skip
     journal-get
     journal-get-data-threshold
     journal-set-data-threshold
     remount: Allow rw flag to be adjusted on mounted filesystems
     set-uuid: Set UUID of filesystem
uk:  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 файлової системи

note: type: textblock
en: C<is-file>, C<is-dir>, C<is-blockdev>, C<is-chardev>, C<is-fifo>, C<is-socket> APIs now have an extra C<followsymlinks> flag.
uk: У програмних інтерфейсів C<is-file>, C<is-dir>, C<is-blockdev>, C<is-chardev>, C<is-fifo>, C<is-socket> тепер з'явився додатковий прапорець C<followsymlinks>.

note: type: textblock
en: C<add-drive> has a new C<cachemode> parameter.
uk: У C<add-drive> передбачено новий параметр C<cachemode>.

note: type: =head2
en: Build changes
uk: Зміни у збиранні

note: type: textblock
en: The following packages are required to build libguestfs 1.24:
uk: Для збирання libguestfs 1.24 потрібні такі пакунки:

note: type: textblock
en: The following optional packages may be added to enhance functionality but are not required:
uk: Вказаними нижче пакунками можна скористатися для розширення можливостей, але вони не є обов'язковими:

note: type: textblock
en: To read journal files from guests which use that.
uk: Для читання файлів журналів з гостьових систем, де використовуються журнали.

note: type: textblock
en: For UML backend.
uk: Для модуля обробки UML.

note: type: textblock
en: For virt-builder.
uk: Для virt-builder.

note: type: textblock
en: For Go language bindings.
uk: Для прив’язок до мови Go.

note: type: textblock
en: New C<make check-*> rules replace C<make extra-tests>.  See C<make help> and L<guestfs(3)> for details.
uk: Нові правила C<make check-*>, які замінили C<make extra-tests>. Докладніший опис можна отримати за допомогою команди C<make help> і сторінки підручника L<guestfs(3)>.

note: type: textblock
en: Perl code can now be valgrinded.
uk: Тепер можна використовувати valgrind для коду мовою Perl.

note: type: textblock
en: Inspection code is now fuzz-tested.
uk: Код засобу інспектування перевірено за допомогою fuzz.

note: type: textblock
en: C<make> no longer recurses into the generator directory in every other directory.  This reduces the overhead of builds considerably.
uk: C<make> більше не переходить рекурсивно до каталогу generator у кожному іншому каталозі. Це значно зменшує час збирання.

note: type: textblock
en: Additional tests for Augeas, hivex.
uk: Додаткові тести для Augeas, hivex.

note: type: textblock
en: Add a launch timeout of 20 minutes waiting for the appliance to start up.
uk: Додано час очікування на запуск у 20 хвилин для базової системи.

note: type: textblock
en: Add a timeout (4 hours) to all tests so we can catch the case where qemu or other components hang.
uk: Додано час очікування (4 години) для усіх тестів, щоб можна було розібратися із випадком, коли повисає qemu або інші компоненти.

note: type: textblock
en: Use kvmclock and C<-cpu host>.  This improves clock stability and overall performance.
uk: Реалізовано використання kvmclock і C<-cpu host>. Це поліпшує стабільність відліку часу та загальну швидкодію.

note: type: textblock
en: C<./configure --enable-packet-dump> mode is fixed.
uk: Виправлено режим C<./configure --enable-packet-dump>.

note: type: textblock
en: C<./configure --enable-valgrind-daemon> mode has been rewritten.  It is now feasible for developers to keep this flag enabled at all times.
uk: Переписано режим C<./configure --enable-valgrind-daemon>. Тепер розробники можуть використовувати цей прапорець увесь час.

note: type: textblock
en: Backends have been refactored to be modular (although they are not actually loadable modules).
uk: Переписано модулі обробки так, щоб вони не залежали один від одного (хоча насправді вони не є завантажуваними модулями).

note: type: textblock
en: When enabled, the network now uses resolver configuration (ie. /etc/resolv.conf) from the host.
uk: Якщо мережу увімкнено, використовуються налаштування визначення адрес (тобто /etc/resolv.conf) з основної системи.

note: type: textblock
en: libguestfs-tools.conf should have a man page
uk: libguestfs-tools.conf потрібна сторінка man

note: type: textblock
en: valgrind errors in btrfs_subvolume_list
uk: Помилки valgrind у btrfs_subvolume_list

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.26
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.26

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.24.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.24.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: L<virt-customize(1)> is a new tool for customizing virtual machine disk images.  It lets you install packages, edit configuration files, run scripts, set passwords and so on.  L<virt-builder(1)> and L<virt-sysprep(1)> use virt-customize, and command line options across all these tools are now identical.
uk: L<virt-customize(1)> — новий інструмент для налаштовування образів дисків віртуальної машини. За його допомогою ви можете встановлювати пакунки, редагувати файли налаштувань, запускати скрипти, встановлювати паролі тощо. L<virt-builder(1)> і L<virt-sysprep(1)> використовують virt-customize. Параметри командного рядка усіх цих інструментів тепер є ідентичними.

note: type: textblock
en: L<virt-diff(1)> is a new tool for showing the differences between the filesystems of two virtual machines.  It is mainly useful when showing what files have been changed between snapshots.
uk: L<virt-diff(1)> — новий інструмент для показу відмінностей між файловими системами двох віртуальних машин. Основним його призначенням є показ файлів, які було змінено між двома знімками віртуальної машини.

note: type: textblock
en: L<virt-builder(1)> has been greatly enhanced.  There are many more ways to customize the virtual machine.  It can pull templates from multiple repositories.  A parallelized internal xzcat implementation speeds up template decompression.  Virt-builder uses an optimizing planner to choose the fastest way to build the VM.  It is now easier to use virt-builder from other programs.  Internationalization support has been added to metadata.  More efficient SELinux relabelling of files.  Can build guests for multiple architectures.  Error messages have been improved.  (Pino Toscano)
uk: Значно розширено можливості L<virt-builder(1)>. Передбачено набагато більше способів налаштовування віртуальної машини. Можливе отримання шаблонів з декількох сховищ. Паралелізована внутрішня реалізація xzcat пришвидшує розпаковування шаблонів. Virt-builder використовує оптимізований планувальник для вибору найшвидшого способу побудови віртуальної машини. Тепер простіше користуватися virt-builder з інших програм. Додано підтримку перекладу метаданих. Реалізовано ефективнішу процедуру повторного встановлення міток SELinux для файлів. Можлива побудова гостьових систем для декількох архітектур. Поліпшено повідомлення щодо помилок. (Pino Toscano)

note: type: textblock
en: L<virt-sparsify(1)> has a new I<--in-place> option.  This sparsifies an image in place (without copying it) and is also much faster.  (Lots of help provided by Paolo Bonzini)
uk: У L<virt-sparsify(1)> передбачено новий параметр I<--in-place>. Його використання призводить до розрідження системи на місці (без її копіювання), що набагато пришвидшує виконання завдання. (Значна допомога з боку Paolo Bonzini)

note: type: textblock
en: L<virt-sysprep(1)> can delete and scrub files under user control.  You can lock user accounts or set random passwords on accounts.  Can remove more log files.  Can unsubscribe a guest from Red Hat Subscription Manager.  New flexible way to enable and disable operations.  (Wanlong Gao, Pino Toscano)
uk: L<virt-sysprep(1)> може вилучати і витирати файли під керуванням користувача. Ви можете заблокувати облікові записи користувачів або встановити випадкові паролі для облікових записів. Можна вилучати більше файлів журналу. Можна скасовувати передплату гостьових систем у Red Hat Subscription Manager. Новий гнучкий спосіб вмикати і вимикати дії. (Wanlong Gao, Pino Toscano)

note: type: textblock
en: L<virt-win-reg(1)> allows you to use URIs to specify remote disk images.
uk: У L<virt-win-reg(1)> передбачено можливість використовувати адреси для визначення віддалених образів дисків.

note: type: textblock
en: L<virt-format(1)> can now pass the extra space that it recovers back to the host.
uk: L<virt-format(1)> тепер може повертати отримане додаткове вільне місце основній системі.

note: type: textblock
en: L<guestfish(1)> has additional environment variables to give fine control over the C<E<gt>E<lt>fsE<gt>> prompt.  Guestfish reads its (rarely used) configuration file in a different order now so that local settings override global settings.  (Pino Toscano)
uk: L<guestfish(1)> має додаткові змінні середовища для надання можливості точнішого налаштовування за допомогою запиту C<E<gt>E<lt>fsE<gt>>. Guestfish тепер читає його (нечасто використовуваний) файл налаштувань у іншому порядку так, що локальні параметри перевизначають загальні параметри. (Pino Toscano)

note: type: textblock
en: L<virt-make-fs(1)> was rewritten in C, but is unchanged in terms of functionality and command line usage.
uk: L<virt-make-fs(1)> було переписано на C, але програма лишилася незмінною за функціональними можливостями і використанням командного рядка.

note: type: textblock
en: The OCaml bindings have a new C<Guestfs.Errno> module, used to check the error number returned by C<Guestfs.last_errno>.
uk: Прив'язки до OCaml містять новий модуль C<Guestfs.Errno>, який використовується для перевірки номерів помилок, які повертає C<Guestfs.last_errno>.

note: type: textblock
en: PHP tests now work.  (Pino Toscano)
uk: Відновлення працездатності тестів PHP. (Pino Toscano)

note: type: textblock
en: Inspection can recognize Debian live images.
uk: Засіб інспектування тепер може розпізнавати образи портативних систем Debian.

note: type: =head3
en: Architectures
uk: Архітектури

note: type: textblock
en: ARMv7 (32 bit) now supports KVM acceleration.
uk: На ARMv7 (32-бітових) тепер передбачено підтримку пришвидшення KVM.

note: type: textblock
en: Aarch64 (ARM 64 bit) is supported, but the appliance part does not work yet.
uk: Передбачено підтримку Aarch64 (ARM 64-бітових), але частина, пов'язана із базовою системою, ще не працює.

note: type: textblock
en: PPC64 support has been fixed and enhanced.
uk: Виправлено і удосконалено підтримку PPC64.

note: type: =head2
en: Denial of service when inspecting disk images with corrupt btrfs volumes
uk: Відмова у обслуговуванні при інспектуванні образів дисків із пошкодженими томами btrfs

note: type: textblock
en: It was possible to crash libguestfs (and programs that use libguestfs as a library) by presenting a disk image containing a corrupt btrfs volume.
uk: Можна було спричинити аварійне завершення роботи libguestfs (та програм, які використовують libguestfs як бібліотеку) передаванням їм образу диска, на якому містився пошкоджений том btrfs.

note: type: textblock
en: This was caused by a NULL pointer dereference causing a denial of service, and is not thought to be exploitable any further.
uk: Причиною було розіменування нульового вказівника, яке спричиняло відмову в обслуговуванні. Ми вважаємо, що ширше використання цієї вразливості неможливе.

note: type: textblock
en: See commit d70ceb4cbea165c960710576efac5a5716055486 for the fix.  This fix is included in libguestfs stable branches S<E<ge> 1.26.0>, S<E<ge> 1.24.6> and S<E<ge> 1.22.8>, and also in RHEL S<E<ge> 7.0>.  Earlier versions of libguestfs are not vulnerable.
uk: Див. внесок d70ceb4cbea165c960710576efac5a5716055486 із виправленням. Це виправлено включено до стабільних гілок libguestfs S<E<ge> 1.26.0>, S<E<ge> 1.24.6> та S<E<ge> 1.22.8>, а також до RHEL S<E<ge> 7.0>. Старіші версії libguestfs не є вразливими.

note: type: =item
en: Better generation of random root passwords and random seeds
uk: Якісніше створення випадкових паролів root та породжувачів псевдовипадкових послідовностей

note: type: textblock
en: When generating random root passwords and random seeds, two bugs were fixed which are possibly security related.  Firstly we no longer read excessive bytes from F</dev/urandom> (most of which were just thrown away).  Secondly we changed the code to avoid modulo bias.  These issues were not thought to be exploitable.  (Both changes suggested by Edwin Török)
uk: Виявлено і виправлено дві пов'язаних із захистом вади під час створення випадкових паролів root та породжувачів псевдовипадкових послідовностей чисел. По-перше, ми більше не читаємо зайві байти з F</dev/urandom> (більшу частину даних з якого ми просто відкидали). По-друге, ми змінили код, щоб уникнути нерівномірного розподілу за лишками. Ми вважаємо, що цими вразливостями не можна скористатися. (Обидві зміни запропоновано Edwin Török)

note: type: textblock
en: GUID parameters are now validated when they are passed to API calls, whereas previously you could have passed any string.  (Pino Toscano)
uk: Тепер перевіряється коректність параметрів GUID, коли їх передають до викликів програмного інтерфейсу. Раніше можна було передати довільний рядок. (Pino Toscano)

note: type: =item
en: C<guestfs_add_drive_opts>: new C<discard> parameter
uk: C<guestfs_add_drive_opts>: новий параметр C<discard>

note: type: textblock
en: The new C<discard> parameter allows fine-grained control over discard/trim support for a particular disk.  This allows the host file to become more sparse (or thin-provisioned) when you delete files or issue the C<guestfs_fstrim> API call.
uk: За допомогою нового параметра C<discard> можливий точніший контроль над підтримкою відкидання та обрізання для певного диска. Це уможливлює створення розрідженіших файлів у основній системі, коли ви вилучаєте файли або надсилаєте виклик до програмного інтерфейсу C<guestfs_fstrim>.

note: type: =item
en: C<guestfs_add_domain>: new parameters: C<cachemode>, C<discard>
uk: C<guestfs_add_domain>: нові параметри: C<cachemode>, C<discard>

note: type: textblock
en: These parameters are passed through when adding the domain's disks.
uk: Ці параметри передаються під час додавання дисків домену.

note: type: textblock
en: Discard all blocks on a guestfs device.  Combined with the C<discard> parameter above, this makes the host file sparse.
uk: Відкинути усі блоки на пристрої guestfs. У поєднанні із описаним вище параметром C<discard> це робить файл у основній системі розрідженим.

note: type: textblock
en: Test if discarded blocks read back as zeroes.
uk: Для перевірки того, чи відкинуті блоки читаються як нульові.

note: type: textblock
en: For each struct returned through the API, libguestfs now generates C<guestfs_compare_*> and C<guestfs_copy_*> functions to allow you to compare and copy structs.
uk: Для усіх структури, повернути через програмний інтерфейс, libguestfs тепер створює функції C<guestfs_compare_*> і C<guestfs_copy_*>, за допомогою яких можна порівнювати і копіювати структури.

note: type: textblock
en: Copy attributes (like permissions, xattrs, ownership) from one file to another.  (Pino Toscano)
uk: Копіювання атрибутів (зокрема прав доступу, xattrs, прав власності) з одного файла до іншого. (Pino Toscano)

note: type: textblock
en: A flexible API for creating empty disk images from scratch.  This avoids the need to call out to external programs like L<qemu-img(1)>.
uk: Гнучкий програмний інтерфейс для створення порожніх образів дисків з нуля. Надає змогу обійтися без викликів зовнішніх програм, зокрема L<qemu-img(1)>.

note: type: textblock
en: Per-backend settings (can also be set via the environment variable C<LIBGUESTFS_BACKEND_SETTINGS>).  The main use for this is forcing TCG mode in the qemu-based backends, for example:
uk: Окремі параметри для різних модулів обробки (можна також встановити за допомогою змінної середовища C<LIBGUESTFS_BACKEND_SETTINGS>). Основним призначенням є примусовий режим TCG у заснованих на qemu модулях обробки. Приклад:

note: type: textblock
en: Get the label or name of a partition (for GPT disk images).
uk: Отримання мітки або назви розділу (для образів дисків GPT).

note: type: textblock
en: The following extra packages are required to build libguestfs 1.26:
uk: Для збирання libguestfs 1.26 потрібні такі додаткові пакунки:

note: type: textblock
en: Supermin version 5 is required to build this version of libguestfs.
uk: Для збирання цієї версії libguestfs потрібен supermin версії 5.

note: type: textblock
en: Virt-builder now uses a real parser to parse its metadata file, so these tools are required.
uk: Virt-builder тепер використовує справжній засіб обробки для свого файла метаданих, отже ці інструменти тепер є обов'язковими.

note: type: textblock
en: This is now a required build dependency, where previously it was (in theory) optional.
uk: Тепер це обов'язкова частина для збирання там, де раніше (теоретично) вона була необов'язковою.

note: type: textblock
en: PO message extraction rewritten to be more robust.  (Pino Toscano)
uk: Переписано засіб видобування повідомлень PO, що мало зробити його стійкішим. (Pino Toscano)

note: type: textblock
en: C<podwrapper> gives an error if the I<--insert> or I<--verbatim> argument pattern is not found.
uk: C<podwrapper> повідомляє про помилку, якщо не знайдено аргумент зразка для I<--insert> або I<--verbatim>.

note: type: textblock
en: Libguestfs now passes the qemu I<-enable-fips> option to enable FIPS, if qemu supports it.
uk: Libguestfs тепер передає параметр qemu I<-enable-fips> для вмикання FIPS, якщо у qemu передбачено його підтримку.

note: type: textblock
en: C<./configure --without-qemu> can be used if you don't want to specify a default hypervisor.
uk: Якщо ви не хочете вказувати типовий гіпервізор, можете скористатися C<./configure --without-qemu>.

note: type: textblock
en: Copy-on-write [COW] overlays, used for example for read-only drives, are now created through an internal backend API (C<.create_cow_overlay>).
uk: Накладки copy-on-write [COW], які використовуються, наприклад, для придатних лише для читання дисків, тепер створюються за допомогою вбудованого програмного інтерфейсу (C<.create_cow_overlay>).

note: type: textblock
en: Libvirt backend uses some funky C macros to generate XML.  These are simpler and safer.
uk: Модуль обробки libvirt використовує якийсь вигадливий макрос C для створення XML. Ці є простішими і безпечнішими.

note: type: textblock
en: The ChangeLog file format has changed.  It is now just the same as C<git log>, instead of using a custom format.
uk: Було змінено формат файла ChangeLog. Тепер він такий самий як у C<git log>. Нетиповий формат більше не використовується.

note: type: textblock
en: Appliance start-up has changed:
uk: Змінено процедуру запуску базової системи:

note: type: textblock
en: The libguestfs appliance now initializes LVM the same way as it is done on physical machines.
uk: Базова система libguestfs тепер ініціалізує LVM у той самий спосіб, у який це робиться на фізичних машинах.

note: type: textblock
en: The libguestfs appliance does not write an empty string to F</proc/sys/kernel/hotplug> when starting up.
uk: Базова система libguestfs не записує порожній рядок до F</proc/sys/kernel/hotplug> під час запуску.

note: type: textblock
en: Note that you B<must> configure your kernel to have C<CONFIG_UEVENT_HELPER_PATH=""> otherwise you will get strange LVM errors (this applies as much to any Linux machine, not just libguestfs).  (Peter Rajnoha)
uk: Зауважте, що вам B<слід> налаштувати ваше ядро так, щоб у ньому було C<CONFIG_UEVENT_HELPER_PATH="">, інакше ви матимете справу із дивними помилками LVM (це стосується будь-якої машини Linux, не лише libguestfs). (Peter Rajnoha)

note: type: textblock
en: Libguestfs can now be built on arches that have L<ocamlc(1)> but not L<ocamlopt(1)>.  (Hilko Bengen, Olaf Hering)
uk: Libguestfs тепер можна зібрати на архітектурах, де є L<ocamlc(1)>, але немає L<ocamlopt(1)>. (Hilko Bengen, Olaf Hering)

note: type: textblock
en: You cannot use C<./configure --disable-daemon --enable-appliance>.  It made no sense anyway.  Now it is expressly forbidden by the configure script.
uk: Не можна використовувати C<./configure --disable-daemon --enable-appliance>. Така комбінація усе одно не мала сенсу. Тепер її  заборонено явним чином у скрипті configure.

note: type: textblock
en: The packagelist file uses C<m4> for macro expansion instead of C<cpp>.
uk: Файл packagelist використовує C<m4> для розгортання макросів замість C<cpp>.

note: type: textblock
en: RFE: virt-sysprep/virt-builder should have an option to lock a user account
uk: RFE: virt-sysprep/virt-builder повинні мати можливість блокувати обліковий запис користувача

note: type: textblock
en: virt-builder fails if $HOME/.cache doesn't exist
uk: virt-builder не працює, якщо не існує $HOME/.cache

note: type: textblock
en: libguestfs: do not use versioned jar file
uk: libguestfs: не слід використовувати файл jar із зазначенням версії

note: type: textblock
en: All libguestfs LVM operations fail on Debian/Ubuntu
uk: Усі дії libguestfs із LVM завершуються невдало у Debian/Ubuntu

note: type: textblock
en: guestfish prints literal "\n" in error messages
uk: guestfish виводить у повідомленнях про помилки «\n» буквально

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.28
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.28

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.26.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.26.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: L<virt-v2v(1)> and L<virt-p2v(1)> are tools for converting from foreign hypervisors (such as VMware or Xen) or physical machines, to KVM.  These tools were previously a separate project.  The code for both tools has been integrated into the libguestfs tree.  As part of the refactoring, virt-p2v has been rewritten (from Ruby, now C), and virt-v2v now uses several modern features of qemu which make it run many times faster than before.  L<virt-v2v(1)> can import from: VMware vCenter, VMware OVA files, local disk files, libvirt, RHEL 5 Xen.  It can output to: oVirt or Red Hat Enterprise Virtualization (RHEV-M), OpenStack Glance, libvirt, qemu, local disk files.
uk: L<virt-v2v(1)> і L<virt-p2v(1)> є інструментами для перетворення даних сторонніх гіпервізорів (зокрема VMware або Xen) чи фізичних машин на дані KVM. Ці інструменти раніше були частиною окремого проєкту. Код обох цих інструментів інтегровано до ієрархії коду libguestfs. У межах перевпорядковування virt-p2v було переписано (з Ruby на C), а virt-v2v тепер використовує декілька сучасних можливостей qemu, що пришвидшують роботу програми у багато разів. L<virt-v2v(1)> може імпортувати дані з VMware vCenter, файлів VMware OVA, локальних файлів дисків, libvirt, RHEL 5 Xen. Дані може бути виведено у таких форматах: oVirt або Red Hat Enterprise Virtualization (RHEV-M), OpenStack Glance, libvirt, qemu, локальні файли дисків.

note: type: textblock
en: L<virt-log(1)> is a new tool for listing log files from guests.  It supports a variety of guests including Linux traditional, Linux using journal, and Windows event log.
uk: L<virt-log(1)> —новий засіб для показу файлів журналу з гостьових систем. Передбачено підтримку широкого спектру гостьових систем, зокрема традиційних систем Linux, систем Linux із журналом та журналу подій Windows.

note: type: textblock
en: L<virt-builder(1)> has a new C<--machine-readable> option to make it simpler to consume virt-builder from other programs.
uk: У L<virt-builder(1)> передбачено новий параметр C<--machine-readable> для спрощення передавання даних virt-builder до інших програм.

note: type: textblock
en: New L<virt-builder(1)> and L<virt-customize(1)> I<--chmod> option.
uk: Новий параметр I<--chmod> у програмах L<virt-builder(1)> і L<virt-customize(1)>.

note: type: textblock
en: L<virt-sysprep(1)> will now remove: systemd journals, anaconda logs, lightdm logs, debian-installer files, apt logs, exim logs, ConsoleKit logs, firewalld logs, grubby logs, proftpd logs, libvirt/libxml logs, and several other log files.  The virt-sysprep C<user-account> operation is now able to remove or keep particular user accounts.  (Pino Toscano).
uk: L<virt-sysprep(1)> тепер вилучає такі дані: журнали systemd, журнали anaconda, журнали lightdm, файли debian-installer, журнали apt, журнали exim, журнали ConsoleKit, журнали firewalld, журнали grubby, журнали proftpd, журнали libvirt/libxml та деякі інші файли журналів. Команда virt-sysprep C<user-account> тепер здатна вилучати чи зберігати певні облікові записи користувачів. (Pino Toscano).

note: type: textblock
en: New L<guestmount(1)> I<--fd> option, allowing you to run guestmount captive under another process.
uk: Новий параметр L<guestmount(1)> I<--fd>, за допомогою якого ви можете запускати guestmount «полоненим» у іншому процесі.

note: type: textblock
en: L<virt-sparsify(1)> has a new I<--tmp> option allowing you to precisely control where temporary files are stored.
uk: L<virt-sparsify(1)> має новий параметр I<--tmp>, який надає вам змогу точно контролювати, де зберігатимуться тимчасові файли.

note: type: textblock
en: L<virt-sparsify(1)> can now write to a block device.
uk: L<virt-sparsify(1)> тепер може записувати на блоковий пристрій.

note: type: textblock
en: L<virt-customize(1)> and L<virt-sysprep(1)> now support adding firstboot scripts to Windows guests.
uk: у L<virt-customize(1)> і L<virt-sysprep(1)> тепер передбачено підтримку додавання скриптів firstboot до гостьових систем Windows.

note: type: textblock
en: L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)> now support the I<-m> option, allowing you to override automatic inspection of guests and instead specify where to mount partitions (Pino Toscano).
uk: У L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)> тепер передбачено підтримку параметра I<-m>, який надає вам змогу перевизначати автоматичне інспектування гостьових систем і, замість цього, вказувати, куди слід монтувати розділи (Pino Toscano).

note: type: textblock
en: The virt tools now have coloured output: green for OK, red for errors, blue for warnings.
uk: Для засобів віртуалізації тепер передбачено розфарбовування виведених даних: зелений — усе гаразд, червоний — помилки, синій — попередження.

note: type: textblock
en: You can build a Python distribution using C<make -C python sdist>
uk: Ви можете зібрати дистрибутив для Python за допомогою команди C<make -C python sdist>

note: type: textblock
en: Ruby bindings have switched from C<Test::Unit> to C<MiniTest>.
uk: Прив'язки до Ruby перемкнуто з C<Test::Unit> на C<MiniTest>.

note: type: textblock
en: The Java bindings are now compatible with OpenJDK 8 (Pino Toscano).
uk: Прив'язки до Java тепер сумісні із OpenJDK 8 (Pino Toscano).

note: type: textblock
en: Oracle Linux is returned as C<oraclelinux> (Nikos Skalkotos).
uk: Для Oracle Linux тепер повертається C<oraclelinux> (Nikos Skalkotos).

note: type: textblock
en: Linux guests which do not have F</etc/fstab> can now be handled (Pino Toscano).
uk: Тепер можлива обробка гостьових систем Linux, де немає F</etc/fstab> (Pino Toscano).

note: type: textblock
en: Minix is returned as C<minix> (Pino Toscano).
uk: Для Minix тепер повертається C<minix> (Pino Toscano).

note: type: textblock
en: Aarch64 (64 bit ARM) support has been added.
uk: Було додано підтримку Aarch64 (64-бітових ARM).

note: type: textblock
en: Inspection and the C<guestfs_file_architecture> call can now recognize arm (32 bit) and aarch64 guests.
uk: Засіб інспектування та виклик C<guestfs_file_architecture> тепер можуть розпізнавати гостьові системи arm (32-бітову) і aarch64.

note: type: =item
en: CVE-2014-0191 Network usage and entity resolution in XML parsing
uk: CVE-2014-0191 Використання мережі і визначення замінників при обробці коду XML

note: type: textblock
en: Libguestfs previously used unsafe libxml2 APIs for parsing libvirt XML.  These APIs defaulted to allowing network connections to be made when certain XML documents were presented.  Using a malformed XML document it was also possible to exhaust all CPU, memory or file descriptors on the machine.
uk: У попередніх версіях libguestfs використовувала незахищені програмні інтерфейси libxml2 для обробки XML libvirt. Ці програмні інтерфейси типово надавали доступ до встановлення з'єднань мережі, якщо передавалися документи XML певного вмісту. За допомогою спеціально сформованого документа XML також можна було вичерпати можливості комп'ютера за процесорним часом, пам'яттю або дескрипторами файлів.

note: type: textblock
en: Since the libvirt XML comes from a trusted source (the libvirt daemon)  it is not thought that this could have been exploitable.
uk: Оскільки XML libvirt надходить із надійного джерела (фонової служби libvirt), ми вважаємо, що цією вразливістю неможливо було скористатися.

note: type: textblock
en: This was fixed in libguestfs E<ge> 1.27.9 and the fix was backported to stable versions E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 and E<ge> 1.20.13.  (Thanks: Dan Berrange, Pino Toscano).
uk: Вразливість виправлено у libguestfs E<ge> 1.27.9, виправлення було зворотно портовано до стабільних версій E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 та E<ge> 1.20.13.  (Подяки: Dan Berrange, Pino Toscano).

note: type: textblock
en: This bash bug indirectly affects libguestfs.  For more information see: L<https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html>
uk: Вада у bash опосередковано торкнулася libguestfs. Докладніша інформація: L<https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html>

note: type: textblock
en: Use these APIs to set individual backend settings.
uk: Скористайтеся цими програмними інтерфейсами для встановлення параметрів окремих модулів обробки.

note: type: textblock
en: Convert a directory within the disk image to cpio format.
uk: Перетворення каталогу у образі диска на формат cpio.

note: type: textblock
en: Fetch precise journal times, see L<sd_journal_get_realtime_usec(3)>.
uk: Отримання точних значень часу у журналі, див. L<sd_journal_get_realtime_usec(3)>.

note: type: textblock
en: Enhanced versions of C<guestfs_lstat>, C<guestfs_lstatlist>, C<guestfs_stat> which return nanosecond timestamps.
uk: Удосконалені версії C<guestfs_lstat>, C<guestfs_lstatlist>, C<guestfs_stat>, які повертають часові позначки з точністю до наносекунд.

note: type: textblock
en: Libguestfs can now be built with qemu 2.x.
uk: Libguestfs тепер можна зібрати з qemu 2.x.

note: type: textblock
en: Add support for packaging the appliance on Mageia (Joseph Wang, Thierry Vignaud).
uk: Додано підтримку пакування базової системи у Mageia (Joseph Wang, Thierry Vignaud).

note: type: textblock
en: Augeas is now a required dependency.
uk: Augeas тепер є обов'язковою залежністю.

note: type: textblock
en: Flex and bison are now required dependencies.
uk: Flex і bison тепер є обов'язковими залежностями.

note: type: textblock
en: User-Mode Linux (UML) is no longer a supported backend (although still available).  It will be supported again once someone steps in and fixes various regressions and brokenness in the UML (Linux) kernel.
uk: User-Mode Linux (UML) виключено із переліку підтримуваних модулів (хоча він все ще доступний). Його буде включено знову,, якщо з'явиться хтось, хто виправить різноманітні регресії та помилки у ядрі UML (Linux).

note: type: textblock
en: You can now connect gdb to qemu by specifying C<LIBGUESTFS_BACKEND_SETTINGS=gdb>
uk: Тепер gdb можна з'єднати з qemu за допомогою значення змінної середовища C<LIBGUESTFS_BACKEND_SETTINGS=gdb>

note: type: textblock
en: Serial BIOS (sgabios) is now used by the libvirt backend (on x86 only)  so that we see early BIOS messages.
uk: Тепер модулем обробки libvirt використовується Serial BIOS (sgabios) (лише на x86), отже, ви зможете бачити ранні повідомлення BIOS.

note: type: textblock
en: For the OCaml virt tools, exceptions are now handled and printed by a common function.
uk: У засобах віртуалізації мовою OCaml обробкою і виведенням виключень займається загальна функція.

note: type: textblock
en: A GCC warning about large stack frames is now enabled by default.  Several places that used large arrays and structures on the stack have been fixed.
uk: Тепер типово увімкнено попередження GCC щодо великих кадрів стеку. Виправлено декілька місць, де використовувалися великі масиви або структури у стеку.

note: type: textblock
en: There is now a test for booting the appliance repeatedly.  Useful for finding kernel leaks.  See: F<tests/qemu/qemu-boot.c>
uk: Створено тест для кратного послідовного завантаження базової системи. Такий тест буде корисним для виявлення витоків пам'яті у ядрі. Див. F<tests/qemu/qemu-boot.c>

note: type: textblock
en: There is a test for testing the speed of various qemu features such as virtio-serial uploads and block device writes.  See: F<tests/qemu/qemu-speed-test.c>
uk: Створено тест для перевірки швидкості роботи різних можливостей qemu, зокрема вивантажень за допомогою virtio-serial та запису на блокові пристрої. Див. F<tests/qemu/qemu-speed-test.c>

note: type: textblock
en: GCC warnings are now enabled for OCaml-C bindings in the OCaml virt tools.
uk: Тепер увімкнено попередження GCC для прив'язок OCaml-C у засобах віртуалізації мовою OCaml.

note: type: textblock
en: The code for editing files used by L<virt-edit(1)>, L<guestfish(1)> C<edit> command, L<virt-customize(1)> I<--edit> option and more is now shared between all these utilities (thanks Pino Toscano).
uk: Код для редагування файлів у програмі L<virt-edit(1)>, командах L<guestfish(1)> C<edit> і L<virt-customize(1)> I<--edit> тощо тепер є спільним для усіх цих засобів (дякуємо Pino Toscano).

note: type: textblock
en: The FUSE tests were rewritten in C to ensure finer control over how system calls are tested.
uk: Тести FUSE було переписано на C з метою забезпечення точнішого керування тестуванням системних викликів.

note: type: textblock
en: The F<update-bugs.sh> script has been fixed so it should no longer create an empty C<BUGS> file if the Bugzilla server is unavailable.
uk: Скрипт F<update-bugs.sh> було виправлено — він більше не створює порожнього файла C<BUGS>, якщо сервер системи звітування щодо вад є недоступним.

note: type: textblock
en: The L<virt-resize(1)> tests now use a stochastic method to ensure much deeper and broader testing.
uk: У тестах L<virt-resize(1)> тепер використовується стохастичний метод для забезпечення глибшого і ширшого тестування.

note: type: textblock
en: When the network is enabled, the appliance now uses DHCP to acquire an IP address.
uk: Якщо увімкнено мережу, базова система тепер використовує DHCP для отримання IP-адреси.

note: type: textblock
en: If libvirt is being used then the appliance will connect to C<virbr0> (can be overridden by setting C<LIBGUESTFS_BACKEND_SETTINGS=network_bridge=E<lt>some_bridgeE<gt>>).  This enables full-featured network connections, with working ICMP, ping and so on.
uk: Якщо використовується libvirt, базова система встановлюватиме з'єднання із C<virbr0> (можна перевизначити за допомогою C<LIBGUESTFS_BACKEND_SETTINGS=network_bridge=E<lt>якийсь містокE<gt>>).  Це уможливлює повноцінні мережеві з'єднання із працездатним ICMP, ping тощо.

note: type: textblock
en: empty (but set) LIBGUESTFS_BACKEND prints libguestfs: error: invalid backend:
uk: порожнє (але встановлене) LIBGUESTFS_BACKEND виводить libguestfs: помилка: некоректний модуль:

note: type: textblock
en: libguestfs-bash-completion package contains file /usr/share/bash-completion/completions/virt-log, but no _virt_log() function in that file
uk: Пакунок libguestfs-bash-completion містить файл file /usr/share/bash-completion/completions/virt-log, але у цьому файлі немає функції _virt_log()

note: type: textblock
en: typo error in man page of virt-edit
uk: друкарська помилка у сторінці man virt-edit

note: type: textblock
en: Option missing --no-selinux-relabel
uk: Не вистачає параметра --no-selinux-relabel

note: type: textblock
en: mageia package list is incorrect
uk: Список пакунків mageia є помилковим

note: type: textblock
en: typo errors in man pages
uk: Друкарські помилки у сторінках man

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.30
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.30

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.28.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.28.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: =head3
en: New tools
uk: Нові інструменти

note: type: textblock
en: L<virt-dib(1)> is a secure and safe alternative to the OpenStack "diskimage-builder" tool.  It is compatible with diskimage-builder elements.  (Pino Toscano)
uk: L<virt-dib(1)> є безпечною і захищеною альтернативою до програми «diskimage-builder» з OpenStack. Вона сумісна із елементами diskimage-builder. (Pino Toscano)

note: type: textblock
en: L<virt-get-kernel(1)> extracts the kernel and ramdisk from a disk image.  Previously this functionality was part of L<virt-builder(1)>, but the new tool is more featureful.  (Pino Toscano)
uk: L<virt-get-kernel(1)> видобуває ядро і диск у пам'яті з образу диска. Раніше ця функціональна можливість була частиною L<virt-builder(1)>, але нова програм є ширшою за можливостями. (Pino Toscano)

note: type: =head3
en: New features in existing tools
uk: Нові можливості у наявних інструментах

note: type: textblock
en: L<virt-v2v(1)> I<-i ova> mode can now read a wider range of OVA files, and also unpacked files (directories).
uk: У режимі L<virt-v2v(1)> I<-i ova> програма тепер здатна читати ширший діапазон файлів OVA, а також незапаковані файли (каталоги).

note: type: textblock
en: virt-v2v now securely passes options to curl, so passwords, cookies and so on cannot be seen by users with shell access on the same machine.
uk: virt-v2v тепер безпечно передає параметри до curl, отже, паролі, куки та інші дані будуть недоступними для перегляду іншими користувачами із доступом до командної оболонки та комп'ютері основної системи.

note: type: textblock
en: virt-v2v has a new I<--password-file> option to allow you to securely pass in a password, and to avoid an interactive prompt.
uk: У virt-v2v передбачено новий параметр I<--password-file>, який надає вам змогу безпечно передати пароль і уникнути роботи із інтерактивним рядком запиту.

note: type: textblock
en: virt-v2v disables Windows autoreboot, making debugging conversion failures on Windows easier.
uk: virt-v2v вимикає автоматичне перезавантаження Windows, щоб робить діагностику помилок при перетворенні Windows простішою.

note: type: textblock
en: virt-v2v now comes with an extensive external test suite.  See L<virt-v2v-test-harness(1)>.
uk: virt-v2v тепер постачається із широким зовнішнім комплектом для тестування. Див. L<virt-v2v-test-harness(1)>.

note: type: textblock
en: virt-v2v allows virtio drivers to come from any location (Roman Kagan), and drivers can be read directly from the virtio ISO.
uk: virt-v2v надає змогу використовувати драйвери virtio з будь-якого місця (Roman Kagan), драйвери тепер може бути прочитано безпосередньо з образу ISO virtio.

note: type: textblock
en: virt-v2v supports conversion of Windows E<ge> 8.  Note this is experimental, and possibly broken.  Use with caution.
uk: У virt-v2v передбачено перетворення Windows E<ge> 8. Зауважте, що ця можливість є експериментальною. Користуйтеся нею обережно.

note: type: textblock
en: virt-v2v can now convert UEFI guests.
uk: virt-v2v тепер може перетворювати гостьові системи з UEFI.

note: type: textblock
en: L<virt-p2v(1)> adds a network configuration dialog.
uk: До L<virt-p2v(1)> додано діалог налаштовування мережі.

note: type: textblock
en: virt-p2v now has C<p2v.pre>, C<p2v.post> and C<p2v.fail> triggers, allowing arbitrary scripts for preparing the host for conversion and tidying up post-conversion.
uk: virt-p2v тепер має перемикачі C<p2v.pre>, C<p2v.post> і C<p2v.fail>, які уможливлюють довільні скрипти для приготування перетворення і коригування після перетворення.

note: type: textblock
en: virt-p2v now uses the more advanced metacity window manager (instead of matchbox).
uk: У virt-p2v тепер використовується досконаліший засіб керування вікнами metacity (замість matchbox).

note: type: textblock
en: L<virt-sysprep(1)> will remove C</var/spool/mail/username> for non-root accounts (Hu Tao).
uk: L<virt-sysprep(1)> тепер вилучає C</var/spool/mail/ім'я_користувача> для облікових записів, відмінних від root (Hu Tao).

note: type: textblock
en: L<virt-customize(1)>, L<virt-builder(1)> and virt-sysprep have the following new options:
uk: L<virt-customize(1)>, L<virt-builder(1)> і virt-sysprep тепер мають такі нові параметри:

note: type: textblock
en: allow long lists of commands to be read from a file instead of from the command line (Pino Toscano)
uk: надає змогу читати довгі списки команд з файла, а не з командного рядка (Pino Toscano)

note: type: textblock
en: copy files inside the guest (Maros Zatko)
uk: копіює файли до гостьової системи (Maros Zatko)

note: type: textblock
en: copy host files recursively into the guest (Pino Toscano)
uk: рекурсивно копіює файли з основної системи до гостьової (Pino Toscano)

note: type: textblock
en: move files inside the guest (Maros Zatko)
uk: пересуває файли у гостьовій системі (Maros Zatko)

note: type: textblock
en: inject SSH keys into a guest (Pino Toscano)
uk: вставляє ключі SSH до гостьової системи (Pino Toscano)

note: type: textblock
en: register and unregister a guest from subscription-manager (Pino Toscano)
uk: реєструє і скасовує реєстрацію гостьової системи у subscription-manager (Pino Toscano)

note: type: textblock
en: touch a file in the guest (Pino Toscano)
uk: актуалізує часову позначку файла у гостьовій системі (Pino Toscano)

note: type: textblock
en: truncate files (Maros Zatko)
uk: обрізає файли (Maros Zatko)

note: type: textblock
en: Improvements to virt-customize firstboot support.  In particular, Windows firstboot should work as well as Linux (Roman Kagan).
uk: Поліпшення у підтримці firstboot у virt-customize. Зокрема у Windows firstboot має працювати як і у Linux (Roman Kagan).

note: type: textblock
en: L<virt-df(1)> can now use PolicyKit, SASL and other authentication methods when getting the list of domains from libvirt.
uk: L<virt-df(1)> тепер може використовувати PolicyKit, SASL та інші способи розпізнавання при отриманні списку доменів від libvirt.

note: type: textblock
en: Improvements to guestfish bash completion (Pino Toscano).
uk: Поліпшення у доповненні команд guestfish у bash (Pino Toscano).

note: type: textblock
en: Bash completion now completes short options as well as long options (Pino Toscano).
uk: Засіб доповнення команд у bash тепер доповнює і скорочені форми запису параметрів, і повні (Pino Toscano).

note: type: textblock
en: L<guestfish(1)> now displays a command synopsis if the number of parameters given to a command is wrong (Hu Tao).
uk: L<guestfish(1)> тепер показує короткий опис команди, якщо через командний рядок передається помилкова кількість параметрів (Hu Tao).

note: type: textblock
en: virt-builder now supports Red Hat Enterprise Linux versions back to RHEL 3.
uk: У virt-builder тепер передбачено підтримку Red Hat Enterprise Linux версій, ах до RHEL 3.

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

note: type: textblock
en: The Java bindings now include validated Javadoc, and other improvements (Pino Toscano).
uk: До прив'язок до Java тепер включено перевірені Javadoc, інші поліпшення (Pino Toscano).

note: type: textblock
en: Multiple fixes and improvements to the PHP bindings (Pino Toscano).
uk: Декілька виправлень і поліпшень у прив'язках до PHP (Pino Toscano).

note: type: textblock
en: Inspection can now get icons from RHEL 7 and CentOS 7.
uk: Засіб інспектування тепер може отримувати піктограми з RHEL 7 та CentOS 7.

note: type: textblock
en: F</etc/favicon.png> is now allowed to be a symbolic link.
uk: F</etc/favicon.png> тепер може бути символічним посиланням.

note: type: textblock
en: For RPM-based guests, inspection now returns RPM Epoch fields.
uk: У заснованих на RPM гостьових системах засіб інспектування тепер повертає поля Epoch RPM.

note: type: textblock
en: Debian packages now have separate Epoch and Version fields (Nikos Skalkotos).
uk: Пакунки Debian тепер мають окремі поля Epoch і Version (Nikos Skalkotos).

note: type: textblock
en: OpenBSD detection added, FreeBSD and NetBSD added as separate "distros", and other BSD inspection improvements and bug fixes (Nikos Skalkotos).
uk: Додано виявлення OpenBSD, FreeBSD і NetBSD додано як окремі дистрибутиви, інші поліпшення у інспектуванні BSD та виправлення вад (Nikos Skalkotos).

note: type: textblock
en: CoreOS detection added (Nikos Skalkotos).
uk: Додано виявлення CoreOS (Nikos Skalkotos).

note: type: textblock
en: The package manager in Fedora E<ge> 22 is C<dnf>.
uk: Засобом керування пакунками у Fedora E<ge> 22 є C<dnf>.

note: type: textblock
en: ReactOS guests can be inspected (Maros Zatko).
uk: Тепер можна інспектувати гостьові системи ReactOS (Maros Zatko).

note: type: textblock
en: Add support for UEFI guests.
uk: Додано підтримку гостьових систем UEFI.

note: type: textblock
en: Inspection now works when kernel modules are gzip or xz compressed (Pino Toscano).
uk: Інспектування тепер працює, якщо модулі ядра стиснуто за допомогою gzip або xz (Pino Toscano).

note: type: textblock
en: Inspection now recognizes ppc64 and ppc64le guests (Maros Zatko).
uk: Засіб інспектування тепер розпізнає гостьові системи ppc64 і ppc64le (Maros Zatko).

note: type: textblock
en: Inspection lists the installed applications on Archlinux guests (Nikos Skalkotos).
uk: Засіб інспектування тепер може показувати списки встановлених програм у гостьових системах Archlinux (Nikos Skalkotos).

note: type: =head3
en: Architectures and platforms
uk: Архітектури і платформи

note: type: textblock
en: PPC64 (POWER7) and PPC64LE (POWER8) architectures are now much better supported, and should work out of the box.
uk: Тепер підтримка архітектур PPC64 (POWER7) і PPC64LE (POWER8) є набагато ліпшою і має працювати без додаткових налаштовувань.

note: type: textblock
en: For aarch64, we use AAVMF (an open source UEFI implementation based on OVMF) if available to run the appliance.
uk: Для aarch64 ми використовуємо AAVMF (реалізацію UEFI з відкритим кодом на основі OVMF), якщо вона доступна, для запуску базової системи.

note: type: textblock
en: For armv7, we now use the I<-M virt> machine type by default.
uk: Для armv7 ми тепер використовуємо типово тип комп'ютера I<-M virt>.

note: type: textblock
en: There is better support for compiling on non-Linux platforms (Pino Toscano, Margaret Lewicka).
uk: Реалізовано кращу підтримку збирання на платформах, відмінних від Linux (Pino Toscano, Margaret Lewicka).

note: type: textblock
en: Libguestfs should now work on MIPS 32 bit little endian ("mipsel").  I have not been able to try 64 bit or big endian.
uk: Тепер libguestfs має працювати на 32-бітових MIPS з прямим порядком байтів ("mipsel"). Не вдалося перевірити 64-бітову версію або версію зі зворотним порядком байтів.

note: type: textblock
en: Libguestfs previously ran the L<strings(1)> utility on untrusted files.  Strings could parse BFD headers in an unsafe way, leading to possible arbitrary code execution.  Libguestfs now runs strings with a flag to ensure it does not try to parse BFD headers.  This could have led to exploitation of the libguestfs appliance, but since libguestfs further constrains the appliance through virtualization, SELinux and other techniques, it was unlikely to have caused any privilege escalation on the host.
uk: Libguestfs раніше запускала програму L<strings(1)> для недовірених файлів. Strings могла обробляти заголовки BFD у незахищений спосіб, що могло призвести до виконання довільного коду. Тепер libguestfs запускає strings з прапорцем для забезпечення того, щоб заголовки BFD не оброблятимуться. Обробка заголовків могла призвести до втручання у роботу базової системи libguestfs, але оскільки libguestfs додатково обмежує базову систему через віртуалізацію, SELinux та інші методики, це навряд чи могло призвести до розширення прав доступу в основній системі.

note: type: =item
en: XPath injection in virt-v2v
uk: XPath-ін'єкція у virt-v2v

note: type: textblock
en: One possible XPath injection vulnerability was fixed in virt-v2v.  This might have allowed a malicious guest which was being converted by virt-v2v to construct an arbitrary XPath expression which would have been evaluated on the host (by the libxml2 library linked to the virt-v2v binary).  It is not clear what the effects of this might be.
uk: Було виправлено одну вразливість, пов'язану із XPath-ін'єкцією у virt-v2v. Вразливість могла призвести до того, що код зловмисника у гостьовій системі, яка перетворюється за допомогою virt-v2v, будував довільний вираз XPath, який мало бути оброблено у основній системі (за допомогою бібліотеки libxml2, скомпонованої із виконуваним файлом virt-v2v). Незрозуміло, яким міг бути ефект від усього цього.

note: type: textblock
en: For further information, see upstream commit L<https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0>
uk: Щоб дізнатися більше, ознайомтеся із внеском L<https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0>

note: type: =item
en: Denial of service problems when using C<qemu-img info>
uk: Проблеми із відмовою у обслуговуванні при використанні C<qemu-img info>

note: type: textblock
en: When using the American Fuzzy Lop fuzzer (C<afl-fuzz>) on the C<qemu-img info> command, Richard W.M. Jones found that certain files can cause the C<qemu-img> program to use lots of memory and time (for example 6GB of heap and 14 seconds of CPU time on a fast Intel processor), and in some cases to crash.  Since libguestfs may run C<qemu-img info> on disk images to find out what they contain, this transitively could cause libguestfs to hang or consume lots of memory.
uk: Використовуючи American Fuzzy Lop fuzzer (C<afl-fuzz>) на програмі C<qemu-img info>, Richard W.M. Jones виявив, що певні файли можуть спричинити до надмірного використання пам'яті та часу процесора у програмі C<qemu-img> (наприклад, 6 ГБ оперативної пам'яті та 14 секунд процесорного часу на швидкому процесорі Intel), а іноді призводити до аварійного завершення роботи програми. Оскільки libguestfs може запускати C<qemu-img info> на образах диска для визначення їхнього вмісту, це могло призвести до повисання або споживання надмірного об'єму пам'яті самою libguestfs.

note: type: textblock
en: Libguestfs was modified so that it uses resource limits to limit the space and time used by C<qemu-img info>, to avoid this problem.  If a malicious user tries to pass one of these disk images to libguestfs, C<qemu-img> will crash and the crash is reported back to libguestfs callers as an error message.
uk: До libguestfs було внесено зміни щодо обмеження споживання ресурсів за об'ємом і часом, які стосуються C<qemu-img info> і усувають вказану проблему. Якщо зловмисник спробує передати один зі спеціально створених образів диска libguestfs, C<qemu-img> завершить роботу в аварійному режимі і поверне керування libguestfs, надавши дані щодо аварії як повідомлення про помилку.

note: type: textblock
en: This exposes a previously private API that allows you to pass a C<virDomainPtr> object directly from libvirt to libguestfs.
uk: Це розкриває раніше закритий програмний інтерфейс, який надає вам змогу передавати об'єкт C<virDomainPtr> безпосередньо від libvirt до libguestfs.

note: type: textblock
en: Adjust readahead parameter for devices.  See C<blockdev --setra> command.
uk: Коригує параметр readahead для пристроїв. Див. команду C<blockdev --setra>.

note: type: textblock
en: Balance support for Btrfs filesystems (Hu Tao).
uk: Підтримка балансування для файлових систем Btrfs (Hu Tao).

note: type: textblock
en: Filesystem defragmentation support for Btrfs filesystems (Hu Tao).
uk: Підтримка дефрагментації файлових систем для файлових систем Btrfs (Hu Tao).

note: type: textblock
en: Create an image of a Btrfs filesystem (Chen Hanxiao)
uk: Створює образ файлової системи Btrfs (Chen Hanxiao)

note: type: textblock
en: Quote support for Btrfs filesystems (Hu Tao).
uk: Підтримка квот для файлових систем Btrfs (Hu Tao).

note: type: textblock
en: Scan and recover the chunk tree in Btrfs filesystems (Hu Tao).
uk: Сканування і відновлення ієрархії фрагментів у файлових системах Btrfs (Hu Tao).

note: type: textblock
en: Restore superblocks in Btrfs filesystems (Hu Tao).
uk: Відновлення суперблоків у файлових системах Btrfs (Hu Tao).

note: type: textblock
en: Replace a device in a Btrfs filesystem (Cao Jin).
uk: Заміна пристрою у файловій системі Btrfs (Cao Jin).

note: type: textblock
en: Scrub a Btrfs filesystem (Hu Tao).
uk: Витирання файлової системи Btrfs (Hu Tao).

note: type: textblock
en: Get the default subvolume of a Btrfs filesystem (Hu Tao).
uk: Отримання типового підтому файлової системи Btrfs (Hu Tao).

note: type: textblock
en: List detailed information about the subvolume of a Btrfs filesystem (Hu Tao).
uk: Виведення докладної інформації щодо підтому файлової системи Btrfs (Hu Tao).

note: type: textblock
en: Various tuning parameters for Btrfs filesystems (Chen Hanxiao).
uk: Різноманітні параметри налаштовування для файлових систем Btrfs (Chen Hanxiao).

note: type: textblock
en: Return the C pointer to the underlying C<guestfs_h *>.  This allows interworking of libguestfs bindings with bindings from other libraries.  For further information see L<https://bugzilla.redhat.com/1075164>
uk: Повертає вказівник C на підлеглий C<guestfs_h *>. Це надає змогу працювати спільно прив'язкам libguestfs та прив'язкам з інших бібліотек. Докладніше про це тут: L<https://bugzilla.redhat.com/1075164>

note: type: textblock
en: Flexible APIs for recursively copying directories of files between the host and guest filesystem.  Previously these were available only as guestfish commands, but now any API users can call them (Pino Toscano).
uk: Гнучкі програмні інтерфейси для рекурсивного копіювання каталогів з файлами між основною і гостьовою файловими системами. Раніше цими можливостями можна було скористатися лише у командах guestfish, тепер же ними можуть користуватися будь-які засоби, які використовуються програмний інтерфейс (Pino Toscano).

note: type: textblock
en: Get and set the GPT per-partition GUID.
uk: Отримання і встановлення GUID для окремих розділів GPT.

note: type: textblock
en: Get MBR partition type (Chen Hanxiao).
uk: Отримання типу розділу MBR (Chen Hanxiao).

note: type: textblock
en: Set the UUID of a filesystem to a randomly generated value; supported filesystems currently are ext2/3/4, XFS, Btrfs, and swap partitions.  (Chen Hanxiao).
uk: Встановлює для UUID файлової системи випадкове значення; підтримувані файлові системи у поточній версії — ext2/3/4, XFS, Btrfs та розділи swap (Chen Hanxiao).

note: type: =head3
en: Other API changes
uk: Інші зміни у програмному інтерфейсі

note: type: textblock
en: C<guestfs_disk_create> can now use VMDK files as backing files.
uk: C<guestfs_disk_create> тепер може використовувати файли VMDK як файли резервної пам'яті.

note: type: textblock
en: C<guestfs_btrfs_subvolume_snapshot> takes extra optional parameters (all added by Hu Tao):
uk: C<guestfs_btrfs_subvolume_snapshot> приймає додаткові необов'язкові параметри (усі додано Hu Tao):

note: type: textblock
en: for creating a read-only Btrfs snapshot
uk: для створення придатного лише для читання знімка Btrfs

note: type: textblock
en: for adding the snapshot to a qgroup
uk: для додавання знімка до qgroup

note: type: textblock
en: C<guestfs_btrfs_subvolume_create> can also take the optional C<qgroupid> parameter (Hu Tao).
uk: C<guestfs_btrfs_subvolume_create> також може приймати необов'язковий параметр C<qgroupid> (Hu Tao).

note: type: textblock
en: C<guestfs_set_uuid> can set UUID of swap partitions, Btrfs (Hu Tao, Chen Hanxiao).
uk: C<guestfs_set_uuid> може встановлювати UUID розділів резервної пам'яті (swap), Btrfs (Hu Tao, Chen Hanxiao).

note: type: textblock
en: C<guestfs_copy_device_to_file> and C<guestfs_copy_file_to_file> have a new optional C<append> parameter, allowing you to append to the output file instead of truncating it.
uk: C<guestfs_copy_device_to_file> і C<guestfs_copy_file_to_file> мають новий необов'язковий параметр C<append>, за допомогою якого ви можете дописувати дані до файла виведення, замість його заповнення від початку.

note: type: textblock
en: C<guestfs_mkfs> has a new optional C<label> parameter to set the initial label of the new filesystem (Pino Toscano).
uk: C<guestfs_mkfs> має новий необов'язковий параметр C<label> для встановлення початкової мітки нової файлової системи (Pino Toscano).

note: type: textblock
en: C<guestfs_set_label> and C<guestfs_set_uuid> now set C<ENOTSUP> as errno when there is no implemented support for the filesystem of the specified mountable (Chen Hanxiao).
uk: C<guestfs_set_label> і C<guestfs_set_uuid> тепер встановлюють C<ENOTSUP> як номер помилки, якщо немає реалізованої підтримки файлової системи вказаного монтованого пристрою (Chen Hanxiao).

note: type: textblock
en: Environment variables now let you write C<LIBGUESTFS_DEBUG=true>, C<LIBGUESTFS_DEBUG=0> and so on.
uk: Змінні середовища тепер надають вам змогу написати C<LIBGUESTFS_DEBUG=true>, C<LIBGUESTFS_DEBUG=0> тощо.

note: type: textblock
en: All C<guestfs_sfdisk*> APIs have been deprecated.  Because L<sfdisk(8)> was rewritten, incompatibly, upstream, we don't recommend using these APIs in future code.  Use the C<guestfs_part*> APIs as replacements.
uk: Увесь програмний інтерфейс C<guestfs_sfdisk*> визнано застарілим. Оскільки L<sfdisk(8)> було переписано у несумісний спосіб у головній гілці розробки, ми не рекомендуємо використовувати ці програмні інтерфейси у новому коді. Користуйтеся його замінниками — C<guestfs_part*>.

note: type: textblock
en: APIs such as C<guestfs_download> do not truncate F</dev/stdout> or F</dev/stderr> when writing to them, meaning that if you redirect stdout or stderr to a file, the file is no longer truncated.
uk: Програмні інтерфейси, зокрема C<guestfs_download>, не обрізають F</dev/stdout> або F</dev/stderr> під час запису до них, тобто, якщо ви переспрямовуєте stdout або stderr до файла, файл більше не обрізається.

note: type: textblock
en: The daemon no longer uses its own separate copy of gnulib.  Instead it shares a single copy with the library.
uk: Фонова служба більше не використовує власну окрему копію gnulib. Замість цього, вона спільно використовує єдину копію з бібліотекою.

note: type: textblock
en: OCaml F<.annot> files are now created, so IDEs and editors like emacs and vi can browse OCaml types in the source code.
uk: Тепер автоматично створюються файли OCaml F<.annot>, отже комплексні середовища для розробки та редактори, зокрема emacs і vi, можуть здійснювати навігацію типами OCaml у початковому коді програм.

note: type: textblock
en: Various fixes to allow different host/appliance architecture builds (Pino Toscano).
uk: Різноманітні виправлення з метою уможливити збирання на різних основних системах та за різних архітектур (Pino Toscano).

note: type: textblock
en: Automake is now used directly to build all the OCaml programs, instead of ad hoc Makefile rules.  One side effect of this is to enable warnings in all the C code used by OCaml programs.
uk: Тепер для збирання усіх програм OCaml безпосередньо використовується automake, замість ситуативних правил Makefile. Одним із побіжних ефектів цього є те, що тепер можна бачити попередження щодо усього коду C, який використовується програмами мовою OCaml.

note: type: textblock
en: C<-fno-strict-overflow> is used throughout the build to avoid dubious GCC optimizations.
uk: Для збирання використано C<-fno-strict-overflow>, що уникнути неоднозначних оптимізацій з боку GCC.

note: type: textblock
en: Multiple cleanups to support GCC 5.
uk: Чищення коду з метою підтримки GCC 5.

note: type: textblock
en: OCaml OUnit2 is needed to run some OCaml tests.
uk: Для виконання деяких тестів OCaml потрібна бібліотека OCaml OUnit2.

note: type: textblock
en: Creating a statically linked F<libguestfs.a> should work again.
uk: Знову має працювати створення статично скомпонованого F<libguestfs.a>.

note: type: textblock
en: The F<src/api-support> subdirectory and its scripts are no longer used.  Instead we store in the F<generator/actions.ml> when the API was added to libguestfs.
uk: Ми більше не використовуємо підкаталог F<src/api-support> і скрипти у ньому. Замість цього, дані зберігаються у F<generator/actions.ml>, коли до libguestfs додається програмний інтерфейс.

note: type: =head2
en: Internationalization
uk: Інтернаціоналізація

note: type: textblock
en: The translation service has changed from Transifex to Zanata.
uk: Службу перекладу змінено з Transifex на Zanata.

note: type: textblock
en: Many more translations are available now, for both library and tools messages and documentation.
uk: Виконано багато перекладів, інтерфейсу бібліотеки і програм та документації.

note: type: textblock
en: In all OCaml tools, there are now common C<error>, C<warning>, C<info> functions, and common way to set and get the I<--quiet>, I<-x> (trace)  and I<-v> (verbose) flags, and colour highlighting used consistently.
uk: У всіх інструментах мовою OCaml тепер є загальні функції C<error>, C<warning>, C<info> та загальний спосіб встановити і отримати прапорці I<--quiet>, I<-x> (трасування) та I<-v> (докладний режим) і використовується однорідне підсвічування кольором.

note: type: textblock
en: C<COMPILE_REGEXP> macros are used to simplify PCRE constructors and destructors.
uk: Для спрощення конструкторів і деструкторів PCRE використовуються макроси C<COMPILE_REGEXP>.

note: type: textblock
en: In the generator, C<Pointer> arguments have finally been implemented.
uk: У генераторі нарешті реалізовано аргументи C<Pointer>.

note: type: textblock
en: Internal identifiers no longer use double and triple underscores (eg. C<guestfs___program_name>).  These identifiers are invalid for C99 and C++ programs, although compilers would accept them.
uk: У внутрішніх ідентифікаторах більше не використовуються подвійні і потрійні підкреслювання (наприклад, C<guestfs___program_name>). Такі ідентифікатори є некоректними у програмах C99 та C++, хоча компілятори і можуть їх використовувати.

note: type: textblock
en: The daemon no longer parses C<guestfs_*> options from F</proc/cmdline>.  Instead it only takes ordinary command line options.  The appliance init script turns F</proc/cmdline> into daemon command line options.
uk: Фонова служба більше не обробляє параметри C<guestfs_*> від F</proc/cmdline>. Замість цього, вона приймає лише звичайні параметри командного рядка. Скрипти ініціалізації базової системи перетворюють дані F</proc/cmdline> у параметри командного рядка фонової служби.

note: type: textblock
en: The tests can now run the daemon as a "captive process", allowing it to be run directly on the host.  The main advantage of this is we can run valgrind directly on the daemon during testing.
uk: Тести тепер можуть запускати фонову службу як «полонений процес», що уможливлює її роботу безпосередньо у основній системі. Головною перевагою цього є те, що ви можемо запускати valgrind безпосередньо для фонової служби під час тестування.

note: type: textblock
en: Typo error in 'help ping-daemon'
uk: Друкарська помилка у «help ping-daemon»

note: type: textblock
en: inspection thinks EFI partition is a separate operating system
uk: Засіб інспектування вважає розділ EFI окремою операційною системою

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.32
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.32

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.30.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.30.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: The new L<virt-v2v-copy-to-local(1)> tool is an ancillary tool for L<virt-v2v(1)> allowing you to convert source guests that virt-v2v is unable to access directly.
uk: Новий засіб L<virt-v2v-copy-to-local(1)>, який є допоміжним для L<virt-v2v(1)>, надає вам змогу перетворювати початкові гостьові системи, до яких virt-v2v не може отримати безпосередній доступ.

note: type: textblock
en: Virt-customize knows how to write a random seed to CirrOS (Pino Toscano).
uk: Virt-customize тепер знає, як записати породжувач випадковості до CirrOS (Pino Toscano).

note: type: textblock
en: On Fedora, virt-customize runs L<dnf(8)> with the I<--best> flag, ensuring it always updates to the latest available packages.
uk: У Fedora virt-customize запускає L<dnf(8)> з прапорцем I<--best>, забезпечуючи те, що програма завжди оновлює систему до найсвіжіших доступних пакунків.

note: type: textblock
en: Virt-builder now provides 32 bit Fedora templates.
uk: Virt-builder тепер містить 32-бітові шаблони для Fedora.

note: type: textblock
en: Virt-builder and virt-customize I<--install> option now works on 32 bit Fedora guests.  Previously it would try to install 64 bit packages (Jan Sedlák).
uk: Параметр virt-builder і virt-customize I<--install> тепер працює у 32-бітових гостьових системах Fedora. Раніше його використання призводило до спроби встановити 64-бітові пакунки (Jan Sedlák).

note: type: textblock
en: Virt-builder can now fetch cloud images using Simple Streams v1.0 metadata (Pino Toscano).
uk: Virt-builder тепер може отримувати образи для хмар за допомогою метаданих Simple Streams v1.0 (Pino Toscano).

note: type: textblock
en: Virt-builder can now fetch openSUSE cloud images out of the box (Cédric Bosdonnat).
uk: Virt-builder тепер може отримувати хмарні образи openSUSE без додаткових налаштовувань (Cédric Bosdonnat).

note: type: textblock
en: Virt-customize will now use stronger (SHA-512) encrypted passwords by default on openSUSE E<ge> 11 (Pino Toscano).
uk: Virt-customize тепер використовує стійкіше типове шифрування паролів (SHA-512) у openSUSE E<ge> 11 (Pino Toscano).

note: type: textblock
en: Virt-builder will now correctly handle output filenames containing colon characters (C<:>), and will create temporary files in the libguestfs cache directory instead of defaulting to F</tmp> (Pino Toscano).
uk: Virt-builder тепер правильно обробляє вихідні назви файлів, що містять символи двокрапок (C<:>), і створює тимчасові файли у каталогу кешу libguestfs безпосередньо, замість типового F</tmp> (Pino Toscano).

note: type: textblock
en: Virt-resize has a new I<--unknown-filesystems> option to control what to do when asked to resize a filesystem that libguestfs doesn't know how to resize.
uk: Virt-resize має новий параметр I<--unknown-filesystems> для керування тим, що робити, якщо програму попросять змінити розмір файлової системи, спосіб зміни якої libguestfs не є відомим.

note: type: textblock
en: Virt-v2v now has an I<--in-place> flag/mode, allowing in-place conversion of guests (Roman Kagan).
uk: Virt-v2v тепер має прапорець або режим I<--in-place>, який уможливлює перетворення на місці гостьових систем (Roman Kagan).

note: type: textblock
en: Virt-v2v has a I<--compressed> option for creating compressed qcow2 output files.
uk: Virt-v2v має параметр I<--compressed> для створення стиснених файлів виведення qcow2.

note: type: textblock
en: Virt-v2v can now correctly get the VMware datacenter path (dcPath)  from libvirt, instead of having to calculate it using an algorithm that occasionally got the wrong answer (Matthias Bolte, Tingting Zheng).
uk: Virt-v2v тепер може правильно отримувати шлях до датацентру VMware (dcPath) від libvirt, замість визначення його за допомогою алгоритму, який іноді визначає помилкову відповідь (Matthias Bolte, Tingting Zheng).

note: type: textblock
en: Virt-v2v now processes RAM sizes correctly for 64 bit guests when running on a 32 bit host.
uk: Virt-v2v тепер правильно обробляє розміри оперативної пам'яті для 64-бітових гостьових систем, якщо програму запущено у 32-бітовій основній системі.

note: type: textblock
en: In Perl and Python programs, the C<get_program_name> API now returns the true program name, instead of the incorrect string C<perl> or C<python>.
uk: У програмах мовами Perl і Python програмний інтерфейс C<get_program_name> тепер повертає справжню назву програми, а не помилковий рядок C<perl> або C<python>.

note: type: textblock
en: The Python bindings can now be compiled against a different version of libguestfs, allowing the pip module to be built against any version of libguestfs (instead of requiring the pip module and libguestfs to have exactly the same version).
uk: Прив'язки до Python тепер можна зібрати для іншої версії libguestfs, що уможливлює збирання модуля pip для будь-якої версії libguestfs (замість строгої вимоги щодо однакових версій модуля pip і libguestfs).

note: type: textblock
en: The quality of the Ruby rdoc (documentation) has been improved (Pino Toscano).
uk: Поліпшено якість документації Ruby rdoc (Pino Toscano).

note: type: textblock
en: Perl scripts no longer hard-code the location of perl in the shebang line, but use L<env(1)> to locate it instead (Pino Toscano).
uk: У скриптах Perl більше немає рядка із жорсткою прив'язкою до розташування інтерпретатора perl, замість цього використовується L<env(1)> (Pino Toscano).

note: type: textblock
en: In OCaml programs, the guestfs handle was incorrectly made into a global root, meaning it could never be garbage collected.  If you didn't call the C<close> function explicitly, the handle would not be closed until the whole program exited.  This has now been fixed so handles will be garbage collected in the usual way.  This changes the API of the OCaml function C<Guestfs.event_callback>.  Note that non-C language bindings are not covered by the libguestfs API/ABI guarantee, although we try hard not to change them, but in this case it was essential in order to fix this very serious bug.
uk: У програмах мовою OCaml дескриптор guestfs помилково вказував на загальну кореневу файлову систему, тобто його ніколи не можна було обробити засобом збирання сміття. Якщо ви не викликали функцію C<close> явним чином, дескриптор не закривався, аж доки не завершувала роботу уся програма. Тепер цю помилку виправлено, отже дескриптори можуть прибиратися засобом збирання сміття у звичний спосіб. Це призвело до зміни програмного інтерфейсу функції OCaml C<Guestfs.event_callback>. Зауважте, що прив'язки до мов, відмінних від C, не мають гарантій щодо незмінності програмного інтерфейсу та бінарної сумісності, хоча ми і намагаємося не змінювати їх, але у цьому випадку зміна була важливою, оскільки надала змогу виправити дуже серйозну ваду.

note: type: textblock
en: Alpine Linux and the APK package manager, ALT Linux, Frugalware, and PLD Linux are now recognized (Pino Toscano).
uk: Тепер розпізнаються Alpine Linux та засіб керування пакунками APK, ALT Linux, Frugalware та PLD Linux (Pino Toscano).

note: type: textblock
en: If it exists, F</etc/os-release> will be preferred for inspecting Linux guests (Pino Toscano).
uk: Якщо існує F</etc/os-release> дані з нього матимуть пріоритет над безпосереднім інспектуванням гостьових систем Linux (Pino Toscano).

note: type: textblock
en: The correct kernel version is returned for Windows guests E<ge> 10.
uk: Тепер повертається правильна версія ядра для гостьових систем Windows E<ge> 10.

note: type: =head3
en: Documentation
uk: Документація

note: type: textblock
en: The large L<guestfs(3)> man page has been split into several separate man pages: L<guestfs-hacking(1)> L<guestfs-internals(1)> L<guestfs-security(1)>.  In the source tree, a new F<docs> directory contains this documentation.
uk: Велику сторінку підручника з L<guestfs(3)> поділено на декілька окремих сторінок підручника: L<guestfs-hacking(1)> L<guestfs-internals(1)> L<guestfs-security(1)>. Ця документація міститься у новому каталозі F<docs> ієрархії коду.

note: type: textblock
en: Libguestfs now supports ARM 64 bit platforms with vGICv3.
uk: У новій версії libguestfs передбачено підтримку 64-бітовий платформ ARM з vGICv3.

note: type: textblock
en: See also L<guestfs-security(1)>.
uk: Див. також L<guestfs-security(1)>.

note: type: textblock
en: This is not a vulnerability in libguestfs, but because we always give a virtio-serial port to each guest (since that is how guest-host communication happens), an escalation from the appliance to the host qemu process is possible.  This could affect you if:
uk: Це не вразливість у libguestfs, але оскільки ми завжди надаємо порт virtio-serial для кожної гостьової системи (оскільки так здійснюється обмін даними між гостьовою і основною системами), можливе проникнення з базової системи до процесу qemu основної системи. Це може стосуватися таких випадків:

note: type: textblock
en: your libguestfs program runs untrusted programs out of the guest (using L</guestfs_sh> etc), or
uk: ваша програма libguestfs запускає ненадійні програми з гостьової системи (за допомогою L</guestfs_sh> тощо) або

note: type: textblock
en: another exploit was found in (for example) kernel filesystem code that allowed a malformed filesystem to take over the appliance.
uk: у коді файлових систем ядра буде виявлено іншу властивість (наприклад), яка надає змогу відповідним чином створеній файловій системі захопити контроль над базовою системою.

note: type: textblock
en: If you use sVirt to confine qemu, that would thwart some attacks.
uk: Якщо ви використовуєте sVirt для обмеження qemu, це може запобігти деяким нападам.

note: type: =item
en: Virt-customize permissions on F<.ssh>, F<.ssh/authorized_keys>
uk: Права доступу virt-customize до F<.ssh>, F<.ssh/authorized_keys>

note: type: textblock
en: Previously when asked to inject an SSH key into a guest, virt-customize (hence virt-builder too) would create the F<.ssh> directory and F<.ssh/authorized_keys> file with too broad permissions, allowing other users to read.  They are now created as C<0700> and C<0600> respectively, which is the same as the L<ssh-copy-id(1)> utility.
uk: Раніше, якщо надходила команда щодо вставляння ключа SSH до гостьової системи, virt-customize (а отже, virt-builder) створювала каталог F<.ssh> і файл F<.ssh/authorized_keys> із надто широким доступом, що надавало стороннім користувачам доступ до читання цих даних. Тепер цей каталог і файл створюються з правами доступу C<0700> і C<0600>, відповідно, що збігається із правилами, які використовує програма L<ssh-copy-id(1)>.

note: type: textblock
en: Get/set a per-handle identifier.  The main effect of this is to change trace output from:
uk: Отримати або встановити окремий для обробника ідентифікатор. Основним ефектом цього є зміна виведення trace з такого:

note: type: textblock
en: to:
uk: на таке:

note: type: textblock
en: making it easier to follow traces in multi-threaded programs, or where a program uses multiple handles (especially virt-v2v).
uk: що спрощує стеження за трасуванням у багатопотокових програма або там, де програма використовує декілька дескрипторів (особливо virt-v2v).

note: type: textblock
en: Return the minimum size of a filesystem (when shrunk).  This supports ext2/3/4, XFS and btrfs, and can support other filesystem types in future (Maxim Perevedentsev).
uk: Повертає мінімальний розмір файлової системи (після стискання). Передбачено підтримку ext2/3/4, XFS і btrfs, у майбутньому можлива підтримка інших файлових систем (Maxim Perevedentsev).

note: type: =item
en: C<guestfs_disk_create>: add C<preallocation> = C<off>/C<metadata>/C<full>.
uk: C<guestfs_disk_create>: додано C<preallocation> = C<off>/C<metadata>/C<full>.

note: type: textblock
en: For raw, this allows C<off> as a synonym for C<sparse> (making it consistent with qcow2).  For qcow2, this allows C<sparse> as a synonym for C<off>.
uk: Для raw це уможливлює C<off> як синонім C<sparse> (робить сумісним із qcow2). Для qcow2 це уможливлює C<sparse> як синонім C<off>.

note: type: textblock
en: It also adds C<full>, which corresponds to fully allocated, but uses L<posix_fallocate(3)> for efficiency.
uk: Це також додає C<full>, який відповідає повному розміщенню, але використовує L<posix_fallocate(3)> для забезпечення ефективності.

note: type: =item
en: C<guestfs_tar_in>: new C<xattrs>, C<selinux>, C<acl> parameters.
uk: C<guestfs_tar_in>: нові параметри C<xattrs>, C<selinux>, C<acl>.

note: type: =item
en: C<guestfs_tar_out>: new C<xattrs>, C<selinux>, C<acl> parameters.
uk: C<guestfs_tar_out>: нові параметри C<xattrs>, C<selinux>, C<acl>.

note: type: textblock
en: These extra parameters control whether extended attributes, SELinux contexts and/or POSIX ACLs are restored from / saved to tarballs.
uk: Ці додаткові параметри керують тим, чи буде відновлено розширені атрибути, контексти SELinux і/або ACL POSIX з /, збережених у архівах tar.

note: type: textblock
en: The existing C<username> and C<secret> parameters can be used to supply authentication for iSCSI (Pino Toscano).
uk: Наявними параметрами C<username> і C<secret> можна скористатися для надання підтримки розпізнавання для iSCSI (Pino Toscano).

note: type: textblock
en: The C<./configure --enable-valgrind-daemon> option has been removed.
uk: Вилучено параметр C<./configure --enable-valgrind-daemon>.

note: type: textblock
en: You can no longer build libguestfs on RHEL 5-era (c.2007) machines.  See the C<oldlinux> branch if you need (limited) RHEL 5 support.
uk: Тепер libguestfs не можна зібрати на дистрибутивах ери RHEL 5 (близько 2007 року). Див. гілку C<oldlinux>, якщо вам потрібна (обмежена) підтримка RHEL 5.

note: type: textblock
en: Virt-p2v can now be built on RHEL 6-era (c.2010) Linux distros.
uk: Virt-p2v тепер можна зібрати на дистрибутивах Linux ери RHEL 6 (близько 2010 року).

note: type: textblock
en: OCaml E<ge> 3.11 (released in 2008) is now required to build from git.
uk: Тепер для збирання з git потрібен OCaml E<ge> 3.11 (випущено у 2008 році).

note: type: textblock
en: Building the Perl bindings now requires C<Module::Build> (instead of C<ExtUtils::MakeMaker>).
uk: Для збирання прив'язок до Perl тепер потрібен C<Module::Build> (замість C<ExtUtils::MakeMaker>).

note: type: textblock
en: Builds should be faster (especially when incrementally rebuilding), because work was done to reduce build times.
uk: Збирання має пришвидшитися (особливо нарощувальне повторне збирання), оскільки виконано певну роботу із зменшення тривалості збирання.

note: type: textblock
en: Both OCaml and the OCaml findlib module are required if you need to run the generator at build time.  Previously the build would have failed if findlib was not installed.
uk: Для запуску генератора під час збирання потрібні OCaml і модуль findlib OCaml. Раніше збирання завершувалося помилкою, якщо не було встановлено findlib.

note: type: textblock
en: C<make check> tests now run in parallel (within each test directory).
uk: Тести C<make check> тепер виконуються у паралельному режимі (у межах кожного з каталогів тестування).

note: type: textblock
en: C<make install> no longer installs OCaml F<bindtests.*> files incorrectly.
uk: C<make install> тепер встановлює файли OCaml F<bindtests.*> правильно.

note: type: textblock
en: C<make install> can now be run twice.  Previously it would fail on the second run.
uk: C<make install> тепер можна запускати двічі. Раніше, під час другого запуску видавалося повідомлення про помилку.

note: type: textblock
en: C<make clean> should now remove nearly every file that C<make> creates.
uk: C<make clean> тепер має вилучати майже усі файли, які створює C<make>.

note: type: textblock
en: A new C<make installcheck> rule has been added, allowing the installed copy of libguestfs to be tested.
uk: Додано нове правило C<make installcheck>, яке уможливлює тестування встановленої версії libguestfs.

note: type: textblock
en: Some effort was put into minimizing the size of the appliance, which reduces temporary disk space and time needed by libguestfs handles.
uk: Певних зусиль було докладено до мінімізації розміру базової системи, що зменшило об'єм тимчасового диска і час, потрібний на обробку у libguestfs.

note: type: textblock
en: The appliance now passes the NIC name to dhcpd, fixing hangs when running the appliance on some distros (Cédric Bosdonnat).
uk: Базова система тепер передає назву NIC до dhcpd, це виправляє повисання під час роботи базової системи у деяких дистрибутивах (Cédric Bosdonnat).

note: type: textblock
en: OCaml C<Guestfs.Errno> is now generated (Pino Toscano).
uk: Тепер створюється C<Guestfs.Errno> OCaml (Pino Toscano).

note: type: textblock
en: In OCaml tools, common code now handles I<--debug-gc>, I<--verbose> and other common options (Roman Kagan, Pino Toscano).
uk: У засобах мовою OCaml загальний код тепер обробляє I<--debug-gc>, I<--verbose> та інші загальні параметри (Roman Kagan, Pino Toscano).

note: type: textblock
en: The virt-v2v test harness allows us to boot the test guests at fixed dates in the past, ensuring that Windows reactivation doesn't kick in.
uk: Комплекс тестування virt-v2v надає нам змогу завантажувати тестовані гостьові системи у фіксовані моменти часу у минулому, забезпечуючи надійну роботу системи повторної активації Windows.

note: type: textblock
en: There is a new internal API for reading/writing a subprocess via a pipe from library code.
uk: Реалізовано новий внутрішній програмний інтерфейс для читання і запису підпроцесів за допомогою каналу з коду бібліотеки.

note: type: textblock
en: Used C<deheader> program to remove unused C<#include> directives.
uk: Використано програму C<deheader> для вилучення невикористаних інструкцій C<#include>.

note: type: textblock
en: In OCaml tools, the C<Char> and C<String> modules now implicitly reference the C<Common_utils.Char> and C<Common_utils.String> modules (instead of the ones from stdlib).  The C<Common_utils> modules contain a number of extra char/string utility functions, and also hide some unsafe functions in stdlib.
uk: У засобах мовою OCaml модулі C<Char> і C<String> тепер наявно посилаються на модулі C<Common_utils.Char> і C<Common_utils.String> (замість модулів зі stdlib). Модулі C<Common_utils> містять декілька додаткових допоміжних функцій для роботи із символами і рядками, а також приховування деяких незахищених функцій у stdlib.

note: type: textblock
en: Many more virt-v2v tests will now be run even if you don't have rhsrvany and virtio-win installed (Roman Kagan).
uk: Тепер запускається набагато більше тестів virt-v2v, навіть якщо не встановлено rhsrvany і virtio-win (Roman Kagan).

note: type: textblock
en: The huge F<configure.ac> file has been split into several smaller files called F<m4/guestfs_*.m4>.
uk: Величезний файл F<configure.ac> було поділено на декілька менших файлів із назвами F<m4/guestfs_*.m4>.

note: type: textblock
en: The old F<tests/data> and F<tests/guests> directories have been moved to F<test-data/>.  This new top level directory carries all test data which is common, large and/or shared between multiple tests.
uk: Застарілі каталоги F<tests/data> і F<tests/guests> було пересунуто до F<test-data/>. Цей новий каталог верхнього рівня містить усі дані засобів тестування, які є спільними, великим і/або використовуються у декількох тестах.

note: type: textblock
en: There is a new top level F<website/> directory containing the public L<http://libguestfs.org> website (or most of it).
uk: Створено новий каталог верхнього рівня F<website/>, який містить загальнодоступні дані сайта L<http://libguestfs.org> (або більшу частину цих даних).

note: type: textblock
en: The fuzz testing of inspection (F<tests/fuzz>) has been removed.
uk: Нечітке тестування засобів інспектування (F<tests/fuzz>) було вилучено.

note: type: textblock
en: Virt-p2v now saves the source physical machine dmesg output into the conversion server debug directory, making it simpler to debug cases of missing drivers, firmware etc.
uk: Virt-p2v тепер зберігає виведення dmesg фізичної машини джерела до каталогу діагностичних даних сервера перетворення, що діагностику у випадку нестачі драйверів, мікропрограми тощо.

note: type: textblock
en: set-label returns wrong error message when set the ext3/ext4 filesystem label
uk: set-label повертає помилкове повідомлення про помилку, якщо встановлено мітку файлової системи ext3/ext4

note: type: textblock
en: virt-builder writes temporary files to /tmp
uk: virt-builder записує тимчасові файли до /tmp

note: type: textblock
en: virt-resize does not copy logical partitions
uk: virt-resize не копіює логічні розділи

note: type: textblock
en: virt-inspector returns version 6.3 for win10 images (should return 10.0)
uk: virt-inspector повертає версію 6.3 для образів win10 (має повертати 10.0)

note: type: textblock
en: About compression option for qcow2
uk: Про параметр стискання для qcow2

note: type: textblock
en: v2v: spaces need to be escaped as %20 in paths
uk: v2v: у шляхах пробіли слід екранувати, ось так: %20

note: type: textblock
en: Close all incoming ports on virt-p2v ISO
uk: Закрити усі вхідні порти на образі ISO virt-p2v

note: type: textblock
en: man virt-customize shows synopsis twice
uk: man virt-customize показував короткий опис двічі

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.34
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.34

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.32.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.32.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: Multiple performance enhancements were made in libguestfs.  The "hot cache" time to launch to appliance should be under 1 second assuming recent qemu and kernel are installed.  There are also new utilities for precisely benchmarking libguestfs (F<utils/boot-benchmark> and F<utils/boot-analysis> in the source tree).
uk: Декілька поліпшень швидкодії у libguestfs. Час «кешування угарячу» для запуску базової системи має бути меншим за 1 секунду, якщо встановлено новітні qemu та ядро. Також створено нові інструменти для точного тестування швидкодії libguestfs (F<utils/boot-benchmark> та F<utils/boot-analysis> у ієрархії початкового коду).

note: type: textblock
en: The virt-p2v tool for converting physical machines to virtual machines was substantially improved.  This includes: clearer, coloured output during conversions, support for Gtk 3, more detailed information about hardware, click to identify network interfaces, more debugging tools included with the ISO, and many bug fixes.
uk: Програма virt-p2v для перетворення фізичних машин на віртуальні машини зазнала значного поліпшення. Це зокрема простіше розфарбоване виведення даних під час перетворень, підтримка Gtk 3, докладніші відомості щодо обладнання, реалізація клацання для ідентифікації інтерфейсів мережі, більше засобів діагностики, що включаються до ISO та багато виправлень вад.

note: type: textblock
en: f2fs (Flash Friendly File System) is now supported (Pino Toscano).
uk: Реалізовано підтримку f2fs (дружньої до флешок файлової системи) (Pino Toscano).

note: type: textblock
en: L<virt-p2v-make-kiwi(1)> can be used to build the virt-p2v ISO based on SLES and openSUSE, using the kiwi utility (Cédric Bosdonnat).
uk: Реалізовано можливість скористатися L<virt-p2v-make-kiwi(1)> для збирання образів ISO virt-p2v на основі SLES і openSUSE за допомогою інструментарію kiwi (Cédric Bosdonnat).

note: type: textblock
en: virt-resize will now preserve the GPT GUID.  This was required for Windows Server 2012 R2, where the bootloader would become confused if the GUID changed (Maxim Perevedentsev).
uk: Нова версія virt-resize зберігає GUID GPT. Ця версія є обов'язковою для роботи з Windows Server 2012 R2, де завантажувач не працюватиме, якщо змінюється GUID (Maxim Perevedentsev).

note: type: textblock
en: virt-resize will use sparse copying for (old MBR-style) extended partitions.  This makes resizing of guests that use extended partitions much faster (Maxim Perevedentsev).
uk: Нова версія virt-resize використовує розріджене копіювання для розширених розділів (у старому стилі MBR). Значно пришвидшує зміну розмірів гостьових систем, які використовують розширені розділи (Maxim Perevedentsev).

note: type: textblock
en: virt-p2v kernel command line options can now be used to set defaults for GUI configuration.
uk: Реалізовано використання параметрів командного рядка ядра virt-p2v для встановлення типових значень у графічному засобі налаштовування.

note: type: textblock
en: The virt-p2v debugging options have been completely removed, simplifying the interface and documentation.  Debugging information is now captured fully automatically.
uk: Повністю вилучено параметри діагностики virt-p2v, що спростило інтерфейс і документацію. Діагностичні відомості тепер перехоплюються повністю автоматично.

note: type: textblock
en: virt-p2v-make-disk lets you specify an I<--arch> option, allowing you to build a 32 bit virt-p2v, for compatibility with older systems.
uk: virt-p2v-make-disk у новій версії надає вам змогу вказати параметр I<--arch>, уможливлюючи збирання 32-бітової virt-p2v для сумісності із застарілими системами.

note: type: textblock
en: virt-p2v-make-disk no longer requires that you specify an C<os-version> for the virt-p2v disk.  If omitted it will try to choose a suitable C<os-version> depending on your host system.
uk: Для нової версії virt-p2v-make-disk більше немає потреби вказувати C<версію-ОС> для диска virt-p2v. Якщо версію не вказано, програма намагатиметься вибрати відповідну C<версію-ОС> за вашою основною системою.

note: type: textblock
en: virt-p2v-make-disk and virt-p2v-make-kickstart both gain a new I<--install> option that allows you to add arbitrary extra packages to the virt-p2v ISO, for customization, additional debugging tools and so on.
uk: До virt-p2v-make-disk і virt-p2v-make-kickstart додано новий параметр I<--install>, за допомогою якого можна додавати довільні пакунки до образу ISO virt-p2v, для налаштовування, отримання додаткових інструментів діагностики тощо.

note: type: textblock
en: virt-v2v will now uninstall Parallels Tools (or the equivalent Virtuozzo Tools) from Linux guests.  Also stop the Windows drivers from loading at boot.  (Roman Kagan and Pavel Butsykin)
uk: Нова версія virt-v2v вилучає Parallels Tools (або еквівалентні Virtuozzo Tools) з гостьових систем Linux. Також припинено завантаження драйверів Windows під час завантаження системи . (Roman Kagan і Pavel Butsykin)

note: type: textblock
en: virt-v2v I<--in-place> mode has been enhanced to allow the caller to choose whether or not to install certain virtio drivers in the guest (Roman Kagan).
uk: Розширено можливості режиму virt-v2v I<--in-place> так, щоб уможливити для функції виклику вибір, встановлювати чи ні певні драйвери virtio до гостьової системи (Roman Kagan).

note: type: textblock
en: virt-v2v conversion of Windows guests was substantially rewritten and simplified (Roman Kagan).
uk: Засоби перетворення virt-v2v гостьових систем Windows значно переписано і спрощено (Roman Kagan).

note: type: textblock
en: virt-v2v I<--in-place> mode now supports installing virtio-scsi drivers in guests (Roman Kagan).
uk: У новій версії режиму virt-v2v I<--in-place> передбачено підтримку встановлення драйверів virtio-scsi до гостьової системи (Roman Kagan).

note: type: textblock
en: virt-v2v can now convert SUSE guests and SUSE guests using UEFI (Cédric Bosdonnat and Jim Fehlig).
uk: Нова версія virt-v2v може перетворювати гостьові системи SUSE та гостьові системи SUSE з використанням UEFI (Cédric Bosdonnat і Jim Fehlig).

note: type: textblock
en: virt-v2v can now convert guests to Glance that have multiple disks.  Previously it would fail on such guests.
uk: Нова версія virt-v2v може перетворювати гостьові системи Glance із декількома дисками. Раніше програма показувала повідомлення про помилку для таких гостьових систем.

note: type: textblock
en: The virt-v2v I<--no-trim> and I<--vmtype> options are now no-ops.  They will print a warning but are otherwise ignored.  virt-v2v can now generate the OVF vmtype correctly without user intervention.
uk: Параметри virt-v2v I<--no-trim> і I<--vmtype> тепер не призводять до виконання будь-яких дій. Програма показує попередження і просто ігнорує параметри. Нова версія virt-v2v може створювати vmtype OVF правильно без втручання користувача.

note: type: textblock
en: virt-v2v has now been tested against SUSE Xen as a source hypervisor (Cédric Bosdonnat).
uk: Нову версію virt-v2v можна тестувати у Xen SUSE як початковому гіпервізорі (Cédric Bosdonnat).

note: type: textblock
en: virt-v2v adds support for SUSE VMDP drivers (Cédric Bosdonnat).
uk: У virt-v2v додано підтримку драйверів VMDP SUSE (Cédric Bosdonnat).

note: type: textblock
en: virt-v2v can convert OVA files containing subfolders, as produced by SUSE Studio (Cédric Bosdonnat).
uk: Нова версія virt-v2v може перетворювати файли OVA, які містять підтеки, які створено за допомогою SUSE Studio (Cédric Bosdonnat).

note: type: textblock
en: virt-v2v sets the OVF C<E<lt>OriginE<gt>> element correctly.  oVirt has been extended to support more source hypervisors (Shahar Havivi).
uk: Нова версія virt-v2v правильно встановлює елемент OVF C<E<lt>OriginE<gt>>. Можливості oVirt розширено з метою підтримки ширшого спектра гіпервізорів (Shahar Havivi).

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

note: type: textblock
en: The virt-builder I<--list> option can now be used to show all templates or a single template (Pino Toscano).
uk: Параметром virt-builder I<--list> тепер можна скористатися для перегляду усіх шаблонів або окремого шаблона (Pino Toscano).

note: type: textblock
en: All OCaml-based tools now use L<getopt_long(3)> for option parsing, and I<--help> output has been improved (Pino Toscano).
uk: В усіх заснованих на OCaml інструментах тепер використовується L<getopt_long(3)> для обробки параметрів. Поліпшено виведення I<--help> (Pino Toscano).

note: type: textblock
en: virt-builder and virt-customize I<--selinux-relabel> option can now fully relabel the guest filesystem at build time, without requiring a lengthy autorelabel at first boot.
uk: За допомогою параметра I<--selinux-relabel> virt-builder і virt-customize у новій версії можна повністю повторно встановити мітки для усієї гостьової файлової системи під час збирання без потреби у довгому автоматичному повторному встановленні міток під час першого завантаження.

note: type: textblock
en: virt-customize I<--delete> now accepts globs.
uk: virt-customize I<--delete> у новій версії може обробляти символи-замінники.

note: type: textblock
en: New virt-customize I<--uninstall> option lets you uninstall packages.
uk: За допомогою нового параметра virt-customize I<--uninstall> ви зможете вилучати пакунки.

note: type: textblock
en: virt-customize can now use C<pvvxsvc> as an alternative to C<rhsrvany> for running firstboot scripts in Windows guests (Cédric Bosdonnat).
uk: Нова версія virt-customize може використовувати C<pvvxsvc> як альтернативу до C<rhsrvany> для запуску скриптів firstboot у гостьових системах Windows (Cédric Bosdonnat).

note: type: textblock
en: virt-customize now uses the strongest hashing scheme for passwords on Arch and Void Linux (Pino Toscano).
uk: virt-customize тепер використовує найстійкішу схему хешування паролів у Arch та Void Linux (Pino Toscano).

note: type: textblock
en: virt-customize I<--install> now works correctly on Arch (Pino Toscano).
uk: virt-customize I<--install> тепер працює належним чином у Arch (Pino Toscano).

note: type: textblock
en: virt-inspector has new options I<--no-applications> and I<--no-icon> to prevent the list of applications and icon from being included in the XML output (Pino Toscano).
uk: virt-inspector має нові параметри I<--no-applications> і I<--no-icon> для запобігання включенню списку програм та піктограм до виведених даних XML (Pino Toscano).

note: type: textblock
en: New virt-sysprep I<--network> option has been added, allowing you to actually use the I<--install> etc options which were present in virt-sysprep before but did not usually work.  Note that the network is still disabled by default.
uk: Додано новий параметр virt-sysprep I<--network>, за допомогою якого ви можете насправді скористатися параметрами I<--install> та іншими, які були у virt-sysprep і раніше, але не працювали. Зауважте, що типово мережу все ще вимкнено.

note: type: textblock
en: virt-sysprep C<fs-uuids> operation no longer fails on btrfs guests (Maxim Perevedentsev).
uk: Дія virt-sysprep C<fs-uuids> більше не завершує роботу помилкою для гостьових систем btrfs (Maxim Perevedentsev).

note: type: textblock
en: virt-dib can output Docker images (Pino Toscano).
uk: virt-dib тепер може виводити образи для Docker (Pino Toscano).

note: type: textblock
en: virt-dib has a new I<--drive-format> option to allow the user to specify the format of the helper drive (Pino Toscano).
uk: У virt-dib реалізовано новий параметр I<--drive-format>, за допомогою якого можна вказати формат допоміжного диска (Pino Toscano).

note: type: textblock
en: All OCaml virt tools now have a I<--colors>/I<--colours> option which enables coloured output (using ANSI escape sequences) even if the output is not a tty.  The default is to check if the output is a tty and disable coloured output if not.  This allows coloured output to be consumed by other tools.
uk: Усі засоби віртуалізації OCaml тепер мають параметр I<--colors>/I<--colours>, який вмикає розфарбовування виведених даних (за допомогою екранованих послідовностей ANSI), навіть якщо виведення відбувається не до tty. Типовою поведінкою є перевірка, чи виводяться дані до tty, і вимикання розфарбовування даних, якщо ні. Це надає змогу передавати розфарбовані виведені дані для обробки іншим програмам.

note: type: textblock
en: PHP test coverage has been enhanced (Pino Toscano).
uk: Удосконалено покриття тестами PHP (Pino Toscano).

note: type: textblock
en: PHP 7 is now supported (Pino Toscano).
uk: Реалізовано підтримку PHP 7 (Pino Toscano).

note: type: textblock
en: Python bindings are now compliant with PEP 8 (Pino Toscano).
uk: Прив'язки Python тепер сумісні з PEP 8 (Pino Toscano).

note: type: textblock
en: A Python pip package is available in L<http://libguestfs.org/download/python/>
uk: Пакунок pip Python доступний з L<http://libguestfs.org/download/python/>

note: type: textblock
en: The Ruby bindings now print the full exception if one is thrown by the event callback.  Note this is still incorrect behaviour as event callbacks should not throw exceptions, but it aids debugging.
uk: Прив'язки до Ruby тепер виводять текст виключення повністю, якщо такий видано зворотним викликом події. Зауважте, що це не зовсім коректна поведінка, оскільки зворотні виклики подій не повинні видавати виключення, але це допомагає у діагностиці.

note: type: textblock
en: All OCaml libraries and programs are now compiled with I<-safe-string>, if supported by the OCaml compiler.
uk: Усі бібліотеки і програми OCaml тепер збираються з прапорцем I<-safe-string>, якщо його підтримку передбачено у компіляторі OCaml.

note: type: textblock
en: Alpine Linux using busybox can now be inspected.  Also the APK package manager is supported in virt-customize (Pino Toscano).
uk: Тепер можна інспектувати Alpine Linux з використанням busybox. Крім того, у virt-customize передбачено підтримку засобу керування пакунками APK (Pino Toscano).

note: type: textblock
en: We now handle inspection of Mageia 4 (Pino Toscano).
uk: Реалізовано інспектування Mageia 4 (Pino Toscano).

note: type: textblock
en: Void Linux and the Void Linux xbps package manager are fully supported (Pino Toscano).
uk: Повністю реалізовано підтримку Void Linux та засобу керування пакунками pbs з Void Linux xbps (Pino Toscano).

note: type: textblock
en: Parsing of CoreOS version information has been enhanced (Pino Toscano).
uk: Удосконалено обробку даних щодо версії CoreOS (Pino Toscano).

note: type: textblock
en: It is now possible to get an icon from ALT Linux (Pino Toscano).
uk: Уможливлено отримання піктограми з ALT Linux (Pino Toscano).

note: type: textblock
en: PLD Linux versions E<lt> 3 are now recognized (Pino Toscano).
uk: Тепер розпізнаються версії PLD Linux E<lt> 3 (Pino Toscano).

note: type: textblock
en: Windows drive letters are now returned for guests using GPT partitions (Dawid Zamirski).
uk: Реалізовано повернення літер дисків Windows для гостьових систем з використанням розділів GPT (Dawid Zamirski).

note: type: textblock
en: We can now correctly inspect Unix guests that do not have an F</etc/fstab> file (Pino Toscano).
uk: Реалізовано правильне інспектування гостьових систем Unix, у яких немає файла F</etc/fstab> (Pino Toscano).

note: type: textblock
en: Added another source for the Ubuntu icon which doesn't rely on GNOME having been installed in the guest.
uk: Додано нове джерело піктограми Ubuntu, яке не покладається на встановлення GNOME у гостьовій системі.

note: type: textblock
en: We can now get an icon for Windows 7 64 bit guests.
uk: Реалізовано отримання піктограми для 64-бітових гостьових систем Windows 7.

note: type: textblock
en: Libosinfo integration was rewritten to deal with the new database format used by osinfo (Pino Toscano).
uk: Переписано код інтеграції libosinfo так, щоб можна було працювати із новим форматом бази даних від osinfo (Pino Toscano).

note: type: textblock
en: New manual page L<guestfs-building(1)> describes how to build libguestfs from source.
uk: Нова сторінка підручника, L<guestfs-building(1)>, де наведено настанови щодо того, як зібрати libguestfs з початкових кодів.

note: type: textblock
en: The man pages, tools and tool I<--help> output is now automatically checked to ensure that all tool options are properly documented, that warning sections are included where necessary, and that every page has a description section.
uk: Сторінки підручника, засоби та виведення параметра I<--help> тепер автоматично перевіряються так, щоб забезпечити повне документування, включення належних розділів попередження та додавання до кожної сторінки розділу опису.

note: type: textblock
en: The L<guestfs-testing(1)> man page has been refreshed and based on a newer libguestfs.
uk: Оновлено сторінку підручника L<guestfs-testing(1)>; тепер дані на ній відповідають новішій libguestfs.

note: type: textblock
en: virt-customize now works on POWER7 and POWER8 platforms, both big endian and little endian (Xianghua Chen and Hu Zhang).
uk: virt-customize тепер працює на платформах POWER7 і POWER8, у обох варіантах, із прямим та зворотним порядком байтів (Xianghua Chen і Hu Zhang).

note: type: textblock
en: This vulnerability in OCaml might affect virt tools written in the OCaml programming language.  It affects only 64 bit platforms.  Because this bug affects code generation it is difficult to predict which precise software could be affected, and therefore our recommendation is that you recompile libguestfs using a version of the OCaml compiler where this bug has been fixed (or ask your Linux distro to do the same).
uk: Ця вразливість у OCaml може стосуватися усіх інструментів віртуалізації, які написано мовою програмування OCaml. Вона стосується лише 64-бітових платформ. Оскільки ця вада стосується створення коду, важко визначити точний перелік вражених програм, тому рекомендують повторно зібрати libguestfs за допомогою версії компілятора OCaml, де цю ваду виправлено (або попросити розробників вашого дистрибутива Linux зробити це для вас).

note: type: =head3
en: virt-customize ownership of F<.ssh>, F<.ssh/authorized_keys>
uk: Права власності virt-customize на F<.ssh>, F<.ssh/authorized_keys>

note: type: textblock
en: Previously when virt-customize injected an SSH key into a guest, when it created the F<~/.ssh> and F<~/.ssh/authorized_keys> directory and file (in case they were missing) it created them with owner and group C<root.root>.  This has been fixed so the correct user is used.  This is not thought to have been exploitable.
uk: Раніше, коли virt-customize вставляла ключ SSH до гостьової системи, створюючи у каталозі F<~/.ssh> файл F<~/.ssh/authorized_keys> (якщо їх ще не було), вона надавала їм права власності C<root.root>. Цю помилку було виправлено. Тепер використовується правильні значення користувача і групи. Ми думаємо, що цією вразливість було неможливо скористатися.

note: type: textblock
en: The inspection code has been made more robust against guests which might use very long C<%systemroot%> (derived from the guest-controlled Windows Registry).  This is not thought to have been exploitable.
uk: Код засобу інспектування було зроблено стійкішим до гостьових систем, де міг використовуватися дуже довгий C<%systemroot%> (успадкований від керованого гостьовою системою реєстру Windows). Ми вважаємо, що цією вразливістю неможливо скористатися.

note: type: =head3
en: Virtio-rng is now available in the appliance
uk: У базовій системі тепер доступною є програма Virtio-rng

note: type: textblock
en: virtio-rng (the virtual Random Number Generator device) is now passed to the appliance, which should improve the quality random numbers generated for GUIDs and cryptographic key generation.
uk: virtio-rng (віртуальний пристрій-генератор випадкових чисел) тепер передається до базової системи, що має поліпшити якість псевдовипадкових чисел, які використовуються для GUID та створення криптографічних ключів.

note: type: textblock
en: List all devices where a btrfs filesystem is spanned (Pino Toscano).
uk: Реалізовано показу усіх пристроїв, на які поширюється файлова система btrfs (Pino Toscano).

note: type: textblock
en: Download filesystem data blocks from a given partition.  Download arbitrary files by inode number.  Retrieve all files from a filesystem including deleted files.
uk: Отримує блоки даних файлової системи для вказаного розділу. Отримує довільні файли за номером inode. Отримує усі файли з файлової системи, включно із вилученими.

note: type: textblock
en: Note these require optional dependency The Sleuth Kit.  (Matteo Cafasso)
uk: Зауважте, що ці зміни потребують встановлення додаткової залежності, The Sleuth Kit.  (Matteo Cafasso)

note: type: textblock
en: Read the path where temporary sockets are stored (Pino Toscano).
uk: Реалізовано читання шляху, де зберігаються тимчасові сокети (Pino Toscano).

note: type: textblock
en: Split a Mountable into device name and subvolume (Cédric Bosdonnat).
uk: Реалізовано поділ адреси змонтованого пристрою на назву пристрою і підтом (Cédric Bosdonnat).

note: type: textblock
en: Download NTFS file by inode number (Matteo Cafasso).
uk: Реалізовано отримання файлів NTFS за номером inode (Matteo Cafasso).

note: type: textblock
en: Allow in-place expanding of GPT partitions by moving the second (backup) partition table to the end of the disk (Maxim Perevedentsev).
uk: Уможливлює розширення розділів GPT на місці з пересуванням другої (резервної) таблиці розділів у напрямку кінця диска (Maxim Perevedentsev).

note: type: textblock
en: Get and set the GPT disk GUID, or set it to a fresh random value (Maxim Perevedentsev).
uk: Отримує і встановлює GUID диска GPT або встановлює для них свіже випадкове значення (Maxim Perevedentsev).

note: type: textblock
en: SELinux-relabel part or all of the guest filesystem.
uk: Виконує оновлення міток SELinux для частини гостьової файлової системи або для усієї гостьової файлової системи.

note: type: textblock
en: C<guestfs_set_selinux>, C<guestfs_get_selinux>, C<guestfs_setcon>, C<guestfs_getcon> and C<guestfs_llz> have been deprecated.  Use the new API C<guestfs_selinux_relabel> to relabel filesystems.  Use C<guestfs_lgetxattrs> to list the C<security.selinux> extended attributes of existing files.
uk: C<guestfs_set_selinux>, C<guestfs_get_selinux>, C<guestfs_setcon>, C<guestfs_getcon> і C<guestfs_llz> тепер вважаються застарілими. Скористайтеся новим програмним інтерфейсом C<guestfs_selinux_relabel> для повторного встановлення міток у файлових системах. Скористайтеся C<guestfs_lgetxattrs>, щоб отримати список розширених атрибутів C<security.selinux> наявних файлів.

note: type: textblock
en: C<guestfs_vfs_minimum_size> can now be used on dirty filesystems (Maxim Perevedentsev).
uk: C<guestfs_vfs_minimum_size> тепер можна використовувати для файлових систем у проміжних станах (Maxim Perevedentsev).

note: type: textblock
en: C<guestfs_ll> now works on paths which contain absolute symlinks (Pino Toscano).
uk: C<guestfs_ll> тепер працює для шляхів, які містять абсолютні символічні посилання (Pino Toscano).

note: type: textblock
en: C<guestfs_glob_expand> now has an optional C<directoryslash> boolean parameter which controls whether trailing slashes are returned for directory names (Pino Toscano).
uk: C<guestfs_glob_expand> тепер має необов'язковий булевий параметр C<directoryslash>, який керує тим, чи повертатимуться кінцеві похилі риски у назвах каталогів (Pino Toscano).

note: type: textblock
en: C<guestfs_lvs> will no longer return LVs which have the C<activationskip> flag set.  The reason is that such LVs have no C</dev/VG/LV> device node and so code which read the list of LVs and then probed the devices themselves would immediately fail.  You can use C<guestfs_lvs_full> if you want to read all LVs.  (Pino Toscano).
uk: C<guestfs_lvs> більше не повертає логічні томи, для яких встановлено прапорець C<activationskip>. Причиною є те, що такі логічні томи не мають вузла пристрою C</dev/VG/LV>, отже, код, який читає список логічних томів, а потім зондує самі пристрої, негайно повертає помилку. Ви можете скористатися C<guestfs_lvs_full>, якщо хочете прочитати усі логічні томи (Pino Toscano).

note: type: textblock
en: C<guestfs_list_disk_labels> now no longer fails if no disks with labels were added.  Instead it now returns an empty list (Pino Toscano).
uk: C<guestfs_list_disk_labels> більше не повертає повідомлення про помилку, якщо не було додано жодного диска із мітками. Замість цього, буде повернуто порожній список (Pino Toscano).

note: type: textblock
en: C<guestfs_is_lv> no longer fails if passed a btrfs subvolume, it returns false instead (Maxim Perevedentsev).
uk: C<guestfs_is_lv> більше не повертає повідомлення про помилку, якщо передано підтом btrfs. Замість цього буде повернуто false (Maxim Perevedentsev).

note: type: textblock
en: qemu E<ge> 1.3.0 is required.
uk: Потрібен qemu E<ge> 1.3.0.

note: type: textblock
en: yajl (a JSON parsing library) is required to build libguestfs.
uk: Для збирання libguestfs потрібна yajl (бібліотека для обробки коду JSON).

note: type: textblock
en: You can now build with GCC 6.
uk: Тепер можливе збирання за допомогою GCC 6.

note: type: textblock
en: C<make check-valgrind> now has substantially better coverage.
uk: C<make check-valgrind> тепер має суттєво ліпше покриття.

note: type: textblock
en: C<make check-slow> now works again.
uk: C<make check-slow> тепер знову є працездатним.

note: type: textblock
en: Use C<make -C appliance clean-supermin-appliance> to clean the supermin appliance (it will be rebuilt on next C<make>).
uk: Скористайтеся C<make -C appliance clean-supermin-appliance> щоб спорожнити базову систему supermin (її буде перезібрано під час наступного C<make>).

note: type: textblock
en: There are a variety of new rules for running virt-p2v from the source directory: C<make -C p2v run-virt-p2v-directly> | C<run-virt-p2v-in-a-vm> | C<run-virt-p2v-non-gui-conversion>.  These are documented further in L<guestfs-hacking(1)>.
uk: Реалізовано спектр нових правил для запуску virt-p2v з каталогу початкового коду: C<make -C p2v run-virt-p2v-directly> | C<run-virt-p2v-in-a-vm> | C<run-virt-p2v-non-gui-conversion>. Документацію щодо цього можна знайти на сторінці L<guestfs-hacking(1)>.

note: type: textblock
en: virt-p2v may be built using either Gtk 2 or Gtk 3.  To force a particular version of Gtk to be used, C<./configure --with-gtk=2|3>
uk: virt-p2v може бути зібрано з використанням Gtk 2 або Gtk 3. Щоб примусово вказати версію Gtk, скористайтеся C<./configure --with-gtk=2|3>

note: type: textblock
en: The C<./configure> options are now mostly documented in L<guestfs-building(1)>.
uk: Параметри C<./configure> тепер здебільшого документовано на сторінці L<guestfs-building(1)>.

note: type: textblock
en: In git, versions are now tagged with C<v1.XX.YY> (previously they were tagged with C<1.XX.YY>).  Using the C<v-> prefix is more common in git repositories.
uk: У git версії тепер позначаються C<v1.XX.YY> (раніше вони позначалися C<1.XX.YY>). Використання префікса C<v-> є поширенішим для сховищ git.

note: type: textblock
en: When using the libvirt backend, we now wait for qemu to exit gracefully instead of killing it after 15 seconds.  This helps when writing to slow devices (especially cheap USB keys).
uk: Якщо використовується модуль обробки libvirt, тепер програма очікує на коректне завершення роботи qemu, замість того, щоб примусово завершувати роботу за 15 секунд. Це має допомогти у записі на повільні пристрої (особливо, дешеві флешки USB).

note: type: textblock
en: Error messages from libvirt now include the C<err-E<gt>int1> field which usually contains the C<errno>.
uk: До повідомлень про помилки від libvirt тепер додається поле C<err-E<gt>int1>, у якому, зазвичай, міститься C<errno>.

note: type: textblock
en: On ARM, all DTB (device tree) code has been removed.  qemu creates the right device tree on the fly, we do not need to specify one.
uk: На ARM вилучено увесь код DTB (ієрархії пристроїв). qemu створює належну ієрархію на льоту, нам не потрібно вказувати її власноруч.

note: type: textblock
en: The C API tests now use larger test disks, allowing BTRFS to be tested properly (Pino Toscano).
uk: У тестах програмного інтерфейсу C тепер використовуються більші тестові диски, що надає змогу належно перевірити BTRFS (Pino Toscano).

note: type: textblock
en: The tests should now work on a pure Python 3 host (Pino Toscano).
uk: Тести тепер мають належним чином працювати у основній системі, де встановлено лише Python 3 (Pino Toscano).

note: type: textblock
en: In C bindings, internal functions are now (mostly) consistently named C<guestfs_int_*> whereas previously there was no consistent scheme.
uk: У прив'язках до C реалізовано однорідне (майже) іменування C<guestfs_int_*>. Раніше не було якоїсь спільної схеми визначення назв.

note: type: textblock
en: The old C<safe_malloc> etc functions are now no longer exported by the library, nor used in language bindings.
uk: Застарілі функції C<safe_malloc> та інші тепер не експортуються бібліотекою і не використовуються у прив'язках до мов програмування.

note: type: textblock
en: Setting TMPDIR to a path longer than ~ 100 characters will no longer cause libguestfs to fail silently and randomly when creating Unix domain sockets (Pino Toscano).
uk: Встановлення для TMPDIR шляху, довшого за ~ 100 символів, більше не спричиняє аварійного випадкового завершення libguestfs без повідомлень під час створення сокетів доменів Unix (Pino Toscano).

note: type: textblock
en: The C<COMPILE_REGEXP> macro can now be used in the daemon.
uk: Тепер у фоновій службі можна використовувати макрос C<COMPILE_REGEXP>.

note: type: textblock
en: When tracing, results containing structs are now printed in full (Pino Toscano).
uk: Під час трасування тепер повністю виводяться результати, які містять структури (Pino Toscano).

note: type: textblock
en: The Perl C<Sys::Guestfs> module now no longer embeds an incrementing API "version number".  This module is now always at phony version "1.0".  To find the real version of libguestfs from Perl you must call C<$g-E<gt>version>.
uk: До модуля Perl C<Sys::Guestfs> більше не вбудовується програмний інтерфейс збільшення номера версії. Тепер цей модуль завжди має фіктивну версію 1.0. Щоб визначити справжню версію libguestfs з Perl, вам слід викликати C<$g-E<gt>version>.

note: type: textblock
en: All code is compiled with C<-Wstack-usage=10000> and multiple changes have been made to remove stack allocation of large strings and buffers.
uk: Увесь код було зібрано з C<-Wstack-usage=10000>, внесено багато змін для вилучення розміщень у стеку великих рядків та буферів.

note: type: textblock
en: The L<error(3)> function is now used everywhere, replacing most previous uses of L<perror(3)> + L<exit(3)>, and L<fprintf(3)> + exit.
uk: Тепер усюди використовується функція L<error(3)>, якою замінено більшість колишніх вживань L<perror(3)> + L<exit(3)> та L<fprintf(3)> + exit.

note: type: textblock
en: In C code, C</**> comments are turned into documentation which is automatically added to the L<guestfs-hacking(1)> manual page.
uk: У коді C коментарі C</**> перетворено на документацію, яка автоматично додається до сторінки підручника L<guestfs-hacking(1)>.

note: type: textblock
en: A safe "getumask" function has been added.  For recent Linux kernels this uses the newly added C<Umask> field in F</proc/self/status>.  For older Linux and other Unix, this uses a thread-safe technique involving L<fork(2)> (thanks: Josh Stone, Jiri Jaburek, Eric Blake).
uk: Було додано безпечну функцію getumask. У свіжих ядрах Linux ця функція використовує нещодавно додане поле C<Umask> у F</proc/self/status>. У давніших Linux та інших системах Unix ця функція використовує безпечну щодо потоків методику з використанням L<fork(2)> (подяки: Josh Stone, Jiri Jaburek, Eric Blake).

note: type: textblock
en: Safe L<posix_fadvise(2)> wrappers have been added, and more hints have been added to the code which may make a minor difference to performance.
uk: Було додано безпечні обгортки L<posix_fadvise(2)>, також у код додано більше орієнтирів, які можуть трошки поліпшити швидкодію.

note: type: textblock
en: A safe wrapper around L<waitpid(2)> has been added which handles C<INTR> properly.
uk: Додано безпечну обгортку до L<waitpid(2)>, яка належним чином обробляє властивість C<INTR>.

note: type: textblock
en: C<podwrapper.pl> (used to generate the manual pages) now stops if any POD error is found.  A new script called C<podcheck.pl> does cross-checking of I<--help> output, tool options and manual pages.
uk: C<podwrapper.pl> (використовується для створення сторінок підручника) тепер припиняє роботу, якщо знайдено будь-яку помилку у POD. Новий скрипт із назвою C<podcheck.pl> виконує перехресну перевірку даних, виведених I<--help>, параметрів засобів та сторінок підручника.

note: type: textblock
en: All version numbers in the library (eg. versions of qemu, versions of libvirt, versions of guest operating systems) are unified in a single file F<src/version.c> (Pino Toscano).
uk: Усі номери версій у бібліотеці (наприклад, версії qemu, версії libvirt, версії гостьових операційних систем) уніфіковано у єдиному файлі F<src/version.c> (Pino Toscano).

note: type: textblock
en: On Windows guests, virt-customize will use the vendor-neutral path S<C<C:\Program Files\Guestfs\Firstboot>> to store firstboot scripts.  Previously it used S<C<C:\Program Files\Red Hat\Firstboot>>.  This change should be invisible to the scripts themselves.  (Cédric Bosdonnat)
uk: У гостьових системах Windows virt-customize використовуватиме нейтральний щодо постачальника шлях S<C<C:\Program Files\Guestfs\Firstboot>> для зберігання скриптів першого завантаження. Раніше використовувався S<C<C:\Program Files\Red Hat\Firstboot>>. Ця зміна має бути непомітною для самих скриптів. (Cédric Bosdonnat)

note: type: textblock
en: On Linux guests, the firstboot services generated by virt-builder I<--firstboot> etc have been renamed to C<guestfs-firstboot> (Pino Toscano).
uk: У гостьових системах Linux служби першого завантаження, створені virt-builder I<--firstboot> тощо, було перейменовано на C<guestfs-firstboot> (Pino Toscano).

note: type: textblock
en: There is now a common C<debug> function used by all OCaml tools, replacing previous code which did S<C<if verbose () then printf ...>>.
uk: Тепер існує загальна функція C<debug>, яка використовується усіма засобами OCaml і замінює собою попередній код, який виконував S<C<if verbose () then printf ...>>.

note: type: textblock
en: virt-p2v copies files it needs over to the virt-v2v conversion server using L<scp(1)>, instead of trying to send them via the shell session.  This should improve reliability and should be a completely transparent to end users.
uk: virt-p2v копіює файли, які їй потрібні на сервер перетворення virt-v2v за допомогою L<scp(1)>, замість спроб надсилати їх через сеанс оболонки. Це має поліпшити стійкість процесу і має бути повністю прозорим для кінцевого користувача.

note: type: textblock
en: All code in F<mllib> is now built into a single C<mllib.cma> or C<mllib.cmxa> library.  All code in F<customize> is now built into a single C<customize.cma> or C<customize.cmxa> library.  This simplifies the build of the OCaml tools.
uk: Увесь код у F<mllib> тепер збирається до єдиної бібліотеки C<mllib.cma> або C<mllib.cmxa>. Увесь код у F<customize> тепер збирається до єдиної бібліотеки C<customize.cma> або C<customize.cmxa>. Це спрощує збирання засобів OCaml.

note: type: textblock
en: L<lvmetad(8)> is now used in the appliance when available (Pino Toscano).
uk: Тепер у базовій системі використовується L<lvmetad(8)>, якщо доступна (Pino Toscano).

note: type: textblock
en: "Silent rules" are used for OCaml, Java, Erlang and POD.  Use C<make V=1> to see the full command lines again (Pino Toscano).
uk: Використовуються «мовчазні правила» для OCaml, Java, Erlang і POD. Скористайтеся C<make V=1>, щоб знову побачити рядки команд повністю (Pino Toscano).

note: type: textblock
en: virt-customize --ssh-inject not applying correct file permission
uk: virt-customize --ssh-inject не застосовує належних прав доступу до файлів

note: type: textblock
en: RFE: virt-sysprep should be SELinux-aware
uk: RFE: virt-sysprep має враховувати роботу SELinux

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.36
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.36

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.34.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.34.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: Virt-tail is a new tool for following (tailing) log files within a guest, similar to the regular C<tail -f> command.
uk: Virt-tail — новий інструмент для стеження (за кінцем) файлів журналу у гостьовій системі, подібний до звичайної команди C<tail -f>.

note: type: textblock
en: Virt-customize, virt-get-kernel, virt-sparsify and virt-sysprep can now handle encrypted guests (Pino Toscano).
uk: Virt-customize, virt-get-kernel, virt-sparsify і virt-sysprep тепер можуть працювати із зашифрованими гостьовими системами (Pino Toscano).

note: type: textblock
en: Virt-builder and virt-customize now support I<--append-line>, which is useful for adding lines to the end of configuration files.
uk: У virt-builder і virt-customize тепер передбачено підтримку I<--append-line>, що корисно для додавання рядків наприкінці файлів налаштувань.

note: type: textblock
en: Virt-resize can now shrink and expand swap partitions (Pino Toscano).
uk: Virt-resize тепер може зменшувати і збільшувати розміри розділів резервної пам'яті (Pino Toscano).

note: type: textblock
en: Virt-resize can now output to non-local disks (Pino Toscano).
uk: Virt-resize тепер може виводити дані на нелокальні диски (Pino Toscano).

note: type: textblock
en: Virt-sysprep has a new operation called C<backup-files> for removing editor backups, and C<passwd-backups> for removing F</etc/passwd-> and similar.
uk: У virt-sysprep передбачено нову операцію із назвою C<backup-files> для вилучення резервних копій редактора і C<passwd-backups> для вилучення F</etc/passwd-> та подібних файлів.

note: type: textblock
en: Virt-dib can now create checksums using the new I<--checksum> option (Pino Toscano).
uk: Virt-dib тепер може створювати контрольні суми за допомогою нового параметра I<--checksum> (Pino Toscano).

note: type: textblock
en: Virt-dib can now create tgz files.  In addition, extended attributes and SELinux labels are preserved in the output tar file (Pino Toscano).
uk: Virt-dib тепер може створювати файли tgz. Крім того, у виведеному файлі tar зберігаються розширені атрибути і мітки SELinux (Pino Toscano).

note: type: textblock
en: Virt-dib can now create squashfs files (Pino Toscano).
uk: Virt-dib тепер може створювати файли squashfs (Pino Toscano).

note: type: textblock
en: Bash tab-completion is now available in every command line tool that is shipped.
uk: Автоматичне доповнення за Tab у bash тепер доступне для усіх інструментів командного рядка, який постачається у пакунках.

note: type: =head3
en: virt-v2v and virt-p2v
uk: virt-v2v і virt-p2v

note: type: textblock
en: Conversions of Debian (6+) and Ubuntu (10.04+) guests are now supported (Tomáš Golembiovský, Pino Toscano).
uk: Передбачено підтримку перетворень Debian (6+) і Ubuntu (10.04+) (Tomáš Golembiovský, Pino Toscano).

note: type: textblock
en: Conversions from SUSE Xen hypervisor have now been tested (Cédric Bosdonnat).
uk: Перевірено перетворення з гіпервізору Xen SUSE (Cédric Bosdonnat).

note: type: textblock
en: Windows conversions may now install a program C<pnp_wait.exe> which prevents conflicts between the Windows Plug-and-Play Manager and our own scripts that install virtio device drivers.  Enabling this requires the C<pnp_wait.exe> program to be built separately (Roman Kagan).
uk: Під час перетворення Windows тепер встановлюється програма C<pnp_wait.exe>, яка запобігає конфліктам між Керуванням Plug-and-Play Windows і нашими скриптами, які встановлюють драйвери пристроїв virtio. Вмикання цієї можливості потребує, щоб програму C<pnp_wait.exe> було зібрано окремо (Roman Kagan).

note: type: textblock
en: OVA files exported from AWS can now be converted (Shahar Havivi).
uk: Тепер можна перетворювати файли OVA, експортовані з AWS (Shahar Havivi).

note: type: textblock
en: When converting OVA files, in some circumstances virt-v2v can now read disk images directly from the OVA input file instead of needing to unpack the OVA file to a temporary directory.  This can save large amounts of disk space, and is quicker (Tomáš Golembiovský).
uk: Під час перетворення файлів OVA за певних обставин virt-v2v тепер може читати образи дисків безпосередньо з вхідного файла OVA, замість розпаковування файла OVA до тимчасового каталогу. Це може заощадити місце на диску і пришвидшити обробку (Tomáš Golembiovský).

note: type: textblock
en: Virt-p2v can now be built on RHEL 5 (2007-era) Linux and RHEL 6, which means that 32 bit and hardware with ancient fakeraid disks can be virtualized.  Binaries of virt-p2v based on these old versions of RHEL can be found at http://oirase.annexia.org/virt-p2v/
uk: Virt-p2v тепер можна зібрати на RHEL 5 (приблизно 2007 рік) Linux та RHEL 6, що означає, що 32-бітові системи та обладнання із давніми дисками fakeraid можна віртуалізувати. Виконувані файли virt-p2v, засновані на цих застарілих версіях RHEL, можна знайти на http://oirase.annexia.org/virt-p2v/

note: type: textblock
en: Virt-p2v can now use nbdkit (an NBD server) as an alternative to qemu-nbd.  In addition, virt-p2v can use "socket activation" which is a more robust method for opening the NBD listening socket.  Socket activation works with qemu-nbd or nbdkit, but requires the most up to date versions.
uk: Virt-p2v тепер може використовувати nbdkit (сервер NBD) як альтернативу qemu-nbd. Крім того, virt-p2v тепер може використовувати «активацію сокетом», яка є стійкішим методом для відкриття сокета для очікування даних NBD. Активація за сокетом працює з qemu-nbd і nbdkit, але потребує найновіших версій цих компонентів.

note: type: textblock
en: To prevent timeouts during P2V conversions, virt-p2v inhibits power saving on the physical machine, and also sends ping packets over the ssh control and data connections.
uk: Щоб запобігти перевищенню часу очікування під час перетворень P2V, virt-p2v успадковує параметри заощадження енергії від фізичної машини і також надсилає луна-пакети крізь з'єднання керування ssh та даних.

note: type: textblock
en: Virt-v2v no longer removes the C<Processor> and C<Intelppm> nodes from the Windows Registry.
uk: Virt-v2v більше не вилучає вузли C<Processor> і C<Intelppm> з реєстру Windows.

note: type: textblock
en: Xen and vCenter conversions can now be done using the libvirt backend, provided libvirt E<ge> 2.1.0 is used.
uk: Перетворення Xen і vCenter тепер можна виконувати за допомогою модуля libvirt, якщо використовується libvirt E<ge> 2.1.0.

note: type: textblock
en: F</dev/srX> (SCSI CD-ROM) devices are ignored (Tomáš Golembiovský).
uk: Ігноруються пристрої F</dev/srX> (SCSI CD-ROM) (Tomáš Golembiovský).

note: type: textblock
en: When converting SUSE Linux guests, use F</etc/modprobe.conf.local> if it exists.
uk: Під час перетворення гостьових систем SUSE Linux реалізовано використання F</etc/modprobe.conf.local>, якщо такий файл існує.

note: type: textblock
en: Removing VMware tools from Linux guests should now work reliably (Pino Toscano).
uk: Вилучення інструментів VMware з гостьових систем Linux тепер має працювати надійно (Pino Toscano).

note: type: textblock
en: When converting OVA files, virt-v2v now checks the disk image hash contained in the manifest file, whereas previously it was ignored because of a mistake in the code.  In addition, SHA256 hashes are now supported (Tomáš Golembiovský).
uk: Під час перетворення файлів OVA virt-v2v тепер перевіряє хеш образу диска, який міститься у файлі маніфесту, тоді як раніше цей хеш ігнорувався через помилку у коді. Крім того, тепер передбачено підтримку хешів SHA256 (Tomáš Golembiovský).

note: type: textblock
en: When converting OVA files that contain compressed disk images, we now trust the C<ovf:compression> attribute from the metadata instead of using content sniffing on the disk image (Tomáš Golembiovský).
uk: Під час перетворення файлів OVA, який містить стиснені образи дисків, тепер враховується атрибут C<ovf:compression> з метаданих, замість безпосереднього аналізу образу диска (Tomáš Golembiovský).

note: type: textblock
en: A new flag I<--vdsm-compat> has been added to I<-o vdsm> mode, allowing more efficient qcow2 images to be generated.
uk: Додано новий прапорець I<--vdsm-compat> до режиму I<-o vdsm>. За його допомогою можна створювати ефективніші образи qcow2.

note: type: textblock
en: Since the RHEV product [commercially supported version of oVirt] has now been renamed to RHV, "RHEV" was changed to "RHV" throughout the tooling.  In particular, I<-o rhev> becomes I<-o rhv>, although the old name can be used for backwards compatibility.
uk: Оскільки продукт RHEV [комерційно підтримувану версію oVirt] тепер перейменовано на RHV, «RHEV» було замінено на «RHV» у всьому інструментарії. Зокрема, I<-o rhev> тепер стало I<-o rhv>, хоча і стара назва використовується для забезпечення зворотної сумісності.

note: type: textblock
en: The C<RHEV-APT> utility is only installed when the output hypervisor is oVirt or RHV.
uk: Програма C<RHEV-APT> встановлюється тепер лише, якщо гіпервізором виведення даних є oVirt або RHV.

note: type: textblock
en: A problem with virt-v2v running out of memory when doing an SELinux relabel of the guest filesystem should now be resolved.
uk: Має бути вирішено проблему із нестачею пам'яті для роботи virt-v2v при виконанні повторного встановлення міток SELinux у гостьовій файловій системі.

note: type: textblock
en: Setting C<EXTRA_JAVAC_FLAGS> before F<./configure> allows you to add arbitrary flags to C<javac> when compiling the Java bindings.
uk: Встановлення значення C<EXTRA_JAVAC_FLAGS> до F<./configure> надає вам змогу додавати довільні прапорці до C<javac> під час збирання прив'язок до Java.

note: type: textblock
en: Use of any libguestfs API which returned a single struct, from Perl or Java bindings, would have leaked memory.  This has now been fixed (Pino Toscano).
uk: Використання будь-якого програмного інтерфейсу libguestfs, який повертає окрему структуру, з прив'язок до Perl або Java призводило до витоку пам'яті. Тепер цю помилку виправлено. (Pino Toscano).

note: type: textblock
en: Inspection of Windows guests with mildly corrupted Windows Registry hives should now work instead of failing with an error.  This feature requires hivex E<ge> 1.3.14 (Dawid Zamirski).
uk: Інспектування гостьових систем Windows із помірно пошкодженими роями регістру Windows тепер спрацьовує, замість завершення з повідомленням про помилку. Для користування цією можливістю слід встановити hivex E<ge> 1.3.14 (Dawid Zamirski).

note: type: textblock
en: For Debian guests, we can now read the URL, source name, summary and full description of installed packages.  For RPM-based guests we can read the URL, summary and description (Pino Toscano).
uk: Для пакунків Debian тепер передбачено можливість читати адресу, назву початкового пакунка, резюме і повний опис встановлених пакунків. Для гостьових систем на основі RPM можливе читання адреси, резюме та опису (Pino Toscano).

note: type: textblock
en: Inspection of guest operating systems that use a separate F</usr> partition should now work more reliably (Pino Toscano).
uk: Інспектування гостьових операційних систем, де використовується окремий розділ F</usr>, тепер має працювати надійніше (Pino Toscano).

note: type: textblock
en: When parsing guest F</etc/fstab>, paths are reduced to a canonical form (eg. C<"///usr//local//"> → C<"/usr/local">).
uk: Під час обробки F</etc/fstab> гостьової системи шляхи згортаються до канонічної форми (наприклад, C<"///usr//local//"> → C<"/usr/local">).

note: type: textblock
en: Inspection of btrfs subvolumes now works where the F</etc/fstab> options field contains commas.
uk: Інспектування підтомів btrfs тепер працює там, де поле параметрів F</etc/fstab> містить коми.

note: type: textblock
en: F</dev/cdN> devices in guest F</etc/fstab> are ignored (Pino Toscano).
uk: Ігноруються пристрої F</dev/cdN> у F</etc/fstab> гостьової системи (Pino Toscano).

note: type: textblock
en: Stable releases are now tested on aarch64, ppc64 and ppc64le architectures.
uk: Тепер стабільні випуски тестуються на архітектурах aarch64, ppc64 та ppc64le.

note: type: textblock
en: The RISC-V architecture is now handled as a guest, and libguestfs will now at least compile on RISC-V (but probably not work as there is no usable qemu at the time of writing).
uk: Архітектура RISC-V тепер обробляється як гостьова, а libguestfs принаймні збирається на RISC-V (але, ймовірно, не працює, оскільки там немає придатного до користування qemu на час написання цього запису).

note: type: textblock
en: Detection of S/390 and S/390x binaries and guests is now supported.
uk: Реалізовано підтримку виявлення бінарних файлів і гостьових систем S/390 та S/390x.

note: type: textblock
en: ExFAT filesystems are now supported (Miles Wolbe).
uk: Реалізовано підтримку файлових систем ExFAT (Miles Wolbe).

note: type: textblock
en: There were no CVEs reported in this development cycle.  However some security-related hardening was carried out as described below.
uk: Протягом цього циклу розробки не було повідомлено про жодну вразливість захисту. Втім, було виконано певні роботи із удосконалення захисту, які описано нижче.

note: type: textblock
en: Temporary filenames are now always generated using randomness from F</dev/urandom> (previously the C function L<random(3)> was used in one case).
uk: Назви тимчасових файлів тепер завжди створюються з використанням випадкових значень з F</dev/urandom> (раніше в одному випадку використовувалася функція C L<random(3)>).

note: type: textblock
en: The C<$TERM> environment variable is now validated before passing it through to the appliance kernel command line.
uk: Реалізовано перевірку змінної середовища C<$TERM> перед передаванням її до командного рядка ядра базової системи.

note: type: textblock
en: Exposes the Augeas C<aug_transform> API (Pino Toscano).
uk: Надає доступ до програмного інтерфейсу Augeas C<aug_transform> (Pino Toscano).

note: type: textblock
en: Find files by inode number (Matteo Cafasso).
uk: Пошук файлів за номером inode (Matteo Cafasso).

note: type: textblock
en: Return the path to the Windows C<HKLM\SYSTEM> and C<HKLM\SOFTWARE> hives computed during inspection.
uk: Повертає шлях до роїв Windows C<HKLM\SYSTEM> та C<HKLM\SOFTWARE>, який було визначено під час інспектування.

note: type: textblock
en: Create a squashfs filesystem from a path (Pino Toscano).
uk: Створює файлову систему squashfs зі шляху (Pino Toscano).

note: type: textblock
en: This call now handles libvirt file-based volumes correctly, where previously these would have been ignored.  Also handled are disks which require libvirt authentication secrets to open (Pino Toscano).
uk: Цей виклик тепер коректно обробляє томи libvirt, засновані на файлах. Раніше такі томи ігнорувалися. Також реалізовано обробку дисків, які потребують розпізнавання за реєстраційними даними для відкриття їх у libvirt (Pino Toscano).

note: type: textblock
en: This call will no longer incorrectly modify Linux software RAID device names (like F</dev/mdX>).
uk: Цей виклик більше не помиляється при внесенні змін до назв пристроїв програмного RAID у Linux (зокрема F</dev/mdX>).

note: type: textblock
en: Previously the C<file_architecture> API could return either of the strings C<i386> or C<i486> for 32 bit x86 binaries.  It now only returns C<i386> (as documented).
uk: Раніше програмний інтерфейс C<file_architecture> між повертати будь-який рядок, C<i386> або C<i486>, для 32-бітових виконуваних файлів x86. Тепер він повертає лише C<i386> (за документацією).

note: type: textblock
en: This API can now return the following new values: C<riscv32>, C<riscv64>, C<riscv128>, C<s390>, C<s390x>.
uk: Цей програмний інтерфейс тепер може повертати такі нові значення: C<riscv32>, C<riscv64>, C<riscv128>, C<s390>, C<s390x>.

note: type: textblock
en: This now has an optional C<GUESTFS_HIVEX_OPEN_UNSAFE> flag which allows certain corrupted Windows Registry hives to be opened.  This feature requires hivex E<ge> 1.3.14 (Dawid Zamirski).
uk: Цей виклик тепер має необов'язковий прапорець C<GUESTFS_HIVEX_OPEN_UNSAFE>, який надає змогу відкривати деякі пошкоджені рої реєстру Windows. Для користування цією можливістю слід встановити hivex E<ge> 1.3.14 (Dawid Zamirski).

note: type: textblock
en: This call now returns Linux software RAID partitions.
uk: Цей виклик тепер повертає програмні розділи RAID у Linux.

note: type: textblock
en: This call now correctly handles partition names which include C<pE<lt>NE<gt>> (Pino Toscano).
uk: Цей виклик тепер коректно обробляє назви розділів, які містять C<pE<lt>NE<gt>> (Pino Toscano).

note: type: textblock
en: This call can now change the labels of swap partitions (Pino Toscano).
uk: Цей виклик тепер може змінювати мітки розділів резервної пам'яті (Pino Toscano).

note: type: textblock
en: libmagic, the library part of the C<file> command, is now required at build time (previously optional).
uk: libmagic, бібліотечна частина програми C<file>, тепер потрібна для збирання (раніше вона була необов'язковою).

note: type: textblock
en: GCC 7 is now supported.
uk: Реалізовано підтримку GCC 7.

note: type: textblock
en: "Silent rules" are now used for OCaml programs, Java bindings.  To show the full command line executed, add C<V=1> on the make command line (Pino Toscano).
uk: Тепер програми OCaml та прив'язки до Java використовують «мовчазні правила». Щоб переглянути рядок команди, яка виконується, додайте C<V=1> до рядка команди make (Pino Toscano).

note: type: textblock
en: Slow testing (C<make check-slow>) now covers: firstboot scripts in Linux guests; v2v conversion of a selection of real Linux guests; the virt-customize I<--hostname> and I<--timezone> settings; the I<--root-password> parameter; that the serial console works in virt-builder guests.
uk: Повільне тестування (C<make check-slow>) тепер покриває: скрипти firstboot у гостьових системах Linux; перетворення v2v набору справжніх гостьових систем Linux; параметри virt-customize I<--hostname> та I<--timezone>; параметр I<--root-password>; те, що послідовна консоль працює у гостьових системах virt-builder.

note: type: textblock
en: Large generated C source files, eg. the list of commands found in F<fish/cmds.c> (and many more), have been split into smaller files to speed parallel compilation.
uk: Великі автоматично створені файли з кодом мовою C, наприклад список команд у F<fish/cmds.c> (та багато інших), поділено на менші файли для пришвидшення паралельного збирання.

note: type: textblock
en: C<make maintainer-check-extra-dist> now checks that all generated files are included in the tarball.
uk: C<make maintainer-check-extra-dist> тепер перевіряє, чи усі створені файли було включено до архіву tar.

note: type: textblock
en: The tests no longer assume that C<.> is in Perl's C<@INC>, as it is going to be removed soon (Pino Toscano).
uk: Тести тепер не припускають, що C<.> перебуває у C<@INC> Perl, оскільки її скоро збираються вилучити (Pino Toscano).

note: type: textblock
en: Debian hosts using UsrMerge are now supported (Pino Toscano).
uk: Реалізовано підтримку основних систем Debian з UsrMerge (Pino Toscano).

note: type: textblock
en: Header files and C structs can now have internal documentation using the special C</** ... */> comments.
uk: Файли заголовків та структури C тепер можуть містити вбудовану документацію з використання спеціальних коментарів C</** ... */>.

note: type: textblock
en: C<@VAR@> subtitutions in C<./run> are now fully quoted.  This is necessary so that (eg) C<./configure PYTHON=/some/path> works robustly if C</some/path> contains characters that need to be quoted (Hilko Bengen).
uk: Підстановки C<@VAR@> у C<./run> тепер повністю екрануються лапками. Це потрібно для того, щоб (наприклад) команда C<./configure PYTHON=/якийсь/шлях> працювала належним чином, якщо у C</якийсь/шлях> містяться символи, які слід екранувати (Hilko Bengen).

note: type: textblock
en: gperf E<ge> 3.1 is now supported.
uk: Реалізовано підтримку gperf E<ge> 3.1.

note: type: textblock
en: Kraxel's old edk2 builds can no longer be used for UEFI support.  UEFI code is now fully free software, so use the versions bundled with your Linux distro instead.
uk: Старі збірки Kraxel-я для edk2 тепер не можна використовувати для забезпечення підтримки UEFI. Код UEFI тепер повністю програмний, тому слід використовувати версії з комплекту вашого дистрибутива Linux.

note: type: textblock
en: Virt-p2v can now be compiled on RHEL 5 (2007-era) Linux with Gtk 2.10.
uk: Virt-p2v тепер можна зібрати на Linux RHEL 5 (випущено у 2007 році) з Gtk 2.10.

note: type: textblock
en: The generator and mllib C<Common_utils> modules are now shared from the same source file.
uk: Тепер модулі generator та mllib C<Common_utils> використовуються спільно з одного файла початкового коду.

note: type: textblock
en: A considerable amount of common code has been moved into the F<common> directory in the source and is now compiled only once.  The mini-libraries located under here are: F<common/edit>, F<common/errnostring>, F<common/miniexpect>, F<common/options>, F<common/parallel>, F<common/progress>, F<common/protocol>, F<common/utils>, F<common/visit>, F<common/windows>.
uk: Значну частку загального коду було пересунуто до каталогу F<common> у початковому коді. Тепер вона збирається лише одного разу. Мінібібліотеки, які містяться у цьому каталозі: F<common/edit>, F<common/errnostring>, F<common/miniexpect>, F<common/options>, F<common/parallel>, F<common/progress>, F<common/protocol>, F<common/utils>, F<common/visit>, F<common/windows>.

note: type: textblock
en: The directory containing the main library code has moved from F<src> → F<lib>.
uk: Каталог, у якому зберігається основний код бібліотеки пересунуто, F<src> → F<lib>.

note: type: textblock
en: All tests written in shell script now use a common file of utility functions (F<tests/test-functions.sh>).  There are several new utility functions, mainly for skipping tests.  Also these test scripts can now use autoconf-like path variables like C<$abs_top_srcdir>.
uk: Усі тести, які було написано мовою командної оболонки, тепер використовують спільний файл із допоміжними функціями (F<tests/test-functions.sh>). Написано ще декілька нових допоміжних функцій, зокрема для пропускання певних перевірок. Крім того, ці скрипти тестування тепер можуть використовувати autoconf-подібні змінні шляхів, зокрема C<$abs_top_srcdir>.

note: type: textblock
en: UEFI paths are now stored in the generator (F<generator/uefi.ml>).
uk: Шляхи UEFI тепер зберігаються у generator (F<generator/uefi.ml>).

note: type: textblock
en: The way the generator handles actions and procedure numbers was changed quite substantially.  See F<generator/actions_*.ml> and F<generator/proc_nr.ml>.
uk: Спосіб, у який засіб створення обробляє дії і номери процедур, було суттєво змінено. Див. F<generator/actions_*.ml> і F<generator/proc_nr.ml>.

note: type: textblock
en: The gnulib C<getprogname> module is now used everywhere when needing/printing the program name (Pino Toscano).
uk: Тепер модуль gnulib C<getprogname> використовується всюди, де потрібна назва програми чи виведення назви програми (Pino Toscano).

note: type: textblock
en: F<perl/Guestfs.c> is not translatable (Nikos Skalkotos).
uk: F<perl/Guestfs.c> не придатний до перекладу (Nikos Skalkotos).

note: type: textblock
en: Virt-builder templates moved from F<builder/website> to F<builder/templates> and there is now a single unified program which can build any template.
uk: Шаблони virt-builder пересунуто з F<builder/website> до F<builder/templates>. Тепер є одна уніфікована програма, яка може зібрати будь-який шаблон.

note: type: textblock
en: All Windows registry utilities used by virt-customize and virt-v2v have been moved to a common module called C<Registry> under F<mllib>.
uk: Усі засоби роботи з реєстром Windows, які використовуються virt-customize і virt-v2v, було пересунуто до спільного модуля із назвою C<Registry> у F<mllib>.

note: type: textblock
en: All POSIX bindings have been moved to a new module called C<Unix_utils> under F<mllib>.
uk: Усі прив'язки POSIX було пересунуто до нового модуля з назвою C<Unix_utils> у F<mllib>.

note: type: textblock
en: Inspection, virt-customize and virt-v2v no longer recompute the Windows C<%systemroot%>, C<CurrentControlSet> or paths to the C<HKLM\SYSTEM> and C<HKLM\SOFTWARE> hives in multiple places.  Instead these are all computed once (during inspection) and passed to the other tools through various C<guestfs_inspect_get_windows_*> APIs.
uk: У засобі інспектування, virt-customize та virt-v2v у декількох місцях усунено повторне визначення C<%systemroot%>, C<CurrentControlSet> та шляхів до роїв C<HKLM\SYSTEM> і C<HKLM\SOFTWARE> у Windows. Усі ці дані визначаються один раз (під час інспектування) і передаються іншим інструментам за допомогою різноманітних програмних інтерфейсів C<guestfs_inspect_get_windows_*>.

note: type: textblock
en: C</dev/pts> is now available inside the appliance, so any tools we run which require a pty will now work (Pino Toscano).
uk: C</dev/pts> тепер доступний у базовій системі, отже будь-які інструменти, які потребують для роботи pty, тепер працюватимуть (Pino Toscano).

note: type: textblock
en: Most OCaml warnings have been fixed.
uk: Виправлено більшу частину попереджень OCaml.

note: type: textblock
en: There is now a single common function for creating temporary files (C<guestfs_int_make_temp_path>) (Matteo Cafasso).
uk: Тепер існує єдина загальна функція для створення тимчасових файлів (C<guestfs_int_make_temp_path>) (Matteo Cafasso).

note: type: textblock
en: Useless USB and memballoon devices are no longer created in the appliance (Laine Stump).
uk: У базовій системі більше не створюються непотрібні пристрої USB та memballoon (Laine Stump).

note: type: textblock
en: On aarch64 we now use virtio-pci for the appliance.  This is somewhat faster than virtio-mmio.
uk: На aarch64 для базової системи тепер використовується virtio-pci. Це дещо швидше за virtio-mmio.

note: type: textblock
en: Use of L<srandom(3)> and L<random(3)> has been minimized.  In particular, temporary filenames are no longer created based on randomness returned by L<random(3)>, but F</dev/urandom> is used instead.
uk: Було мінімізовано використання L<srandom(3)> і L<random(3)>. Зокрема, тимчасові назви файлів більше не створюються на основі даних, які повертає L<random(3)>, замість цього використовується F</dev/urandom>.

note: type: textblock
en: typo error in virt-tail man page
uk: описка на сторінці підручника virt-tail

note: type: textblock
en: virt-v2v: appliance runs out of memory running setfiles command
uk: virt-v2v: вичерпання пам'яті базовою системою під час виконання команди setfiles

note: type: textblock
en: *** No rule to make target '../perl/lib/Sys/Guestfs.c', needed by 'libguestfs.pot'
uk: *** Немає правила для створення ../perl/lib/Sys/Guestfs.c, потрібне для libguestfs.pot

note: type: textblock
en: compile of 1.34.3 fails with gperf 3.1
uk: не вдається зібрати 1.34.3 з gperf 3.1

note: type: textblock
en: guestfs_list_filesystems does not recognize ddf partitions
uk: guestfs_list_filesystems не розпізнає розділи ddf

note: type: textblock
en: [Debian] ldmtool not installed in the appliance
uk: [Debian] у базовій системі не встановлено ldmtool

note: type: textblock
en: RFE: virt-resize should support a URL as the outdisk
uk: RFE: virt-resize має підтримувати адресу як диск виведення

note: type: textblock
en: RFE: Increate virt-sysprep coverage a bit
uk: RFE: дещо збільшити покриття virt-sysprep

note: type: textblock
en: Add --vdsm-compat=1.1 flag for VDSM
uk: Додати прапорець --vdsm-compat=1.1 для VDSM

note: type: textblock
en: typo error in man page
uk: описка на сторінці підручника

note: type: textblock
en: secrets from libvirt domains are not read
uk: не читаються реєстраційні дані з доменів libvirt

note: type: textblock
en: "--machine-readable" info should be updated in virt-v2v manual page
uk: дані щодо --machine-readable на сторінці підручника virt-v2v слід оновити

note: type: textblock
en: RFE: virt-p2v should support mnemonic operations
uk: RFE: virt-p2v має підтримувати мнемонічні операції

note: type: textblock
en: virt-p2v manual should update the new dialog information
uk: на сторінці підручника virt-p2v слід оновити дані щодо діалогу

note: type: textblock
en: virt-v2v: -i ova: Permission denied when using libvirt and running as root
uk: virt-v2v: -i ova: заборонено доступ, якщо використовується libvirt і запуск відбувається від імені root

note: type: textblock
en: Process status is not normal in windows guest after converted from kvm to rhev by virt-v2v
uk: Стан процесу у гостьовій системі windows після перетворення з kvm на rhev за допомогою virt-v2v не є нормальним

note: type: textblock
en: Builder does not set hostname properly for Debian 8 (Jessie)
uk: Засіб збирання не встановлює належним чином назву вузла для Debian 8 (Jessie)

note: type: textblock
en: Improve OVA import compatibility
uk: Поліпшення сумісності імпортування OVA

note: type: textblock
en: Guest name is incorrect if convert guest from disk image by virt-v2v
uk: Назва гостьової системи є помилковою, якщо перетворення гостьової системи з образу диска виконується virt-v2v

note: type: textblock
en: firstboot scripts (virt-builder, virt-sysprep) don't work for Debian 6 & 7 guests
uk: Скрипти firstboot (virt-builder, virt-sysprep) не працюють у гостьових системах Debian 6 і 7

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.38
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.38

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.36.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.36.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: Virt-builder-repository is a new tool allowing end users to create and update virt-builder repositories (Cédric Bosdonnat).
uk: Virt-builder-repository — новий інструмент, який надає кінцевим користувачам змогу створювати і оновлювати сховища virt-builder (Cédric Bosdonnat).

note: type: textblock
en: Virt-rescue (while not a new tool) has been substantially rewritten, implementing job control, I<-m> and I<-i> options, escape keys, etc.
uk: Virt-rescue (хоча це і не новий інструмент) було суттєво переписано, реалізовано керування завданнями, параметри I<-m> та I<-i>, клавіші скасовування тощо.

note: type: textblock
en: Virt-builder planner has been improved so that faster and more efficient build plans are chosen for complex cases, especially when either the tmpdir or output is on networked storage.
uk: Поліпшено планувальник virt-builder. У новій версії програма вибирає швидші та ефективніші плани збирання для складних випадків, особливо якщо тимчасовий каталог або каталог виведення даних перебувають на сховищі даних у мережі.

note: type: textblock
en: New virt-builder Fedora templates (starting with Fedora 26) will have plain partition layout and use GPT for partitions.
uk: Нові шаблони virt-builder для Fedora (починаючи з Fedora 26) матимуть просте компонування розділів і використовуватимуть GPT.

note: type: textblock
en: Virt-customize "firstboot" scripts in guests using systemd are now installed under the C<multi-user.target> instead of C<default.target> so they will only run when the system is booted normally.
uk: Скрипти першого завантаження virt-customize у гостьових системах, де використовується systemd, тепер встановлюються до C<multi-user.target>, а не до C<default.target>, отже запускаються лише тоді, коли система завантажується у звичайному режимі.

note: type: textblock
en: Virt-customize now sets a random F</etc/machine-id> for Linux guests, if one is not already set.
uk: Virt-customize тепер встановлює випадковий F</etc/machine-id> для гостьових систем Linux, якщо такий ще не встановлено.

note: type: textblock
en: Virt-df now works correctly on filesystems with block sizes smaller than 1K (Nikolay Ivanets).
uk: Virt-df тепер правильно працює у файлових системах із розміром блоку, меншим за 1 кБ (Nikolay Ivanets).

note: type: textblock
en: Virt-dib has further compatibility enhancements with diskimage-builder (Pino Toscano).
uk: Virt-dib містить подальші поліпшення у сумісності з diskimage-builder (Pino Toscano).

note: type: textblock
en: Virt-sysprep removes C<DHCP_HOSTNAME> from F<ifcfg-*> files.
uk: Virt-sysprep вилучає C<DHCP_HOSTNAME> з файлів F<ifcfg-*>.

note: type: textblock
en: Virt-sysprep now works on Oracle Linux (Jamie Iles).
uk: Virt-sysprep тепер працює і в Oracle Linux (Jamie Iles).

note: type: textblock
en: Virt-resize now correctly copies GPT partition attributes from the source to the destination (Cédric Bosdonnat).
uk: Virt-resize тепер правильно копіює атрибути розділів GPT з джерела до призначення (Cédric Bosdonnat).

note: type: textblock
en: Bash tab completion implemented or enhanced for: virt-win-reg, virt-v2v-copy-to-local.
uk: Реалізовано або поліпшено доповнення за tab у bash для таких програм: virt-win-reg, virt-v2v-copy-to-local.

note: type: textblock
en: Virt-v2v can now read VMware VMX files directly, either from local disk, NFS storage, or over SSH from an ESXi hypervisor.
uk: Virt-v2v тепер може читати файли VMX VMware безпосередньо або з локального диска, сховища NFS, або за допомогою SSH з гіпервізору ESXi.

note: type: textblock
en: Virt-v2v can now use VDDK as an input source.
uk: Virt-v2v тепер може використовувати VDDK як джерело вхідних даних.

note: type: textblock
en: Both virt-v2v and virt-p2v are now able to pass through the source CPU vendor, model and topology.  However unfortunately not all source and target hypervisors are able to provide or consume this data at present (Tomáš Golembiovský).
uk: Обидві програми, virt-v2v і virt-p2v, тепер можуть передавати дані щодо виробника процесора, моделі і топології початкової системи. Втім, на жаль, не усі гіпервізори поточних версій здатні надати або використати ці дані (Tomáš Golembiovský).

note: type: textblock
en: Virt-v2v now supports encrypted guests (Pino Toscano).
uk: У virt-v2v реалізовано підтримку шифрованих гостьових систем (Pino Toscano).

note: type: textblock
en: Virt-v2v can now handle VMware snapshots.  Note that the snapshots are collapsed — it I<does not> convert the chain of snapshots into a chain of snapshots.
uk: Virt-v2v тепер може працювати зі знімками VMware. Зауважте, що знімки мають бути згорнутими —  програма I<не> перетворює ланцюжок знімків у ланцюжок знімків.

note: type: textblock
en: Virt-v2v now installs Windows 10 / Windows Server 2016 virtio block drivers correctly (Pavel Butsykin, Kun Wei).
uk: Virt-v2v тепер встановлює блокові пристрої virtio Windows 10 / Windows Server 2016 належним чином (Pavel Butsykin, Kun Wei).

note: type: textblock
en: Virt-v2v now installs virtio-rng, balloon and pvpanic drivers, and correctly sets this in the target hypervisor metadata for hypervisors which support that (Tomáš Golembiovský).
uk: У virt-v2v реалізовано встановлення драйверів virtio-rng, balloon та pvpanic та належне налаштовування цих драйверів у метаданих гіпервізору призначення для гіпервізорів, у яких передбачено підтримку цього (Tomáš Golembiovský).

note: type: textblock
en: Virt-v2v now installs both legacy and modern virtio keys in the Windows registry (Ladi Prosek).
uk: У virt-v2v реалізовано встановлення застарілих і сучасних ключів virtio у реєстрі Windows (Ladi Prosek).

note: type: textblock
en: Virt-p2v can now preserve (in some cases) the offset of the Real Time Clock from UTC.
uk: У virt-p2v реалізовано збереження (у певних випадках) часового поясу у годиннику реального часу (RTC).

note: type: textblock
en: Virt-p2v now combines several scp commands to the conversion server into a single command, improving conversion times.
uk: Тепер virt-p2v поєднує декілька команд scp до сервера перетворення у одну команду, щоб зменшує час, потрібний на перетворення.

note: type: textblock
en: Virt-v2v now detects the special Linux Xen PV-only kernels correctly (Laszlo Ersek).
uk: У virt-v2v реалізовано виявлення спеціалізованих ядер Linux лише для паравіртуалізації у Xen належним чином (Laszlo Ersek).

note: type: textblock
en: Virt-v2v I<-o glance> now generates the right properties for UEFI guests (Pino Toscano).
uk: У virt-v2v I<-o glance> реалізовано підтримку створення належних властивостей для гостьових систем UEFI (Pino Toscano).

note: type: textblock
en: Virt-v2v I<-o null> now avoids spooling the guest to a temporary file, instead it writes to the qemu "null block device".  This makes it faster and use almost no disk space.
uk: Тепер virt-v2v I<-o null> уникає буферизації гостьової системи до тимчасового файла. Замість цього, виконується запис до «нульового блокового пристрою» qemu. Це пришвидшує роботу і знижує потребу у використанні місця на диску.

note: type: textblock
en: Virt-v2v I<-o rhv> now supports Windows 2016 Server guest type.
uk: У virt-v2v I<-o rhv> реалізовано підтримку типу гостьової системи Windows 2016 Server.

note: type: textblock
en: Virt-v2v I<-i libvirtxml> can now open network disks over http or https.
uk: У virt-v2v I<-i libvirtxml> реалізовано підтримку відкриття мережевих дисків за допомогою http або https.

note: type: textblock
en: Virt-v2v will now give a warning about host passthrough devices (Pino Toscano).
uk: У virt-v2v реалізовано попереджання щодо транзитних пристроїв у основній системі (Pino Toscano).

note: type: textblock
en: The virt-v2v I<--machine-readable> output has been enhanced so it includes C<vcenter-https>, C<xen-ssh> and C<in-place> facts (Pino Toscano).
uk: Розширено можливості виведення virt-v2v I<--machine-readable> так, щоб було включено факти C<vcenter-https>, C<xen-ssh> і C<in-place> (Pino Toscano).

note: type: textblock
en: Fix multiple memory leaks and other data corruption problems in the Java bindings (Pino Toscano).
uk: Усунено декілька витоків пам'яті та інших проблем із пошкодженням даних у прив'язках до Java (Pino Toscano).

note: type: textblock
en: Perl C<%guestfs_introspection> has been dropped.
uk: Відкинуто підтримку у Perl C<%guestfs_introspection>.

note: type: textblock
en: Inspection support was rewritten in OCaml and included inside the daemon.  This makes inspection considerably faster, more robust and more easily extensible in future.
uk: Підтримку інспектування було переписано на OCaml і включено у фонову службу. Це значно пришвидшує інспектування, збільшує його стійкість та поліпшує можливості із його розширення у майбутньому.

note: type: textblock
en: Better icon support for ALT Linux guests (Pino Toscano).
uk: Краща підтримка піктограм гостьових систем ALT Linux (Pino Toscano).

note: type: textblock
en: Better support for NeoKylin (Qingzheng Zhang).
uk: Краща підтримка NeoKylin (Qingzheng Zhang).

note: type: textblock
en: Can handle OSes like Void Linux which do not include C<VERSION_ID> in F</etc/os-release> (Pino Toscano).
uk: Уможливлено роботу з операційними системами, подібними до Void Linux, у яких C<VERSION_ID> не включено до F</etc/os-release> (Pino Toscano).

note: type: textblock
en: Add support for Microsoft MS-DOS (Daniel Berrangé).
uk: Додано підтримку Microsoft MS-DOS (Daniel Berrangé).

note: type: textblock
en: Multiple fixes for S/390 architecture.  Libguestfs and all the tools should now compile and run on this architecture.
uk: Декілька виправлень для архітектури S/390. Libguestfs і усі інструменти тепер можна зібрати і запустити на цій архітектурі.

note: type: textblock
en: The libguestfs API is now thread-safe (although not parallel).  You can call APIs on the same handle from multiple threads without needing to take a lock.
uk: Програмний інтерфейс libguestfs тепер є безпечним щодо потоків обробки (хоча ще не є паралелізованим). Ви можете викликати інтерфейс для одного дескриптора із декількох потоків без потреби у блокуванні.

note: type: textblock
en: There were multiple vulnerabilities in the icoutils C<wrestool> program which is run by libguestfs to create icons for Windows guests.  Using the latest C<wrestool> is recommended.
uk: Було виявлено декілька вразливостей у програмі icoutils C<wrestool>, яку libguestfs запускала для створення піктограм гостьових систем Windows. Рекомендуємо використовувати лише найсвіжішу версію C<wrestool>.

note: type: textblock
en: This replaces the deprecated C<hivex_value_utf8> API, but does the same thing.
uk: Замінює собою застарілий програмний інтерфейс C<hivex_value_utf8>, виконуючи ті самі завдання.

note: type: textblock
en: Read and write GPT partition attribute flags (Cédric Bosdonnat).
uk: Читання і запис прапорців атрибутів розділів GPT (Cédric Bosdonnat).

note: type: textblock
en: Enlarge or shrink an existing partition (Nikos Skalkotos).
uk: Збільшення і зменшення наявного розділу (Nikos Skalkotos).

note: type: textblock
en: Support for the Yara malware scanning engine (Matteo Cafasso).
uk: Підтримка рушія пошуку шкідливого програмного забезпечення Yara (Matteo Cafasso).

note: type: textblock
en: APIs implemented in the daemon can now be written in either C or OCaml.  Several APIs were rewritten in OCaml, although we are not planning to rewrite all of them.
uk: Програмні інтерфейси, реалізовані у фоновій службі, тепер можна писати на C або OCaml.  Декілька програмних інтерфейсів було переписано на OCaml, хоча ми і не плануємо переписувати цією мовою усі інтерфейси.

note: type: textblock
en: You will now get a clear error message if you try to add too many disks to the appliance, instead of getting a peculiar failure from qemu.
uk: Тепер ви отримуватимете зрозуміле повідомлення про помилку, якщо спробуєте додати забагато дисків до базової системи, замість доволі розпливчастого повідомлення про помилку від qemu.

note: type: textblock
en: Certain APIs accidentally allowed you to use C</dev/urandom> as an input "device", eg. C<g.copy_device_to_device("/dev/urandom", "/dev/sda")>.  The code has been modified to I<forbid> this usage.
uk: У деяких програмних інтерфейсах випадково можна було скористатися C</dev/urandom> як «пристроєм» вхідних даних. Приклад: C<g.copy_device_to_device("/dev/urandom", "/dev/sda")>. Код було змінено таким чином, щоб I<не можна> було так робити.

note: type: textblock
en: All APIs for inspecting installer CDs have been deprecated.  Use libosinfo for this task.
uk: Усі програмні інтерфейси для інспектування компакт-дисків із засобом для встановлення визнано застарілими. Для виконання цього завдання слід використовувати libosinfo.

note: type: textblock
en: A working OCaml compiler E<ge> 4.01 is now required for building libguestfs.  The C<./configure --disable-ocaml> option remains but is only used to disable the OCaml language bindings.
uk: Для збирання libguestfs нової версії потрібен компілятор OCaml E<ge> 4.01. Параметр C<./configure --disable-ocaml> лишається працездатним, але використовується лише для вимикання прив'язок до мови OCaml.

note: type: textblock
en: Add C<RELEASES> file which lists release dates for each version of libguestfs.  You must update this file when making a new release.
uk: Додано файл C<RELEASES> зі списком дат усіх випусків libguestfs. Цей файл слід оновлювати під час кожного випуску.

note: type: textblock
en: Documentation generated by C<gtk-doc> has been removed.  C<./configure --enable-gtk-doc> now does nothing.
uk: Було вилучено документацію, яку створює C<gtk-doc>. Тепер використання  C<./configure --enable-gtk-doc> не має жодних наслідків.

note: type: textblock
en: Libtirpc is now used for XDR functions and rpcgen.  Note that glibc has deprecated and in most Linux distros dropped these, so for most people this will be an extra dependency (Martin Kletzander).
uk: Для функції XDR та rpcgen тепер використовується libtirpc. Зауважте, що для glibc вона вважається застарілою і у більшості дистрибутивів Linux ці залежності викинуто, тому для більшості користувачів ця залежність буде додатковою (Martin Kletzander).

note: type: textblock
en: Libxcrypt is now used for L<crypt(3)>.  This is required if using glibc E<ge> 2.27.
uk: Тепер для L<crypt(3)> використовується libxcrypt. Ця бібліотека є обов'язковою, якщо використовується glibc E<ge> 2.27.

note: type: textblock
en: C<ocaml-hivex> is now required.
uk: Тепер для роботи потрібен C<ocaml-hivex>.

note: type: textblock
en: Libvirt E<ge> 1.2.20 is now required.
uk: Тепер обов'язковою є libvirt E<ge> 1.2.20.

note: type: textblock
en: There is now a C<make check-root> target for tests which need to be run as root (analogous to C<make check-slow>).
uk: Тепер для тестів, які слід запускати від імені користувача root, передбачено нову ціль, C<make check-root> (аналогічно до C<make check-slow>).

note: type: textblock
en: C<./configure>-time check for C<__attribute__((cleanup))> now works in the cross-compilation case (Yann E. Morin).
uk: Перевірка щодо часу C<./configure> для C<__attribute__((cleanup))> тепер працює і у випадку крос-компіляції (Yann E. Morin).

note: type: textblock
en: The C<AUTHORS> and C<p2v/about-authors.c> files are now generated from a single place.
uk: Файли C<AUTHORS> і C<p2v/about-authors.c> тепер створюються із одного джерела.

note: type: textblock
en: Either GnuPG v1 or v2 can be used.
uk: Можна використовувати і GnuPG v1, і v2.

note: type: textblock
en: C<./configure --with-guestfs-path> may be used to set the default C<LIBGUESTFS_PATH>.  In addition the way that the path is searched has changed slightly so that all types of appliances are searched in each path element separately (Pavel Butsykin).
uk: Для визначення типового значення C<LIBGUESTFS_PATH> може бути використано C<./configure --with-guestfs-path>. Крім того, трохи змінено спосіб, у який виконується пошук за шляхом,  для того, щоб виконати пошук усіх типів базових систем у кожному з елементів шляху окремо (Pavel Butsykin).

note: type: textblock
en: C<GUESTFSD_EXT_CMD> which was used to mark external commands in the daemon has been removed.  It was originally used by SUSE builds, but they have not been using it for a while.
uk: Змінну C<GUESTFSD_EXT_CMD>, яка використовувалася для позначення зовнішніх команд у фоновій службі, вилучено. Її спочатку використовували для збирання у SUSE, але там тепер вона не використовується.

note: type: textblock
en: The output from C<./configure> is now visually grouped under headings related to what it is doing, making it much easier to scan (Pino Toscano).
uk: Виведені дані C<./configure> тепер візуально групуються за заголовками, відповідними до виконуваної дії, що спрощує пошук потрібних даних (Pino Toscano).

note: type: textblock
en: OCaml dependencies are now generated from a single script instead of multiple not-quite-the-same Makefile fragments.
uk: Залежності OCaml тепер створюються з одного скрипту, замість декількох трохи різних фрагментів Makefile.

note: type: textblock
en: C<./configure --with-distro=ID> can be used to override automatic Linux distro detection at build time (Pino Toscano).
uk: C<./configure --with-distro=ідентифікатор> можна скористатися для перевизначення автоматичного визначення дистрибутива Linux під час збирання (Pino Toscano).

note: type: textblock
en: qemu E<ge> 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).
uk: Реалізовано підтримку qemu E<ge> 2.10 (яка не є обов'язковою). Це додає обов'язкове блокування для дисків, libguestfs вимикає таке блокування за певних обставин, коли відомо, що це є безпечним (Lars Seipel, Peter Krempa, Daniel Berrangé, Pino Toscano, Fam Zheng, Yongkui Guo, Václav Kadlčík).

note: type: textblock
en: Most common code has been moved to the F<common/> subdirectory, with OCaml common code being in F<common/ml*> directories (eg.  F<common/visit> and F<common/mlvisit> contain the visitor library in C and OCaml respectively).  The F<mllib> directory has been deleted and replaced by F<common/mltools>.
uk: Найвикористовуваніший код пересунуто до підкаталогу F<common/>, а спільний код OCaml тепер зберігається у каталогах F<common/ml*> (наприклад,  F<common/visit> і F<common/mlvisit> містять бібліотеку visitor мовами C та OCaml, відповідно). Каталог F<mllib> вилучено і замінено каталогом F<common/mltools>.

note: type: textblock
en: There is now a lightweight OCaml binding for PCRE, see F<common/mlpcre>.  Use of OCaml C<Str> library has been mostly replaced with PCRE.
uk: Реалізовано невибагливу до ресурсів прив'язку OCaml для PCRE, див. F<common/mlpcre>. Використання бібліотеки OCaml C<Str> здебільшого замінено на PCRE.

note: type: textblock
en: Add more calls to C<udev_settle> to improve stability of partition code (Dawid Zamirski).
uk: Додано більше викликів до C<udev_settle> для поліпшення стабільності коду поділу на розділи (Dawid Zamirski).

note: type: textblock
en: Run C<udev_settle> with I<--exit-if-exists> option, which improves the speed of this command (Pavel Butsykin).
uk: Реалізовано запуск C<udev_settle> з параметром I<--exit-if-exists>, який пришвидшує виконання команди (Pavel Butsykin).

note: type: textblock
en: Detect new locations of L<major(3)>, L<minor(3)>, L<makedev(3)>.
uk: Реалізовано виявлення нових місць зберігання L<major(3)>, L<minor(3)>, L<makedev(3)>.

note: type: textblock
en: Actions can now be deprecated with no suggested replacement, for APIs such as C<guestfs_wait_ready> that should simply be removed from client code.
uk: Дії тепер може бути визнано застарілими без пропозицій щодо заміни для програмних інтерфейсів, подібних до C<guestfs_wait_ready>, які слід просто вилучити з коду клієнта.

note: type: textblock
en: Use gnulib C<set_nonblocking_flag> wrapper instead of calling L<fcntl(2)> with C<O_NONBLOCK> (Eric Blake).  Similarly C<set_cloexec_flag>.
uk: Реалізовано використання обгортки C<set_nonblocking_flag> gnulib замість виклику L<fcntl(2)> з C<O_NONBLOCK> (Eric Blake).  Те саме для C<set_cloexec_flag>.

note: type: textblock
en: Fix memory leak in XFS version of C<guestfs_vfs_minimum_size> (Pino Toscano).
uk: Усунено виток пам'яті у версії XFS C<guestfs_vfs_minimum_size> (Pino Toscano).

note: type: textblock
en: Valgrind checks now run on the virt-p2v binary.
uk: Перевірки valgrind тепер працюють для виконуваного файла virt-p2v.

note: type: textblock
en: Unicode single quotes (C<‘’>) and now used in place of C<''> or C<`'> throughout the code and documentation.  Similarly for C<’s> instead of C<'s>.
uk: Тепер у коді і документації використовується одинарні лапки Unicode (C<‘’>) замість C<''> і C<`'>. Те саме стосується C<’s> замість C<'s>.

note: type: textblock
en: The C<is_zero> function has been reimplemented for greater speed (Eric Blake).
uk: Функцію C<is_zero> було реалізовано заново із суттєвим пришвидшенням (Eric Blake).

note: type: textblock
en: In the direct backend, virtio-blk support has been removed.  Virtio-scsi is now the only supported way to add disks.
uk: У модулі безпосередньої обробки вилучено підтримку virtio-blk. Тепер єдиним підтримуваним способом додавання дисків є virtio-scsi.

note: type: textblock
en: Generator string parameter and return types have been rationalised so there are only two types (C<String>, C<StringList>) with many subtypes eg. C<FileIn> becomes C<String (FileIn, ...)>.
uk: Рядковий параметр і повернуті типи засобу створення раціоналізовано так, щоб було лише два типи (C<String>, C<StringList>) з багатьма підтипами, наприклад C<FileIn> став C<String (FileIn, ...)>.

note: type: textblock
en: The appliance disk image can now be in formats other than raw (Pavel Butsykin).
uk: Тепер можна використовувати формати образу диска базово системи, відмінні від простого (raw) (Pavel Butsykin).

note: type: textblock
en: Multiple improvements to how we automatically build Debian templates for virt-builder (Pino Toscano).  Enable serial console for these templates (Florian Klink).
uk: Декілька поліпшень у автоматичному збиранні шаблонів Debian для virt-builder (Pino Toscano). Уможливлено послідовну консоль для цих шаблонів (Florian Klink).

note: type: textblock
en: In the daemon, instead of making a private copy of lvm.conf and modifying it (eg for filters), start with an empty file since LVM understands that to mean "all defaults" (Alasdair Kergon, Zdenek Kabelac).
uk: У фоновій службі замість створення приватної копії lvm.conf і внесення змін до неї (наприклад для фільтрів) створюється порожній файл, оскільки LVM розуміє, що означає «усе типове» (Alasdair Kergon, Zdenek Kabelac).

note: type: textblock
en: The C<direct> backend can now run QMP queries against the QEMU binary, enhancing the kinds of information we can detect.  In addition the code to query QEMU has been made more robust for handling multiple parallel queries of different versions of QEMU.
uk: Модуль C<direct> тепер може запускати запити QMP щодо виконуваного файла QEMU, що розширює типи інформації, які можна виявляти. Крім того, код для надсилання запитів до QEMU зроблено стійкішим для обробки декількох паралельних запитів до різних версій QEMU.

note: type: textblock
en: OCaml Augeas bindings are bundled under F<common/mlaugeas>.  The long term plan is to remove this and use system ocaml-augeas when it is more widely available in distros (Pino Toscano).
uk: Прив'язки Augeas до OCaml зібрано у F<common/mlaugeas>. Згідно з довготерміновим планом їх має бути вилучено з метою використання загальносистемного ocaml-augeas, коли він стане широкодоступним у дистрибутивах (Pino Toscano).

note: type: textblock
en: All OCaml modules (C<*.ml> files) are now required to have an interface file (C<*.mli>).  If they don't export anything then the interface will be empty except for comments.
uk: Усі модулі OCaml (файли C<*.ml>) тепер повинні мати файл інтерфейсу (C<*.mli>). Якщо ці модулі нічого не експортують, файл інтерфейсу буде порожнім, окрім коментарів.

note: type: textblock
en: Certain OCaml features in OCaml E<ge> 4.01 are used throughout the code, including replacing ‘{ field = field }’ with ‘{ field }’.
uk: У коді використовуються певні особливості OCaml E<ge> 4.01, зокрема заміна «{ поле = поле }» на «{ поле }».

note: type: textblock
en: Virt-builder C<make-template> utility now uses the C<virt-install --transient> option so that we should never need to clean up left over domains after a crash.  It also saves kickstarts and virt-install commands, which are committed to git for future reference.
uk: Інструмент virt-builder C<make-template> тепер використовує параметр C<virt-install --transient>, отже, тепер немає потреби у чищенні залишків доменів після аварійного завершення роботи. Це також заощаджує запуски kickstart та virt-install, зміни щодо чого внесено до git із довідковою метою.

note: type: textblock
en: F</dev/shm> is now created in the appliance (Nicolas Hicher).
uk: F</dev/shm> тепер створюється у базовій системі (Nicolas Hicher).

note: type: textblock
en: In verbose mode on Fedora guests, virt-customize will now use C<dnf --verbose> enabling better debugging output.
uk: У докладному режимі на гостьових системах Fedora virt-customize тепер використовує C<dnf --verbose>, що дає змогу отримати докладніші діагностичні дані.

note: type: textblock
en: Virt-v2v input and output classes now contain a C<#precheck> method which is used to perform environmental checks before conversion starts.
uk: У класах введення і виведення virt-v2v тепер міститься метод C<#precheck>, який використовується для виконання перевірки середовища до того, як буде розпочато перетворення.

note: type: textblock
en: Virt-p2v enables miniexpect debugging.  It is written to stderr (of virt-p2v).
uk: Virt-p2v уможливлює діагностику miniexpect. Дані виводяться до stderr (у virt-p2v).

note: type: textblock
en: Virt-v2v free space checks are more liberal especially for smaller guests (Pino Toscano).
uk: Перевірки щодо вільного місця virt-v2v тепер є ліберальнішими, особливо для невеликих гостьових систем (Pino Toscano).

note: type: textblock
en: Example URI of "Convert from ESXi hypervisor over SSH to local libvirt" is incorrect in v2v man page
uk: Адреса прикладу «Перетворення з гіпервізору ESXi за допомогою SSH до локальної libvirt» на сторінці підручника v2v була некоректною

note: type: textblock
en: virt-customize segfaults after upgrading to 1.37.35-3
uk: Помилки сегментації virt-customize після оновлення до 1.37.35-3

note: type: textblock
en: Libguestfs Perl bindings can leak a small amount of memory on error
uk: У прив'язках до Perl libguestfs можуть траплятися незначні витоки пам'яті, якщо станеться помилка

note: type: textblock
en: libguestfs Lua bindings use strerror(), which isn’t thread safe
uk: У прив'язках libguestfs до Lua використовується strerror(), що не є безпечним щодо потоків виконання

note: type: textblock
en: man page makes no mention of using '--' when trying to change exit on error behavior
uk: На сторінці підручника не було згадано про використання «--» при спробі змінити поведінку при завершенні виконання у результаті помилки

note: type: textblock
en: virt-df displays zeros for filesystems with block size =512
uk: virt-df показує нулі для файлових систем із розміром блоку =512

note: type: textblock
en: firstboot scripts are not correctly installed in Fedora 26
uk: Скрипти firstboot неправильно встановлюються у Fedora 26

note: type: textblock
en: guestfs_shutdown hangs if main process sets signal handlers
uk: guestfs_shutdown повисає, якщо основний процес встановлює обробники сигналів

note: type: textblock
en: RFE: Virt-v2v can't convert the guest which has encrypted partition
uk: RFE: Virt-v2v не здатна перетворювати гостьові системи із зашифрованими розділами

note: type: textblock
en: document URI format for -a parameters of tools
uk: Потрібна документація до формату адреси параметрів -a інструментів

note: type: textblock
en: Win 2016 guest is described as Win 10 after imported to RHEVM
uk: Гостьова система Win 2016 описується як Win 10 після імпортування до RHEVM

note: type: textblock
en: Please drop or update GnuPG (1.4.x) dependency
uk: Будь ласка, викиньте або оновіть залежність від GnuPG (1.4.x)

note: type: textblock
en: Segmentation fault when reading corrupted path with Python 3 bindings
uk: Помилка сегментації при читанні пошкодженого шляху за допомогою прив'язок до Python 3

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.4
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.4

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.2.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.2.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:  - guestfish lets you choose a prepared disk image, eg:
         guestfish -N fs:ext4
uk: - надає вам змогу вибрати приготований образ диска. Приклад: guestfish -N fs:ext4

note: type: verbatim
en:  - Add write support to guestmount (FUSE) module.
uk: - Додано підтримку запису у модулі guestmount (FUSE).

note: type: verbatim
en:  - virt-resize can now resize the content of partitions and logical
       volumes in the guest, and we have better support for shrinking guests.
uk: - virt-resize тепер може змінювати вміст розділів і логічних томів у гостьовій системі. Також поліпшено підтримку зменшення розмірів гостьових систем.

note: type: verbatim
en:  - Bash tab-completion script for guestfish.
uk: - Додано скрипт доповнення команд за Tab у bash для guestfish.

note: type: verbatim
en:  - Add ZFS support to virt-rescue.
uk: - Додано підтримку ZFS до virt-rescue.

note: type: verbatim
en:  - New tool 'virt-make-fs' for creating filesystems with content.
uk: - Новий інструмент «virt-make-fs» для створення файлових систем із даними.

note: type: verbatim
en:  - Allow suffixes on any guestfish number parameter, eg. "1M".
uk: - Уможливлено суфікси для будь-яких числових параметрів guestfish. Приклад: «1M».

note: type: verbatim
en:  - guestfish 'man' command opens the manual page.
uk: - Реалізовано команду guestfish «man», яка відкриває сторінку підручника.

note: type: verbatim
en:  - guestfish supports a "heredoc" syntax for uploading files:
         upload -<<_end_ /foo
         content
         _end_
uk: - У guestfish реалізовано синтаксис «heredoc» для вивантаження файлів:
         upload -<<_end_ /foo
         content
         _end_

note: type: verbatim
en:  - Some guestfish commands now print their output in octal or hex
       where appropriate (RHBZ#583242).
uk: - Деякі команди guestfish тепер виводять дані у вісімковому або шістнадцятковому форматі, якщо це потрібно (RHBZ#583242).

note: type: verbatim
en:  - Allow dash prefix on guestfish command line.  This ignores any
       error from the second command:                   (RHBZ#578407)
         guestfish -- cmd1 : -cmd2 : cmd3
uk: - Уможливлено префікс-дефіс у командному рядку guestfish. Така ось команда ігноруватиме усі помилки від другої команди (RHBZ#578407):
         guestfish -- команда1 : -команда2 : команда3

note: type: verbatim
en:  - guestfish -h / help command now returns an error for non-existent
       commands (RHBZ#597145).
uk: - Команда guestfish -h / help тепер повертає повідомлення про помилку, якщо відповідної команди не існує (RHBZ#597145).

note: type: verbatim
en:  - New 'supported' command in guestfish to list optional groups of
       commands which are supported by the daemon / configuration.
uk: - Реалізовано нову команду «supported» у guestfish, призначену для виведення списку необов'язкових груп команд, підтримку яких передбачено у фоновій службі або налаштуваннях.

note: type: verbatim
en:  - virt-inspector and guestfish -i now work for filenames which
       contain spaces (RHBZ#507810).
uk: - Уможливлено роботу virt-inspector і guestfish -i з файлами, назви яких містять пробіли (RHBZ#507810).

note: type: verbatim
en:  - Change the protocol to use link-local addresses, to avoid
       conflicting with any address that the host might be using
       (RHBZ#588763).
uk: - Змінено протокол для використання адрес link-local для уникнення конфлікту з будь-якими адресами, які можуть використовуватися у основній системі (RHBZ#588763).

note: type: verbatim
en:  - libguestfs now sets the correct time and timezone on filesystem
       modifications.
uk: - libguestfs тепер встановлює правильні часові позначки та часовий пояс при змінах у файловій системі.

note: type: verbatim
en:  - Sort the domains into alphabetical order in virt-df.
uk: - Реалізовано упорядковування доменів за абеткою у virt-df.

note: type: verbatim
en:  - Make mkfs-b command work for FAT and NTFS by mapping the blocksize
       parameter to the cluster size (RHBZ#599464).
uk: - Уможливлено роботу команди mkfs-b для FAT і NTFS шляхом прив'язки параметра розміру блоку до розміру кластера (RHBZ#599464).

note: type: verbatim
en:  - Add version numbers to Perl modules (RHBZ#521674).
uk: - Додано номер версій до модулів Perl (RHBZ#521674).

note: type: verbatim
en:  - Localization now works for all the libguestfs tools (RHBZ#559963).
uk: - Локалізація тепер працює для усіх інструментів libguestfs (RHBZ#559963).

note: type: verbatim
en:  - Tools now support filesystem-on-image VMs (RHBZ#590167).
uk: - У інструментах тепер передбачено підтримку віртуальних машин «файлова система на образі» (RHBZ#590167).

note: type: verbatim
en:  - virt-list-partitions has a '-t' option to show the total size of disks.
uk: - У virt-list-partitions реалізовано параметр «-t» для показу загального розміру дисків.

note: type: verbatim
en:  - Include extra Augeas lenses in the supermin appliance (Matthew Booth).
uk: - До базової системи supermin включено додаткові лінзи Augeas (Matthew Booth).

note: type: verbatim
en:  - Add error and close callbacks.
uk:  - Додано зворотні виклики error та close.

note: type: verbatim
en:  - Add explicit close method in the Perl API.
uk:  - Додано явний метод close до програмного інтерфейсу Perl.

note: type: verbatim
en:  - Multiple fixes for RHEL 5 compatibility.
uk:  - Декілька виправлень для забезпечення сумісності з RHEL 5.

note: type: verbatim
en:  - Multiple fixes for Debian/Ubuntu compatibility.
uk:  - Декілька виправлень для забезпечення сумісності з Debian/Ubuntu.

note: type: verbatim
en:  - Multiple revisions to improve the documentation.
uk:  - Декілька модифікацій з покращеннями у документації.

note: type: verbatim
en:  - Fix a potential DoS in virt-inspector and virt-v2v if a specially
       crafted disk image contained a char device in place of one of the
       configuration files that we read under /etc (RHBZ#582484).
uk: - Усунено потенційну відмову в обслуговуванні у virt-inspector та virt-v2v, якщо спеціальним чином створений образ диска містить символьний пристрій на місці одного з файлів налаштувань, які бібліотека читає у /etc (RHBZ#582484).

note: type: verbatim
en:  - aug-clear - clear Augeas path
     - available-all-groups - return a list of all optional groups
     - base64-in - upload base64-encoded data to file
     - base64-out - download file and encode as base64
     - checksum-device - compute checksums on the contents of a device
     - checksums-out - compute checksums of multiple files in a directory
     - debug-upload - upload a file to the appliance
     - fallocate64 - preallocate a file in the guest filesystem
     - fill-pattern - fill a file with a repeating pattern of bytes
     - get-umask - get the current umask
     - lvresize-free - expand an LV to fill free space
     - ntfsresize - resize an NTFS filesystem
     - ntfsresize-size - resize an NTFS filesystem (with size)
     - part-del - delete a partition
     - part-get-bootable - get the bootable flag of a partition
     - part-get-mbr-id - get the MBR type byte of a partition
     - part-set-mbr-id - set the MBR type byte of a partition
     - pvresize-size - resize a physical volume (with size)
     - pwrite - write to part of a file
     - resize2fs-size - resize an ext2/3/4 filesystem (with size)
     - txz-in - unpack compressed tarball to directory (RHBZ#580556)
     - txz-out - pack directory into compressed tarball (RHBZ#580556)
     - vfs-label - get the filesystem label
     - vfs-uuid - get the filesystem UUID
     - vgscan - rescan for LVM physical volumes, volume groups and logical volumes
     - write - create a new file
     - zero-device - write zeroes to an entire device
uk: - 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 - записування усього пристрою нулями

note: type: verbatim
en:  - Extend the generator to support testing optional features.
     - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)
     - Extend the protocol to support sending arbitrary 8 bit data buffers.
     - Ship 'BUGS' file with releases.  This is a summary of the bugs in
       the Red Hat Bugzilla database.
     - Ship 'RELEASE-NOTES' file with releases, containing release notes.
     - Unify supermin appliance building into one place, in febootstrap 2.7.
     - Fix the protocol code to handle the case where both ends send cancel
       messages at the same time.
uk: - Розширено можливості генератора для підтримки тестування додаткових можливостей.
    - Строгіші перевірки вхідних параметрів для багатьох викликів (RHBZ#501893 RHBZ#501894)
    - Розширено протокол для підтримки надсилання довільних 8-бітових буферів даних.
    - До випусків додано файл «BUGS». Там наведено резюме вад у базі даних системи стеження за вадами Red Hat.
    - До випусків додано файл «RELEASE-NOTES», який містить нотатки щодо випуску.
    - Уніфіковано збирання базової системи supermin до одного місця, у febootstrap 2.7.
    - Виправлено код протоколу для обробки випадку, коли обидва боки зв'язку одночасно надсилають повідомлення про скасовування.

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.40
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.40

note: type: textblock
en: 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.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.38.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: textblock
en: Virt-inspector now displays the libosinfo short ID for guests (Pino Toscano).
uk: У новій версії virt-inspector показує короткий ідентифікатор libosinfo для гостьових систем (Pino Toscano).

note: type: textblock
en: Guestfish I<-N> will now generate 1G disks instead of 100M disks by default.
uk: У новій версії guestfish I<-N> типово створює диски у 1 ГБ замість 100 МБ.

note: type: textblock
en: Virt-resize supports f2fs filesystems (Pino Toscano).
uk: У virt-resize реалізовано підтримку файлових систем f2fs (Pino Toscano).

note: type: textblock
en: libguestfs-test-tool now supports bash tab completion (Pino Toscano).
uk: У новій версії libguestfs-test-tool реалізовано підтримку завершення команд bash натисканням клавіші Tab (Pino Toscano).

note: type: textblock
en: The I<--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).
uk: Для параметра I<--machine-readable> у новій версії передбачено підтримку надсилання до файлів або stdout/stderr. Це однаково працює для більшості заснованих на OCaml інструментів віртуалізації, зокрема: virt-builder, virt-builder-repository, virt-dib, virt-get-kernel, virt-resize, virt-sparsify і virt-v2v (Pino Toscano).

note: type: textblock
en: Virt-builder I<--uninstall> option now works on SUSE (Sebastian Meyer).
uk: Параметр I<--uninstall> virt-builder у новій версії працює і у SUSE (Sebastian Meyer).

note: type: textblock
en: 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 L<https://rwmj.wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder/>
uk: У новій версії virt-builder передбачено підтримку Windows. Ми не можемо постачати шаблони Windows у відкритому сховищі через очевидні проблеми із ліцензуванням, але якщо ви є передплатником MSDN, ви можете зібрати власні. Див. L<https://rwmj.wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder/>

note: type: textblock
en: Many tools now support a I<--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).
uk: У новій версії для багатьох інструментів передбачено параметр I<--key>, що уможливлює передавання ключів розшифровування для файлових систем, які зберігаються у локальних файлах на основній системі, замість передавання ключів за допомогою stdin (Pino Toscano).

note: type: textblock
en: New I<-o rhv-upload> mode for directly uploading images to RHV, bypassing the Export Storage Domain (Tomáš Golembiovský, Nir Soffer, Daniel Erez, Pino Toscano).
uk: Новий режим I<-o rhv-upload> для безпосереднього вивантаження образів до RHV, з обходом Export Storage Domain (Tomáš Golembiovský, Nir Soffer, Daniel Erez, Pino Toscano).

note: type: textblock
en: New I<-o openstack> mode for directly uploading images to OpenStack and Cinder using OpenStack APIs.
uk: Новий режим I<-o openstack> для безпосереднього вивантаження образів до OpenStack і Cinder із використанням програмних інтерфейсів OpenStack.

note: type: textblock
en: Virt-v2v now has a general mechanism for input and output options: I<-io> and I<-oo>.
uk: У новій версії virt-v2v передбачено загальний механізм для параметрів вхідних даних і виведення: I<-io> і I<-oo>.

note: type: textblock
en: Virt-v2v can now install the RHV tools or QEMU GA in guests (Tomáš Golembiovský).
uk: Нова версія virt-v2v здатна встановлювати інструменти RHV або QEMU GA у гостьових системах (Tomáš Golembiovský).

note: type: textblock
en: The huge manual has now been split into several smaller documents and is more focused on helping users to accomplish specific v2v tasks.
uk: Величезний підручник у новій версії поділено на декілька менших документів — акцент у ньому зроблено на тому, щоб допомогти користувачам виконувати певні завдання v2v.

note: type: textblock
en: Multiple improvements to the OVF metadata when converting to RHV (Tomáš Golembiovský, Pino Toscano, Arik Hadas).
uk: Декілька удосконалень метаданих OVF при перетворенні до RHV (Tomáš Golembiovský, Pino Toscano, Arik Hadas).

note: type: textblock
en: Virt-v2v can now convert Linux guests with split kernel packages, especially Ubuntu 18.04 (Pino Toscano).
uk: Нова версія virt-v2v може перетворювати гостьові системи Linux із розділеними пакунками ядра, особливо Ubuntu 18.04 (Pino Toscano).

note: type: textblock
en: Virt-v2v old I<--password-file> option has been replaced by I<-ip> (the old option remains for backwards compatibility).
uk: Застарілий параметр virt-v2v I<--password-file> було замінено на I<-ip> (старий варіант залишено для зворотної сумісності).

note: type: textblock
en: Virt-v2v now preserves the VM Generation ID.
uk: Нова версія virt-v2v зберігає ідентифікатор створення віртуальної машини.

note: type: textblock
en: Virt-v2v has a new I<--mac> option allowing specific NICs to be mapped precisely to networks or bridges on the target.
uk: У virt-v2v передбачено новий параметр I<--mac>, за допомогою якого певні NIC може бути пов'язано точно із мережами або містками у системі призначення.

note: type: textblock
en: New virt-v2v I<--print-estimate> option to estimate the size of data that virt-v2v will copy.
uk: Новий параметр virt-v2v I<--print-estimate> для оцінки розміру даних, які virt-v2v скопіює.

note: type: textblock
en: Virt-v2v is now usually able to remove open-vm-tools and VMware Tools from the Linux guest during conversion (Pino Toscano).
uk: Нова версія virt-v2v, зазвичай, здатна вилучати open-vm-tools і VMware Tools з гостьових систем Linux під час перетворення (Pino Toscano).

note: type: textblock
en: Virt-v2v can now support UEFI conversions to RHV (Tomáš Golembiovský).
uk: У новій версії virt-v2v передбачено підтримку перетворень UEFI до RHV (Tomáš Golembiovský).

note: type: textblock
en: Virt-p2v now prefers you to shut down instead of rebooting the machine after conversion has finished (Pino Toscano).
uk: Нова версія virt-p2v надає перевагу вимиканню, а не перезавантаженню машини після завершення перетворення (Pino Toscano).

note: type: textblock
en: Virt-v2v now writes the libosinfo short ID to the libvirt metadata when using I<-o local> and I<-o libvirt> output modes (Martin Kletzander).
uk: Нова версія virt-v2v записує короткий ідентифікатор libosinfo до метаданих libvirt при використанні режимів виведення I<-o local> і I<-o libvirt> (Martin Kletzander).

note: type: textblock
en: OpenJDK 10+ is supported (Pino Toscano).
uk: Реалізовано підтримку OpenJDK 10+ (Pino Toscano).

note: type: textblock
en: Java bindings fixed for Gentoo host (Martin Kletzander).
uk: Виправлено прив'язки Java для основної системи Gentoo (Martin Kletzander).

note: type: textblock
en: Support Kali Linux (Pino Toscano).
uk: Підтримка Kali Linux (Pino Toscano).

note: type: textblock
en: When inspecting mountpoints, look for F</etc/mdadm/mdadm.conf> as well as F</etc/mdadm.conf> (Nikolay Ivanets).
uk: При вивченні точой мнтування реалізовано пошук F</etc/mdadm/mdadm.conf>, окрім F</etc/mdadm.conf> (Nikolay Ivanets).

note: type: textblock
en: Improved support for OpenSUSE Tumbleweed (Pino Toscano).
uk: Удосконалено підтримку OpenSUSE Tumbleweed (Pino Toscano).

note: type: textblock
en: Miscellaneous macOS build fixes (Adam Robinson).
uk: Різноманітні виправлення збирання у macOS (Adam Robinson).

note: type: textblock
en: Multiple documentation typos fixed (Yuri Chornoivan).
uk: Виправлено декілька друкарських помилок у документації (Юрій Чорноіван).

note: type: textblock
en: Qemu's slirp (userspace networking) had several buffer overflows which could be triggered from the guest or network side.
uk: Slirp (робота у мережі з простору користувача) у Qemu містив декілька переповнень буфера, якими можна було скористатися з гостьової системи або мережі.

note: type: textblock
en: Expand an f2fs filesystem (Pino Toscano).
uk: Розширено підтримку файлової системи f2fs (Pino Toscano).

note: type: textblock
en: Get the libosinfo short ID for the inspected guest (Pino Toscano).
uk: Реалізовано отримання короткого ідентифікатора libosinfo для інспектованої гостьової системи (Pino Toscano).

note: type: textblock
en: This rescans all PVs, VGs and LVs, optionally activating them.
uk: Ця команда виконує сканування усіх фізичних томів, груп томів та логічних томів, якщо потрібно, активуючи їх.

note: type: textblock
en: C<part_get_mbr_part_type> was reimplemented in OCaml (Nikolay Ivanets).
uk: C<part_get_mbr_part_type> було повторно реалізовано на OCaml (Nikolay Ivanets).

note: type: textblock
en: C<list_filesystems> now filters out MBR extended partitions (Nikolay Ivanets).
uk: У новій версії C<list_filesystems> відфільтровує розширені розділи MBR (Nikolay Ivanets).

note: type: textblock
en: C<vgscan> has been deprecated.  Use the new C<lvm_scan> API in preference.
uk: C<vgscan> було визнано застарілим. Тепер варто користуватися новим програмним інтерфейсом C<lvm_scan>.

note: type: textblock
en: The JSON library switched from yajl to Jansson E<ge> 2.7 (Pino Toscano).
uk: Бібліотеку JSON перемкнуто з yajl на Jansson E<ge> 2.7 (Pino Toscano).

note: type: textblock
en: Support for The Sleuth Kit 4.5 (Pino Toscano).
uk: Реалізовано підтримку Sleuth Kit 4.5 (Pino Toscano).

note: type: textblock
en: Multiple improvements in the C<./configure> script (Lin Ma).
uk: Декілька удосконалень у скрипті C<./configure> (Lin Ma).

note: type: textblock
en: More out-of-tree build fixes (Hilko Bengen).
uk: Додаткові виправлення збирання поза ієрархією коду (Hilko Bengen).

note: type: textblock
en: Some work on reproducible builds (Bernhard M. Wiedemann).
uk: Певна робота із відтворюваності збирання (Bernhard M. Wiedemann).

note: type: textblock
en: lvmetad is now used unconditionally, and is started much earlier in the appliance boot process.  This fixes support for certain PV types.
uk: lvmetad у новій версії використовується безумовно і запускається набагато раніше у процесі завантаження базової системи. Це виправляє підтримку певних типів фізичних томів.

note: type: textblock
en: On Debian, dash is installed inside the appliance and in virt-rescue (Pino Toscano).
uk: У Debian dash встановлюється у базовій системі і у virt-rescue (Pino Toscano).

note: type: textblock
en: 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.
uk: Об'єм пам'яті, який призначається для базової системи було збільшено з 500 МБ до 768 МБ (на x86_64, у інших архітектур інші обмеження). Це уможливлює використання до 255 дисків при використанні нещодавніх ядер Linux.

note: type: textblock
en: Virt-v2v now models the source machine type (eg. i440FX, Q35 or virt).
uk: У новій версії virt-v2v моделює тип машини джерела (наприклад i440FX, Q35 або virt).

note: type: textblock
en: Virt-p2v now generates configuration code automatically, also code for parsing the kernel command line.
uk: У новій версії virt-p2v створює код налаштовування автоматично, також автоматично створюється код для обробки командного рядка ядра.

note: type: textblock
en: Use C<LT_INIT> instead of C<AC_PROG_LIBTOOL>.
uk: Реалізовано використання C<LT_INIT> замість C<AC_PROG_LIBTOOL>.

note: type: textblock
en: The OCaml C<JSON> code for parsing and serializing has been unified into a single abstract data type.
uk: Код C<JSON> OCaml для обробки і перетворення у послідовну форму було уніфіковано до одного абстрактного типу даних.

note: type: textblock
en: 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.
uk: Більшість інструментів OCaml у новій версії збирається за допомогою середовища PIC. Це уповільнює збирання на i686, але відносно безвартісним на інших архітектурах, а також дає переваги у захисті системи.

note: type: textblock
en: The direct backend now queries the qemu binary for availability of KVM, instead of using a heuristic based on F</dev/kvm> (Andrea Bolognani).
uk: Безпосередній модуль обробки (direct) у новій версії опитує виконуваний файл qemu щодо доступності KVM, замість використання евристики на основі F</dev/kvm> (Andrea Bolognani).

note: type: textblock
en: Our "clever" libxml2 writer macros are now used consistently across all parts of the code base.
uk: Наш «кмітливий» макрос запису libxml2 у новій версії використовується послідовно для усіх частин кодової бази.

note: type: textblock
en: Qemu dropped I<-nodefconfig> without telling us.  The equivalent I<-no-user-config> option is now used instead.  Qemu also moved the C<serial> option from I<-drive> to I<-device>, again without any notice, and this is also fixed.
uk: З Qemu було викинуто I<-nodefconfig> без повідомлення для нашої команди. Замість цього параметра тепер використовується I<-no-user-config>. Крім того, Qemu було пересунуто параметр C<serial> з I<-drive> до I<-device>, знову ж без повідомлення. Цю проблему також виправлено.

note: type: textblock
en: [RHEL 7.6 LP] openstack output leaks passwords
uk: [RHEL 7.6 LP] У виведених даних openstack були паролі

note: type: textblock
en: virt-inspector fails with "error: int_of_string" on a Linux image when /etc/fstab contains a partionless device
uk: virt-inspector завершувала роботу з повідомленням «error: int_of_string» для образів Linux, якщо у /etc/fstab містився пристрій без розділів

note: type: textblock
en: v2v - support for -insecure option to support OSP SSL connection for VM migrations
uk: v2v — реалізовано підтримку параметра -insecure для забезпечення підтримки з'єднань SSL OSP для перенесення віртуальних машин

note: type: textblock
en: [RFE] virt-p2v UI should give the option to shutdown after conversion is finished
uk: [RFE] Інтерфейс virt-p2v має надавати можливість вимикати систему після завершення перетворення

note: type: textblock
en: virt-v2v cannot convert opensuse15 guest
uk: virt-v2v не може перетворити гостьову систему opensuse15

note: type: textblock
en: Fix rhev-apt command that virt-v2v runs in Windows guests on first boot
uk: Виправлення команди rhev-apt, яку virt-v2v запускає у гостьових системах Windows при першому завантаженні

note: type: textblock
en: Update v2v docs to describe support for SHA 2 certs required for converting Windows 7 and 2008 R2 guests
uk: Оновлено документацію до v2v — додано опис підтримки сертифікатів SHA 2, які потрібні для перетворення гостьових систем Windows 7 і 2008 R2

note: type: textblock
en: Minor log issue of virt-v2v
uk: Невеличка вада у журналі virt-v2v

note: type: textblock
en: 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.
uk: VixDiskLib: VixDiskLib_Read: помилка читання 4096 секторів у 57516160. Помилка 2 (Не вдалося розподілити пам'ять. Не вистачає пам'яті.) (Помилка DiskLib 802: NBD_ERR_INSUFFICIENT_RESOURCES) у 5240.

note: type: textblock
en: "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
uk: «попередження: <target dev='sr0'> було проігноровано, оскільки не вдалося визначити назву пристрою» має бути приховано, оскільки підтримку перетворення компакт-дисків передбачено у virt-v2v

note: type: textblock
en: part_to_dev "/dev/sdp1" returns "/dev/sd" instead of "/dev/sdp"
uk: part_to_dev "/dev/sdp1" повертає "/dev/sd" замість "/dev/sdp"

note: type: textblock
en: inspection fails when swap partition in /etc/fstab has incorrect UUID compared to actual swap partition
uk: Помилка інспектування, якщо розділ резервної пам'яті у /etc/fstab має некоректний UUID відносно реального розділу резервної пам'яті

note: type: textblock
en: On machines where /dev/kvm exists but KVM doesn't work, libguestfs will not fall back to TCG
uk: На машинах, де існує /dev/kvm, але не працює KVM, libguestfs не повертається до резервного TCG

note: type: textblock
en: virt-inspector can't inspect LUKS-encrypted RHEL7 guest image
uk: virt-inspector не може інспектувати зашифрований LUKS образ гостьової системи RHEL7

note: type: textblock
en: Improve error "No module named ovirtsdk4" in v2v rhv-upload conversion
uk: Удосконалення повідомлення «Немає модуля із назвою ovirtsdk4» при перетворенні v2v rhv-upload

note: type: textblock
en: Adding QXL device in OVF causes Cirrus Logic device to be added to guest
uk: Додавання пристрою QXL у OVF спричиняє додавання до гостьової системи пристрою Cirrus Logic

note: type: textblock
en: RFE: virt-v2v should preserve <genid>
uk: RFE: virt-v2v має зберігати <genid>

note: type: textblock
en: Transfer fails if local host is in maintenance mode
uk: Помилка передавання, якщо локальна основна система перебуває у режимі супроводу

note: type: textblock
en: Transfer fails if local host belongs to another DC
uk: Помилка передавання, якщо локальна основна система належить до іншого DC

note: type: textblock
en: v2v to RHV transfer fails with: error: [empty name]: cannot read '//*/disksection' with value: null
uk: Помилка передавання v2v до RHV із повідомленням: помилка: [порожня назва]: не вдалося прочитати '//*/disksection' зі заначенням: null

note: type: textblock
en: virt-v2v convert rhel5.3 failure when executing rpm -ql kernel-2.6.18-128.el5 command
uk: Помилка перетворення virt-v2v rhel5.3 при виконанні команди rpm -ql kernel-2.6.18-128.el5

note: type: textblock
en: p2v: error: XML error: CPU vendor specified without CPU model
uk: p2v: помилка: помилка XML: вказано виробника процесора, але не вказано моделі

note: type: textblock
en: Hide rhv-upload option in virt-p2v client
uk: Приховування параметра rhv-upload у клієнті virt-p2v

note: type: textblock
en: Don't use relative socket paths for NBD
uk: Усування використання відносних шляхів до сокета для NBD

note: type: textblock
en: RFE: Support for -o rhv-upload via Unix domain socket
uk: RFE: підтримка -o rhv-upload крізь сокет домену Unix

note: type: textblock
en: ovirt-imageio-daemon times out during migration
uk: Під час перенесення вичерпується час очікування на дані від ovirt-imageio-daemon

note: type: textblock
en: virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z build
uk: Збірка virt-v2v для rhel7.6 не може перетворити гостьову систему до null зі збіркою qemu-kvm rhel7.5.z

note: type: textblock
en: Virt-v2v rhel7.6 build can't convert guest with qemu-kvm rhel7.5.z build
uk: Збірка virt-v2v для rhel7.6 не може перетворити гостьову систему зі збіркою qemu-kvm rhel7.5.z

note: type: textblock
en: virt-builder: ubuntu-18.04 template has stray HTTP proxy configured for apt
uk: virt-builder: шаблон ubuntu-18.04 містить неправильні налаштування HTTP-проксі для apt

note: type: textblock
en: virt-builder: error: host cpu (x86_64) and guest arch (unknown) are not compatible
uk: virt-builder: помилка: несумісність процесора основної системи (x86_64) і архітектури гостьової системи (невідома)

note: type: textblock
en: virt-v2v -i ova gives checksum error when missing files are mentioned in .mf
uk: virt-v2v -i ova повідомляє про помилку обчислення контрольної суми, якщо пропущені файли згадано у .mf

note: type: textblock
en: guestfsd: error: /Windows/Drivers/VirtIO: Read-only file system
uk: guestfsd: помилка: /Windows/Drivers/VirtIO: придатна лише для читання файлова система

note: type: textblock
en: The mount-vfs failed to mount the logical volume
uk: Помилка mount-vfs при монтуванні логічного тому

note: type: textblock
en: RHV tools not properly installed in migrated Windows VM's causing boot failure
uk: Інструменти RHV встановлено неналежним чином у перенесеній віртуальній машині Windows, що спричиняє неможливість завантаження

note: type: textblock
en: virt-v2v does not honor --network with -o rhv-upload
uk: virt-v2v не бере до уваги --network з -o rhv-upload

note: type: textblock
en: [RFE] Upload images directly to oVirt (virt-v2v -o rhv-upload)
uk: [RFE] Вивантаження образів безпосередньо до oVirt (virt-v2v -o rhv-upload)

note: type: textblock
en: [RFE] Add libosinfo short-id to virt-inspector output
uk: [RFE] Додавання libosinfo short-id до виведення virt-inspector

note: type: textblock
en: virt-inspector --help differs from manpage
uk: virt-inspector --help відрізняється від сторінки підручника

note: type: textblock
en: RFE: recognize the Kali Linux distribution
uk: RFE: розпізнавання дистрибутива Kali Linux

note: type: textblock
en: Resume=/dev/sdaX can't be updated to resume=/dev/vdaX in rhel7 guest's grub file after v2v conversion
uk: Resume=/dev/sdaX не може бути оновлено до resume=/dev/vdaX у файлі grub гостьової системи rhel7 після перетворення v2v

note: type: textblock
en: Change categories of "Guest Operating system management by VIX API" in v2v man page
uk: Зміна категорій «Керування гостьовими операційними системами за допомогою програмного інтерфейсу VIX» на сторінці підручника v2v

note: type: textblock
en: Various -it vddk -io vddk* options should be documented, removed or fixed
uk: Деякі параметри -it vddk -io vddk* має бути документовано, вилучено або виправлено

note: type: textblock
en: B<Reverted:> RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network
uk: B<Відкинуто:> RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.42
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.42

note: type: textblock
en: Please note that virt-v2v, virt-p2v and the boot analysis tools were moved out of the libguestfs package / repository into separate projects.  See:
uk: Будь ласка, зауважте, що virt-v2v, virt-p2v та інструменти аналізу завантаження було пересунуто поза межі пакунка і сховища libguestfs до окремих проєктів. Див.:

note: type: textblock
en: Those projects are now on a separate release cycle.  Release notes are published separately.
uk: У цих проєктів тепер окремий цикл випуску. Нотатки щодо їхніх випусків також оприлюднюються окремо.

note: type: textblock
en: Add support for the Vala language (Corentin Noël).
uk: Додано підтримку мови Vala (Corentin Noël).

note: type: textblock
en: Add support for the Rust language (Hiroyuki Katsura, sponsored by Google Summer of Code).
uk: Додано підтримку мови Rust (Hiroyuki Katsura, фінансова підтримка від Google Summer of Code).

note: type: textblock
en: Reproducible builds (Chris Lamb).
uk: Відтворювальне збирання (Chris Lamb).

note: type: textblock
en: Advanced Format disks (which use 4K sectors) can now be processed by libguestfs.  Use the new optional C<blocksize> parameter to C<guestfs_add_drive_opts>, and the I<--blocksize> option added to several tools (Nikolay Ivanets).
uk: Диски у форматі Advanced Format (де використовуються сектори у 4 кБ) у новій версії можуть оброблятися libguestfs. Скористайтеся новим необов'язковим параметром C<blocksize> C<guestfs_add_drive_opts>. Додано параметр I<--blocksize> для декількох інструментів (Nikolay Ivanets).

note: type: textblock
en: Windows CompactOS (NTFS file compression) is now supported.
uk: У новій версії передбачено підтримку Windows CompactOS (стискання файлів у NTFS).

note: type: textblock
en: Advanced machine readable output in various virt tools now supports JSON output, and writing logs to a numbered file descriptor (Pino Toscano).
uk: Розширене виведення для обробки комп'ютером у різних засобах віртуалізації у новій версії підтримує виведення даних у форматі JSON і запис журналів до нумерованого файлового дескриптора (Pino Toscano).

note: type: textblock
en: virt-filesystems tool now more accurately reports filesystem total size, in the case where for example the filesystem does not occupy the whole of its containing device (Pino Toscano).
uk: Інструмент virt-filesystems у новій версії точніше повідомляє загальний розмір файлової системи у випадку, коли, наприклад, файлова система не займає увесь пристрій, на якому її розташовано (Pino Toscano).

note: type: textblock
en: Python E<ge> 2.7 is required.
uk: Потрібен Python E<ge> 2.7.

note: type: textblock
en: Python bindings are now more extensively tested (Hiroyuki Katsura).
uk: Розширено тестування прив'язок до Python (Hiroyuki Katsura).

note: type: textblock
en: Python bindings should now work with Python E<ge> 3.8.
uk: Прив'язки Python нової версії мають працювати із Python E<ge> 3.8.

note: type: textblock
en: Multiple fixes to avoid crashes in the Python bindings (Sam Eiderman).
uk: Декілька виправлень для уникнення аварійних завершень роботи у прив'язках до Python (Sam Eiderman).

note: type: textblock
en: OCaml bindings are compiled with C<-DCAML_NAME_SPACE> to ensure no non-caml_-namespaced symbols are used (Pino Toscano).
uk: Прив'язки до OCaml зібрано із C<-DCAML_NAME_SPACE> для забезпечення виключення символів із простору назв non-caml_ (Pino Toscano).

note: type: textblock
en: OCaml bindings should now work with OCaml 4.09 and 4.10.
uk: Прив'язки до OCaml нової версії мають працювати з OCaml 4.09 і 4.10.

note: type: textblock
en: Erlang has deprecated the old C<erl_interface> library which we use for Erlang bindings.  It will be removed in OTP 22, which will permanently break Erlang support unless someone steps forward to update the Erlang bindings in libguestfs.
uk: У Erlang визнано застарілою стару бібліотеку C<erl_interface>, якою ми користувалися для прив'язок до Erlang. Бібліотеку буде вилучено у OTP 22, що остаточно зруйнує підтримку Erlang, якщо хтось не зголоситься оновити прив'язки до Erlang у libguestfs.

note: type: textblock
en: Fix compatibility with newer cgo for Go bindings (Tomáš Golembiovský).
uk: Виправлено сумісність із новішою cgo для прив'язок до Go (Tomáš Golembiovský).

note: type: textblock
en: Go API error handling is now more idiomatic (Csaba Henk).
uk: Посилено ідіоматичність обробки помилок програмного інтерфейсу Go (Csaba Henk).

note: type: textblock
en: Update documentation about how to handle boolean parameters in Ruby bindings (Csaba Henk).
uk: Оновлено документацію щодо того, як обробляти булеві параметри у прив'язках до Ruby (Csaba Henk).

note: type: textblock
en: Libguestfs can now extract icons for Gentoo, newer SUSE and OpenMandriva guests.  Improved extraction of RHEL icons.  (Pino Toscano).
uk: Нова версія libguestfs здатна видобувати піктограми для гостьових систем Gentoo, нових систем SUSE і OpenMandriva. Удосконалено видобування піктограм RHEL. (Pino Toscano).

note: type: textblock
en: Inspection returns the osinfo IDs of newer Windows versions, and rolling Linux distros (Pino Toscano).
uk: Інспектування повертає ідентифікатори osinfo нових версій Windows і дистрибутивів Linux із неперервним процесом розробки (Pino Toscano).

note: type: textblock
en: OpenMandriva is now detected (Bernhard Rosenkränzer).
uk: Реалізовано виявлення OpenMandriva (Bernhard Rosenkränzer).

note: type: textblock
en: Arch Linux detection improvements (Pino Toscano).
uk: Удосконалено виявлення Arch Linux (Pino Toscano).

note: type: textblock
en: Libguestfs can now be compiled on OpenMandriva (Bernhard Rosenkränzer).
uk: Нову версію libguestfs можна зібрати на OpenMandriva (Bernhard Rosenkränzer).

note: type: textblock
en: Ubuntu fix for enabling network support (Ioanna Alifieraki).
uk: Виправлення для вмикання підтримки мережі в Ubuntu (Ioanna Alifieraki).

note: type: textblock
en: Use of deprecated libguestfs APIs will now cause compiler deprecation warnings by default, whereas previously you have to enable these warnings.  To turn off these warnings use C<-DGUESTFS_NO_WARN_DEPRECATED=1>.  A new feature is that you can now disable deprecated APIs completely if you want, using C<-DGUESTFS_NO_DEPRECATED=1> (Pino Toscano).
uk: Використання застарілих програмних інтерфейсів libguestfs у новій версії типово спричинятиме попередження від компілятора. Раніше ж такі попередження слід було додатково вмикати. Щоб вимкнути попередження, скористайтеся параметром C<-DGUESTFS_NO_WARN_DEPRECATED=1>. Новою можливістю є повне вимикання застарілих інтерфейсів за допомогою параметра C<-DGUESTFS_NO_DEPRECATED=1> (Pino Toscano).

note: type: textblock
en: Fix hostname in virt-builder templates (Pino Toscano).
uk: Виправлено назву основної системи у шаблонах virt-builder (Pino Toscano).

note: type: textblock
en: The single large release notes file is now split into multiple documents organized by version.
uk: Один великий файл нотаток щодо випуску було поділено на декілька документів, які упорядковано за версіями.

note: type: textblock
en: The C<--key> option of several tools was broken, especially if you tried to use the option to pass multiple keys.  This has been fixed and a regression test added.
uk: Роботу параметра C<--key> для деяких інструментів було поламано, особливо якщо ви намагалися скористатися параметром для передавання декількох ключів. Цю помилку виправлено і додано тестування регресій.

note: type: textblock
en: Augeas exceptions occurring in daemon (eg. during inspection) will now produced detailed errors (Pino Toscano).
uk: Для виключень Augeas, які траплялися у фоновій службі (наприклад, під час інспектування) у новій версії передбачено докладні повідомлення про помилки (Pino Toscano).

note: type: textblock
en: C<luks_uuid> returns the UUID of a LUKS device (Pino Toscano).
uk: C<luks_uuid> повертає UUID пристрою LUKS (Pino Toscano).

note: type: textblock
en: Cope with new output from the C<btrfs scrub> command.  There is no visible change at the API level.
uk: Реалізовано обробку нового виведення команди C<btrfs scrub>. Видимих змін на рівні програмного інтерфейсу немає.

note: type: textblock
en: New optional parameter C<blocksize> added to C<guestfs_add_drive_opts> to support Advanced Format disks (Nikolay Ivanets).
uk: Додано новий необов'язкових параметр C<blocksize> до C<guestfs_add_drive_opts> для підтримки дисків у Advanced Format (Nikolay Ivanets).

note: type: textblock
en: Minimum version of Augeas required is 1.2.0 (Pino Toscano).
uk: Мінімальною версією Augeas є 1.2.0 (Pino Toscano).

note: type: textblock
en: C<common/> subdirectory is now a git submodule shared with the virt-v2v project.
uk: Підкаталог C<common/> тепер є підмодулем git, який є спільним із проєктом virt-v2v.

note: type: textblock
en: Supermin E<ge> 5.1.18 is required.
uk: Потрібен Supermin E<ge> 5.1.18.

note: type: textblock
en: There were several bugs in libvirt 5.10.0 and 6.0 which affected libguestfs.  It is highly advisable to use libvirt 6.1 where these bugs are fixed (versions of libvirt E<lt> 5.10.0 are also fine).
uk: Було виявлено декілька вад у libvirt 5.10.0 і 6.0, які впливали на роботу libguestfs. Наполегливо рекомендуємо скористатися libvirt 6.1, де ці вади було виправлено (версії libvirt E<lt> 5.10.0 також працюють як слід).

note: type: textblock
en: Many gnulib modules which we were not using or which we used in only a few places have been removed (Pino Toscano).
uk: Вилучено багато модулів gnulib, якими ми не користувалися або користувалися лише у декількох місцях (Pino Toscano).

note: type: textblock
en: Multiple fixes for builddir != sourcedir builds (Pino Toscano).
uk: Декілька виправлень для збирання за умови builddir != sourcedir (Pino Toscano).

note: type: textblock
en: A new C<bundled/> subdirectory contains one bundled library that we currently use, C<ocaml-augeas> (Pino Toscano).
uk: У новому підкаталозі C<bundled/> міститься пакет бібліотеки, якою ми користуємося, C<ocaml-augeas> (Pino Toscano).

note: type: textblock
en: Fix compatibility issues when being compiled with GCC 10.
uk: Виправлено вади сумісності при збиранні за допомогою GCC 10.

note: type: textblock
en: When linking OCaml programs, automake silent rules and the C<V=1> flag are both now obeyed (Pino Toscano).
uk: При компонуванні програм на OCaml передбачено врахування типових правил automake та прапорця C<V=1> (Pino Toscano).

note: type: textblock
en: The C<guestfs_device_index> API was reimplemented in library code instead of in the daemon.  There should be no observable effect of this change.
uk: Повторно реалізовано програмний інтерфейс C<guestfs_device_index> у коді бібліотеки замість фонової служби. Ця зміна не має призвести до якихось видимих для розробника наслідків.

note: type: textblock
en: Since Linux 5.6 enumerates C</dev/sdX> devices in parallel, libguestfs was changed to map API device names to appliance device names, and then do the reverse mapping when returning names from the appliance.  Hopefully this should have no observable effect, but can produce somewhat confusing debugging messages since device names in the debug might not match device names passed in to APIs.  Furthermore the C<root=UUID=...> option is always passed to the appliance (instead of naming the device containing the root filesystem).
uk: Починаючи з версії 5.6 Linux нумерує пристрої C</dev/sdX> у паралельному режимі. До libguestfs було внесено зміни для прив'язки назв пристрої у програмному інтерфейсі до назв пристроїв у базовій системі і наступної зворотної прив'язки повернутих назв з базової системи. Сподіваємося, така прив'язка відбуватиметься прозоро, але вона може спричинити деякі діагностичні повідомлення, які вводять в оману, оскільки назви пристроїв у діагностичних повідомленнях не відповідатимуть назвам пристроїв, які передано крізь програмний інтерфейс. Крім того, базовій системі завжди передаватиметься параметр C<root=UUID=...> (замість іменування пристрою, який містить кореневу файлову систему).

note: type: textblock
en: We expect to move from the Zanata service to the Weblate service for translated strings.  For more information see L<https://bugzilla.redhat.com/1787301>
uk: Ми сповідаємося перейти зі служби Zanata на Weblate для перекладу рядків. Докладніша документація: L<https://bugzilla.redhat.com/1787301>

note: type: textblock
en: Segfault in python bindings for guestfs_int_py_event_callback_wrapper
uk: Помилка адресування у прив'язках до python guestfs_int_py_event_callback_wrapper

note: type: textblock
en: Can't import guest from export domain to data domain on rhv4.3 due to error "Invalid parameter: 'DiskType=1'"
uk: Неможливо імпортувати гостьову систему з експортованого домену до домену даних на rhv4.3 через помилку «Invalid parameter: 'DiskType=1'»

note: type: textblock
en: virt-v2v: Use scp -T in -i vmx -it ssh mode
uk: virt-v2v: використання scp -T у режимі -i vmx -it ssh

note: type: textblock
en: Delete info"export PATH=/path/to/nbdkit-1.1.x:$PATH" in virt-v2v-input-vmware manual page
uk: Вилучено дані щодо «export PATH=/шлях/до/nbdkit-1.1.x:$PATH» зі сторінки підручника virt-v2v-input-vmware

note: type: textblock
en: python 3.8 requires using -embed variant of pkgconf file, causing libguestfs to fail to build Python 3.8 bindings
uk: python 3.8 потребує використання варіанта -embed файла pkgconf, що спричиняє неможливість збирання прив'язок до Python libguestfs у Python 3.8

note: type: textblock
en: libguestfs cannot inspect disks using WIndows 10 NTFS compression, error "unsupported reparse point"
uk: libguestfs не може інспектувати диски, де використовується стискання NTFS Windows 10 — помилка «unsupported reparse point»

note: type: textblock
en: [PATCH] Add OpenMandriva support
uk: [PATCH] Додавання підтримки OpenMandriva

note: type: textblock
en: virt-v2v should show a message when qemu-guest-agent is installed in guest successfully during conversion
uk: virt-v2v має показувати повідомлення, якщо у гостьовій системі успішно встановлено qemu-guest-agent під час перетворення

note: type: textblock
en: virt-v2v fails to import a guest while cannot find `file_architecture` for a file
uk: virt-v2v не може імпортувати гостьову систему, оскільки не може знайти `file_architecture` для файла

note: type: textblock
en: [v2v][RHV][Scale] v2v Migration to RHV failed on timed out waiting for transfer to finalize
uk: [v2v][RHV][Scale] v2v Перенесення на RHV завершувалося помилкою щодо перевищення часу очікування при очікуванні завершення передавання даних

note: type: textblock
en: python bindings wrongly using str for APIs with RBufferOut/FBuffer on Python 3
uk: У прив'язках до python помилково використовується str для програмних інтерфейсів із RBufferOut/FBuffer на Python 3

note: type: textblock
en: Unable to maintain static IP address configuration post VM migration
uk: Неможливо використовувати конфігурацію із статичною IP-адресою після перенесення віртуальної машини

note: type: textblock
en: Guest has no disk after rhv-upload converting if target data domain has similar name with other data domain on rhv4.2
uk: Гостьова система не має дисків після перетворення rhv-upload, якщо домен даних призначення має подібну назву із іншим доменом даних у rhv4.2

note: type: textblock
en: Update nbdkit info for vddk in v2v man page
uk: Оновлено відомості щодо nbdkit для vddk на сторінці підручника щодо v2v

note: type: textblock
en: On W2K12r2 rhev-apt does not run non-interactively, causing race when starting rhev-apt service from the command line
uk: На W2K12r2 rhev-apt не запускається у неінтерактивному режимі, що спричиняє конкуренцію при запуску служби rhev-apt з командного рядка

note: type: textblock
en: Macvtap network will be lost during v2v conversion
uk: Мережу Macvtap буде втрачено під час перетворення v2v

note: type: textblock
en: virt-customize --commands-from-file will fail if there is an extra blank in the file
uk: Виконання virt-customize --commands-from-file завершиться помилкою, якщо у файлі буде виявлено зайву прогалину

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.6
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.6

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.4.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.4.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:  - Use a new method for creating and caching the appliance.  This
       greatly improves the performance of libguestfs, often by a factor
       of x 4 to x 5.
uk: - Використано новий спосіб створення і кешування базової системи. Це значно пришвидшує роботу libguestfs, доволі часто у 4-5 разів.

note: type: verbatim
en:  - Support for guest inspection (like virt-inspector) via the ordinary
       API and all language bindings.  'guestfish -i' option is as a side-
       effect much quicker.
uk: - Реалізовано підтримку інспектування гостьових системи (подібно до virt-inspector) за допомогою звичайного програмного інтерфейсу та прив'язок до мов програмування. Побіжним ефектом є значне пришвидшення роботи «guestfish -i».

note: type: verbatim
en:  - virt-inspector and core inspection API can now detect guests running:
       Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,
       Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.
uk: - virt-inspector та основний програмний інтерфейс інспектування тепер може виявляти такі гостьові системи: Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS, Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.

note: type: verbatim
en:  - Support for LUKS whole-disk encryption in guests.
uk: - Реалізовано підтримку повного шифрування дисків за допомогою LUKS у гостьових системах.

note: type: verbatim
en:  - PHP bindings.
uk:  - Прив’язки до PHP.

note: type: verbatim
en:  - Progress messages (and progress bars in guestfish and virt-resize)
       for certain long-running operations.
uk: - Реалізовано повідомлення щодо поступу (та смужки поступу у guestfish і virt-resize) для певних типів довготривалих дій.

note: type: verbatim
en:  - virt-df is now much more efficient.  Use '--one-per-guest' to restore
       the old per-guest isolation behaviour.
uk: - virt-df тепер працює значно ефективніше. Скористайтеся параметром «--one-per-guest», щоб відновити попередню поведінку із ізоляцією окремих гостьових систем.

note: type: verbatim
en:  - guestfish 'copy-in' and 'copy-out' commands for copying files and
       directories recursively in and out of the guest.
uk: - Реалізовано команди guestfish «copy-in» і «copy-out» для рекурсивного копіювання файлів та каталогів до гостьової системи та з неї.

note: type: verbatim
en:  - guestfish 'hexedit' command for doing binary edits to devices and
       files.
uk: - Реалізовано команду guestfish «hexedit» для виконання двійкового редагування на пристроях і у файлах.

note: type: verbatim
en:  - Change guestfish -i syntax to allow commands to be specified on the
       command line (retaining backwards compatibility).
uk: - Змінено синтаксис guestfish -i з метою уможливлення визначення команд у командному рядку (із збереженням зворотної сумісності).

note: type: verbatim
en:  - guestfish '-d <domain>' for adding disks from libvirt domains.
uk: - Реалізовано параметр guestfish -d <домен> для додавання дисків з доменів libvirt.

note: type: verbatim
en:  - guestfish '-N' option supports several new prepared disk image types:
             lvfs : disk with LV formatted with filesystem
               lv : disk with LV
         bootroot : boot+root
       bootrootlv : boot and root on LV
uk: - Для параметра guestfish -N передбачено підтримку декількох нових типів приготованих образів дисків:
             lvfs : диск у форматі логічного тому з файловою системою
               lv : диск із логічним томом
         bootroot : boot+root
       bootrootlv : boot і root на логічному томі

note: type: verbatim
en:  - guestfish 'more' and 'edit' commands now work with arbitrary files.
uk: - Команди guestfish more та edit тепер працюють із довільними файлами.

note: type: verbatim
en:  - guestfish '--echo-keys' option allows you to echo keys/passphrases
       while typing them.
uk: - За допомогою параметра guestfish --echo-keys ви зможете бачити символи ключів і паролів, коли їх вводитимете.

note: type: verbatim
en:  - guestmount now supports -a / -d / -i options, like guestfish.
uk: - У guestmount тепер передбачено параметри -a / -d / -i, як у guestfish.

note: type: verbatim
en:  - Use virtio-serial for communications with the appliance.  This
       also has a major performance benefit.
uk: - Реалізовано використання virtio-serial для обміну даними із базовою системою. Це дало значні переваги у швидкодії.

note: type: verbatim
en:  - virt-edit '-b' option to create a backup of edited files.
uk:  - Реалізовано параметр virt-edit -b для створення резервних копій редагованих файлів.

note: type: verbatim
en:  - virt-edit '-e' option for non-interactive edits to files.
uk: - Реалізовано параметр virt-edit -e для неінтерактивного редагування файлів.

note: type: verbatim
en:  - Ability to capture core dumps from the appliance (thanks Matthew Booth).
uk: - Реалізовано можливість перехоплення дампів ядра із базової системи (дякуємо Matthew Booth).

note: type: verbatim
en:  - virt-rescue now shuts down cleanly (thanks Matthew Booth).
uk: - virt-rescue тепер завершує роботу коректно (дякуємо Matthew Booth).

note: type: verbatim
en:  - virt-rescue now has a --network option to enable network access.
uk: - virt-rescue тепер має параметр --network для вмикання доступу до мережі.

note: type: verbatim
en:  - virt-resize can now handle guests which use GPT partition table format.
uk: - Тепер virt-resize може працювати із гостьовими системами, які використовують формат таблиці розділів GPT.

note: type: verbatim
en:  - virt-resize has better support for shrinking guests.
uk: - у virt-resize реалізовано ліпшу підтримку зменшення розмірів гостьових систем.

note: type: verbatim
en:  - virt-resize supports qcow2-format guests.
uk: - у virt-resize передбачено підтримку гостьових систем у форматі qcow2.

note: type: verbatim
en:  - $TMPDIR can be used to override almost all temporary directory usage.
uk: - Можна скористатися $TMPDIR для перевизначення майже усіх тимчасових каталогів.

note: type: verbatim
en:  - OCaml users can use an alternate OO-style of coding, eg. g#launch ()
uk: - Користувачі OCaml можуть скористатися альтернативним OO-стилем програмування, наприклад g#launch ()

note: type: verbatim
en:  - The API supports calls which take optional parameters, eg.
         $g->add_drive_opts ("disk", readonly => 1);
uk: - У програмному інтерфейсі передбачено підтримку викликів, які приймають необов'язкові параметри. Приклад: $g->add_drive_opts ("disk", readonly => 1);

note: type: verbatim
en:  - Trace output now escapes and shortens large strings (thanks
       Matthew Booth).
uk: - У виведених даних трасування тепер екрануються і скорочуються довгі рядки (дякуємо Matthew Booth).

note: type: verbatim
en:  - Autosync is now on by default, resulting in more reliable behaviour
       when the handle is closed.
uk: - Тепер автосинхронізацію типово увімкнено. Це забезпечує вищу надійність при закритті дескриптора.

note: type: verbatim
en:  - virt-df --uuid option allows you to follow a domain across migration
       and renaming.
uk: - За допомогою параметра virt-df --uuid ви можете здійснювати переходи у домені навіть після перенесення або перейменування.

note: type: verbatim
en:  - Translations of manual pages.
uk:  - Переклади сторінок підручника (man).

note: type: verbatim
en:  - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk
       https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
       This is comprehensively fixed in this release, and the fix will be
       backported to the other stable branches after more testing.
uk: - CVE-2010-3851 libguestfs: пропущено специфікатор формату диска під час додавання диска
    https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
    Цю ваду повністю виправлено у цьому випуску, виправлення буде зворотно портовано на інші стабільні гілки після додаткового тестування.

note: type: verbatim
en:  - virt-inspector no longer relies on untrusted guest code to list
       applications in some guests.
uk: - virt-inspector більше не покладається на ненадійний код гостьової системи для побудови списку програм у деяких гостьових системах.

note: type: verbatim
en:  - Use size_t for loop iterators.
     - Refactor the library code into separate files.
     - Refactor the generator code into separate files.
     - Generate guestfish commands.
     - guestfish & guestmount options processing is unified.
     - Protocol changes:
         error message size increased to 64K
         send errno to library
     - Add 'make bindist' to make a binary distribution.
     - Cleaner behaviour under valgrind.
     - More testing of the guestfish command line options and libvirt
       integration.
     - The Perl inspection code is no longer used by any of the tools.
uk: - Використано size_t для змінних циклів.
    - Код бібліотеки поділено на декілька окремих файлів.
    - Код генератора поділено на декілька окремих файлів.
    - Реалізовано генерацію команд guestfish.
    - Уніфіковано обробку параметрів guestfish і guestmount.
    - Зміни у протоколі:
        розмір повідомлення щодо помилки збільшено до 64 кБ
        реалізовано надсилання errno до бібліотеки
    - Додано «make bindist» для створення бінарного дистрибутива.
    - Поліпшено поведінку під керуванням valgrind.
    - Ширше тестування параметрів командного рядка guestfish та інтеграції libvirt.
    - Код інспектування мовою Perl більше не використовується у жодному з інструментів.

note: type: verbatim
en:  - 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 Updates to Spanish translation
     - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target
     - 629593 Dutch translation added
     - 627556 Updates to Spanish translations of libguestfs
     - 626843 Updates to Spanish translations
     - 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 Updated Polish translation of libguestfs
uk:  - 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 польською

note: type: =head1
en: RELEASE NOTES FOR LIBGUESTFS 1.8
uk: НОТАТКИ ЩОДО ВИПУСКУ LIBGUESTFS 1.8

note: type: textblock
en: These release notes only cover the differences from the previous stable/dev branch split (1.6.0).  For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
uk: Ці нотатки щодо випуску стосуються лише відмінностей від попереднього стабільного випуску (1.6.0). Докладний журнал змін є частиною журналу змін сховища git. Його також наведено у файлі ChangeLog, який є частиною архіву tar із кодом бібліотеки.

note: type: verbatim
en:  - Support and packages for Debian and Ubuntu.
uk: - Підтримка і пакунки для Debian і Ubuntu.

note: type: verbatim
en:  - Daily builds from git repository on Debian and Ubuntu to reduce risk
       of regressions.
uk: - Щоденні збірки зі сховища git для Debian і Ubuntu для зменшення ризику регресій.

note: type: verbatim
en:  - Port to ArchLinux 'pacman' (thanks Thomas S Hatch).
uk: - Портовано на pacman ArchLinux (дякуємо Thomas S Hatch).

note: type: verbatim
en:  - The following tools have been rewritten in C (originally in Perl):
uk: - Переписано на C такі інструменти (початково ці інструменти було написано мовою Perl):

note: type: verbatim
en:  - Some C tools support encrypted guests automatically.  This is
       supported in: guestfish, guestmount, virt-cat, virt-inspector,
       virt-ls.
uk: - У деяких інструментах із кодом мовою C передбачено автоматичну підтримку зашифрованих гостьових систем. Таку підтримку реалізовано у таких програмах: guestfish, guestmount, virt-cat, virt-inspector, virt-ls.

note: type: verbatim
en:  - New tool virt-filesystems (in C) which is a replacement for
       virt-list-filesystems and virt-list-partitions, and has a superset
       of the functionality of those tools.
uk: - Новий інструмент virt-filesystems (із кодом мовою C), який є замінником virt-list-filesystems та virt-list-partitions і може виконувати усі функції цих інструментів.

note: type: verbatim
en:  - guestfish, guestmount and the C tools use unified command line option
       parsing, so they support many common options such as '-a disk.img',
       '-d libvirt-domain', '-x', '-v'.  The old command line option
       parsing is preserved for compatibility in scripts etc.
uk: - У guestfish, guestmount та інших інструментах із кодом мовою C використовується уніфікований обробник параметрів командного рядка, отже, тепер передбачено підтримку ширшого спектра параметрів, зокрема «-a диск.img», «-d домен-libvirt», «-x», «-v». Застарілий засіб обробки параметрів збережено із міркувань сумісності у скриптах тощо.

note: type: verbatim
en:  - guestfish no longer has any dependencies on Perl
uk: - guestfish більше не залежить від Perl

note: type: verbatim
en:  - New man pages containing programming examples: guestfs-examples(3) (C/C++),
       guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).
uk: - Нові сторінки підручника із прикладами програм: guestfs-examples(3) (C/C++), guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).

note: type: verbatim
en:  - Trace mode prints return values from API functions.
uk: - У режимі трасування тепер виводяться значення з функцій програмного інтерфейсу.

note: type: verbatim
en:  - virt-inspector can list applications installed in Windows guests, along
       with a great deal of information about those applications.
uk: - virt-inspector тепер може створювати список програм, які встановлено у гостьових системах Windows, виводячи багато відомостей щодо цих програм.

note: type: verbatim
en:  - Add support for inspecting: Linux Mint, Mandriva, FreeBSD.
uk: - Додано підтримку інспектування таких операційних систем: Linux Mint, Mandriva, FreeBSD.

note: type: verbatim
en:  - guestfish --rw option (with no effect currently) to make potentially
       dangerous write access explicit.
uk: - Реалізовано параметр guestfish --rw (поки не працює) для перетворення потенційно небезпечного доступу на запис на явний.

note: type: verbatim
en:  - guestfish --listen --csh for compatibility with csh, tcsh (thanks
       Eric Blake).
uk: - guestfish --listen --csh для сумісності із csh, tcsh (дякуємо Eric Blake).

note: type: verbatim
en:  - The first upstream version that introduced each API function is now
       documented in guestfs(3).
uk: - Першу основну версію, у якій впроваджено усі функції програмного інтерфейсу, тепер документовано у guestfs(3).

note: type: verbatim
en:  - guestfs_last_errno allows you to retrieve the errno from the
       daemon, correctly translated to the local operating system.
uk: - guestfs_last_errno надає вам змогу отримувати номер помилки від фонової служби, належним чином перетворений до локальної операційної системи.

note: type: verbatim
en:  - Functions can now have optional parameters.
uk:  - Тепер функції мають додаткові параметри.

note: type: verbatim
en:  - Progress bars and progress notifications can now happen for upload
       commands.
uk: - Реалізовано смужки поступу та сповіщення щодо поступу для команд вивантаження даних.

note: type: verbatim
en:  - Appliance builder more careful about not leaving temporary files
       around in /tmp.
uk: - Засіб збирання базової системи тепер працює акуратніше, не залишаючи тимчасових файлів у /tmp.

note: type: verbatim
en:  - getfattr/setfattr commands added to virt-rescue.
uk: - У virt-rescue додано команди getfattr/setfattr.

note: type: verbatim
en:  - ROADMAP file covers roadmap and goals for future releases.
uk: - У файлі ROADMAP викладено дорожню карту та цілі майбутніх випусків.

note: type: verbatim
en:  - New SECURITY section in guestfs(3) API documentation.
uk: - Новий розділ БЕЗПЕКА у документації з програмного інтерфейсу guestfs(3).

note: type: verbatim
en:  - virt-inspector no longer runs any guest commands.
uk: - virt-inspector більше не виконує жодної з команд гостьової системи.

note: type: verbatim
en:  - Inspection code is more careful about avoiding very large files
       from guests which might previously have caused a denial of service.
uk: - Код засобу інспектування тепер обережніший і уникає дуже великих файлів у гостьовій системі, які раніше призводили до відмови у обслуговуванні.

note: type: verbatim
en:  - FUSE calls into guestmount are now traced when using guestmount -x.
uk: - Тепер трасуються виклики FUSE до guestmount, якщо використовується guestmount -x.

note: type: verbatim
en:  - C programs now only link precisely with the libraries that they use.
uk: - Програми із початковим кодом мовою C тепер компонуються лише з бібліотеками, які у них використовуються.

note: type: verbatim
en:  - PCRE, libmagic, hivex and libvirt libraries are now completely
       optional for building.
uk: - Бібліотеки PCRE, libmagic, hivex та libvirt тепер є повністю необов'язковими до збирання.

note: type: verbatim
en:  - Multiple memory leaks and file descriptor leaks fixed.
uk: - Виправлено декілька витоків пам'яті та витоків дескрипторів файлів.

note: type: verbatim
en:  - Add a POD wrapper to unify generation of man pages and HTML files
       across all programs.
uk: - Додано обгортку POD для уніфікації створення сторінок підручника та файлів HTML усіх програм.

note: type: verbatim
en:  - Source includes phony images of Fedora, Debian, Ubuntu and
       Windows guests.
uk: - До початкового коду включено фіктивні образи гостьових систем Fedora, Debian, Ubuntu та Windows.

note: type: verbatim
en:  - Ruby bindings have 'make install' rule.
uk:  - Прив’язки Ruby мають правило «make install».

note: type: verbatim
en:  - <guestfs.h> is now a single file.
uk:  - <guestfs.h> тепер є єдиним файлом.

note: type: verbatim
en:  - <guestfs.h> does not require XDR headers.
uk:  - <guestfs.h> не потребує заголовків XDR.

note: type: verbatim
en:  - ocaml xml-light library is no longer required to build (thanks
       Maxim Koltsov).
uk: - Для збирання більше не потрібна бібліотека xml-light OCaml (дякуємо Maxim Koltsov).

note: type: verbatim
en:  - ./configure --disable-[...] for each language binding (thanks
       Maxim Koltsov).
uk:  - ./configure --disable-[...] для кожної з прив’язок до мови (завдяки
       Максимові Кольцову).

note: type: verbatim
en:  - Old ocaml-viewer program removed (use guestfs-browser instead).
uk: - Вилучено застарілу програму ocaml-viewer (користуйтеся замість неї програмою guestfs-browser).

note: type: verbatim
en:  - New C API test type 'InitScratchFS' makes the tests run a little
       more quickly.
uk: - Новий тип тестів програмного інтерфейсу C «InitScratchFS» трохи пришвидшує виконання тестів.

note: type: verbatim
en:  - Excluded packages in the appliance are now listed in a separate
       file appliance/excludelist.in, and can be customized per-distro.
uk: - Список виключених із базової системи пакунків тепер зберігається у окремому файлі appliance/excludelist.in і може бути налаштований для кожного окремого дистрибутива.

note: type: =head1
en: RELEASE NOTES FOR HISTORICAL VERSIONS OF LIBGUESTFS
uk: НОТАТКИ ЩОДО ВИПУСКУ ПОПЕРЕДНІХ ВЕРСІЙ LIBGUESTFS

note: type: textblock
en: Before 2010 libguestfs did not have official release notes or a formalized version numbering system.  However these are links to historically significant versions.
uk: До 2010 року у libguestfs не було офіційних нотаток щодо випуску або формалізованої системи нумерації версій. Втім, нижче наведено посилання на важливі у історичному плані версії.

note: type: =item
en: 2009-11-10 (1.0.78)
uk: 10 листопада 2009 року (1.0.78)

note: type: =item
en: 2009-09-13 (1.0.67)
uk: 13 вересня 2009 року (1.0.67)

note: type: =item
en: 2009-07-23 (1.0.64)
uk: 23 липня 2009 року (1.0.64)

note: type: =item
en: 2009-07-14 (1.0.59)
uk: 14 липня 2009 року (1.0.59)

note: type: =item
en: 2009-04-01 (the initial announcement)
uk: 1 квітня 2009 року (початкове оголошення)

note: type: textblock
en: guestfs-security - security of libguestfs
uk: guestfs-security - захист libguestfs

note: type: textblock
en: This manual page discusses security implications of using libguestfs, particularly with untrusted or malicious guests or disk images.
uk: Цю сторінку підручника присвячено обговоренню питань щодо безпеки у користуванні libguestfs, зокрема проблемам ненадійних або шкідливих гостьових систем або образів дисків.

note: type: =head1
en: REPORTING SECURITY PROBLEMS
uk: ЗВІТУВАННЯ ЩОДО ПРОБЛЕМ ІЗ БЕЗПЕКОЮ

note: type: textblock
en: If you wish to privately report a security issue, please follow the Red Hat security procedure at L<https://access.redhat.com/security/team/contact>
uk: Якщо ви хочете конфіденційно повідомити про ваду захисту, будь ласка, скористайтеся безпечною процедурою Red Hat, описаною тут: L<https://access.redhat.com/security/team/contact>

note: type: textblock
en: If the security problem is not so serious, you can simply file a bug (see L</BUGS> below), or send an email to our mailing list (L<https://www.redhat.com/mailman/listinfo/libguestfs>).  You do not need to subscribe to the mailing list to send email, but there will be a delay while the message is moderated.
uk: Якщо проблема захисту не така серйозна, ви можете просто створити повідомлення про ваду (див. розділ L</ВАДИ> нижче) або надіслати повідомлення електронною поштою до нашого списку листування (L<https://www.redhat.com/mailman/listinfo/libguestfs>). Можете не підписуватися на список листування, якщо не хочете. Втім, для непідписаних користувачів повідомлення з'являються у списку із затримкою, потрібною на модерацію.

note: type: =head1
en: GENERAL ISSUES
uk: ЗАГАЛЬНІ ВАДИ

note: type: =head2
en: Security of mounting filesystems
uk: Захист змонтованих файлових систем

note: type: textblock
en: You should never mount an untrusted guest filesystem directly on your host kernel (eg. using loopback or kpartx).
uk: Ніколи не монтуйте файлову систему ненадійної гостьової системи безпосередньо до ядра вашої основної системи (наприклад, за допомогою петльового пристрою або kpartx).

note: type: textblock
en: When you mount a filesystem, mistakes in the kernel filesystem (VFS)  can be escalated into exploits by attackers creating a malicious filesystem.  These exploits are very severe for two reasons.  Firstly there are very many filesystem drivers in the kernel, and many of them are infrequently used and not much developer attention has been paid to the code.  Linux userspace helps potential crackers by detecting the filesystem type and automatically choosing the right VFS driver, even if that filesystem type is unexpected.  Secondly, a kernel-level exploit is like a local root exploit (worse in some ways), giving immediate and total access to the system right down to the hardware level.
uk: Коли ви монтуєте файлову систему, помилки у реалізації файлової системи у ядрі (VFS) можуть призвести до експлуатації зловмисниками шляхом створення відповідної файлової системи. Такі вразливості є дуже серйозними з двох причин. По-перше, у ядрі дуже багато драйверів файлових систем, багато з них використовуються нерегулярно, вони не часто привертають увагу розробників. Простір користувача Linux допомагає потенційним зловмисникам виявленням типу файлової системи і автоматичним вибором правильного драйвера VFS, навіть якщо тип файлової системи є неочікуваним. По-друге, вразливість на рівні ядра — це локальна вразливість із правами доступу адміністратора (що є ще гіршою у певному сенсі), яка надає негайний і повний доступ до системи, аж до рівня обладнання.

note: type: textblock
en: These exploits can be present in the kernel for a very long time (L<https://lwn.net/Articles/538898/>).
uk: Ці вразливості могли бути присутніми у ядрі доволі довго (L<https://lwn.net/Articles/538898/>).

note: type: textblock
en: Libguestfs provides a layered approach to protecting you from exploits:
uk: У libguestfs реалізовано багатошаровний підхід до захисту вашої системи від експлоїтів:

note: type: verbatim
en:    untrusted filesystem
     --------------------------------------
       appliance kernel
     --------------------------------------
       qemu process running as non-root
     --------------------------------------
       sVirt [if using libvirt + SELinux]
     --------------------------------------
       host kernel
uk:    ненадійна файлова система
     --------------------------------------
       ядро базової системи
     --------------------------------------
       процес qemu, запущений не від імені root
     --------------------------------------
       sVirt [якщо використано libvirt + SELinux]
     --------------------------------------
       ядро основної системи

note: type: textblock
en: We run a Linux kernel inside a qemu virtual machine, usually running as a non-root user.  The attacker would need to write a filesystem which first exploited the kernel, and then exploited either qemu virtualization (eg. a faulty qemu driver) or the libguestfs protocol, and finally to be as serious as the host kernel exploit it would need to escalate its privileges to root.  Additionally if you use the libvirt back end and SELinux, sVirt is used to confine the qemu process.  This multi-step escalation, performed by a static piece of data, is thought to be extremely hard to do, although we never say ‘never’ about security issues.
uk: Ми запускаємо ядро Linux всередині віртуальної машини qemu, зазвичай від імені непривілейованого користувача. Зловмиснику доведеться написати файлову систему, яка спочатку експлуатуватиме вразливість у ядрі, а потім експлуатуватиме вразливість або у віртуалізації qemu (наприклад, у неякісному драйвері qemu), або у протоколі libguestfs, і нарешті, щоб отримати результат, еквівалентний до вразливості у ядрі, доведеться якось отримати права доступу адміністратора (root). Крім того, якщо ви використовуєте модуль обробки libvirt та SELinux, для обмеження прав доступу qemu використовується sVirt. Тому таке розширення доступу, яке має виконуватися за допомогою статичного коду, можна вважати надзвичайно важким завданням, хоча ми ніколи не кажемо «ніколи» щодо вразливостей у захисті.

note: type: textblock
en: Callers can also reduce the attack surface by forcing the filesystem type when mounting (use L<guestfs(3)/guestfs_mount_vfs>).
uk: Функції виклику також можуть значно звузити можливості нападу, якщо примусово вказуватимуть тип файлової системи при монтуванні (використовуватимуть L<guestfs(3)/guestfs_mount_vfs>).

note: type: =head2
en: General security considerations
uk: Загальні зауваження щодо захисту

note: type: textblock
en: Be careful with any files or data that you download from a guest (by "download" we mean not just the L<guestfs(3)/guestfs_download> command but any command that reads files, filenames, directories or anything else from a disk image).  An attacker could manipulate the data to fool your program into doing the wrong thing.  Consider cases such as:
uk: Будьте обережні із будь-якими файлами або даними, які ви отримуєте із гостьової системи (під терміном «отримуєте» ми маємо на увазі не лише виконання команди L<guestfs(3)/guestfs_download>, але і виконання будь-якої команди, яка читає файли, назви файлів, каталоги або будь-які інші дані з образу диска). Зловмисник може змінити дані так, щоб змусити вашу програму виконати якісь потрібні йому дії. Слід зважати на такі можливі випадки:

note: type: textblock
en: the data (file etc) not being present
uk: даних (файла чи чогось іншого) немає

note: type: textblock
en: being present but empty
uk: дані є, але вони порожні

note: type: textblock
en: being much larger than normal
uk: даних набагато більше, ніж звичайно

note: type: textblock
en: containing arbitrary 8 bit data
uk: дані є довільними 8-бітовими значеннями

note: type: textblock
en: being in an unexpected character encoding
uk: дані представлено у неочікуваному кодуванні

note: type: textblock
en: containing homoglyphs.
uk: назви даних містять гомогліфи.

note: type: =head2
en: Protocol security
uk: Захист протоколу

note: type: textblock
en: The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a defined upper message size.  However a program that uses libguestfs must also take care - for example you can write a program that downloads a binary from a disk image and executes it locally, and no amount of protocol security will save you from the consequences.
uk: Протокол розроблено із врахуванням питань безпеки, засновано на RFC 4506 (XDR) із визначеною верхньою межею розміру повідомлення. Втім, програмам, у яких використано libguestfs, також слід вживати певних заходів захисту. Наприклад, ви можете написати програму, яка отримує виконуваний файл із образу диска і виконує його у локальній системі. Ніякий захист у протоколі не вбереже вашу систему від небезпечних наслідків виконання шкідливої програми.

note: type: =head2
en: Inspection security
uk: Інспектування захисту

note: type: textblock
en: Parts of the inspection API (see L<guestfs(3)/INSPECTION>) return untrusted strings directly from the guest, and these could contain any 8 bit data.  Callers should be careful to escape these before printing them to a structured file (for example, use HTML escaping if creating a web page).
uk: Елементи програмного інтерфейсу інспектування (див. L<guestfs(3)/ІНСПЕКТУВАННЯ>) повертають довільні рядки безпосередньо з гостьової системи. Повернуті рядки можуть містити довільні 8-бітові дані. У функціях, які викликають такі елементи програмного інтерфейсу, слід подбати про екранування даних до виведення їх до структурованого файла (наприклад, екранування коду HTML, якщо створюється вебсторінка).

note: type: textblock
en: Guest configuration may be altered in unusual ways by the administrator of the virtual machine, and may not reflect reality (particularly for untrusted or actively malicious guests).  For example we parse the hostname from configuration files like F</etc/sysconfig/network> that we find in the guest, but the guest administrator can easily manipulate these files to provide the wrong hostname.
uk: Налаштування гостьової системи може бути змінено у незвичний спосіб адміністратором віртуальної машини. Дані у файлах налаштувань можуть бути неактуальними (особливо у ненадійних або активно шкідливих гостьових системах). Наприклад, ми отримуємо назву вузла із файлів налаштувань, наприклад F</etc/sysconfig/network>, які зберігаються у гостьовій системі, але адміністратор гостьової системи може легко внести зміни до цих файлів так, щоб надавати неправильну назву вузла.

note: type: textblock
en: The inspection API parses guest configuration using two external libraries: Augeas (Linux configuration) and hivex (Windows Registry).  Both are designed to be robust in the face of malicious data, although denial of service attacks are still possible, for example with oversized configuration files.
uk: Програмний інтерфейс інспектування обробляє налаштування гостьових систем за допомогою двох зовнішніх бібліотек: Augeas (налаштування Linux) та hivex (реєстр Windows). Розробники обох бібліотек подбали про стійкість коду до шкідливих даних, але атаки з метою викликати відмову в обслуговуванні усе ще можливі. Наприклад, для цього можна скористатися файлами налаштувань величезних розмірів.

note: type: =head2
en: Running untrusted guest commands
uk: Запуск незахищених команд гостьової системи

note: type: textblock
en: Be very cautious about running commands from the guest.  By running a command in the guest, you are giving CPU time to a binary that you do not control, under the same user account as the library, albeit wrapped in qemu virtualization.  More information and alternatives can be found in L<guestfs(3)/RUNNING COMMANDS>.
uk: Будьте дуже обережні із запуском програм з гостьової системи. Запускаючи програму з гостьової системи, ви надаєте процесорний час виконуваному файлу, який ви не контролюєте, для того самого облікового запису, від імені якого працює бібліотека, хоча і замкненому у віртуальному просторі qemu. Докладніший опис варіантів запуску можна знайти у розділі L<guestfs(3)/ВИКОНАННЯ КОМАНД>.

note: type: =head1
en: HISTORICAL SECURITY ISSUES IN LIBGUESTFS
uk: ІСТОРИЧНО ВІДОМІ ВАДИ ЗАХИСТУ У LIBGUESTFS

note: type: textblock
en: This security bug concerns the automatic disk format detection that qemu does on disk images.
uk: Ця вада у захисті стосується автоматичного визначення формату диска, яке qemu виконує для образів дисків.

note: type: textblock
en: A raw disk image is just the raw bytes, there is no header.  Other disk images like qcow2 contain a special header.  Qemu deals with this by looking for one of the known headers, and if none is found then assuming the disk image must be raw.
uk: Простий (raw) образ диска — це просто набір байтів без заголовка. У інших форматах образів дисків, зокрема qcow2, міститься спеціальний заголовок. Qemu шукає у образі один із відомих заголовків і, якщо такого заголовка не буде знайдено, вважає образ диска простим.

note: type: textblock
en: This allows a guest which has been given a raw disk image to write some other header.  At next boot (or when the disk image is accessed by libguestfs) qemu would do autodetection and think the disk image format was, say, qcow2 based on the header written by the guest.
uk: Це надає змогу гостьовій системі, якій надано простий образ диска, записати до нього якийсь інший заголовок. Під час наступного завантаження (або доступу до образу диска за допомогою libguestfs) qemu має виконати автовизначення і на основі заголовка від гостьової системи визначити, що форматом образу диска є, скажімо» qcow2.

note: type: textblock
en: This in itself would not be a problem, but qcow2 offers many features, one of which is to allow a disk image to refer to another image (called the "backing disk").  It does this by placing the path to the backing disk into the qcow2 header.  This path is not validated and could point to any host file (eg. "/etc/passwd").  The backing disk is then exposed through "holes" in the qcow2 disk image, which of course is completely under the control of the attacker.
uk: Сама процедура встановлення заголовків не є проблемною. Проблема полягає у тому, що у формат qcow2 передбачено багато можливостей, одна з яких надає змогу образу диска посилатися на інший образ (який називається «резервним диском»). Реалізується ця можливість шляхом запису адреси резервного диска до заголовка qcow2. Ця адреса не перевіряється і може вказувати на будь-який файл у основній системі (наприклад, «/etc/passwd»). Далі, доступ до даних резервного диска надається через «дірки» у образі диска qcow2, який, звичайно ж, може потрапити під повний контроль зловмисника.

note: type: textblock
en: In libguestfs this is rather hard to exploit except under two circumstances:
uk: У libguestfs скористатися цією вразливістю доволі складно, окрім двох випадків:

note: type: textblock
en: You have enabled the network or have opened the disk in write mode.
uk: Вами увімкнено мережу або відкрито диск у режимі запису.

note: type: textblock
en: You are also running untrusted code from the guest (see L<guestfs(3)/RUNNING COMMANDS>).
uk: Ви також запускаєте ненадійний код з гостьової системи (див. L<guestfs(3)/ЗАПУСК КОМАНД>).

note: type: textblock
en: The way to avoid this is to specify the expected disk format when adding disks (the optional C<format> option to L<guestfs(3)/guestfs_add_drive_opts>).  You should always do this if the disk is raw format, and it’s a good idea for other cases too.  (See also L<guestfs(3)/DISK IMAGE FORMATS>).
uk: Цих проблем можна уникнути, вказавши очікуваний формат диска під час додавання дисків (необов'язковий параметр C<format> у L<guestfs(3)/guestfs_add_drive_opts>). Вам завжди варто вказувати формат, якщо дані диска зберігаються у простому форматі (raw). У інших випадках цим теж не варто нехтувати. (Див. також L<guestfs(3)/ФОРМАТИ ОБРАЗІВ ДИСКІВ>).

note: type: textblock
en: For disks added from libvirt using calls like L<guestfs(3)/guestfs_add_domain>, the format is fetched from libvirt and passed through.
uk: Для дисків, які додаються з libvirt за допомогою викликів, подібних до L<guestfs(3)/guestfs_add_domain>, дані щодо формату отримуються від libvirt і передаються далі ланцюжком обробки.

note: type: textblock
en: For libguestfs tools, use the I<--format> command line parameter as appropriate.
uk: Для засобів libguestfs використовувати параметр командного рядка I<--format> у належний спосіб.

note: type: textblock
en: This is a bug in the kernel which allowed guests to overwrite parts of the host’s drives which they should not normally have access to.
uk: Це вада у ядрі, яка надавала змогу гостьовим системам перезаписувати частини дисків основної системи, до яких вони за звичайних умов не повинні були мати доступу.

note: type: textblock
en: It is sufficient to update libguestfs to any version E<ge> 1.16 which contains a change that mitigates the problem.
uk: Достатньо оновити libguestfs до будь-якої версії E<ge> 1.16, яка містить зміну, що усуває проблему.

note: type: textblock
en: Old versions of both virt-edit and the guestfish C<edit> command created a new file containing the changes but did not set the permissions, etc of the new file to match the old one.  The result of this was that if you edited a security sensitive file such as F</etc/shadow> then it would be left world-readable after the edit.
uk: У старих версіях програми virt-edit та команди C<edit> guestfish створювався новий файл, у якому зберігалися зміни, але не встановлювалися права доступу та інші параметри так, щоб вони збігалися із параметрами старого редагованого файла. У результаті після редагування конфіденційного файла, зокрема F</etc/shadow>, він ставав доступним для сторонніх користувачів.

note: type: textblock
en: It is sufficient to update libguestfs to any version E<ge> 1.16.
uk: Достатньо оновити libguestfs до будь-якої версії E<ge> 1.16.

note: type: textblock
en: This security bug was a flaw in inspection where an untrusted guest using a specially crafted file in the guest OS could cause a double-free in the C library (denial of service).
uk: Ця вада захисту була «діркою» у засобі інспектування, пов'язаною з тим, що відповідним чином створена гостьова система за допомогою приготованого файла, що у ній зберігався, могла призвести до подвійного вивільнення пам'яті у бібліотеці мовою C (спричинити відмову в обслуговуванні).

note: type: textblock
en: It is sufficient to update libguestfs to a version that is not vulnerable: libguestfs E<ge> 1.20.8, E<ge> 1.22.2 or E<ge> 1.23.2.
uk: Достатньо оновити libguestfs до версії, у якій вразливість усунено: libguestfs E<ge> 1.20.8, E<ge> 1.22.2 або E<ge> 1.23.2.

note: type: textblock
en: When using the L<guestfish(1)> I<--remote> or guestfish I<--listen> options, guestfish would create a socket in a known location (F</tmp/.guestfish-$UID/socket-$PID>).
uk: Якщо використано параметр L<guestfish(1)> I<--remote> або guestfish I<--listen>, guestfish має створити сокет у відомому місці (F</tmp/.guestfish-$UID/socket-$PID>).

note: type: textblock
en: The location has to be a known one in order for both ends to communicate.  However no checking was done that the containing directory (F</tmp/.guestfish-$UID>) is owned by the user.  Thus another user could create this directory and potentially hijack sockets owned by another user’s guestfish client or server.
uk: Місце має бути наперед відомим, щоб за його допомогою обидва боки каналу зв'язку могли обмінюватися даними. Втім, не виконується перевірки, чи належить відповідний каталог (F</tmp/.guestfish-$UID>) користувачеві. Тому цей каталог може бути створено іншим користувачем, який, потенційно, може перехопити сокети клієнта або сервера guestfish.

note: type: textblock
en: It is sufficient to update libguestfs to a version that is not vulnerable: libguestfs E<ge> 1.20.12, E<ge> 1.22.7 or E<ge> 1.24.
uk: Достатньо оновити libguestfs до версії, у якій вразливість усунено: libguestfs E<ge> 1.20.12, E<ge> 1.22.7 або E<ge> 1.24.

note: type: textblock
en: This was fixed in libguestfs E<ge> 1.27.9 and the fix was backported to stable versions E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 and E<ge> 1.20.13.
uk: Вразливість виправлено у libguestfs E<ge> 1.27.9, виправлення було зворотно портовано до стабільних версій E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 та E<ge> 1.20.13.

note: type: textblock
en: These two bugs in binutils affect the GNU L<strings(1)> program, and thus the L<guestfs(3)/guestfs_strings> and L<guestfs(3)/guestfs_strings_e> APIs in libguestfs.  Running strings on an untrusted file could cause arbitrary code execution (confined to the libguestfs appliance).
uk: Ці дві вади є вадами програми із комплекту binutils GNU L<strings(1)>. Через них вразливими стали інтерфейси L<guestfs(3)/guestfs_strings> та L<guestfs(3)/guestfs_strings_e> у libguestfs. Обробка за допомогою strings відповідно сформованого файла могла призвести до виконання довільного коду (область виконання обмежено базовою системою libguestfs).

note: type: textblock
en: In libguestfs E<ge> 1.29.5 and E<ge> 1.28.3, libguestfs uses the C<strings> I<-a> option to avoid BFD parsing on the file.
uk: У libguestfs E<ge> 1.29.5 та E<ge> 1.28.3 використано параметр C<strings> I<-a> для того, щоб уникнути обробки файлів за допомогою BFD.

note: type: textblock
en: your libguestfs program runs untrusted programs out of the guest (using L<guestfs(3)/guestfs_sh> etc), or
uk: ваша програма libguestfs запускає ненадійні програми з гостьової системи (за допомогою L<guestfs(3)/guestfs_sh> тощо) або

note: type: =head2
en: Permissions of F<.ssh> and F<.ssh/authorized_keys>
uk: Права доступу до F<.ssh> і F<.ssh/authorized_keys>

note: type: textblock
en: The tools L<virt-customize(1)>, L<virt-sysprep(1)> and L<virt-builder(1)> have an I<--ssh-inject> option for injecting an SSH key into virtual machine disk images.  They may create a F<~user/.ssh> directory and F<~user/.ssh/authorized_keys> file in the guest to do this.
uk: У програмах L<virt-customize(1)>, L<virt-sysprep(1)> та L<virt-builder(1)> передбачено параметр I<--ssh-inject> для вставляння ключа SSH до образів дисків віртуальної машини. Для виконання цього завдання програми можуть створювати каталог F<~user/.ssh> і файл F<~user/.ssh/authorized_keys> у гостьовій системі.

note: type: textblock
en: In libguestfs E<lt> 1.31.5 and libguestfs E<lt> 1.30.2, the new directory and file would get mode C<0755> and mode C<0644> respectively.  However these permissions (especially for F<~user/.ssh>) are wider than the permissions that OpenSSH uses.  In current libguestfs, the directory and file are created with mode C<0700> and mode C<0600>.
uk: У libguestfs E<lt> 1.31.5 та libguestfs E<lt> 1.30.2 для нового каталогу і файла вибираються режими доступу C<0755> і C<0644>, відповідно. Втім, такі права доступу (особливо до F<~user/.ssh>) є ширшими за ті, які використовує OpenSSH. У поточних версіях libguestfs каталог і файл створюються із режимом доступу C<0700> і C<0600>, відповідно.

note: type: textblock
en: Multiple vulnerabilities in the L<wrestool(1)> program in the C<icoutils> package can be exploited for local code execution on the host.
uk: Вразливості у програмі L<wrestool(1)> з пакунка C<icoutils> може бути використано для локального виконання коду у основній системі.

note: type: textblock
en: When libguestfs inspection (see L</Inspection security> above) detects a Windows XP or Windows 7 guest and is asked to find an associated icon for the guest, it will download an untrusted file from the guest and run C<wrestool -x> on that file.  This can lead to local code execution on the host.  Any disk image or guest can be crafted to look like a Windows guest to libguestfs inspection, so just because you do not have Windows guests does not help.
uk: Коли засіб інспектування libguestfs (див. L</Inspection security> вище) виявляє гостьову систему Windows XP або Windows 7 і отримує запит щодо пошуку пов'язаної піктограми гостьової системи, засіб інспектування отримує файл, який не є безпечним, з гостьової системи і запускає C<wrestool -x> для цього файла. Це може призвести до виконання коду у основній системі. Зловмисники можуть створити образ диска або гостьову систему, яка виглядатиме як гостьова система Windows для засобу інспектування libguestfs, тому те, що у вас немає гостьових систем Windows, не допоможе вберегтися від вразливості.

note: type: textblock
en: Any program calling the libguestfs API C<guestfs_inspect_get_icon> could be vulnerable.  This includes L<virt-inspector(1)> and L<virt-manager(1)>.
uk: Потенційно вразливими є усі програми, які викликають програмний інтерфейс libguestfs C<guestfs_inspect_get_icon>. Такими програмами, зокрема, є L<virt-inspector(1)> та L<virt-manager(1)>.

note: type: textblock
en: The solution is to update to the non-vulnerable version of icoutils (at least 0.31.1).
uk: Усунути проблему можна, оновивши icoutils до невразливої версії (принаймні до 0.31.1).

note: type: textblock
en: Multiple vulnerabilities in PCRE could be exploited to crash libguestfs (ie. cause a denial of service) when performing inspection on an untrusted virtual machine.
uk: Вразливостями у PCRE можна скористатися для спричинення аварійного завершення роботи libguestfs (тобто, спричинити відмову в обслуговуванні) під час виконання інспектування віртуальної машини, до якої можуть мати доступ зловмисники.

note: type: textblock
en: The solution is to update to a version of PCRE with these bugs fixed (upstream version E<ge> 8.41).
uk: Усунути проблему можна, оновивши PCRE до версії, де вади виправлено (основної версії E<ge> 8.41).

note: type: textblock
en: Vulnerabilities affecting qemu user networking (SLIRP) allow a malicious filesystem image to take control of qemu and from there attack the host.
uk: Вразливості у засобах обробки роботи користувача qemu у мережі (SLIRP) надають змогу за допомогою спеціально сформованого образу файлової системи перебрати контроль над qemu і за її допомогою атакувати основну систему.

note: type: textblock
en: This affects libguestfs when the backend is set to C<direct> I<and> networking is enabled.
uk: Це впливає на роботу libguestfs, якщо встановлено модуль обробки C<direct> I<і> увімкнено роботу у мережі.

note: type: textblock
en: The direct backend is the default upstream, but not in some downstream Linux distributions including Fedora, Red Hat Enterprise Linux and CentOS.  It might also have been selected if you set the C<LIBGUESTFS_BACKEND=direct> environment variable or called S<C<guestfs_set_backend (g, "direct")>>.
uk: Модуль direct є типовим для програми із основної гілки розробки, але не у дистрибутивах Linux, які використовують qemu, зокрема у Fedora, Red Hat Enterprise Linux та CentOS. Цей модуль може бути також вибрано за допомогою значення змінної середовища C<LIBGUESTFS_BACKEND=direct> або виклику S<C<guestfs_set_backend (g, "direct")>>.

note: type: textblock
en: Networking is enabled automatically by some tools (eg. L<virt-builder(1)>), or is enabled if your code called S<C<guestfs_set_network (g, 1)>> (which is not the default).
uk: Робота у мережі автоматично вмикається деякими програмами (наприклад L<virt-builder(1)>) або під час виклику у коді S<C<guestfs_set_network (g, 1)>> (нетипові параметри функції).

note: type: textblock
en: The libvirt backend is not affected.
uk: Модуль обробки libvirt є невразливим.

note: type: textblock
en: The solution is to update qemu to a version containing the fix (see L<https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg01012.html>).
uk: Усунути проблему можна оновленням qemu до виправленої версії (див. L<https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg01012.html>).

note: type: textblock
en: guestfs-testing - manual testing of libguestfs, you can help!
uk: guestfs-testing — тестування libguestfs вручну, ви можете допомогти!

note: type: textblock
en: This page has manual tests you can try on libguestfs.  Everyone has a slightly different combination of platform, hardware and guests, so this testing is very valuable.  Thanks for helping out!
uk: На цій сторінці наведено настанови щодо тестування libguestfs вручну. У всіх користувачів бібліотеки різні комбінації платформ, обладнання та гостьових систем, тому таке тестування дуже важливе. Наперед вдячні за вашу допомогу!

note: type: textblock
en: Tests marked with a B<*> (asterisk) can B<destroy data> if you're not careful.  The others are safe and won't modify anything.
uk: Тести, позначені символом B<*> (зірочкою) можуть B<знищити дані>, якщо ви не будете обережними. Решта тестів є безпечними — вони не вносять жодних змін до важливих даних.

note: type: textblock
en: These tests B<require libguestfs E<ge> 1.22>.
uk: Для виконання цих перевірок B<потрібна libguestfs E<ge> 1.22>.

note: type: textblock
en: You can report bugs you find through this link:
uk: Повідомляти про виявлені вади можна за цим посиланням:

note: type: textblock
en: or post on the mailing list (registration is B<not> required, but if you're not registered then you'll have to wait for a moderator to manually approve your message):
uk: або надішліть допис до списку листування (можете B<не> підписуватися на список листування, якщо не хочете. Втім, для непідписаних користувачів повідомлення з'являються у списку із затримкою, потрібною на модерацію.):

note: type: =head1
en: TESTS
uk: ТЕСТИ

note: type: =head2
en: Run libguestfs-test-tool
uk: Виконання libguestfs-test-tool

note: type: textblock
en: This command does a very simple, non-destructive test that basic libguestfs is functioning.  You don't need to run it as root.
uk: Ця команда виконує дуже просте і неруйнівне тестування того, чи є libguestfs працездатною на базовому рівні. Команду не потрібно віддавати від імені користувача root.

note: type: textblock
en: If it I<doesn't> print C<===== TEST FINISHED OK =====>, report it as a bug.  It is very important that you include the B<complete, unedited> output of C<libguestfs-test-tool> in your bug report.  See the L</BUGS> section at the end of this page.
uk: Якщо I<не буде> виведено рядок C<===== TEST FINISHED OK =====>, повідомте про це, як про ваду. Дуже важливим є включення до вашого повідомлення про ваду B<повного, нередагованого> масиву виведених даних C<libguestfs-test-tool>. Див. розділ L</ВАДИ> наприкінці цієї сторінки підручника.

note: type: =head2
en: Check KVM acceleration is being used.
uk: Перевірка використовуваного прискорення KVM.

note: type: textblock
en: If your host has hardware virt acceleration, then with a hot cache libguestfs should be able to start up in a few seconds.  Run the following command a few times:
uk: Якщо у вашій основній системі передбачено апаратне прискорення віртуалізації, із «гарячим» кешем libguestfs повинна запускатися за декілька секунд. Віддайте вказану нижче команду декілька разів:

note: type: textblock
en: After a few runs, the time should settle down to a few seconds (under 3 seconds on fast 64 bit hardware).
uk: Протягом циклу з декількох запусків час має стабілізуватися на рівні декількох секунд (менше 3 секунд на швидкому 64-бітовому обладнанні).

note: type: textblock
en: If the command above does not work at all, use L<libguestfs-test-tool(1)>.
uk: Якщо вказана вище команда не працюватиме, скористайтеся L<libguestfs-test-tool(1)>.

note: type: =head2
en: Check which version of libguestfs, qemu, libvirt, etc is being used.
uk: Визначення використовуваних версій libguestfs, qemu, libvirt тощо.

note: type: textblock
en: Look at the output of C<libguestfs-test-tool> and check:
uk: Ознайомтеся із виведеними C<libguestfs-test-tool> даними і перевірте:

note: type: textblock
en: Which version of libguestfs is being used? Near the beginning of the output you'll see a line like:
uk: Яка версія libguestfs використовується? На початку виведених даних ви побачите такий рядок:

note: type: textblock
en: Is libvirt being used? You can tell the difference by looking for the backend:
uk: Чи використовується libvirt? Визначити це можна, пошукавши модуль обробки (backend):

note: type: textblock
en: Which version of qemu is being used? It may be printed out:
uk: Яка версія qemu використовується? Дані версії може бути виведено ось так:

note: type: textblock
en: Which kernel is being used? L<supermin(1)> will try to pick the latest kernel installed on your machine.  You can see the version in the appliance output, eg:
uk: Яке ядро використовується? L<supermin(1)> намагається використатися найсвіжіше ядро зі встановлених у вашій системі. Ви можете побачити дані щодо версії у виведенні базової системи. Приклад:

note: type: =head2
en: Try to open a local guest image with guestfish.
uk: Спроба відкриття локального образу гостьової системи за допомогою guestfish.

note: type: textblock
en: You can use any guest disk image for this test.  Make sure you use the C<--ro> flag so that L<guestfish(1)> will open the disk image read-only.
uk: Для цього тесту можна скористатися будь-яким образом диска гостьової системи. Не забудьте скористатися параметром C<--ro>, щоб програма L<guestfish(1)> відкрила образ диска у режимі лише читання.

note: type: verbatim
en:  guestfish --ro -a /path/to/disk.img -i
uk:  guestfish --ro -a /шлях/до/образу.диска -i

note: type: textblock
en: If the command is successful, it should print out the guest operating system name and put you at the guestfish C<E<gt>E<lt>fsE<gt>> prompt.  You can use guestfish commands like S<C<ll />> to look inside the disk image.  To exit, type C<exit>.
uk: Якщо команду буде успішно виконано, вона має вивести назву гостьової операційної системи і відкрити для вас запит щодо команди guestfish C<E<gt>E<lt>fsE<gt>>. Ви можете скористатися командами guestfish, подібними до S<C<ll />>, щоб зазирнути всередину образу диска. Щоб завершити сеанс дослідження гостьової системи, введіть команду C<exit>.

note: type: textblock
en: If you get an error, try enabling debugging (add C<-v> to the command line).  Also make sure that L<libguestfs-test-tool(1)> succeeds.
uk: Якщо ви отримуєте повідомлення про помилку, спробуйте увімкнути діагностику (додати C<-v> до рядка команди). Також слід переконатися, що програма L<libguestfs-test-tool(1)> здатна працювати.

note: type: =head2
en: Try to open a remote guest image with guestfish.
uk: Спроба відкриття віддаленого образу гостьової системи за допомогою guestfish.

note: type: textblock
en: You may also have to disable libvirt by setting this:
uk: Ймовірно, вам також доведеться вимкнути libvirt встановленням такої змінної середовища:

note: type: textblock
en: If you have a disk image available over HTTP/FTP, try to open it.
uk: Якщо у вас є образ диска, Доступ до якого можна отримати за допомогою HTTP/FTP, спробуйте його відкрити.

note: type: verbatim
en:  guestfish --ro -i --format=raw -a http://www.example.com/disk.img
uk:  guestfish --ro -i --format=raw -a http://www.example.com/диск.img

note: type: textblock
en: For SSH you will need to make sure that ssh-agent is set up so you don't need a password to log in to the remote machine.  Then a command similar to this should work:
uk: Якщо використовуватимете SSH, вам слід належним чином налаштувати ssh-agent, щоб для входу до віддаленої машини не довелося вводити пароль. Далі, має спрацювати команда, подібна до такої:

note: type: verbatim
en:  guestfish --ro -i --format=raw \
       -a ssh://remote.example.com/path/to/disk.img
uk:  guestfish --ro -i --format=raw \
       -a ssh://remote.example.com/шлях/до/диск.img

note: type: =head2
en: Run virt-alignment-scan on all your guests.
uk: Запуск virt-alignment-scan на усіх ваших гостьових системах.

note: type: textblock
en: Run L<virt-alignment-scan(1)> on guests or disk images:
uk: Запустіть L<virt-alignment-scan(1)> на гостьових системах або образах дисків:

note: type: verbatim
en:  virt-alignment-scan -a /path/to/disk.img
uk:  virt-alignment-scan -a /шлях/до/образу

note: type: textblock
en: Does the alignment report match how the guest partitions are aligned?
uk: Чи відповідає звіт щодо вирівнювання справжньому вирівнюванню розділів гостьової системи?

note: type: =head2
en: Run virt-cat on some files in guests.
uk: Запуск virt-cat для деяких файлів у гостьових системах.

note: type: textblock
en: L<virt-cat(1)> can display files from guests.  For a Linux guest, try:
uk: L<virt-cat(1)> може показувати файли у гостьових системах. Для гостьової системи Linux можете спробувати таку команду:

note: type: textblock
en: A recent feature is support for Windows paths, for example:
uk: Нещодавно реалізованою можливістю є підтримка шляхів у Windows. Приклад:

note: type: textblock
en: An even better test is if you have a Windows guest with multiple drives.  Do C<D:>, C<E:> etc paths work correctly?
uk: Ще потрібнішими будуть результати, якщо у вас є гостьова система Windows із декількома дисками. Чи працюють як слід шляхи C<D:>, C<E:> тощо?

note: type: =head2
en: B<*> Copy some files into a B<shut off> guest.
uk: B<*> Копіювати файли до B<вимкненої> гостьової системи.

note: type: textblock
en: L<virt-copy-in(1)> can recursively copy files and directories into a guest or disk image.
uk: L<virt-copy-in(1)> може рекурсивно копіювати файли і каталоги до гостьової системи або образу диска.

note: type: textblock
en: This should copy local directory F</etc> to F</tmp/etc> in the guest (recursively).  If you boot the guest, can you see all of the copied files and directories?
uk: Ця команда має скопіювати локальний каталог F</etc> до F</tmp/etc> у гостьовій системі (рекурсивно). Чи можете ви бачити усі скопійовані файли і каталоги після завантаження гостьової системи?

note: type: textblock
en: Shut the guest down and try copying multiple files and directories:
uk: Завершіть роботу гостьової системи і спробуйте скопіювати декілька файлів і каталогів:

note: type: =head2
en: Copy some files out of a guest.
uk: Копіювання якихось файлів з гостьової системи.

note: type: textblock
en: L<virt-copy-out(1)> can recursively copy files and directories out of a guest or disk image.
uk: L<virt-copy-out(1)> може рекурсивно копіювати файли і каталоги з гостьової системи або образу диска.

note: type: textblock
en: Note the final space and period in the command is not a typo.
uk: Зауважте, що завершальний пробіл і крапка у команді не є друкарською помилкою.

note: type: textblock
en: This should copy F</home> from the guest into the current directory.
uk: Це має скопіювати F</home> з гостьової системи до поточного каталогу.

note: type: =head2
en: Run virt-df.
uk: Виконайте virt-df.

note: type: textblock
en: L<virt-df(1)> lists disk space.  Run:
uk: L<virt-df(1)> показує список даних щодо простору на диску. Віддайте команду:

note: type: textblock
en: You can try comparing this to the results from L<df(1)> inside the guest, but there are some provisos:
uk: Ви можете порівняти результати виконання цієї команди із результатами виконання L<df(1)> всередині гостьової системи, але з урахуванням декількох особливостей:

note: type: textblock
en: The guest must be idle.
uk: Гостьова система має бути бездіяльною.

note: type: textblock
en: The guest disks must be synched using L<sync(1)>.
uk: Диски гостьової системи має бути синхронізовано за допомогою L<sync(1)>.

note: type: textblock
en: Any action such as booting the guest will write log files causing the numbers to change.
uk: Будь-яка дія, зокрема завантаження гостьової системи, призведе до запису файлів журналу і зміни числових даних.

note: type: textblock
en: We don’t guarantee that the numbers will be identical even under these circumstances.  They should be similar.  It would indicate a bug if you saw greatly differing numbers.
uk: Ми не гарантуємо, що числа будуть ідентичними навіть з урахуванням цих обставин. Вони можуть бути подібними. Про ваду свідчитиме лише суттєва відмінність у показаних числових даних.

note: type: =head2
en: Try importing virt-df CSV output into a spreadsheet or database.
uk: Спроба імпортування виведених virt-df даних у форматі CSV до електронної таблиці або бази даних.

note: type: textblock
en: Now try to load this into your favorite spreadsheet or database.  Are the results reproduced faithfully in the spreadsheet/database?
uk: Тепер спробуйте завантажити ці дані до вашої улюбленої програми для керування електронними таблицями або бази даних. Чи відтворюються результати відповідним чином у електронній таблиці або базі даних?

note: type: =head2
en: B<*> Edit a file in a B<shut off> guest.
uk: B<*> Редагування файла у B<вимкненій> гостьовій системі.

note: type: textblock
en: L<virt-edit(1)> can edit files in guests.  Try this command on a RHEL or Fedora guest:
uk: Програма L<virt-edit(1)> здатна редагувати файли усередині гостьових систем. Спробуйте цю команду на гостьовій системі RHEL або Fedora:

note: type: textblock
en: On other Linux guests try editing other files such as:
uk: У інших гостьових системах Linux спробуйте редагувати інші файли, наприклад такі:

note: type: textblock
en: Are the changes seen inside the guest when it is booted?
uk: Чи можна побачити зміни у гостьовій системі після її завантаження?

note: type: =head2
en: Display the filesystems / partitions / LVs in a guest.
uk: Показ файлових систем, розділів, логічних томів у гостьовій системі.

note: type: textblock
en: L<virt-filesystems(1)> can be used to display filesystems in a guest.  Try this command on any disk image or guest:
uk: Програмою L<virt-filesystems(1)> можна скористатися для перегляду файлових систем у гостьовій системі. Спробуйте цю команду на будь-якому образі диска або гостьовій системі:

note: type: verbatim
en:  virt-filesystems -a /path/to/disk.img --all --long -h
uk:  virt-filesystems -a /шлях/до/образу --all --long -h

note: type: textblock
en: Do the results match what is seen in the guest?
uk: Чи збігаються результати із тими, які можна бачити у гостьовій системі?

note: type: =head2
en: Run virt-inspector on all your guests.
uk: Запустіть virt-inspector для всіх ваших гостьових систем.

note: type: textblock
en: Use L<virt-inspector(1)> to get a report on all of your guests or disk images:
uk: Скористайтеся L<virt-inspector(1)> для отримання звіту щодо усіх ваших гостьових систем або образів дисків:

note: type: verbatim
en:  virt-inspector -a /path/to/disk.img | less
uk:  virt-inspector -a /шлях/до/образу | less

note: type: textblock
en: Do the results match what is actually in the guest?
uk: Чи відповідають результати тим, які насправді є у гостьовій системі?

note: type: textblock
en: If you have an unusual guest (a rare Linux distro, a very new version of Windows), does virt-inspector recognize it? If not, then it's probably a bug.
uk: Якщо у вас є нетипова гостьова система (давній дистрибутив Linux, свіжа версія Windows), чи розпізнає її virt-inspector? Якщо ні, ймовірно, це вада у програмі.

note: type: =head2
en: Try the auditing features of virt-ls on all your guests.
uk: Перевірка можливостей аудиту virt-ls на усіх ваших гостьових системах.

note: type: textblock
en: Display files larger than 10MB in home directories:
uk: Щоб переглянути список файлів у домашніх каталогах, розмір яких перевищує 10 МБ:

note: type: textblock
en: Do the results match what is in the guest?
uk: Чи збігаються результати із тими, які можна бачити у гостьовій системі?

note: type: =head2
en: Create a disk image from a tarball.
uk: Створення образу диска з архіву tar.

note: type: textblock
en: Use L<virt-make-fs(1)> to create a disk image from any tarball that you happen to have:
uk: Скористайтеся L<virt-make-fs(1)> для створення образу диска з будь-якого архіву tar, який у вас є:

note: type: verbatim
en:  virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img
uk:  virt-make-fs --partition=mbr --type=vfat /десь/якийсь.tar.gz образ_результат.img

note: type: textblock
en: Add ‘output.img’ as a raw disk to an existing guest.  Check the guest can see the files.  This test is particularly useful if you try it with a Windows guest.
uk: Додайте «образ_результат.img» як звичайний (raw) диск до наявної гостьової системи. Перевірте, чи бачить гостьова система файли. Цей тест зокрема корисний, якщо ви спробуєте зробити це із гостьовою системою Windows.

note: type: textblock
en: Try other partitioning schemes, eg. I<--partition=gpt>.
uk: Спробуйте інші схеми поділу на диски, наприклад I<--partition=gpt>.

note: type: textblock
en: Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>.
uk: Спробуйте інші формати файлових систем, наприклад I<--type=ntfs>, I<--type=ext2>.

note: type: =head2
en: B<*> Run virt-rescue on a B<shut off> disk image or guest.
uk: B<*> Запуск virt-rescue для обробки B<вимкненого> образу диска або гостьової системи.

note: type: textblock
en: Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or disk image:
uk: Скористайтеся L<virt-rescue(1)> для інспектування, порятунку або відновлення B<вимкненої> гостьової системи або образу диска:

note: type: verbatim
en:  virt-rescue -a /path/to/disk.img
uk:  virt-rescue -a /шлях/до/образу.img

note: type: textblock
en: Can you use ordinary shell commands to examine the guest?
uk: Чи можна скористатися звичайними командами оболонки для вивчення гостьової системи?

note: type: =head2
en: B<*> Resize your guests.
uk: B<*> Зміна розмірів ваших гостьових систем.

note: type: textblock
en: Use L<virt-resize(1)> to give a guest some more disk space.  For example, if you have a disk image that is smaller than 30G, increase it to 30G by doing:
uk: Скористайтеся L<virt-resize(1)> для надання гостьовій системі додаткового місця. Наприклад, якщо образ диска менший за 30 ГБ, збільште його до 30 ГБ такими командами:

note: type: verbatim
en:  truncate -s 30G newdisk.img
     virt-filesystems -a /path/to/olddisk.img --all --long -h
     virt-resize /path/to/olddisk.img newdisk.img --expand /dev/sda1
     qemu-kvm -m 1024 -hda newdisk.img
uk:  truncate -s 30G новий_диск.img
     virt-filesystems -a /шлях/до/старий_диск.img --all --long -h
     virt-resize /шлях/до/старий_диск.img новий_диск.img --expand /dev/sda1
     qemu-kvm -m 1024 -hda новий_диск.img

note: type: textblock
en: Does the guest still boot? Try expanding other partitions.
uk: Чи завантажується після цього гостьова система? Спробуйте розширити інші розділи.

note: type: =head2
en: B<*> Sparsify a guest disk.
uk: B<*> Ущільнення диска у гостьовій системі.

note: type: textblock
en: Using L<virt-sparsify(1)>, make a disk image more sparse:
uk: За допомогою L<virt-sparsify(1)> зменшіть образ диска:

note: type: verbatim
en:  virt-sparsify /path/to/olddisk.img newdisk.img
uk:  virt-sparsify /шлях/до/старий_диск.img новий_диск.img

note: type: textblock
en: Is F<newdisk.img> still bootable after sparsifying? Is the resulting disk image smaller (use C<du> to check)?
uk: Чи можна завантажити F<новий_диск.img> після ущільнення? Чи є диск-результат меншим (скористайтеся C<du>, щоб перевірити це)?

note: type: =head2
en: Build and boot a guest
uk: Збирання і завантаження гостьової системи

note: type: textblock
en: Using L<virt-builder(1)>, choose a guest from the list:
uk: За допомогою L<virt-builder(1)> виберіть гостьову систему зі списку:

note: type: textblock
en: build it:
uk: зберіть її:

note: type: verbatim
en:  virt-builder -o disk.img [os-version from list above]
uk:  virt-builder -o диск.img [версія операційної системи з наведеного вище списку]

note: type: textblock
en: and boot it:
uk: і завантажте її:

note: type: verbatim
en:  qemu-kvm -cpu host -m 2048 -drive file=disk.img,format=raw
uk:  qemu-kvm -cpu host -m 2048 -drive file=диск.img,format=raw

note: type: textblock
en: Does it boot?
uk: Чи завантажується система?

note: type: =head2
en: B<*> "Sysprep" a B<shut off> Linux guest.
uk: B<*> Виконання «sysprep» для B<вимкненої> гостьової системи Linux.

note: type: textblock
en: B<Note> that this really will mess up an existing guest, so it's better to clone the guest before trying this.
uk: B<Зауважте>, ця дія насправді може зашкодити наявній гостьовій системі, отже варто створити клон гостьової системи, перш ніж намагатися виконати тестування.

note: type: verbatim
en:  virt-sysprep --hostname newhost.example.com -a /path/to/disk.img
uk:  virt-sysprep --hostname newhost.example.com -a /шлях/до/диск.img

note: type: textblock
en: Was the sysprep successful? After booting, what changes were made and were they successful?
uk: Чи успішно виконано sysprep? Які зміни внесено після завантаження і чи були вони успішними?

note: type: =head2
en: Dump the Windows Registry from your Windows guests.
uk: Створення дампу реєстру Windows з ваших гостьових систем Windows.

note: type: textblock
en: Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows guests that you have.
uk: Скористайтеся L<virt-win-reg(1)> для створення дампу реєстру Windows з наявних у вас гостьових систем Windows.

note: type: textblock
en: Does the output match running C<regedit> inside the guest?
uk: Чи відповідають отримані дані тому, що можна побачити за допомогою C<regedit> у гостьовій системі?

note: type: textblock
en: A recent feature is the ability to dump user registries, so try this, replacing I<username> with the name of a local user in the guest:
uk: Нещодавно реалізованою можливістю є можливість створення дампів реєстрів користувачів. Отже, вам слід перевірити і її, замінивши рядок I<користувач> на ім'я локального користувача у гостьовій системі:

note: type: verbatim
en:  virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\username' |
       less
uk:  virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\користувач' |
       less

note: type: textblock
en: Copyright (C) 2011-2012 Red Hat Inc.
uk: © Red Hat Inc., 2011–2012

note: type: =head2
en: Subdirectory F<lib>
uk: Підкаталог F<lib>

note: type: =head3
en: File F<lib/actions-support.c>
uk: Файл F<lib/actions-support.c>

note: type: textblock
en: Helper functions for the actions code in F<lib/actions-*.c>.
uk: Допоміжні функції для коду дій у F<lib/actions-*.c>.

note: type: =head3
en: File F<lib/appliance-cpu.c>
uk: Файл F<lib/appliance-cpu.c>

note: type: textblock
en: The appliance choice of CPU model.
uk: Вибір у базовій системі моделі процесора.

note: type: =head4
en: Function C<lib/appliance-cpu.c:guestfs_int_get_cpu_model>
uk: Функція C<lib/appliance-cpu.c:guestfs_int_get_cpu_model>

note: type: textblock
en: Return the right CPU model to use as the qemu C<-cpu> parameter or its equivalent in libvirt.  This returns:
uk: Повертає правильну модель процесора, яку використано як аргумент параметра C<-cpu> qemu або його еквівалента у libvirt. Повертає таке:

note: type: textblock
en: The literal string C<"host"> means use C<-cpu host>.
uk: Рядок-літерал C<"host"> означає використання C<-cpu host>.

note: type: =item
en: some string
uk: якийсь рядок

note: type: textblock
en: Some string such as C<"cortex-a57"> means use C<-cpu cortex-a57>.
uk: Якийсь рядок, зокрема C<"cortex-a57"> означає використання C<-cpu cortex-a57>.

note: type: textblock
en: C<NULL> means no C<-cpu> option at all.  Note returning C<NULL> does not indicate an error.
uk: C<NULL> означає, що параметр C<-cpu> взагалі не використано. Зауважте, що повернуте C<NULL> не означає, що сталася помилка.

note: type: textblock
en: This is made unnecessarily hard and fragile because of two stupid choices in QEMU:
uk: Визначення є занадто складним і неточним через два дурнуватих вибори, які було зроблено розробниками QEMU:

note: type: textblock
en: The default for C<qemu-system-aarch64 -M virt> is to emulate a C<cortex-a15> (WTF?).
uk: Типовим призначенням C<qemu-system-aarch64 -M virt> є емуляція C<cortex-a15> (якого біса?).

note: type: textblock
en: We don't know for sure if KVM will work, but C<-cpu host> is broken with TCG, so we almost always pass a broken C<-cpu> flag if KVM is semi-broken in any way.
uk: Ми не знаємо напевне, чи спрацює KVM, але C<-cpu host> не працює з TCG, тому ми майже завжди передаватимемо помилковий прапорець C<-cpu>, якщо KVM якимось чином спрацює із помилками.

note: type: =head3
en: File F<lib/appliance-kcmdline.c>
uk: Файл F<lib/appliance-kcmdline.c>

note: type: textblock
en: The appliance kernel command line.
uk: Рядок команди ядра базової системи.

note: type: =head4
en: Definition C<lib/appliance-kcmdline.c:VALID_TERM>
uk: Визначення C<lib/appliance-kcmdline.c:VALID_TERM>

note: type: textblock
en: Check that the $TERM environment variable is reasonable before we pass it through to the appliance.
uk: Перевірка того, що змінна середовища $TERM має коректне значення, до того, як її буде передано до базової системи.

note: type: =head4
en: Function C<lib/appliance-kcmdline.c:get_root_uuid>
uk: Функція C<lib/appliance-kcmdline.c:get_root_uuid>

note: type: textblock
en: Given a disk image containing an extX filesystem, return the UUID.  The L<file(1)> command does the hard work.
uk: За вказаним образом диска, що містить файлову систему extX, повертає UUID. Основну роботу виконує програма L<file(1)>.

note: type: =head4
en: Function C<lib/appliance-kcmdline.c:guestfs_int_appliance_command_line>
uk: Функція C<lib/appliance-kcmdline.c:guestfs_int_appliance_command_line>

note: type: textblock
en: Construct the Linux command line passed to the appliance.  This is used by the C<direct> and C<libvirt> backends, and is simply located in this file because it's a convenient place for this common code.
uk: Будує рядок команди Linux, який буде передано базовій системі. Використовується у модулях C<direct> і C<libvirt> і просто зберігається у цьому файлі, оскільки він є зручним місцем для цього загального коду.

note: type: textblock
en: The C<appliance> parameter is the filename of the appliance (could be NULL) from which we obtain the root UUID.
uk: Параметр C<appliance> є назвою файла базової системи (може бути NULL), з якої ми отримуємо кореневий UUID.

note: type: textblock
en: The C<flags> parameter can contain the following flags logically or'd together (or 0):
uk: Параметр C<flags> може містити такі прапорці, які поєднано між собою логічним АБО (або 0):

note: type: textblock
en: If we are launching a qemu TCG guest (ie. KVM is known to be disabled or unavailable).  If you don't know, don't pass this flag.
uk: Чи запускаємо ми гостьову систему TCG qemu (тобто, чи відомо, що KVM вимкнено або є недоступним). Якщо ці дані не є відомими, не передавайте цей прапорець.

note: type: textblock
en: Note that this function returns a newly allocated buffer which must be freed by the caller.
uk: Зауважте, що ця функція повертає новоотриманий буфер, який має вивільнити функція, якою викликано цю функцію.

note: type: =head3
en: File F<lib/appliance-uefi.c>
uk: Файл F<lib/appliance-uefi.c>

note: type: textblock
en: Find the UEFI firmware needed to boot the appliance.
uk: Пошук мікропрограми UEFI, потрібної для завантаження базової системи.

note: type: textblock
en: See also F<lib/uefi.c> (autogenerated file) containing the firmware file locations.
uk: Див. також F<lib/uefi.c> (автоматично створений файл), де містяться дані щодо розташування файлів мікропрограм.

note: type: =head4
en: Function C<lib/appliance-uefi.c:guestfs_int_get_uefi>
uk: Функція C<lib/appliance-uefi.c:guestfs_int_get_uefi>

note: type: textblock
en: Return the location of firmware needed to boot the appliance.  This is aarch64 only currently, since that's the only architecture where UEFI is mandatory (and that only for RHEL).
uk: Повертає розташування мікропрограми, потрібної для завантаження базової системи. У поточній версії призначено лише для aarch64, оскільки це єдина архітектура, для якої UEFI є обов'язковою (і лише для RHEL).

note: type: textblock
en: C<firmwares> is an optional list of allowed values for the firmware autoselection of libvirt. It is C<NULL> to indicate it is not supported. C<*firmware> is set to one of the strings in C<firmwares> in case one can be used.
uk: C<firmwares> є необов'язковим списком дозволених значень для автоматичного вибору мікропрограми у libvirt. Значення C<NULL> вказує на те, що такої підтримки такої можливості не передбачено. C<*firmware> встановлюється у значення одного з рядків у C<firmwares>, якщо мікропрограму може бути використано.

note: type: textblock
en: C<*code> is initialized with the path to the read-only UEFI code file.  C<*vars> is initialized with the path to a copy of the UEFI vars file (which is cleaned up automatically on exit).
uk: C<*code> ініціалізується значенням шляху до придатного лише до читання файла коду UEFI. C<*vars> ініціалізується значенням шляху до копії файла vars UEFI (який автоматично спорожняється під час виходу).

note: type: textblock
en: In case a UEFI firmare is available, either C<*firmware> is set to a non-C<NULL> value, or C<*code> and C<*vars> are.
uk: Якщо доступна мікропрограма UEFI, або C<*firmware> буде встановлено значення, відмінне від C<NULL>, або буде встановлено ненульові значення C<*code> і C<*vars>.

note: type: textblock
en: C<*code> and C<*vars> should be freed by the caller, and C<*firmware> B<must> not.
uk: C<*code> і C<*vars> має бути вивільнено функцією виклику, а C<*firmware> — B<ні>.

note: type: textblock
en: If the function returns C<-1> then there was a real error which should cause appliance building to fail (no UEFI firmware is not an error).
uk: Якщо функція повертає C<-1>, сталася суттєва помилка, якам має спричинити помилку при збиранні базової системи (незнайдена мікропрограма UEFI не вважається помилкою).

note: type: textblock
en: See also F<virt-v2v.git/v2v/utils.ml>:find_uefi_firmware
uk: Див. також F<virt-v2v.git/v2v/utils.ml>:find_uefi_firmware

note: type: =head3
en: File F<lib/appliance.c>
uk: Файл F<lib/appliance.c>

note: type: textblock
en: This file deals with building the libguestfs appliance.
uk: Цей файл відповідає за збирання базової системи libguestfs.

note: type: =head4
en: Function C<lib/appliance.c:guestfs_int_build_appliance>
uk: Функція C<lib/appliance.c:guestfs_int_build_appliance>

note: type: textblock
en: Locate or build the appliance.
uk: Знайти або зібрати базову систему.

note: type: textblock
en: This function locates or builds the appliance as necessary, handling the supermin appliance, caching of supermin-built appliances, or using either a fixed or old-style appliance.
uk: Ця функція знаходить або збирає базову систему, обробляючи базову систему supermin, кешуючи базові системи supermin-built або використовуючи фіксовану базову систему або базову систему у застарілому стилі.

note: type: textblock
en: The return value is C<0> = good, C<-1> = error.  Returned in C<appliance.kernel> will be the name of the kernel to use, C<appliance.initrd> the name of the initrd, C<appliance.image> the name of the ext2 root filesystem.  C<appliance.image> can be C<NULL>, meaning that we are using an old-style (non-ext2) appliance.  All three strings must be freed by the caller.  However the referenced files themselves must I<not> be deleted.
uk: Повертає значення C<0> = усе добре або C<-1> = помилка. У C<appliance.kernel> буде повернуто назву використаного ядра, у C<appliance.initrd> — назву initrd, у C<appliance.image> — назву кореневої файлової системи ext2. C<appliance.image> може мати значення C<NULL>, що означатиме, що використовується базова система у застарілому стилі (не ext2). Усі три рядки має бути звільнено функцією, яка викликає цю функцію. Втім, самі файли, на які вказують змінні, вилучати I<не> слід.

note: type: textblock
en: The process is as follows:
uk: Процедура така:

note: type: textblock
en: Look in C<path> which contains a supermin appliance skeleton.  If no element has this, skip straight to step 3.
uk: Виконати пошук у C<path>, де міститься каркас базової системи supermin. Якщо немає елемента з відповідним вмістом, перейти безпосередньо до кроку 3.

note: type: textblock
en: Call C<supermin --build> to build the full appliance (if it needs to be rebuilt).  If this is successful, return the full appliance.
uk: Викликати C<supermin --build> для збирання повної базової системи (якщо потрібне її перезбирання). Якщо збирання виконано успішно, повернути повну базову систему.

note: type: textblock
en: Check C<path>, looking for a fixed appliance.  If one is found, return it.
uk: Виконати пошук у C<path> фіксованої базової системи. Якщо таку знайдено, повернути її.

note: type: textblock
en: Check C<path>, looking for an old-style appliance.  If one is found, return it.
uk: Виконати пошук у C<path> базової системи у застарілому стилі. Якщо таку знайдено, повернути її.

note: type: textblock
en: The supermin appliance cache directory lives in F<$TMPDIR/.guestfs-$UID/> and consists of up to four files:
uk: Каталог кешу базової системи supermin знаходиться у F<$TMPDIR/.guestfs-$UID/> і містить до чотирьох файлів:

note: type: verbatim
en:   $TMPDIR/.guestfs-$UID/lock            - the supermin lock file
      $TMPDIR/.guestfs-$UID/appliance.d/kernel - the kernel
      $TMPDIR/.guestfs-$UID/appliance.d/initrd - the supermin initrd
      $TMPDIR/.guestfs-$UID/appliance.d/root   - the appliance
uk:   $TMPDIR/.guestfs-$UID/lock            - файл блокування supermin
      $TMPDIR/.guestfs-$UID/appliance.d/kernel - ядро
      $TMPDIR/.guestfs-$UID/appliance.d/initrd - inird supermin
      $TMPDIR/.guestfs-$UID/appliance.d/root   - базова система

note: type: textblock
en: Multiple instances of libguestfs with the same UID may be racing to create an appliance.  However (since supermin E<ge> 5) supermin provides a I<--lock> flag and atomic update of the F<appliance.d> subdirectory.
uk: Можливий конкурентний конфлікт між екземплярами libguestfs із одним UID під час створення базової системи. Втім, (починаючи з supermin E<ge> 5) у supermin передбачено прапорець I<--lock> та атомарне оновлення підкаталогу F<appliance.d>.

note: type: =head4
en: Function C<lib/appliance.c:locate_or_build_appliance>
uk: Функція C<lib/appliance.c:locate_or_build_appliance>

note: type: textblock
en: Check C<path>, looking for one of appliances: supermin appliance, fixed appliance or old-style appliance.  If one of the fixed appliances is found, return it.  If the supermin appliance skeleton is found, build and return appliance.
uk: Перевірити C<path> у пошуку однієї із базових систем: базової системи supermin, фіксованої базової системи або базової системи у застарілому стилі. Якщо буде знайдено одну з фіксованих базових систем, повернути її. Якщо буде знайдено каркас базової системи supermin, зібрати і повернути базову систему.

note: type: textblock
en: Return values:
uk: Повернуті значення:

note: type: verbatim
en:   1 = appliance is found, returns C<appliance>,
      0 = appliance not found,
     -1 = error which aborts the launch process.
uk:   1 = базову систему знайдено, повертає C<appliance>,
      0 = базову систему не знайдено,
     -1 = помилка, яка перервала процес запуску.

note: type: =head4
en: Function C<lib/appliance.c:search_appliance>
uk: Функція C<lib/appliance.c:search_appliance>

note: type: textblock
en: Search elements of C<g-E<gt>path>, returning the first C<appliance> element which matches the predicate function C<locate_or_build_appliance>.
uk: Шукати елементи C<g-E<gt>path>, повернувши перший елемент C<appliance>, який відповідає предикативній функції C<locate_or_build_appliance>.

note: type: verbatim
en:   1 = a path element matched, returns C<appliance>,
      0 = no path element matched,
     -1 = error which aborts the launch process.
uk:   1 = встановлено відповідність елемента шляху, повертає C<appliance>,
      0 = не встановлено відповідності елемента шляху,
     -1 = помилка, яка перервала процес запуску.

note: type: =head4
en: Function C<lib/appliance.c:build_supermin_appliance>
uk: Функція C<lib/appliance.c:build_supermin_appliance>

note: type: textblock
en: Build supermin appliance from C<supermin_path> to F<$TMPDIR/.guestfs-$UID>.
uk: Зібрати базову систему supermin з C<supermin_path> до F<$TMPDIR/.guestfs-$UID>.

note: type: textblock
en: Returns: C<0> = built or C<-1> = error (aborts launch).
uk: Повертає: C<0> = зібрано або C<-1> = помилка (перериває запуск).

note: type: =head4
en: Function C<lib/appliance.c:run_supermin_build>
uk: Функція C<lib/appliance.c:run_supermin_build>

note: type: textblock
en: Run C<supermin --build> and tell it to generate the appliance.
uk: Запускає C<supermin --build> і наказати програмі створити базову систему.

note: type: =head4
en: Function C<lib/appliance.c:dir_contains_file>
uk: Функція C<lib/appliance.c:dir_contains_file>

note: type: textblock
en: Returns true iff C<file> is contained in C<dir>.
uk: Повертає true тоді і лише тоді, коли C<файл> міститься у C<каталозі>.

note: type: =head4
en: Function C<lib/appliance.c:dir_contains_files>
uk: Функція C<lib/appliance.c:dir_contains_files>

note: type: textblock
en: Returns true iff every listed file is contained in C<dir>.
uk: Повертає true тоді і лише тоді, коли усі файли зі списку містяться у C<каталозі>.

note: type: =head3
en: File F<lib/command.c>
uk: Файл F<lib/command.c>

note: type: textblock
en: A wrapper for running external commands, loosely based on libvirt's C<virCommand> interface.
uk: Обгортка для запуску зовнішніх програм, широко заснована на інтерфейсі C<virCommand> libvirt.

note: type: textblock
en: In outline to use this interface you must:
uk: У загальних рисах для використання цього інтерфейсу вам слід:

note: type: textblock
en: Create a new command handle:
uk: Створити новий обробник команд:

note: type: textblock
en: I<Either> add arguments:
uk: I<І або> додати аргументи:

note: type: textblock
en: (B<NB:> You don't need to add a C<NULL> argument at the end.)
uk: (B<Зауваження:> потреби у додаванні аргументу C<NULL> наприкінці немає.)

note: type: textblock
en: I<Or> construct a command using a mix of quoted and unquoted strings.  (This is useful for L<system(3)>/C<popen("r")>-style shell commands, with the added safety of allowing args to be quoted properly).
uk: I<Або> побудувати команду на основі поєднання рядків у лапках і рядків без лапок. (Це корисно для команд оболонки у стилі L<system(3)>/C<popen("r")> з додатковим захистом, що уможливлює належне використання лапок у аргументах).

note: type: textblock
en: Set various flags, such as whether you want to capture errors in the regular libguestfs error log.
uk: Встановити різноманітні прапорці, зокрема такі, які визначають, чи хочете ви перехоплювати помилки у звичайному журналі помилок libguestfs.

note: type: textblock
en: Run the command.  This is what does the L<fork(2)> call, optionally loops over the output, and then does a L<waitpid(3)> and returns the exit status of the command.
uk: Виконати команду. Це завдання виконується шляхом виклику L<fork(2)>, необов'язкової циклічної обробки виведених даних, а потім виконання L<waitpid(3)> і повернення стану виходу команди.

note: type: verbatim
en:  r = guestfs_int_cmd_run (cmd);
     if (r == -1)
       // error
     // else test r using the WIF* functions
uk:  r = guestfs_int_cmd_run (cmd);
     if (r == -1)
       // помилка
     // else перевірити r за допомогою функцій WIF*

note: type: textblock
en: Close the handle:
uk: Закрити обробник:

note: type: textblock
en: (or use C<CLEANUP_CMD_CLOSE>).
uk: (або скористайтеся C<CLEANUP_CMD_CLOSE>).

note: type: =head4
en: Function C<lib/command.c:guestfs_int_new_command>
uk: Функція C<lib/command.c:guestfs_int_new_command>

note: type: textblock
en: Create a new command handle.
uk: Створити обробник команд.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_add_arg>
uk: Функція C<lib/command.c:guestfs_int_cmd_add_arg>

note: type: textblock
en: Add single arg (for C<execv>-style command execution).
uk: Додати одинарний аргумент (для виконання команди у стилі C<execv>).

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_add_arg_format>
uk: Функція C<lib/command.c:guestfs_int_cmd_add_arg_format>

note: type: textblock
en: Add single arg (for C<execv>-style command execution)  using a L<printf(3)>-style format string.
uk: Додати одинарний аргумент (для виконання команди у стилі C<execv>), використовуючи рядок форматування у стилі L<printf(3)>.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_add_string_unquoted>
uk: Функція C<lib/command.c:guestfs_int_cmd_add_string_unquoted>

note: type: textblock
en: Add a string (for L<system(3)>-style command execution).
uk: Додати рядок (для виконання команди у стилі L<system(3)>).

note: type: textblock
en: This variant adds the strings without quoting them, which is dangerous if the string contains untrusted content.
uk: Цей варіант додає рядки без лапок, що є небезпечним, якщо рядок містить неперевірені дані.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_add_string_quoted>
uk: Функція C<lib/command.c:guestfs_int_cmd_add_string_quoted>

note: type: textblock
en: The string is enclosed in double quotes, with any special characters within the string which need escaping done.  This is used to add a single argument to a L<system(3)>-style command string.
uk: Рядок у подвійних лапках із усіма спеціальними символами у рядку, які має бути екрановано. Використовується для додавання одинарного аргументу до рядка команди L<system(3)>.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_set_stdout_callback>
uk: Функція C<lib/command.c:guestfs_int_cmd_set_stdout_callback>

note: type: textblock
en: Set a callback which will capture stdout.
uk: Встановити зворотний виклик, який перехоплюватиме дані із stdout.

note: type: textblock
en: If flags contains C<CMD_STDOUT_FLAG_LINE_BUFFER> (the default), then the callback is called line by line on the output.  If there is a trailing C<\n> then it is automatically removed before the callback is called.  The line buffer is C<\0>-terminated.
uk: Якщо у прапорцях міститься C<CMD_STDOUT_FLAG_LINE_BUFFER> (типовий варіант), зворотний виклик виконуватиметься для кожного рядка у виведених даних. Якщо у даних буде кінцевий C<\n>, його буде автоматично вилучено перед зворотним викликом. Буфер рядків завершуватиметься символом C<\0>.

note: type: textblock
en: If flags contains C<CMD_STDOUT_FLAG_UNBUFFERED>, then buffers are passed to the callback as it is received from the command.  Note in this case the buffer is I<not> C<\0>-terminated, so you need to may attention to the length field in the callback.
uk: Якщо у прапорцях міститиметься C<CMD_STDOUT_FLAG_UNBUFFERED>, буфери буде передано зворотному виклику так, як їх було отримано від команди. Зауважте, що у цьому випадку буфер I<не> завершуватиметься символом C<\0>, отже, вам доведеться приділити увагу полю довжини (length) у зворотному виклику.

note: type: textblock
en: If flags contains C<CMD_STDOUT_FLAG_WHOLE_BUFFER>, then the callback is called exactly once, with the entire buffer.  Note in this case the buffer is I<not> C<\0>-terminated, so you need to may attention to the length field in the callback.
uk: Якщо у прапорцях міститься C<CMD_STDOUT_FLAG_WHOLE_BUFFER>, зворотний виклик буде виконано точно один раз для усього буфера. Зауважте, що у цьому випадку буфер I<не> завершуватиметься символом C<\0>, отже, вам доведеться приділити увагу полю довжини (length) у зворотному виклику.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_set_stderr_to_stdout>
uk: Функція C<lib/command.c:guestfs_int_cmd_set_stderr_to_stdout>

note: type: textblock
en: Equivalent to adding C<2E<gt>&1> to the end of the command.  This is incompatible with the C<capture_errors> flag, because it doesn't make sense to combine them.
uk: Еквівалент додавання C<2E<gt>&1> наприкінці команди. Є несумісним із прапорцем C<capture_errors>, оскільки їхнє поєднання немає сенсу.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_clear_capture_errors>
uk: Функція C<lib/command.c:guestfs_int_cmd_clear_capture_errors>

note: type: textblock
en: Clear the C<capture_errors> flag.  This means that any errors will go to stderr, instead of being captured in the event log, and that is usually undesirable.
uk: Знімає прапорець C<capture_errors>. Це означає, що усі повідомлення про помилки буде спрямовано до stderr, замість перехоплення до журналу подій. Зазвичай, така поведінка є небажаною.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_clear_close_files>
uk: Функція C<lib/command.c:guestfs_int_cmd_clear_close_files>

note: type: textblock
en: Don't close file descriptors after the fork.
uk: Не закривати дескриптори файлів після розгалуження.

note: type: textblock
en: XXX Should allow single fds to be sent to child process.
uk: XXX Має уможливити надсилання одинарних дескрипторів файлів до дочірнього процесу.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_set_child_callback>
uk: Функція C<lib/command.c:guestfs_int_cmd_set_child_callback>

note: type: textblock
en: Set a function to be executed in the child, right before the execution.  Can be used to setup the child, for example changing its current directory.
uk: Встановити функцію, яку слід виконати у дочірньому процесі, безпосередньо перед виконанням. Можна скористатися для налаштовування дочірнього процесу, наприклад, для зміни його поточного каталогу.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_set_child_rlimit>
uk: Функція C<lib/command.c:guestfs_int_cmd_set_child_rlimit>

note: type: textblock
en: Set up child rlimits, in case the process we are running could consume lots of space or time.
uk: Налаштувати rlimits дочірнього процесу. Для випадків, коли процес може споживати надто багато пам'яті або часу процесора.

note: type: =head4
en: Function C<lib/command.c:finish_command>
uk: Функція C<lib/command.c:finish_command>

note: type: textblock
en: Finish off the command by either C<NULL>-terminating the argv array or adding a terminating C<\0> to the string, or die with an internal error if no command has been added.
uk: Завершити команду або завершенням C<NULL> масиву argv, або завершенням символом C<\0> рядка, або завершити роботу із внутрішньою помилкою, якщо не було додано жодної команди.

note: type: =head4
en: Function C<lib/command.c:loop>
uk: Функція C<lib/command.c:loop>

note: type: textblock
en: The loop which reads errors and output and directs it either to the log or to the stdout callback as appropriate.
uk: Цикл, який читає помилки і виведення і спрямовує його до журналу або до зворотного виклику stdout, відповідно.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_run>
uk: Функція C<lib/command.c:guestfs_int_cmd_run>

note: type: textblock
en: Fork, run the command, loop over the output, and waitpid.
uk: Створити відгалуження, запустити команду, очікувати на виведені дані та отримати waitpid.

note: type: textblock
en: Returns the exit status.  Test it using C<WIF*> macros.
uk: Повертає стан виходу. Перевірити можна за допомогою макросів C<WIF*>.

note: type: textblock
en: On error: Calls C<error> and returns C<-1>.
uk: Якщо помилка: викликає C<error> і повертає C<-1>.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_pipe_run>
uk: Функція C<lib/command.c:guestfs_int_cmd_pipe_run>

note: type: textblock
en: Fork and run the command, but don't wait.  Roughly equivalent to S<C<popen (..., "r"|"w")>>.
uk: Створити відгалуження і запустити команду, але не чекати завершення. Приблизний еквівалент S<C<popen (..., "r"|"w")>>.

note: type: textblock
en: Returns the file descriptor of the pipe, connected to stdout (C<"r">) or stdin (C<"w">) of the child process.
uk: Повертає дескриптор файла каналу обробки, з'єднаного із stdout (C<"r">) або stdin (C<"w">) дочірнього процесу.

note: type: textblock
en: After reading/writing to this pipe, call C<guestfs_int_cmd_pipe_wait> to wait for the status of the child.
uk: Після читання або запису даних до цього каналу обробки викличте C<guestfs_int_cmd_pipe_wait>, щоб зачекати на стан дочірнього процесу.

note: type: textblock
en: Errors from the subcommand cannot be captured to the error log using this interface.  Instead the caller should call C<guestfs_int_cmd_get_pipe_errors> (after C<guestfs_int_cmd_pipe_wait> returns an error).
uk: За допомогою цього інтерфейсу не можна перехоплювати помилки від підкоманд. Для цього слід викликати C<guestfs_int_cmd_get_pipe_errors> (після C<guestfs_int_cmd_pipe_wait> повертає помилку).

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_pipe_wait>
uk: Функція C<lib/command.c:guestfs_int_cmd_pipe_wait>

note: type: textblock
en: Wait for a subprocess created by C<guestfs_int_cmd_pipe_run> to finish.  On error (eg. failed syscall) this returns C<-1> and sets the error.  If the subcommand fails, then use C<WIF*> macros to check this, and call C<guestfs_int_cmd_get_pipe_errors> to read the error messages printed by the child.
uk: Зачекати на завершення підпроцесу, створеного за допомогою C<guestfs_int_cmd_pipe_run>. При помилці (наприклад, помилці системного виклику) повертає C<-1> і встановлює помилку. Якщо спроба виконати підкоманду завершується помилкою, скористайтеся макросами C<WIF*> для перевірки і викличте C<guestfs_int_cmd_get_pipe_errors>, щоб прочитати повідомлення про помилку, які виводяться дочірнім процесом.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_get_pipe_errors>
uk: Функція C<lib/command.c:guestfs_int_cmd_get_pipe_errors>

note: type: textblock
en: Read the error messages printed by the child.  The caller must free the returned buffer after use.
uk: Прочитати повідомлення про помилки, які виводяться дочірнім процесом. Функція виклику має звільнити повернутий буфер після використання.

note: type: =head4
en: Function C<lib/command.c:guestfs_int_cmd_close>
uk: Функція C<lib/command.c:guestfs_int_cmd_close>

note: type: textblock
en: Close the C<cmd> object and free all resources.
uk: Закрити об'єкт C<cmd> і вивільнити усі ресурси.

note: type: =head4
en: Function C<lib/command.c:process_line_buffer>
uk: Функція C<lib/command.c:process_line_buffer>

note: type: textblock
en: Deal with buffering stdout for the callback.
uk: Обробити буферизацію stdout для зворотного виклику.

note: type: =head3
en: File F<lib/conn-socket.c>
uk: Файл F<lib/conn-socket.c>

note: type: textblock
en: This file handles connections to the child process where this is done over regular POSIX sockets.
uk: Цей файл обробляє з'єднання із дочірнім процесом, де це завдання виконується за допомогою звичайних сокетів POSIX.

note: type: =head4
en: Function C<lib/conn-socket.c:handle_log_message>
uk: Функція C<lib/conn-socket.c:handle_log_message>

note: type: textblock
en: This is called if C<conn-E<gt>console_sock> becomes ready to read while we are doing one of the connection operations above.  It reads and deals with the log message.
uk: Викликається, якщо C<conn-E<gt>console_sock> стає готовим до читання, доки ми виконуємо одну із вказаних вище дій зі з'єднання. Читає і обробляє повідомлення журналу.

note: type: textblock
en: Returns:
uk: Повертає:

note: type: textblock
en: log message(s) were handled successfully
uk: повідомлення журналу було оброблено успішно

note: type: textblock
en: connection to appliance closed
uk: з'єднання із базовою системою розірвано

note: type: =item
en: error
uk: помилка

note: type: =head4
en: Function C<lib/conn-socket.c:guestfs_int_new_conn_socket_listening>
uk: Функція C<lib/conn-socket.c:guestfs_int_new_conn_socket_listening>

note: type: textblock
en: Create a new socket connection, listening.
uk: Створити з'єднання сокета, очікуючи на дані.

note: type: textblock
en: Note that it's OK for C<console_sock> to be passed as C<-1>, meaning there's no console available for this appliance.
uk: Зауважте, що нормальним є передавання C<console_sock> як C<-1>, що означає, що для цієї базової системи немає доступної консолі.

note: type: textblock
en: After calling this, C<daemon_accept_sock> is owned by the connection, and will be closed properly either in C<accept_connection> or C<free_connection>.
uk: Після виклику цієї функції C<daemon_accept_sock> належатиме з'єднанню, його буде належним чином закрито або у C<accept_connection>, або у C<free_connection>.

note: type: =head4
en: Function C<lib/conn-socket.c:guestfs_int_new_conn_socket_connected>
uk: Функція C<lib/conn-socket.c:guestfs_int_new_conn_socket_connected>

note: type: textblock
en: Create a new socket connection, connected.
uk: Створити з'єднання сокета, з'єднане.

note: type: textblock
en: As above, but the caller passes us a connected C<daemon_sock> and promises not to call C<accept_connection>.
uk: Як і вище, але функція виклику передає нам з'єднаний C<daemon_sock> і обіцяє не викликати C<accept_connection>.

note: type: =head3
en: File F<lib/create.c>
uk: Файл F<lib/create.c>

note: type: textblock
en: APIs for creating empty disks.
uk: Програмні інтерфейси для створення порожніх дисків.

note: type: textblock
en: Mostly this consists of wrappers around the L<qemu-img(1)> program.
uk: Здебільшого, містить обгортки навколо програми L<qemu-img(1)>.

note: type: =head4
en: Definition C<lib/create.c:VALID_FORMAT>
uk: Визначення C<lib/create.c:VALID_FORMAT>

note: type: textblock
en: Check for valid backing format.  Allow any C<^[[:alnum]]+$> (in C locale), but limit the length to something reasonable.
uk: Перевірити коректність резервного формату. Можливий будь-який C<^[[:alnum]]+$> (у локалі C), але із обмеженням довжини до чогось прийнятного.

note: type: =head3
en: File F<lib/drives.c>
uk: Файл F<lib/drives.c>

note: type: textblock
en: Drives added are stored in an array in the handle.  Code here manages that array and the individual C<struct drive> data.
uk: Додані диски зберігаються у масиві у дескрипторі. Код тут керує цим масивом та окремими даними C<struct drive>.

note: type: =head4
en: Function C<lib/drives.c:create_overlay>
uk: Функція C<lib/drives.c:create_overlay>

note: type: textblock
en: For readonly drives, create an overlay to protect the original drive content.  Note we never need to clean up these overlays since they are created in the temporary directory and deleted when the handle is closed.
uk: Для придатних лише для читання дисків створити накладку для захисту початкового вмісту диска. Зауважте, що ми ніколи не потребуватимемо чищення цих накладок, оскільки вони створюються у тимчасовому каталозі, отже їх буде вилучено одразу після закриття дескриптора.

note: type: =head4
en: Function C<lib/drives.c:create_drive_file>
uk: Функція C<lib/drives.c:create_drive_file>

note: type: textblock
en: Create and free the C<struct drive>.
uk: Створити і звільнити C<struct drive>.

note: type: =head4
en: Function C<lib/drives.c:create_drive_dev_null>
uk: Функція C<lib/drives.c:create_drive_dev_null>

note: type: textblock
en: Create the special F</dev/null> drive.
uk: Створити спеціальний диск F</dev/null>.

note: type: textblock
en: Traditionally you have been able to use F</dev/null> as a filename, as many times as you like.  Ancient KVM (RHEL 5) cannot handle adding F</dev/null> readonly.  qemu 1.2 + virtio-scsi segfaults when you use any zero-sized file including F</dev/null>.
uk: Традиційно, ви могли використовувати F</dev/null> як назву файла довільну кількість разів. Давні версії KVM (RHEL 5) не можуть обробляти додавання F</dev/null> як придатного лише до читання. qemu 1.2 + virtio-scsi аварійно завершує роботу із помилкою сегментації, якщо ви використовуєте будь-який файл нульового розміру, зокрема F</dev/null>.

note: type: textblock
en: Because of these problems, we replace F</dev/null> with a non-zero sized temporary file.  This shouldn't make any difference since users are not supposed to try and access a null drive.
uk: Через ці проблеми ми заміняємо F</dev/null> на тимчасовий файл ненульового розміру. Це нічого не змінює, оскільки, вважається, що користувачі не повинні намагатися отримати доступу до порожнього диска.

note: type: =head4
en: Function C<lib/drives.c:drive_to_string>
uk: Функція C<lib/drives.c:drive_to_string>

note: type: textblock
en: Convert a C<struct drive> to a string for debugging.  The caller must free this string.
uk: Перетворити C<struct drive> на рядок для діагностики. Функція виклику має звільнити цей рядок.

note: type: =head4
en: Function C<lib/drives.c:add_drive_to_handle_at>
uk: Функція C<lib/drives.c:add_drive_to_handle_at>

note: type: textblock
en: Add C<struct drive> to the C<g-E<gt>drives> vector at the given index C<drv_index>.  If the array isn't large enough it is reallocated.  The index must not contain a drive already.
uk: Додати C<struct drive> до вектора C<g-E<gt>drives> із вказаним індексом C<drv_index>. Якщо масив є недостатньо великим, він розміщується у пам'яті повторно. У покажчику не повинно бути запису диска.

note: type: =head4
en: Function C<lib/drives.c:add_drive_to_handle>
uk: Функція C<lib/drives.c:add_drive_to_handle>

note: type: textblock
en: Add struct drive to the end of the C<g-E<gt>drives> vector in the handle.
uk: Додати структуру drive наприкінці вектора C<g-E<gt>drives> у дескрипторі.

note: type: =head4
en: Function C<lib/drives.c:guestfs_int_add_dummy_appliance_drive>
uk: Функція C<lib/drives.c:guestfs_int_add_dummy_appliance_drive>

note: type: textblock
en: Called during launch to add a dummy slot to C<g-E<gt>drives>.
uk: Викликається під час запуску для додавання фіктивного слоту до C<g-E<gt>drives>.

note: type: =head4
en: Function C<lib/drives.c:guestfs_int_free_drives>
uk: Функція C<lib/drives.c:guestfs_int_free_drives>

note: type: textblock
en: Free up all the drives in the handle.
uk: Вивільнити усі диски у дескрипторі.

note: type: =head4
en: Definition C<lib/drives.c:VALID_FORMAT_IFACE>
uk: Визначення C<lib/drives.c:VALID_FORMAT_IFACE>

note: type: textblock
en: Check string parameter matches regular expression C<^[-_[:alnum:]]+$> (in C locale).
uk: Перевірити, чи відповідає рядковий параметр формальному виразу C<^[-_[:alnum:]]+$> (у локалі C).

note: type: =head4
en: Definition C<lib/drives.c:VALID_DISK_LABEL>
uk: Визначення C<lib/drives.c:VALID_DISK_LABEL>

note: type: textblock
en: Check the disk label is reasonable.  It can't contain certain characters, eg. C<'/'>, C<','>.  However be stricter here and ensure it's just alphabetic and E<le> 20 characters in length.
uk: Перевірка, чи є мітка диска коректною. У мітці не повинно бути певних символів, зокрема C<'/'>, C<','>.  Втім, тут ми будемо ще строгіші: лише літери і цифри, E<le> 20 символів.

note: type: =head4
en: Definition C<lib/drives.c:VALID_HOSTNAME>
uk: Визначення C<lib/drives.c:VALID_HOSTNAME>

note: type: textblock
en: Check the server hostname is reasonable.
uk: Перевірити, чи є значення назви вузла сервера прийнятним.

note: type: =head4
en: Function C<lib/drives.c:valid_port>
uk: Функція C<lib/drives.c:valid_port>

note: type: textblock
en: Check the port number is reasonable.
uk: Перевірити, чи є значення номеру порту прийнятним.

note: type: =head4
en: Function C<lib/drives.c:valid_blocksize>
uk: Функція C<lib/drives.c:valid_blocksize>

note: type: textblock
en: Check the block size is reasonable.  It can't be other then 512 or 4096.
uk: Перевірка того, чи є розмір блоку природним. Розмір може мати лише два значення — 512 або 4096.

note: type: =head4
en: Function C<lib/drives.c:guestfs_impl_remove_drive>
uk: Функція C<lib/drives.c:guestfs_impl_remove_drive>

note: type: textblock
en: This function implements L<guestfs(3)/guestfs_remove_drive>.
uk: Ця функція реалізує L<guestfs(3)/guestfs_remove_drive>.

note: type: textblock
en: Depending on whether we are hotplugging or not, this function does slightly different things: If not hotplugging, then the drive just disappears as if it had never been added.  The later drives "move up" to fill the space.  When hotplugging we have to do some complex stuff, and we usually end up leaving an empty (C<NULL>) slot in the C<g-E<gt>drives> vector.
uk: Залежно від того, чи виконується з'єднання «у гарячу», ця функція виконує дещо різні речі: якщо з'єднання «у гарячу» немає, диск просто зникає, наче його ніколи не додавали. Це призводить до «пересування вище» з метою заповнення місця. Якщо з'єднання «у гарячу» увімкнено, доведеться виконати дещо складнішу операцію, яка, зазвичай, завершується полишенням порожнього слоту (C<NULL>) у векторі C<g-E<gt>drives>.

note: type: =head4
en: Function C<lib/drives.c:guestfs_int_checkpoint_drives>
uk: Функція C<lib/drives.c:guestfs_int_checkpoint_drives>

note: type: textblock
en: Checkpoint and roll back drives, so that groups of drives can be added atomically.  Only used by L<guestfs(3)/guestfs_add_domain>.
uk: Створити контрольну точку і відновити до неї диски, щоб групи дисків можна було додавати атомарно. Використовується лише у L<guestfs(3)/guestfs_add_domain>.

note: type: =head4
en: Function C<lib/drives.c:guestfs_impl_debug_drives>
uk: Функція C<lib/drives.c:guestfs_impl_debug_drives>

note: type: textblock
en: Internal function to return the list of drives.
uk: Внутрішня функція для отримання списку дисків.

note: type: =head3
en: File F<lib/errors.c>
uk: Файл F<lib/errors.c>

note: type: textblock
en: This file handles errors, and also debug, trace and warning messages.
uk: Цей файл призначено для обробки помилок, а також повідомлень щодо діагностики, трасування та попереджень.

note: type: textblock
en: Errors in libguestfs API calls are handled by setting an error message and optional errno in the handle.  The caller has the choice of testing API calls to find out if they failed and then querying the last error from the handle, and/or getting a callback.
uk: Помилки у викликає програмного інтерфейсу libguestfs обробляються встановленням повідомлення про помилку і необов'язкового номер помилку у дескрипторі. Функція виклику може перевірити виклики програмного інтерфейсу з метою визначення, чи зможуть вони працювати, з наступним опитування дескриптора щодо останньої помилки і/або отриманням зворотного виклику.

note: type: textblock
en: From the point of view of the library source, generally you should use the C<error> or C<perrorf> macros along error paths, eg:
uk: З точки зору коду бібліотеки, загалом, ви маєте використовувати макроси C<error> або C<perrorf> разом із шляхами помилок. Приклад:

note: type: verbatim
en:  if (something_bad) {
       error (g, "something bad happened");
       return -1;
     }
uk:  if (щось_погане) {
       error (g, "сталося щось погане");
       return -1;
     }

note: type: textblock
en: Make sure to call the C<error> or C<perrorf> macro exactly once along each error path, since the handle can only store a single error and the previous error will be overwritten.
uk: Переконайтеся, що виклики макросів C<error> і C<perrorf> виконуються точно один раз для кожного шляху помилки, оскільки дескриптор може зберігати лише одну помилку, усі попередні помилки буде перезаписано.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_warning>
uk: Функція C<lib/errors.c:guestfs_int_warning>

note: type: textblock
en: Print a warning.
uk: Виводить попередження.

note: type: textblock
en: Code should I<not> call this function directly.  Use the S<C<warning (g, fs, ...)>> macro.
uk: I<Не слід> викликати цю функцію безпосередньо. Скористайтеся макросом S<C<warning (g, fs, ...)>>.

note: type: textblock
en: Warnings are printed unconditionally.  We try to make these rare: Generally speaking, a warning should either be an error, or if it's not important for end users then it should be a debug message.
uk: Виведення попереджень є безумовним. Ми намагаємося зробити так, щоб попередження виводилися нечасто: загалом кажучи, попередження або свідчить про помилку, або є неважливим для кінцевого користувача, отже може бути перетворене у діагностичне повідомлення.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_debug>
uk: Функція C<lib/errors.c:guestfs_int_debug>

note: type: textblock
en: Print a debug message.
uk: Виводить діагностичне повідомлення.

note: type: textblock
en: Code should I<not> call this function directly.  To add debug messages in the library, use the S<C<debug (g, fs, ...)>> macro.  The macro checks if C<g-E<gt>verbose> is false and avoids the function call, meaning the macro is more efficient.
uk: I<Не слід> викликати цю функцію безпосередньо. Щоб додати діагностичне повідомлення до бібліотеки, скористайтеся макросом S<C<debug (g, fs, ...)>>. Макрос перевіряє, чи дорівнює C<g-E<gt>verbose> false і уникає виклику функції, що означає, що макрос є ефективнішим за безпосереднє використання функції.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_trace>
uk: Функція C<lib/errors.c:guestfs_int_trace>

note: type: textblock
en: Print a trace message.
uk: Виводить повідомлення трасування.

note: type: textblock
en: Do not call this function.  All calls are generated automatically.
uk: Не викликайте цю функцію. Усі виклики буде створено автоматично.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_error_errno>
uk: Функція C<lib/errors.c:guestfs_int_error_errno>

note: type: textblock
en: Set the last error and errno in the handle, and optionally raise the error callback if one is defined.
uk: Встановити значення останньої помилки і номер помилки у дескрипторі, і, необов'язково, виконати зворотний виклик помилки, якщо такий визначено.

note: type: textblock
en: If you don't need to set errno, use the S<C<error (g, fs, ...)>> macro instead of calling this directly.  If you need to set errno then there is no macro wrapper, so calling this function directly is fine.
uk: Якщо вам не потрібно встановлювати номер помилки, варто скористатися макросом S<C<error (g, fs, ...)>> замість безпосереднього виклику цієї функції. Якщо вам потрібно встановити номер помилки, обгортки у форматі макросу не передбачено, тому доведеться викликати функцію безпосередньо.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_perrorf>
uk: Функція C<lib/errors.c:guestfs_int_perrorf>

note: type: textblock
en: Similar to L<perror(3)>, but it sets the last error in the handle, raises the error callback if one is defined, and supports format strings.
uk: Подібна до L<perror(3)>, але встановлює останню помилку у дескрипторі, видає зворотний виклик помилки, якщо такий визначено і підтримує рядки форматування.

note: type: textblock
en: You should probably use the S<C<perrorf (g, fs, ...)>> macro instead of calling this directly.
uk: Вам варто скористатися макросом S<C<perrorf (g, fs, ...)>> macro instead of calling this directly.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_launch_failed_error>
uk: Функція C<lib/errors.c:guestfs_int_launch_failed_error>

note: type: textblock
en: Raise a launch failed error in a standard format.
uk: Видати помилку запуску у стандартному форматі.

note: type: textblock
en: Since this is the most common error seen by people who have installation problems, buggy qemu, etc, and since no one reads the FAQ, describe in this error message what resources are available to debug launch problems.
uk: Оскільки це найпоширеніша помилка, яку бачать ті, хто мають проблеми зі встановленням, помилками у qemu тощо, і оскільки ніхто не читає відповідей на поширені питання, опишіть у цьому повідомленні про помилку ресурси, якими можна скористатися для діагностики проблем із запуском.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_unexpected_close_error>
uk: Функція C<lib/errors.c:guestfs_int_unexpected_close_error>

note: type: textblock
en: Raise an error if the appliance unexpectedly crashes after launch.
uk: Видати помилку, якщо базова система неочікувано завершує роботу у аварійному режимі після запуску.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_launch_timeout>
uk: Функція C<lib/errors.c:guestfs_int_launch_timeout>

note: type: textblock
en: Raise an error if the appliance hangs during launch.
uk: Видати помилку, якщо базова система повисає під час запуску.

note: type: =head4
en: Function C<lib/errors.c:guestfs_int_external_command_failed>
uk: Функція C<lib/errors.c:guestfs_int_external_command_failed>

note: type: textblock
en: Raise an error if an external command fails.
uk: Видати помилку, якщо спроба виконати зовнішню команду завершується невдало.

note: type: textblock
en: C<status> is the status code of the command (eg. returned from L<waitpid(2)> or L<system(3)>).  This function turns the status code into an explanatory string.
uk: C<status> — код стану команди (наприклад, повернутий L<waitpid(2)> або L<system(3)>). Ця функція перетворює код стану на рядок із поясненням.

note: type: =head3
en: File F<lib/events.c>
uk: Файл F<lib/events.c>

note: type: =head4
en: Function C<lib/events.c:replace_old_style_event_callback>
uk: Функція C<lib/events.c:replace_old_style_event_callback>

note: type: textblock
en: Emulate old-style callback API.
uk: Емулювати програмний інтерфейс зворотного виклику у застарілому стилі.

note: type: textblock
en: There were no event handles, so multiple callbacks per event were not supported.  Calling the same C<guestfs_set_*_callback> function would replace the existing event.  Calling it with C<cb == NULL> meant that the caller wanted to remove the callback.
uk: Дескрипторів подій не було, тому підтримки декількох зворотних викликів для однієї події не передбачено. Виклик тієї самої функції C<guestfs_set_*_callback> призведе до заміни наявного запису події. Виклик із C<cb == NULL> означає, що функція виклику хоче вилучити зворотний виклик.

note: type: =head3
en: File F<lib/guestfs-internal-all.h>
uk: Файл F<lib/guestfs-internal-all.h>

note: type: textblock
en: This header contains definitions which are shared by all parts of libguestfs, ie. the daemon, the library, language bindings and virt tools (ie. I<all> C code).
uk: У цьому файлі заголовків містяться визначення, які є спільним для усіх частин libguestfs, тобто фонової служби, бібліотеки, прив'язок до мов та засобів віртуалізації (тобто I<усього> коду мовою C).

note: type: textblock
en: If you need a definition used by only the library, put it in F<lib/guestfs-internal.h> instead.
uk: Якщо вам потрібне визначення, яке використовується лише у бібліотеці, краще розмістіть його у F<lib/guestfs-internal.h>.

note: type: textblock
en: If a definition is used by only a single tool, it should not be in any shared header file at all.
uk: Якщо визначення використовується лише одним інструментом, його не варто розміщувати у спільному файлі заголовків взагалі.

note: type: =head3
en: File F<lib/guestfs-internal.h>
uk: Файл F<lib/guestfs-internal.h>

note: type: textblock
en: This header file is included in the libguestfs library (F<lib/>)  only.
uk: Цей файл заголовків включається лише до бібліотеки libguestfs (F<lib/>).

note: type: textblock
en: See also F<lib/guestfs-internal-all.h>.
uk: Див. також F<lib/guestfs-internal-all.h>.

note: type: =head4
en: Structure C<lib/guestfs-internal.h:event>
uk: Структура C<lib/guestfs-internal.h:event>

note: type: verbatim
en:    /* opaque2 is not exposed through the API, but is used internally to
        * emulate the old-style callback API.
        */
       void *opaque2;
     };
uk:    /* opaque2 не розкривається у програмному інтерфейсі, але використовується
        * на внутрішньому рівні для емуляції програмного інтерфейсу у застарілому стилі.
        */
       void *opaque2;
     };

note: type: textblock
en: This struct is used to maintain a list of events registered against the handle.  See C<g-E<gt>events> in the handle.
uk: Ця структура використовується для супроводу списку подій, зареєстрованих для дескриптора. Див. C<g-E<gt>events> у дескрипторі.

note: type: =head4
en: Structure C<lib/guestfs-internal.h:drive>
uk: Структура C<lib/guestfs-internal.h:drive>

note: type: verbatim
en:  struct drive {
       /* Original source of the drive, eg. file:..., http:... */
       struct drive_source src;
uk:  struct drive {
       /* Джерело диска, наприклад file:..., http:... */
       struct drive_source src;

note: type: verbatim
en:    /* If the drive is readonly, then an overlay [a local file] is
        * created before launch to protect the original drive content, and
        * the filename is stored here.  Backends should open this file if
        * it is non-NULL, else consult the original source above.
        *
        * Note that the overlay is in a backend-specific format, probably
        * different from the source format.  eg. qcow2, UML COW.
        */
       char *overlay;
uk:    /* Якщо диск призначено лише для читання, перед запуском
        * створюється накладка [локальний файл] для захисту
        * початкових даних на диску. Назва файла накладки
        * зберігається тут. Модулі обробки мають відкрити цей файл,
        * якщо він не є порожнім, якщо ж файл порожній
        * звернутися до початкового джерела даних.
        *
        * Зауважте, що накладка є специфічним для модуля
        * обробки форматом, який відрізняється від початкового,
        * наприклад, qcow2, UML COW.
        */
       char *overlay;

note: type: verbatim
en:    /* Various per-drive flags. */
       bool readonly;
       char *iface;
       char *name;
       char *disk_label;
       char *cachemode;
       enum discard discard;
       bool copyonread;
       int blocksize;
     };
uk:    /* Різноманітні прапорці диска. */
       bool readonly;
       char *iface;
       char *name;
       char *disk_label;
       char *cachemode;
       enum discard discard;
       bool copyonread;
       int blocksize;
     };

note: type: textblock
en: There is one C<struct drive> per drive, including hot-plugged drives.
uk: Для кожного диска, зокрема і для дисків, які з'єднуються у «гарячому» режимі, є окрема структура C<struct drive>.

note: type: =head4
en: Structure C<lib/guestfs-internal.h:backend_ops>
uk: Структура C<lib/guestfs-internal.h:backend_ops>

note: type: verbatim
en:  struct backend_ops {
       /* Size (in bytes) of the per-handle data structure needed by this
        * backend.  The data pointer is allocated and freed by libguestfs
        * and passed to the functions in the 'void *data' parameter.
        * Inside the data structure is opaque to libguestfs.  Any strings
        * etc pointed to by it must be freed by the backend during
        * shutdown.
        */
       size_t data_size;
uk:  struct backend_ops {
       /* Розмір (у байтах) для структури даних окремого дескриптора,
        * потрібний для цього модуля обробки. Вказівник на дані
        * розміщується у пам'яті і звільняється libguestfs і
        * передається функціям у параметрі «void *data».
        * Нутрощі структури даних є невидимими для libguestfs. Усі
        * рядки, на які вона вказує, має бути звільнено модулем
        * обробки під час завершення роботи.
        */
       size_t data_size;

note: type: verbatim
en:    /* Create a COW overlay on top of a drive.  This must be a local
        * file, created in the temporary directory.  This is called when
        * the drive is added to the handle.
        */
       char *(*create_cow_overlay) (guestfs_h *g, void *data, struct drive *drv);
uk:    /* Створення накладки COW над диском. Це має бути локальний
        * файл, створений у тимчасовому каталозі. Викликається, коли
        * до дескриптора додається диск.
        */
       char *(*create_cow_overlay) (guestfs_h *g, void *data, struct drive *drv);

note: type: verbatim
en:    /* Launch and shut down. */
       int (*launch) (guestfs_h *g, void *data, const char *arg);
       int (*shutdown) (guestfs_h *g, void *data, int check_for_errors);
uk:    /* Запуск і вимикання. */
       int (*launch) (guestfs_h *g, void *data, const char *arg);
       int (*shutdown) (guestfs_h *g, void *data, int check_for_errors);

note: type: verbatim
en:    /* Miscellaneous. */
       int (*get_pid) (guestfs_h *g, void *data);
       int (*max_disks) (guestfs_h *g, void *data);
uk:    /* Інше. */
       int (*get_pid) (guestfs_h *g, void *data);
       int (*max_disks) (guestfs_h *g, void *data);

note: type: verbatim
en:    /* Hotplugging drives. */
       int (*hot_add_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);
       int (*hot_remove_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);
     };
uk:    /* З'єднуємо диски у «гарячому» режимі. */
       int (*hot_add_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);
       int (*hot_remove_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);
     };

note: type: textblock
en: Backend operations.
uk: Дії модуля.

note: type: textblock
en: Each backend (eg. libvirt, direct) defines some functions which get run at various places in the handle lifecycle (eg. at launch, shutdown).  The backend defines this struct pointing to those functions.
uk: Кожен модуль (зокрема libvirt, direct) визначає певні функції, які запускаються під час різних частин життєвого циклу дескриптора (наприклад, під час запуску або завершення роботи). Модуль обробки визначає цю структур, яка вказує на такі функції.

note: type: =head4
en: Structure C<lib/guestfs-internal.h:connection>
uk: Структура C<lib/guestfs-internal.h:connection>

note: type: verbatim
en:    /* In the real struct, private data used by each connection module
        * follows here.
        */
     };
uk:    /* У справжній структурі тут має бути вказано приватні дані,
        * які використовуються кожним модулем з'єднання.
        */
     };

note: type: textblock
en: Connection module.
uk: Модуль з'єднання.

note: type: textblock
en: A C<connection> represents the appliance console connection plus the daemon connection.  It hides the underlying representation (POSIX sockets, C<virStreamPtr>).
uk: C<connection> відповідає з'єднанню із консоллю базової системи і з'єднанню із фоновою службою. Вона приховує підлегле представлення (сокети POSIX, C<virStreamPtr>).

note: type: =head4
en: Structure C<lib/guestfs-internal.h:cached_feature>
uk: Структура C<lib/guestfs-internal.h:cached_feature>

note: type: textblock
en: Cache of queried features.
uk: Кеш запитаних можливостей.

note: type: textblock
en: Used to cache the appliance features (see F<lib/available.c>).
uk: Використовується для кешування можливостей базової системи (див. F<lib/available.c>).

note: type: =head4
en: Structure C<lib/guestfs-internal.h:guestfs_h>
uk: Структура C<lib/guestfs-internal.h:guestfs_h>

note: type: verbatim
en:  struct guestfs_h {
       struct guestfs_h *next;	/* Linked list of open handles. */
       enum state state;             /* See the state machine diagram in guestfs(3)*/
uk:  struct guestfs_h {
       struct guestfs_h *next;	/* Пов'язаний список відкритих дескрипторів. */
       enum state state;             /* Див. діаграму скінченного автомата у guestfs(3)*/

note: type: verbatim
en:    /* Lock acquired when entering any public guestfs_* function to
        * protect the handle.
        */
       gl_recursive_lock_define (, lock);
uk:    /* Для захисту дескриптора надсилається запит щодо
        * блокування під час входу до будь-якої публічної
        * функціїg guestfs_*.
        */
       gl_recursive_lock_define (, lock);

note: type: verbatim
en:    /**** Configuration of the handle. ****/
       bool verbose;                 /* Debugging. */
       bool trace;                   /* Trace calls. */
       bool autosync;                /* Autosync. */
       bool direct_mode;             /* Direct mode. */
       bool recovery_proc;           /* Create a recovery process. */
       bool enable_network;          /* Enable the network. */
       bool selinux;                 /* selinux enabled? */
       bool pgroup;                  /* Create process group for children? */
       bool close_on_exit;           /* Is this handle on the atexit list? */
uk:    /**** Налаштування дескриптора. ****/
       bool verbose;                 /* Діагностика. */
       bool trace;                   /* Трасування викликів. */
       bool autosync;                /* Автоматична синхронізація. */
       bool direct_mode;             /* Безпосередній режим. */
       bool recovery_proc;           /* Створення процесу відновлення. */
       bool enable_network;          /* Вмикання мережі. */
       bool selinux;                 /* Чи увімкнено selinux? */
       bool pgroup;                  /* Створювати групу для дочірніх процесів? */
       bool close_on_exit;           /* Чи є цей дескриптор у списку atexit? */

note: type: verbatim
en:    int smp;                      /* If > 1, -smp flag passed to hv. */
       int memsize;			/* Size of RAM (megabytes). */
uk:    int smp;                      /* Якщо > 1, гіпервізору передається прапорець -smp. */
       int memsize;			/* Розмір оперативної пам'яті (у мегабайтах). */

note: type: verbatim
en:    char *path;			/* Path to the appliance. */
       char *hv;			/* Hypervisor (HV) binary. */
       char *append;			/* Append to kernel command line. */
uk:    char *path;			/* Шлях до базової системи. */
       char *hv;			/* Виконуваний файл гіпервізору (HV). */
       char *append;			/* Додаток до командного рядка ядра. */

note: type: verbatim
en:    struct hv_param *hv_params;   /* Extra hv parameters. */
uk:    struct hv_param *hv_params;   /* Додаткові параметри гіпервізору. */

note: type: verbatim
en:    char *program;                /* Program name. */
       char *identifier;             /* Handle identifier. */
uk:    char *program;                /* Назва програми. */
       char *identifier;             /* Ідентифікатор дескриптора. */

note: type: verbatim
en:    /* Array of drives added by add-drive* APIs.
        *
        * Before launch this list can be empty or contain some drives.
        *
        * During launch, a dummy slot may be added which represents the
        * slot taken up by the appliance drive.
        *
        * When hotplugging is supported by the backend, drives can be
        * added to the end of this list after launch.  Also hot-removing a
        * drive causes a NULL slot to appear in the list.
        *
        * During shutdown, this list is deleted, so that each launch gets a
        * fresh set of drives (however callers: don't do this, create a new
        * handle each time).
        *
        * Always use ITER_DRIVES macro to iterate over this list!
        */
       struct drive **drives;
       size_t nr_drives;
uk:    /* Масив дисків, доданих за допомогою програмних інтерфейсів
        * add-drive*.
        *
        * До запуску цей список може бути порожнім або містити якісь
        * диски.
        *
        * Під час запуску може бути додано фіктивний слот, який
        * відповідає слоту, зайнятому диском базової системи.
        *
        * Якщо у модулі обробки передбачено з'єднання у гарячому
        * режимі, диски після запуску може бути додано наприкінці
        * списку. Також вилучення у «гарячому» режимі призведе
        * до появи слоту NULL у списку.
        *
        * Під час вимикання системи цей список вилучається, отже
        * кожен запуск оновлює список дисків (втім, у викликах на
        * це не слід покладатися, слід кожного разу створювати
        * дескриптор).
        *
        * Завжди використовуйте макрос ITER_DRIVES для ітерації
        * цим списком!
        */
       struct drive **drives;
       size_t nr_drives;

note: type: verbatim
en:    /* Backend.  NB: Use guestfs_int_set_backend to change the backend. */
       char *backend;                /* The full string, always non-NULL. */
       char *backend_arg;            /* Pointer to the argument part. */
       const struct backend_ops *backend_ops;
       void *backend_data;           /* Per-handle data. */
       char **backend_settings;      /* Backend settings (can be NULL). */
uk:    /* Модуль обробки. NB: користуйтеся guestfs_int_set_backend для зміни модуля. */
       char *backend;                /* Повний рядок, завжди не NULL. */
       char *backend_arg;            /* Вказівник на частину аргументів. */
       const struct backend_ops *backend_ops;
       void *backend_data;           /* Дані окремого дескриптора. */
       char **backend_settings;      /* Параметри модуля (може бути NULL). */

note: type: verbatim
en:    /**** Runtime information. ****/
       /* Temporary and cache directories. */
       /* The actual temporary directory - this is not created with the
        * handle, you have to call guestfs_int_lazy_make_tmpdir.
        */
       char *tmpdir;
       char *sockdir;
       /* Environment variables that affect tmpdir/cachedir/sockdir locations. */
       char *env_tmpdir;             /* $TMPDIR (NULL if not set) */
       char *env_runtimedir;         /* $XDG_RUNTIME_DIR (NULL if not set)*/
       char *int_tmpdir;   /* $LIBGUESTFS_TMPDIR or guestfs_set_tmpdir or NULL */
       char *int_cachedir; /* $LIBGUESTFS_CACHEDIR or guestfs_set_cachedir or NULL */
uk:    /**** Інформація щодо середовища запуску. ****/
       /* Тимчасовий каталог і каталог кешу. */
       /* Справжній тимчасовий каталог — не створений за допомогою
        * дескриптора, вам слід викликати guestfs_int_lazy_make_tmpdir.
        */
       char *tmpdir;
       char *sockdir;
       /* Змінні середовища, які впливають на розташування tmpdir/cachedir/sockdir. */
       char *env_tmpdir;             /* $TMPDIR (NULL, якщо не встановлено) */
       char *env_runtimedir;         /* $XDG_RUNTIME_DIR (NULL, якщо не встановлено)*/
       char *int_tmpdir;   /* $LIBGUESTFS_TMPDIR or guestfs_set_tmpdir або NULL */
       char *int_cachedir; /* $LIBGUESTFS_CACHEDIR, або guestfs_set_cachedir, або NULL */

note: type: verbatim
en:    /* Error handler, plus stack of old error handlers. */
       gl_tls_key_t error_data;
uk:    /* Обробник помилок і стос старих обробників помилок. */
       gl_tls_key_t error_data;

note: type: verbatim
en:    /* Linked list of error_data structures allocated for this handle,
        * plus a mutex to protect the linked list.
        */
       gl_lock_define (, error_data_list_lock);
       struct error_data *error_data_list;
uk:    /* Пов'язаний список структур error_data, розміщених для цього дескриптора,
        * і семафор для захисту пов'язаного списку.
        */
       gl_lock_define (, error_data_list_lock);
       struct error_data *error_data_list;

note: type: verbatim
en:    /* Out of memory error handler. */
       guestfs_abort_cb           abort_cb;
uk:    /* Обробник станів нестачі пам'яті. */
       guestfs_abort_cb           abort_cb;

note: type: verbatim
en:    /* Events. */
       struct event *events;
       size_t nr_events;
uk:    /* Події. */
       struct event *events;
       size_t nr_events;

note: type: verbatim
en:    /* Private data area. */
       struct hash_table *pda;
       struct pda_entry *pda_next;
uk:    /* Область закритих (приватних) даних. */
       struct hash_table *pda;
       struct pda_entry *pda_next;

note: type: verbatim
en:    /* User cancelled transfer.  Not signal-atomic, but it doesn't
        * matter for this case because we only care if it is != 0.
        */
       int user_cancel;
uk:    /* Скасоване користувачем передавання. Не є атомарним
        * щодо сигналів, але це неважливо у цьому випадку,
        * оскільки нас цікавлять лише значення != 0.
        */
       int user_cancel;

note: type: verbatim
en:    struct timeval launch_t;      /* The time that we called guestfs_launch. */
uk:    struct timeval launch_t;      /* Час, коли ми викликали guestfs_launch. */

note: type: verbatim
en:    /* Used by bindtests. */
       FILE *test_fp;
uk:    /* Використовується bindtests. */
       FILE *test_fp;

note: type: verbatim
en:    /* Used to generate unique numbers, eg for temp files.  To use this,
        * '++g->unique'.  Note these are only unique per-handle, not
        * globally unique.
        */
       int unique;
uk:    /* Використовується для створення унікальних номерів, зокрема
        * для тимчасових файлів. Щоб скористатися цим, додайте
        * ++g->unique. Зауважте, що номери є унікальними лише для
        * окремих дескрипторів, а не на загальному рівні.
        */
       int unique;

note: type: verbatim
en:    /*** Protocol. ***/
       struct connection *conn;              /* Connection to appliance. */
       int msg_next_serial;
uk:    /*** Протокол. ***/
       struct connection *conn;              /* З'єднання із базовою системою. */
       int msg_next_serial;

note: type: verbatim
en:  #if HAVE_FUSE
       /**** Used by the mount-local APIs. ****/
       char *localmountpoint;
       struct fuse *fuse;                    /* FUSE handle. */
       int ml_dir_cache_timeout;             /* Directory cache timeout. */
       Hash_table *lsc_ht, *xac_ht, *rlc_ht; /* Directory cache. */
       int ml_read_only;                     /* If mounted read-only. */
       int ml_debug_calls;        /* Extra debug info on each FUSE call. */
     #endif
uk:  #if HAVE_FUSE
       /**** Використовується у програмних інтерфейсах mount-local. ****/
       char *localmountpoint;
       struct fuse *fuse;                    /* Обробник FUSE. */
       int ml_dir_cache_timeout;             /* Час очікування на кешування каталогів. */
       Hash_table *lsc_ht, *xac_ht, *rlc_ht; /* Кеш каталогів. */
       int ml_read_only;                     /* Чи змонтовано у режимі лише читання. */
       int ml_debug_calls;        /* Додаткові діагностичні дані для кожного виклику FUSE. */
     #endif

note: type: verbatim
en:  #ifdef HAVE_LIBVIRT_BACKEND
       /* Used by lib/libvirt-auth.c. */
     #define NR_CREDENTIAL_TYPES 9
       unsigned int nr_supported_credentials;
       int supported_credentials[NR_CREDENTIAL_TYPES];
       const char *saved_libvirt_uri; /* Doesn't need to be freed. */
       bool wrapper_warning_done;
       unsigned int nr_requested_credentials;
       virConnectCredentialPtr requested_credentials;
     #endif
uk:  #ifdef HAVE_LIBVIRT_BACKEND
       /* Використовується у lib/libvirt-auth.c. */
     #define NR_CREDENTIAL_TYPES 9
       unsigned int nr_supported_credentials;
       int supported_credentials[NR_CREDENTIAL_TYPES];
       const char *saved_libvirt_uri; /* Doesn't need to be freed. */
       bool wrapper_warning_done;
       unsigned int nr_requested_credentials;
       virConnectCredentialPtr requested_credentials;
     #endif

note: type: verbatim
en:    /* Cached features. */
       struct cached_feature *features;
       size_t nr_features;
uk:    /* Кешовані можливості. */
       struct cached_feature *features;
       size_t nr_features;

note: type: verbatim
en:    /* Used by lib/info.c.  -1 = not tested or error; else 0 or 1. */
       int qemu_img_supports_U_option;
     };
uk:    /* Використовується у lib/info.c.  -1 = не перевірялося або помилка; інакше, 0 або 1. */
       int qemu_img_supports_U_option;
     };

note: type: textblock
en: The libguestfs handle.
uk: Обробник libguestfs.

note: type: =head4
en: Structure C<lib/guestfs-internal.h:version>
uk: Структура C<lib/guestfs-internal.h:version>

note: type: textblock
en: Used for storing major.minor.micro version numbers.  See F<lib/version.c> for more information.
uk: Використовується для збереження номера версії у форматі основна.проміжна.мінорна. Див. F<lib/version.c>, щоб дізнатися більше.

note: type: =head3
en: File F<lib/guid.c>
uk: Файл F<lib/guid.c>

note: type: =head4
en: Function C<lib/guid.c:guestfs_int_validate_guid>
uk: Функція C<lib/guid.c:guestfs_int_validate_guid>

note: type: textblock
en: Check whether a string supposed to contain a GUID actually contains it.  It can recognize strings either as C<{21EC2020-3AEA-1069-A2DD-08002B30309D}> or C<21EC2020-3AEA-1069-A2DD-08002B30309D>.
uk: Перевірити, чи рядок, який, як вважається, містить GUID, справді містить коректне значення. Може розпізнавати рядки або як C<{21EC2020-3AEA-1069-A2DD-08002B30309D}>, або як C<21EC2020-3AEA-1069-A2DD-08002B30309D>.

note: type: =head3
en: File F<lib/handle.c>
uk: Файл F<lib/handle.c>

note: type: textblock
en: This file deals with the C<guestfs_h> handle, creating it, closing it, and initializing/setting/getting fields.
uk: Цей файл призначено для обробки дескриптора C<guestfs_h>, його створення, його закриття та ініціалізації, встановлення або отримання полів.

note: type: =head4
en: Function C<lib/handle.c:init_libguestfs>
uk: Функція C<lib/handle.c:init_libguestfs>

note: type: textblock
en: No initialization is required by libguestfs, but libvirt and libxml2 require initialization if they might be called from multiple threads.  Hence this constructor function which is called when libguestfs is first loaded.
uk: Ініціалізація з боку libguestfs не потрібна, але libvirt і libxml2 потребують ініціалізації, якщо їх може бути викликано з декількох потоків обробки. Отже, ця функція конструктора, яка викликається, якщо libguestfs вперше завантажена.

note: type: =head4
en: Function C<lib/handle.c:shutdown_backend>
uk: Функція C<lib/handle.c:shutdown_backend>

note: type: textblock
en: This function is the common path for shutting down the backend qemu process.
uk: Ця функція є стандартним шляхом завершення роботи процесу модуля обробки qemu.

note: type: textblock
en: C<guestfs_shutdown> calls C<shutdown_backend> with C<check_for_errors=1>.  C<guestfs_close> calls C<shutdown_backend> with C<check_for_errors=0>.
uk: C<guestfs_shutdown> викликає C<shutdown_backend> із C<check_for_errors=1>.  C<guestfs_close> викликає C<shutdown_backend> із C<check_for_errors=0>.

note: type: textblock
en: C<check_for_errors> is a hint to the backend about whether we care about errors or not.  In the libvirt case it can be used to optimize the shutdown for speed when we don't care.
uk: C<check_for_errors> є підказкою модулю обробки щодо того, чи зважаємо ми на помилки. У випадку libvirt ним можна скористатися для оптимізації часу завершення роботи, якщо ми не зважатимемо на помилки.

note: type: =head4
en: Function C<lib/handle.c:close_handles>
uk: Функція C<lib/handle.c:close_handles>

note: type: textblock
en: Close all open handles (called from L<atexit(3)>).
uk: Закрити усі відкриті дескриптори (викликається з L<atexit(3)>).

note: type: =head4
en: Function C<lib/handle.c:guestfs_int_get_backend_setting_bool>
uk: Функція C<lib/handle.c:guestfs_int_get_backend_setting_bool>

note: type: textblock
en: This is a convenience function, but we might consider exporting it as an API in future.
uk: Це зручна функція, але у майбутньому ми можемо розглянути можливість експортування її як програмного інтерфейсу.

note: type: =head3
en: File F<lib/info.c>
uk: Файл F<lib/info.c>

note: type: =head4
en: Function C<lib/info.c:qemu_img_supports_U_option>
uk: Функція C<lib/info.c:qemu_img_supports_U_option>

note: type: textblock
en: Test if the qemu-img info command supports the C<-U> option to disable locking.  The result is memoized in the handle.
uk: Перевіряє, чи передбачено у команді qemu-img info підтримку параметра C<-U> для вимикання блокування. Результат буде внесено у пам'ять параметра функції.

note: type: textblock
en: Note this option was added in qemu 2.11.  We can remove this test when we can assume everyone is using qemu >= 2.11.
uk: Зауважте, що цей параметр було додано у qemu 2.11. Ми можемо вилучити цю перевірку, коли будемо певні, що усі користуються qemu >= 2.11.

note: type: =head3
en: File F<lib/inspect-icon.c>
uk: Файл F<lib/inspect-icon.c>

note: type: =head4
en: Function C<lib/inspect-icon.c:guestfs_int_download_to_tmp>
uk: Функція C<lib/inspect-icon.c:guestfs_int_download_to_tmp>

note: type: textblock
en: Download a guest file to a local temporary file.
uk: Отримати вміст файла із гостьової системи до локального тимчасового файла.

note: type: textblock
en: The name of the temporary (downloaded) file is returned.  The caller must free the pointer, but does I<not> need to delete the temporary file.  It will be deleted when the handle is closed.
uk: Повертається назва тимчасового (отриманого) файла. Функція виклику має звільнити вказівник, але I<не> має вилучити тимчасовий файл. Його буде вилучено під час закриття дескриптора.

note: type: textblock
en: The name of the temporary file is randomly generated, but an extension can be specified using C<extension> (or pass C<NULL> for none).
uk: Назва тимчасового файла створюється випадковим чином, але суфікс назви можна вказати за допомогою C<extension> (або передати C<NULL>, якщо суфікса не повинно бути).

note: type: textblock
en: Refuse to download the guest file if it is larger than C<max_size>.  On this and other errors, C<NULL> is returned.
uk: Відмовити у отриманні файла гостьової системи, якщо він більший за C<max_size>. Якщо станеться ця або інші помилки, буде повернуто C<NULL>.

note: type: =head3
en: File F<lib/launch-direct.c>
uk: Файл F<lib/launch-direct.c>

note: type: textblock
en: Implementation of the C<direct> backend.
uk: Реалізація модуля обробки C<direct>.

note: type: textblock
en: For more details see L<guestfs(3)/BACKENDS>.
uk: Докладніше про це тут: L<guestfs(3)/МОДУЛІ>.

note: type: =head4
en: Function C<lib/launch-direct.c:add_drive_standard_params>
uk: Функція C<lib/launch-direct.c:add_drive_standard_params>

note: type: textblock
en: Add the standard elements of the C<-drive> parameter.
uk: Додати стандартні елементи параметра C<-drive>.

note: type: =head4
en: Function C<lib/launch-direct.c:add_device_blocksize_params>
uk: Функція C<lib/launch-direct.c:add_device_blocksize_params>

note: type: textblock
en: Add the physical_block_size and logical_block_size elements of the C<-device> parameter.
uk: Додає елементи physical_block_size і logical_block_size параметра C<-device>.

note: type: =head3
en: File F<lib/launch-libvirt.c>
uk: Файл F<lib/launch-libvirt.c>

note: type: =head4
en: Function C<lib/launch-libvirt.c:get_source_format_or_autodetect>
uk: Функція C<lib/launch-libvirt.c:get_source_format_or_autodetect>

note: type: textblock
en: Return C<drv-E<gt>src.format>, but if it is C<NULL>, autodetect the format.
uk: Повертає C<drv-E<gt>src.format>, але, якщо це C<NULL>, автоматично визначити формат.

note: type: textblock
en: libvirt has disabled the feature of detecting the disk format, unless the administrator sets C<allow_disk_format_probing=1> in F</etc/libvirt/qemu.conf>.  There is no way to detect if this option is set, so we have to do format detection here using C<qemu-img> and pass that to libvirt.
uk: У libvirt вимкнено можливість визначення формату диска, якщо адміністратором не встановлено C<allow_disk_format_probing=1> у F</etc/libvirt/qemu.conf>. Способу визначення, чи використано цей параметр не передбачено, отже нам доведеться визначити формат тут за допомогою C<qemu-img> і передати його libvirt.

note: type: textblock
en: This can still be a security issue, so in most cases it is recommended the users pass the format to libguestfs which will faithfully pass that straight through to libvirt without doing autodetection.
uk: Із цим можуть бути пов'язані проблеми із захистом, тому, здебільшого, рекомендуємо користувачам передавати формат до libguestfs, яка надійно передасть його безпосередньо до libvirt без виконання автоматичного визначення.

note: type: textblock
en: Caller must free the returned string.  On error this function sets the error in the handle and returns C<NULL>.
uk: Функція виклику має звільнити повернутий рядок. Якщо станеться помилка, ця функція встановить стан помилки у дескрипторі і поверне C<NULL>.

note: type: =head4
en: Function C<lib/launch-libvirt.c:make_qcow2_overlay>
uk: Функція C<lib/launch-libvirt.c:make_qcow2_overlay>

note: type: textblock
en: Create a qcow2 format overlay, with the given C<backing_drive> (file).  The C<format> parameter is the backing file format.  The C<format> parameter can be NULL, in this case the backing format will be determined automatically.  This is used to create the appliance overlay, and also for read-only drives.
uk: Створити накладку до формату qcow2 із вказаною назвою C<backing_drive> (назвою файла). Параметр C<format> визначає формат резервного файла. Параметр C<format> може мати значення NULL. Якщо він матиме таке значення, формат резервного файла буде визначено автоматично. Корисно для створення накладки до базової системи, а також для дисків, які призначено лише для читання.

note: type: =head3
en: File F<lib/launch.c>
uk: Файл F<lib/launch.c>

note: type: textblock
en: This file implements L<guestfs(3)/guestfs_launch>.
uk: Цей файл реалізує L<guestfs(3)/guestfs_launch>.

note: type: textblock
en: Most of the work is done by the backends (see L<guestfs(3)/BACKEND>), which are implemented in F<lib/launch-direct.c>, F<lib/launch-libvirt.c> etc, so this file mostly passes calls through to the current backend.
uk: Більшу частину роботи виконують модулі обробки (див. L<guestfs(3)/МОДУЛІ>), які реалізовано у F<lib/launch-direct.c>, F<lib/launch-libvirt.c> тощо, отже цей файл здебільшого передає виклики до поточного модуля обробки.

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_launch_send_progress>
uk: Функція C<lib/launch.c:guestfs_int_launch_send_progress>

note: type: textblock
en: This function sends a launch progress message.
uk: Ця функція надсилає повідомлення щодо поступу запуску.

note: type: textblock
en: Launching the appliance generates approximate progress messages.  Currently these are defined as follows:
uk: Запуск базової системи створює повідомлення про наближені дані поступу. У поточній версії ці повідомлення визначаються так:

note: type: verbatim
en:    0 / 12: launch clock starts
       3 / 12: appliance created
       6 / 12: detected that guest kernel started
       9 / 12: detected that /init script is running
      12 / 12: launch completed successfully
uk:    0 / 12: запущено годинник запуску
       3 / 12: створено базову систему
       6 / 12: виявлено, що запущено ядро гостьової системи
       9 / 12: виявлено, що запущено скрипт /init
      12 / 12: запуск успішно завершено

note: type: textblock
en: This is not a documented ABI and the behaviour may be changed or removed in future.
uk: Цей ABI не документовано. Його поведінку може бути змінено у майбутньому. Його також може бути згодом вилучено.

note: type: textblock
en: Messages are only sent if more than 5 seconds has elapsed since the launch clock started.
uk: Повідомлення надсилатимуться, лише якщо з часу запуску годинника пройшло більше 5 секунд.

note: type: textblock
en: There is a hack in F<lib/proto.c> to make this work.
uk: У F<lib/proto.c> є спеціальний фрагмент коду, що усе це працювало.

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_timeval_diff>
uk: Функція C<lib/launch.c:guestfs_int_timeval_diff>

note: type: textblock
en: Compute C<y - x> and return the result in milliseconds.
uk: Обчислити C<y - x> і повернути результат у мілісекундах.

note: type: textblock
en: Approximately the same as this code: L<http://www.mpp.mpg.de/~huber/util/timevaldiff.c>
uk: Приблизно те саме, що і цей код: L<http://www.mpp.mpg.de/~huber/util/timevaldiff.c>

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_unblock_sigterm>
uk: Функція C<lib/launch.c:guestfs_int_unblock_sigterm>

note: type: textblock
en: Unblock the C<SIGTERM> signal.  Call this after L<fork(2)> so that the parent process can send C<SIGTERM> to the child process in case C<SIGTERM> is blocked.  See L<https://bugzilla.redhat.com/1460338>.
uk: Розблокувати сигнал C<SIGTERM>. Викликайте після L<fork(2)> так, щоб батьківський процес міг надсилати C<SIGTERM> дочірньому процесу, якщо C<SIGTERM> заблоковано. Див. L<https://bugzilla.redhat.com/1460338>.

note: type: =head4
en: Function C<lib/launch.c:guestfs_impl_max_disks>
uk: Функція C<lib/launch.c:guestfs_impl_max_disks>

note: type: textblock
en: Returns the maximum number of disks allowed to be added to the backend (backend dependent).
uk: Повертає максимальну кількість дисків, які може бути додано до модуля (залежить від модуля обробки).

note: type: =head4
en: Function C<lib/launch.c:guestfs_impl_wait_ready>
uk: Функція C<lib/launch.c:guestfs_impl_wait_ready>

note: type: textblock
en: Implementation of L<guestfs(3)/guestfs_wait_ready>.  You had to call this function after launch in versions E<le> 1.0.70, but it is now an (almost) no-op.
uk: Реалізація L<guestfs(3)/guestfs_wait_ready>. У версіях E<le> 1.0.70 цю функцію доводилося викликати після запуску системи, але тепер у ній (майже) немає сенсу.

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_create_socketname>
uk: Функція C<lib/launch.c:guestfs_int_create_socketname>

note: type: textblock
en: Create the path for a socket with the selected filename in the tmpdir.
uk: Створити шлях для сокета із вибраною назвою файла у тимчасовому каталозі.

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_register_backend>
uk: Функція C<lib/launch.c:guestfs_int_register_backend>

note: type: textblock
en: When the library is loaded, each backend calls this function to register itself in a global list.
uk: Під час завантаження бібліотеки кожен модуль обробки викликає цю функцію для реєстрації модуля у загальному списку.

note: type: =head4
en: Function C<lib/launch.c:guestfs_int_set_backend>
uk: Функція C<lib/launch.c:guestfs_int_set_backend>

note: type: textblock
en: Implementation of L<guestfs(3)/guestfs_set_backend>.
uk: Реалізація L<guestfs(3)/guestfs_set_backend>.

note: type: textblock
en: Callers must ensure this is only called in the config state.
uk: Функції виклику мають забезпечити виклик лише у стані налаштовування (config).

note: type: textblock
en: This shouldn't call C<error> since it may be called early in handle initialization.  It can return an error code however.
uk: Не повинна викликати C<error>, оскільки її може бути викликано раніше під час ініціалізації дескриптора. Втім, може повертати код помилки.

note: type: =head3
en: File F<lib/private-data.c>
uk: Файл F<lib/private-data.c>

note: type: textblock
en: Implement a private data area where libguestfs C API users can attach arbitrary pieces of data to a C<guestfs_h> handle.
uk: Реалізує область приватних даних, де користувачі програмного інтерфейсу C libguestfs можуть долучати довільні частини даних до дескриптора C<guestfs_h>.

note: type: textblock
en: For more information see L<guestfs(3)/PRIVATE DATA AREA>.
uk: Докладніший опис наведено у розділі L<guestfs(3)/ОБЛАСТЬ ПРИВАТНИХ ДАНИХ>.

note: type: textblock
en: Language bindings do not generally expose this, largely because in non-C languages it is easy to associate data with handles in other ways (using hash tables or maps).
uk: Зазвичай, прив'язки до мов програмування не відкривають цю функцію. Причиною є те, що у мовах, відмінних від C, легко пов'язати дані із дескрипторами у інші способи (за допомогою таблиць хешів або карт).

note: type: =head4
en: Structure C<lib/private-data.c:pda_entry>
uk: Структура C<lib/private-data.c:pda_entry>

note: type: verbatim
en:  struct pda_entry {
       char *key;                    /* key */
       void *data;                   /* opaque user data pointer */
     };
uk:  struct pda_entry {
       char *key;                    /* ключ */
       void *data;                   /* непрозорий вказівник на дані користувача */
     };

note: type: textblock
en: The private data area is internally stored as a gnulib hash table containing C<pda_entry> structures.
uk: Область приватних даних на внутрішньому рівні зберігається як таблиця хешів gnulib, що містить структури C<pda_entry>.

note: type: textblock
en: Note the private data area is allocated lazily, since the vast majority of callers will never use it.  This means C<g-E<gt>pda> is likely to be C<NULL>.
uk: Зауважте, що місце під область приватних даних отримується у лінивому режимі, оскільки переважна більшість функцій виклику ніколи її не використовують. Це означає, що C<g-E<gt>pda>, ймовірно, матиме значення C<NULL>.

note: type: =head3
en: File F<lib/proto.c>
uk: Файл F<lib/proto.c>

note: type: textblock
en: This is the code used to send and receive RPC messages and (for certain types of message) to perform file transfers.  This code is driven from the generated actions (F<lib/actions-*.c>).  There are five different cases to consider:
uk: Це код, який використовується для надсилання і отримання повідомлень RPC і (для певних типів повідомлень) виконання передавань файлів. Цей код використовується із створеного коду дій (F<lib/actions-*.c>). Існує п'ять різних вартих уваги випадків:

note: type: textblock
en: A non-daemon function (eg. L<guestfs(3)/guestfs_set_verbose>).  There is no RPC involved at all, it's all handled inside the library.
uk: Функція, не пов'язана із фоновою службою, (наприклад L<guestfs(3)/guestfs_set_verbose>). RPC взагалі не використовується, уся обробка відбувається у самій бібліотеці.

note: type: textblock
en: A simple RPC (eg. L<guestfs(3)/guestfs_mount>).  We write the request, then read the reply.  The sequence of calls is:
uk: Просте RPC (eg. L<guestfs(3)/guestfs_mount>). Ми пишемо запит, потім читаємо відповідь. Послідовність викликів така:

note: type: textblock
en: An RPC with C<FileIn> parameters (eg. L<guestfs(3)/guestfs_upload>).  We write the request, then write the file(s), then read the reply.  The sequence of calls is:
uk: RPC із параметрами C<FileIn> (наприклад L<guestfs(3)/guestfs_upload>). Ми пишемо запит, далі записуємо файли, потім читаємо відповідь. Послідовність викликів така:

note: type: verbatim
en:   guestfs_int_send
      guestfs_int_send_file  (possibly multiple times)
      guestfs_int_recv
uk:   guestfs_int_send
      guestfs_int_send_file  (можливо, декілька разів)
      guestfs_int_recv

note: type: textblock
en: An RPC with C<FileOut> parameters (eg. L<guestfs(3)/guestfs_download>).  We write the request, then read the reply, then read the file(s).  The sequence of calls is:
uk: RPC з параметрами C<FileOut> (наприклад L<guestfs(3)/guestfs_download>). Ми пишемо запит, далі читаємо відповідь, потім читаємо файли. Послідовність викликів така:

note: type: verbatim
en:   guestfs_int_send
      guestfs_int_recv
      guestfs_int_recv_file  (possibly multiple times)
uk:   guestfs_int_send
      guestfs_int_recv
      guestfs_int_recv_file  (можливо декілька разів)

note: type: textblock
en: Both C<FileIn> and C<FileOut> parameters.  There are no calls like this in the current API, but they would be implemented as a combination of cases 3 and 4.
uk: Використання параметрів C<FileIn> і C<FileOut>. У поточному програмному інтерфейсі немає таких викликів, але їх можна було б реалізувати як комбінацію випадків 3 і 4.

note: type: textblock
en: All read/write/etc operations are performed using the current connection module (C<g-E<gt>conn>).  During operations the connection module transparently handles log messages that appear on the console.
uk: Усі дії із читання, запису та інші операції виконуються за допомогою поточного модуля з'єднання (C<g-E<gt>conn>). Під час операцій модуль з'єднання прозоро обробляє повідомлення журналу, які з'являються у консолі.

note: type: =head4
en: Function C<lib/proto.c:child_cleanup>
uk: Функція C<lib/proto.c:child_cleanup>

note: type: textblock
en: This is called if we detect EOF, ie. qemu died.
uk: Викликається, якщо буде виявлено EOF, тобто завершення роботи qemu.

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_progress_message_callback>
uk: Функція C<lib/proto.c:guestfs_int_progress_message_callback>

note: type: textblock
en: Convenient wrapper to generate a progress message callback.
uk: Зручна обгортка для створення зворотного виклику для повідомлень щодо поступу.

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_log_message_callback>
uk: Функція C<lib/proto.c:guestfs_int_log_message_callback>

note: type: textblock
en: Connection modules call us back here when they get a log message.
uk: Модулі з'єднання виконують зворотний виклик, коли вони отримують повідомлення журналу.

note: type: =head4
en: Function C<lib/proto.c:check_daemon_socket>
uk: Функція C<lib/proto.c:check_daemon_socket>

note: type: textblock
en: Before writing to the daemon socket, check the read side of the daemon socket for any of these conditions:
uk: Перш ніж записувати дані до сокета фонової служби, перевірте виконання на боці сокета читання фонової служби однієї з таких умов:

note: type: textblock
en: return -1
uk: повертає -1

note: type: =item
en: daemon cancellation message
uk: повідомлення скасовування фонової служби

note: type: textblock
en: return -2
uk: повертає -2

note: type: =item
en: progress message
uk: повідомлення поступу

note: type: textblock
en: handle it here
uk: обробити його тут

note: type: =item
en: end of input or appliance exited unexpectedly
uk: кінець вхідних даних або базова система несподівано завершила роботу

note: type: textblock
en: return 0
uk: повертає 0

note: type: =item
en: anything else
uk: усе інше

note: type: textblock
en: return 1
uk: повертає 1

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_send_file>
uk: Функція C<lib/proto.c:guestfs_int_send_file>

note: type: textblock
en: Send a file.
uk: Надіслати файл.

note: type: textblock
en: Returns C<0> on success, C<-1> for error, C<-2> if the daemon cancelled (we must read the error message).
uk: Повертає C<0>, якщо виконано успішно; C<-1>, якщо сталася помилка; C<-2>, якщо скасовано фоновою службою (нам слід прочитати повідомлення про помилку).

note: type: =head4
en: Function C<lib/proto.c:send_file_data>
uk: Функція C<lib/proto.c:send_file_data>

note: type: textblock
en: Send a chunk of file data.
uk: Надіслати фрагмент файлових даних.

note: type: =head4
en: Function C<lib/proto.c:send_file_cancellation>
uk: Функція C<lib/proto.c:send_file_cancellation>

note: type: textblock
en: Send a cancellation message.
uk: Надіслати повідомлення скасовування.

note: type: =head4
en: Function C<lib/proto.c:send_file_complete>
uk: Функція C<lib/proto.c:send_file_complete>

note: type: textblock
en: Send a file complete chunk.
uk: Надіслати завершальний фрагмент файла.

note: type: =head4
en: Function C<lib/proto.c:recv_from_daemon>
uk: Функція C<lib/proto.c:recv_from_daemon>

note: type: textblock
en: This function reads a single message, file chunk, launch flag or cancellation flag from the daemon.  If something was read, it returns C<0>, otherwise C<-1>.
uk: Ця функція читає одинарне повідомлення, фрагмент файла, прапорець запуску або прапорець скасування з фонової служби. Якщо щось було прочитано, вона повертає C<0>, інакше повертає C<-1>.

note: type: textblock
en: Both C<size_rtn> and C<buf_rtn> must be passed by the caller as non-NULL.
uk: Функцією виклику має бути передано C<size_rtn> і C<buf_rtn> як непорожні (не NULL) значення.

note: type: textblock
en: C<*size_rtn> returns the size of the returned message or it may be C<GUESTFS_LAUNCH_FLAG> or C<GUESTFS_CANCEL_FLAG>.
uk: C<*size_rtn> повертає розмір повернутого повідомлення або може бути C<GUESTFS_LAUNCH_FLAG> чи C<GUESTFS_CANCEL_FLAG>.

note: type: textblock
en: C<*buf_rtn> is returned containing the message (if any) or will be set to C<NULL>.  C<*buf_rtn> must be freed by the caller.
uk: Буде повернуто C<*buf_rtn>, який міститиме повідомлення (якщо таке буде) або значення C<NULL>.  C<*buf_rtn> має бути вивільнено функцією виклику.

note: type: textblock
en: This checks for EOF (appliance died) and passes that up through the child_cleanup function above.
uk: Перевіряє стан EOF (базова система завершила роботу) і передає повідомлення вище за допомогою функції child_cleanup, розглянутої раніше.

note: type: textblock
en: Log message, progress messages are handled transparently here.
uk: Тут повідомлення журналу, повідомлення щодо поступу обробляються прозоро.

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_recv>
uk: Функція C<lib/proto.c:guestfs_int_recv>

note: type: textblock
en: Receive a reply.
uk: Отримати відповідь.

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_recv_discard>
uk: Функція C<lib/proto.c:guestfs_int_recv_discard>

note: type: textblock
en: Same as C<guestfs_int_recv>, but it discards the reply message.
uk: Те саме, що і C<guestfs_int_recv>, але відкидає повідомлення відповіді.

note: type: textblock
en: Notes (XXX):
uk: Нотатки (XXX):

note: type: textblock
en: This returns an int, but all current callers ignore it.
uk: Повертає ціле число, але усі поточні функції виклику його ігнорують.

note: type: textblock
en: The error string may end up being set twice on error paths.
uk: Рядок помилки може бути встановлено двічі на шляхах помилок.

note: type: =head4
en: Function C<lib/proto.c:guestfs_int_recv_file>
uk: Функція C<lib/proto.c:guestfs_int_recv_file>

note: type: textblock
en: Returns C<-1> = error, C<0> = EOF, C<E<gt>0> = more data
uk: Повертає C<-1> = помилка, C<0> = EOF, C<E<gt>0> = додаткові дані

note: type: =head4
en: Function C<lib/proto.c:receive_file_data>
uk: Функція C<lib/proto.c:receive_file_data>

note: type: textblock
en: Receive a chunk of file data.
uk: Отримати фрагмент файлових даних.

note: type: =head3
en: File F<lib/qemu.c>
uk: Файл F<lib/qemu.c>

note: type: textblock
en: Functions to handle qemu versions and features.
uk: Функції для обробки версій та можливостей qemu.

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_test_qemu>
uk: Функція C<lib/qemu.c:guestfs_int_test_qemu>

note: type: textblock
en: Test that the qemu binary (or wrapper) runs, and do C<qemu -help> and other commands so we can find out the version of qemu and what options this qemu supports.
uk: Перевіряє, чи запускається виконуваний файл qemu (або його обгортка), і виконує C<qemu -help> та інші команди, які допомагають визначити версію qemu та параметри цього екземпляра qemu, підтримку яких у ньому передбачено.

note: type: textblock
en: This caches the results in the cachedir so that as long as the qemu binary does not change, calling this is effectively free.
uk: Кешує результат до каталогу кешування так, що доки виконуваний файл qemu не зміниться, наступні виклики даватимуть дані майже миттєво.

note: type: =head4
en: Function C<lib/qemu.c:cache_filename>
uk: Функція C<lib/qemu.c:cache_filename>

note: type: textblock
en: Generate the filenames, for the stat file and the other cache files.
uk: Створити назви файлів для файла статистики та інших файлів кешу.

note: type: textblock
en: By including the size and mtime in the filename we also ensure that the same user can use multiple versions of qemu without conflicts.
uk: Включенням розміру та mtime до назви файла ми також забезпечуємо можливість для кожного користувача використовувати декілька версій qemu без конфліктів.

note: type: =head4
en: Function C<lib/qemu.c:parse_qemu_version>
uk: Функція C<lib/qemu.c:parse_qemu_version>

note: type: textblock
en: Parse the first line of C<qemu_help> into the major and minor version of qemu, but don't fail if parsing is not possible.
uk: Виокремити у першому рядку C<qemu_help> записи основної і проміжної версій qemu, але не завершувати роботу із помилкою, якщо виокремлення неможливе.

note: type: =head4
en: Function C<lib/qemu.c:parse_json>
uk: Функція C<lib/qemu.c:parse_json>

note: type: textblock
en: Parse the json output from QMP.  But don't fail if parsing is not possible.
uk: Обробити виведення у форматі json від QMP, але не завершувати роботу із помилкою, якщо обробка неможлива.

note: type: =head4
en: Function C<lib/qemu.c:parse_has_kvm>
uk: Функція C<lib/qemu.c:parse_has_kvm>

note: type: textblock
en: Parse the json output from QMP query-kvm to find out if KVM is enabled on this machine.  Don't fail if parsing is not possible, assume KVM is available.
uk: Обробити виведення у форматі json від query-kvm QMP для визначення того, чи увімкнено KVM на цій машині. Не завершує роботу із помилкою, якщо обробка неможлива, припускає що KVM є доступною.

note: type: textblock
en: The JSON output looks like: {"return": {"enabled": true, "present": true}}
uk: Виведені дані JSON виглядають так: {"return": {"enabled": true, "present": true}}

note: type: =head4
en: Function C<lib/qemu.c:generic_read_cache>
uk: Функція C<lib/qemu.c:generic_read_cache>

note: type: textblock
en: Generic functions for reading and writing the cache files, used where we are just reading and writing plain text strings.
uk: Загальні функції для читання та запису файлів кешу, які використовуються там, де ми читаємо і записуємо лише прості текстові рядки.

note: type: =head4
en: Function C<lib/qemu.c:generic_qmp_test>
uk: Функція C<lib/qemu.c:generic_qmp_test>

note: type: textblock
en: Run a generic QMP test on the QEMU binary.
uk: Виконати типовий тест QMP для виконуваного файла QEMU.

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_qemu_version>
uk: Функція C<lib/qemu.c:guestfs_int_qemu_version>

note: type: textblock
en: Return the parsed version of qemu.
uk: Повертає оброблений рядок версії qemu.

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_qemu_supports>
uk: Функція C<lib/qemu.c:guestfs_int_qemu_supports>

note: type: textblock
en: Test if option is supported by qemu command line (just by grepping the help text).
uk: Перевірити, чи передбачено підтримку параметра у рядку команди qemu (простим пошуком за допомогою grep довідкового тексту).

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_qemu_supports_device>
uk: Функція C<lib/qemu.c:guestfs_int_qemu_supports_device>

note: type: textblock
en: Test if device is supported by qemu (currently just greps the C<qemu -device ?> output).
uk: Перевірити, чи передбачено підтримку пристрою у qemu (у поточній версії просте використання grep із критерієм пошуку C<qemu -device ?> у виведених даних).

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_qemu_mandatory_locking>
uk: Функція C<lib/qemu.c:guestfs_int_qemu_mandatory_locking>

note: type: textblock
en: Test if the qemu binary uses mandatory file locking, added in QEMU >= 2.10 (but sometimes disabled).
uk: Перевірити, чи використовується у виконуваному файлі qemu обов'язкове блокування файлів, яке було додано у QEMU >= 2.10 (але іноді вимикається).

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_qemu_escape_param>
uk: Функція C<lib/qemu.c:guestfs_int_qemu_escape_param>

note: type: textblock
en: Escape a qemu parameter.
uk: Екранувати параметр qemu.

note: type: textblock
en: Every C<,> becomes C<,,>.  The caller must free the returned string.
uk: Усі C<,> перетворяться на C<,,>. Функція виклику має звільнити повернутий рядок.

note: type: textblock
en: XXX This functionality is now only used when constructing a qemu-img command in F<lib/create.c>.  We should extend the qemuopts library to cover this use case.
uk: XXX Ця функціональна можливість тепер використовується лише при побудові команди qemu-img у F<lib/create.c>. Нам потрібно було розширити бібліотеку qemuopts для реалізації цієї можливості.

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_drive_source_qemu_param>
uk: Функція C<lib/qemu.c:guestfs_int_drive_source_qemu_param>

note: type: textblock
en: Useful function to format a drive + protocol for qemu.
uk: Корисна функція для форматування запису диск + протокол для qemu.

note: type: textblock
en: Note that the qemu parameter is the bit after C<"file=">.  It is not escaped here, but would usually be escaped if passed to qemu as part of a full -drive parameter (but not for L<qemu-img(1)>).
uk: Зверніть увагу на те, що параметр qemu розташовано після C<"file=">. Його не екрановано, але, зазвичай, мало бути екрановано при передаванні до qemu як частину повного параметра -drive (але не для L<qemu-img(1)>).

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_discard_possible>
uk: Функція C<lib/qemu.c:guestfs_int_discard_possible>

note: type: textblock
en: Test if discard is both supported by qemu AND possible with the underlying file or device.  This returns C<1> if discard is possible.  It returns C<0> if not possible and sets the error to the reason why.
uk: Перевірити, чи передбачено підтримку відкидання у qemu ТА чи можливе відкидання для відповідного файла або пристрою. Повертає C<1>, якщо відкидання можливе. Повертає C<0>, якщо відкидання неможливе і встановлює для повідомлення про помилку значення запису із причиною неможливості.

note: type: textblock
en: This function is called when the user set C<discard == "enable">.
uk: Цю функцію викликають, коли користувач встановлює C<discard == "enable">.

note: type: =head4
en: Function C<lib/qemu.c:guestfs_int_free_qemu_data>
uk: Функція C<lib/qemu.c:guestfs_int_free_qemu_data>

note: type: textblock
en: Free the C<struct qemu_data>.
uk: Звільняє C<struct qemu_data>.

note: type: =head3
en: File F<lib/rescue.c>
uk: Файл F<lib/rescue.c>

note: type: textblock
en: Support for virt-rescue(1).
uk: Підтримка virt-rescue(1).

note: type: =head3
en: File F<lib/stringsbuf.c>
uk: Файл F<lib/stringsbuf.c>

note: type: textblock
en: An expandable NULL-terminated vector of strings (like C<argv>).
uk: Придатний до розширення вектор рядків, який завершується символом NULL (подібно до C<argv>).

note: type: textblock
en: Use the C<DECLARE_STRINGSBUF> macro to declare the stringsbuf.
uk: Користуйтеся макросом C<DECLARE_STRINGSBUF> для оголошення stringsbuf.

note: type: textblock
en: Note: Don't confuse this with stringsbuf in the daemon which is a different type with different methods.
uk: Зауваження: не плутайте це із stringsbuf у фоновій службі, яка є іншим типом із іншими методами.

note: type: =head4
en: Function C<lib/stringsbuf.c:guestfs_int_add_string_nodup>
uk: Функція C<lib/stringsbuf.c:guestfs_int_add_string_nodup>

note: type: textblock
en: Add a string to the end of the list.
uk: Додає рядок наприкінці списку.

note: type: textblock
en: This doesn't call L<strdup(3)> on the string, so the string itself is stored inside the vector.
uk: Ця функція не викликає L<strdup(3)> для рядка, отже сам рядок зберігається у векторі.

note: type: =head4
en: Function C<lib/stringsbuf.c:guestfs_int_add_string>
uk: Функція C<lib/stringsbuf.c:guestfs_int_add_string>

note: type: textblock
en: This makes a copy of the string.
uk: Створює копію рядка.

note: type: =head4
en: Function C<lib/stringsbuf.c:guestfs_int_add_sprintf>
uk: Функція C<lib/stringsbuf.c:guestfs_int_add_sprintf>

note: type: textblock
en: Uses an sprintf-like format string when creating the string.
uk: Використовує sprintf-подібний рядок форматування під час створення рядка.

note: type: =head4
en: Function C<lib/stringsbuf.c:guestfs_int_end_stringsbuf>
uk: Функція C<lib/stringsbuf.c:guestfs_int_end_stringsbuf>

note: type: textblock
en: Finish the string buffer.
uk: Завершує буфер рядків.

note: type: textblock
en: This adds the terminating NULL to the end of the vector.
uk: Додає завершальний NULL наприкінці вектора.

note: type: =head4
en: Function C<lib/stringsbuf.c:guestfs_int_free_stringsbuf>
uk: Функція C<lib/stringsbuf.c:guestfs_int_free_stringsbuf>

note: type: textblock
en: Free the string buffer and the strings.
uk: Вивільняє буфер рядків та рядки.

note: type: =head3
en: File F<lib/tmpdirs.c>
uk: Файл F<lib/tmpdirs.c>

note: type: textblock
en: Handle temporary directories.
uk: Обробляє тимчасові каталоги.

note: type: =head4
en: Function C<lib/tmpdirs.c:set_abs_path>
uk: Функція C<lib/tmpdirs.c:set_abs_path>

note: type: textblock
en: We need to make all tmpdir paths absolute because lots of places in the code assume this.  Do it at the time we set the path or read the environment variable (L<https://bugzilla.redhat.com/882417>).
uk: Нам потрібно зробити усі шляхи до тимчасових каталогів абсолютними, оскільки у багатьох місцях коду такі шляхи є обов'язковими. Робіть це кожного разу, коли встановлюється шлях або читається змінна середовища (L<https://bugzilla.redhat.com/882417>).

note: type: textblock
en: The C<ctxstr> parameter is a string displayed in error messages giving the context of the operation (eg. name of environment variable being used, or API function being called).
uk: Параметр C<ctxstr> — це рядок, показаний у повідомленнях про помилку, відповідний до контексту операції (наприклад назва змінної середовища, яка використовується, або функція програмного інтерфейсу, яка викликається).

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_impl_get_tmpdir>
uk: Функція C<lib/tmpdirs.c:guestfs_impl_get_tmpdir>

note: type: textblock
en: Implements the C<guestfs_get_tmpdir> API.
uk: Реалізує програмний інтерфейс C<guestfs_get_tmpdir>.

note: type: textblock
en: Note this actually calculates the tmpdir, so it never returns C<NULL>.
uk: Зауважте, що функція насправді обчислює tmpdir, тому ніколи не повертає C<NULL>.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_impl_get_cachedir>
uk: Функція C<lib/tmpdirs.c:guestfs_impl_get_cachedir>

note: type: textblock
en: Implements the C<guestfs_get_cachedir> API.
uk: Реалізує програмний інтерфейс C<guestfs_get_cachedir>.

note: type: textblock
en: Note this actually calculates the cachedir, so it never returns C<NULL>.
uk: Зауважте, що функція насправді обчислює cachedir, тому ніколи не повертає C<NULL>.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_impl_get_sockdir>
uk: Функція C<lib/tmpdirs.c:guestfs_impl_get_sockdir>

note: type: textblock
en: Implements the C<guestfs_get_sockdir> API.
uk: Реалізує програмний інтерфейс C<guestfs_get_sockdir>.

note: type: textblock
en: Note this actually calculates the sockdir, so it never returns C<NULL>.
uk: Зауважте, що функція насправді обчислює sockdir, тому ніколи не повертає C<NULL>.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_int_lazy_make_tmpdir>
uk: Функція C<lib/tmpdirs.c:guestfs_int_lazy_make_tmpdir>

note: type: textblock
en: The C<g-E<gt>tmpdir> (per-handle temporary directory) is not created when the handle is created.  Instead we create it lazily before the first time it is used, or during launch.
uk: C<g-E<gt>tmpdir> (власний тимчасовий каталог дескриптора) не створюється разом із дескриптором. Натомість, ми створюємо його у «лінивому» режимі, коли його уперше використовують або під час запуску.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_int_make_temp_path>
uk: Функція C<lib/tmpdirs.c:guestfs_int_make_temp_path>

note: type: textblock
en: Generate unique temporary paths for temporary files.
uk: Створює унікальні тимчасові шляхи для тимчасових файлів.

note: type: textblock
en: Returns a unique path or NULL on error.
uk: Повертає унікальний шлях або NULL, якщо сталася помилка.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_int_lazy_make_supermin_appliance_dir>
uk: Функція C<lib/tmpdirs.c:guestfs_int_lazy_make_supermin_appliance_dir>

note: type: textblock
en: Create the supermin appliance directory under cachedir, if it does not exist.
uk: Створити каталог базової системи supermin у cachedir, якщо такого каталогу не існує.

note: type: textblock
en: Sanity-check that the permissions on the cachedir are safe, in case it has been pre-created maliciously or tampered with.
uk: Перевірка на коректність, чи безпечними є права доступу до каталогу кешу, якщо каталог було попередньо створено ненадійним чином або після втручання до системи.

note: type: textblock
en: Returns the directory name which the caller must free.
uk: Повертає назву каталогу, яку функція виклику має самостійно звільнити.

note: type: =head4
en: Function C<lib/tmpdirs.c:guestfs_int_recursive_remove_dir>
uk: Функція C<lib/tmpdirs.c:guestfs_int_recursive_remove_dir>

note: type: textblock
en: Recursively remove a temporary directory.  If removal fails, just return (it's a temporary directory so it'll eventually be cleaned up by a temp cleaner).
uk: Рекурсивно вилучити тимчасовий каталог. Якщо спроба вилучення виявиться невдалою, просто повернути керування (це тимчасовий каталог, тому його зрештою буде вилучено засобом чищення тимчасових каталогів).

note: type: textblock
en: This is implemented using C<rm -rf> because that's simpler and safer.
uk: Це реалізовано за допомогою C<rm -rf>, оскільки це простіше і безпечніше.

note: type: =head3
en: File F<lib/umask.c>
uk: Файл F<lib/umask.c>

note: type: textblock
en: Return current umask in a thread-safe way.
uk: Повернути поточне значення umask у безпечний щодо потоків спосіб.

note: type: textblock
en: glibc documents, but does not actually implement, a "getumask(3)" call.
uk: glibc документує, але насправді не реалізує, виклик getumask(3).

note: type: textblock
en: We use C<Umask> from F</proc/self/status> for Linux E<ge> 4.7.  For older Linux and other Unix, this file implements an expensive but thread-safe way to get the current process's umask.
uk: Ми використовуємо C<Umask> з F</proc/self/status> для Linux E<ge> 4.7. Для старіших версій Linux та інших Unix цей файл реалізує вартісний, але безпечний щодо потоків виконання спосіб отримання значення umask поточного процесу.

note: type: textblock
en: Thanks to: Josh Stone, Jiri Jaburek, Eric Blake.
uk: Подяки: Josh Stone, Jiri Jaburek, Eric Blake.

note: type: =head4
en: Function C<lib/umask.c:guestfs_int_getumask>
uk: Функція C<lib/umask.c:guestfs_int_getumask>

note: type: textblock
en: Returns the current process's umask.  On failure, returns C<-1> and sets the error in the guestfs handle.
uk: Повертає umask поточного процесу. Якщо станеться помилка, повертає C<-1> і встановлює стан помилки у дескрипторі guestfs.

note: type: =head4
en: Function C<lib/umask.c:get_umask_from_proc>
uk: Функція C<lib/umask.c:get_umask_from_proc>

note: type: textblock
en: For Linux E<ge> 4.7 get the umask from F</proc/self/status>.
uk: Для Linux E<ge> 4.7 отримує umask з F</proc/self/status>.

note: type: textblock
en: On failure this returns C<-1>.  However if we could not open the F</proc> file or find the C<Umask> entry in it, return C<-2> which causes the fallback path to run.
uk: При помилці повертає C<-1>. Втім, якщо нам не вдалося відкрити файл F</proc> або знайти у ньому запис C<Umask>, повертає C<-2>, що спричиняє використання резервного шляху.

note: type: =head4
en: Function C<lib/umask.c:get_umask_from_fork>
uk: Функція C<lib/umask.c:get_umask_from_fork>

note: type: textblock
en: Fallback method of getting the umask using fork.
uk: Резервний метод отримання umask за допомогою розгалуження.

note: type: =head3
en: File F<lib/unit-tests.c>
uk: Файл F<lib/unit-tests.c>

note: type: textblock
en: Unit tests of internal functions.
uk: Тести модулів зовнішніх функцій.

note: type: textblock
en: These tests may use a libguestfs handle, but must not launch the handle.  Also, avoid long-running tests.
uk: Ці тести можуть використовувати дескриптор libguestfs, але не повинні запускати дескриптор. Також слід уникати тестів, які виконуються надто довго.

note: type: =head4
en: Function C<lib/unit-tests.c:test_split>
uk: Функція C<lib/unit-tests.c:test_split>

note: type: textblock
en: Test C<guestfs_int_split_string>.
uk: Перевірка C<guestfs_int_split_string>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_concat>
uk: Функція C<lib/unit-tests.c:test_concat>

note: type: textblock
en: Test C<guestfs_int_concat_strings>.
uk: Перевірка C<guestfs_int_concat_strings>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_join>
uk: Функція C<lib/unit-tests.c:test_join>

note: type: textblock
en: Test C<guestfs_int_join_strings>.
uk: Перевірка C<guestfs_int_join_strings>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_validate_guid>
uk: Функція C<lib/unit-tests.c:test_validate_guid>

note: type: textblock
en: Test C<guestfs_int_validate_guid>.
uk: Перевірка C<guestfs_int_validate_guid>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_drive_name>
uk: Функція C<lib/unit-tests.c:test_drive_name>

note: type: textblock
en: Test C<guestfs_int_drive_name>.
uk: Перевірка C<guestfs_int_drive_name>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_drive_index>
uk: Функція C<lib/unit-tests.c:test_drive_index>

note: type: textblock
en: Test C<guestfs_int_drive_index>.
uk: Перевірка C<guestfs_int_drive_index>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_getumask>
uk: Функція C<lib/unit-tests.c:test_getumask>

note: type: textblock
en: Test C<guestfs_int_getumask>.
uk: Перевірка C<guestfs_int_getumask>.

note: type: =head4
en: Function C<lib/unit-tests.c:test_command>
uk: Функція C<lib/unit-tests.c:test_command>

note: type: textblock
en: Test C<guestfs_int_new_command> etc.
uk: Перевірка C<guestfs_int_new_command> etc.

note: type: textblock
en: XXX These tests could be made much more thorough.  So far we simply test that it's not obviously broken.
uk: XXX Ці тести можна було зробити набагато повнішими. Зараз ми просто тестуємо, чи не є усе явним чином непрацездатним.

note: type: =head4
en: Function C<lib/unit-tests.c:test_qemu_escape_param>
uk: Функція C<lib/unit-tests.c:test_qemu_escape_param>

note: type: textblock
en: Test C<guestfs_int_qemu_escape_param>
uk: Перевірка C<guestfs_int_qemu_escape_param>

note: type: textblock
en: XXX I wanted to make this test run qemu, passing some parameters which need to be escaped, but I cannot think of a way to do that without launching a VM.
uk: XXX Я хотів зробити так, щоб цей тест запускав qemu, передаючи деякі параметри, які слід екранувати, але не знайшов способу зробити це без запуску віртуальної машини.

note: type: =head4
en: Function C<lib/unit-tests.c:test_timeval_diff>
uk: Функція C<lib/unit-tests.c:test_timeval_diff>

note: type: textblock
en: Test C<guestfs_int_timeval_diff>.
uk: Перевірка C<guestfs_int_timeval_diff>.

note: type: =head3
en: File F<lib/version.c>
uk: Файл F<lib/version.c>

note: type: textblock
en: This file provides simple version number management.
uk: Цей файл забезпечує роботу простої системи керування номерами версій.

note: type: =head4
en: Function C<lib/version.c:guestfs_int_version_from_x_y>
uk: Функція C<lib/version.c:guestfs_int_version_from_x_y>

note: type: textblock
en: Parses a version from a string, looking for a C<X.Y> pattern.
uk: Шукає запис версії у рядку на основі взірця C<X.Y>.

note: type: textblock
en: Returns C<-1> on failure (like failed integer parsing), C<0> on missing match, and C<1> on match and successful parsing.  C<v> is changed only on successful match.
uk: Повертає C<-1> при помилці (зокрема помилці під час обробки цілого числа), C<0>, якщо запис не вдасться знайти, і C<1>, якщо запис знайдено і успішно оброблено.  C<v> змінюється, лише якщо запис успішно знайдено.

note: type: =head4
en: Function C<lib/version.c:guestfs_int_version_from_x_y_re>
uk: Функція C<lib/version.c:guestfs_int_version_from_x_y_re>

note: type: textblock
en: Parses a version from a string, using the specified C<re> as regular expression which I<must> provide (at least) two matches.
uk: Визначає версію за рядком на основі вказаного формального виразу C<re>, який I<має> визначати (принаймні) два відповідних записи.

note: type: =head4
en: Function C<lib/version.c:guestfs_int_version_from_x_y_or_x>
uk: Функція C<lib/version.c:guestfs_int_version_from_x_y_or_x>

note: type: textblock
en: Parses a version from a string, either looking for a C<X.Y> pattern or considering it as whole integer.
uk: Шукає запис версії у рядку на основі взірця C<X.Y> або пошуку цілого числа.

note: type: =head4
en: Function C<lib/version.c:guestfs_int_parse_unsigned_int>
uk: Функція C<lib/version.c:guestfs_int_parse_unsigned_int>

note: type: textblock
en: Parse small, unsigned ints, as used in version numbers.
uk: Обробляє малі цілі числа без знаку, які використовуються як номери версій.

note: type: textblock
en: This will fail with an error if trailing characters are found after the integer.
uk: Обробка завершується помилкою, якщо після цілого числа буде виявлено кінцеві зайві символи.

note: type: textblock
en: Returns E<ge> C<0> on success, or C<-1> on failure.
uk: Повертає E<ge> C<0>, якщо виконано успішно, або C<-1>, якщо сталася помилка.

note: type: =head3
en: File F<lib/wait.c>
uk: Файл F<lib/wait.c>

note: type: =head4
en: Function C<lib/wait.c:guestfs_int_waitpid>
uk: Функція C<lib/wait.c:guestfs_int_waitpid>

note: type: textblock
en: A safe version of L<waitpid(3)> which retries if C<EINTR> is returned.
uk: Безпечна версія L<waitpid(3)>, яка виконує повторну спробу, якщо повернуто C<EINTR>.

note: type: textblock
en: I<Note:> this only needs to be used in the library, or in programs that install a non-restartable C<SIGCHLD> handler (which is not the case for any current libguestfs virt tools).
uk: I<Зауваження:> потреба у цьому виникає лише у бібліотеці або у програмах, які встановлюють непридатний до перезапуску обробник C<SIGCHLD> (це не так для усіх поточних засобів віртуалізації libguestfs).

note: type: textblock
en: If the main program installs a SIGCHLD handler and sets it to be non-restartable, then what can happen is the library is waiting in a wait syscall, the child exits, C<SIGCHLD> is sent to the process, and the wait syscall returns C<EINTR>.  Since the library cannot control the signal handler, we have to instead restart the wait syscall, which is the purpose of this wrapper.
uk: Якщо основна програма встановлює обробник SIGCHLD і робить його непридатним для перезапуску, тоді може трапитися так, що бібліотека чекає на системний виклик wait, дочірній процес існує, процесу надіслано C<SIGCHLD>, а системний виклик wait повертає C<EINTR>. Оскільки бібліотека не може керувати обробником сигналу, нам доведеться перезапустити системний виклик wait, що і є призначенням цієї обгортки.

note: type: =head4
en: Function C<lib/wait.c:guestfs_int_waitpid_noerror>
uk: Функція C<lib/wait.c:guestfs_int_waitpid_noerror>

note: type: textblock
en: Like C<guestfs_int_waitpid>, but ignore errors.
uk: Подібна до C<guestfs_int_waitpid>, але ігнорує помилки.

note: type: =head4
en: Function C<lib/wait.c:guestfs_int_wait4>
uk: Функція C<lib/wait.c:guestfs_int_wait4>

note: type: textblock
en: A safe version of L<wait4(2)> which retries if C<EINTR> is returned.
uk: Безпечна версія L<wait4(2)>, яка виконує повторну спробу, якщо повернуто C<EINTR>.

note: type: =head3
en: File F<lib/whole-file.c>
uk: Файл F<lib/whole-file.c>

note: type: =head4
en: Function C<lib/whole-file.c:guestfs_int_read_whole_file>
uk: Функція C<lib/whole-file.c:guestfs_int_read_whole_file>

note: type: textblock
en: Read the whole file C<filename> into a memory buffer.
uk: Читає увесь файл C<filename> до буфера пам'яті.

note: type: textblock
en: The memory buffer is initialized and returned in C<data_r>.  The size of the file in bytes is returned in C<size_r>.  The return buffer must be freed by the caller.
uk: Буфер пам'яті ініціалізовано і повернуто у C<data_r>. Розмір файла у байтах повертається до C<size_r>. Буфер повернення має бути звільнено функцією виклику.

note: type: textblock
en: On error this sets the error in the handle and returns C<-1>.
uk: При помилці це встановлює запис помилки у дескрипторі і повертає C<-1>.

note: type: textblock
en: For the convenience of callers, the returned buffer is NUL-terminated (the NUL is not included in the size).
uk: Для зручності у функціях виклику повернутий буфер завершується символом NUL (символ NUL не включається до розміру).

note: type: textblock
en: The file must be a B<regular>, B<local>, B<trusted> file.  In particular, do not use this function to read files that might be under control of an untrusted user since that will lead to a denial-of-service attack.
uk: Файл має бути файлом B<regular>, B<local>, B<trusted>. Зокрема, не використовуйте цю функцію для читання файлів, які можуть опинитися під контролем ненадійного користувача, оскільки це може призвести до нападу із відмовою в обслуговуванні.

note: type: =head2
en: Subdirectory F<builder>
uk: Підкаталог F<builder>

note: type: =head3
en: File F<builder/index-parser-c.c>
uk: Файл F<builder/index-parser-c.c>

note: type: textblock
en: This file handles the interface between the C/lex/yacc index file parser, and the OCaml world.  See F<builder/index_parser.ml> for the OCaml type definition.
uk: Цей файл обробляє інтерфейс між обробником файла покажчика C/lex/yacc і «світом» OCaml. Див. F<builder/index_parser.ml>, щоб ознайомитися із визначенням типів OCaml.

note: type: =head2
en: Subdirectory F<common/edit>
uk: Підкаталог F<common/edit>

note: type: =head3
en: File F<common/edit/file-edit.c>
uk: Файл F<common/edit/file-edit.c>

note: type: textblock
en: This file implements common file editing in a range of utilities including L<guestfish(1)>, L<virt-edit(1)>, L<virt-customize(1)> and L<virt-builder(1)>.
uk: У цьому файлі реалізовано загальне редагування файлів у діапазоні засобів, зокрема L<guestfish(1)>, L<virt-edit(1)>, L<virt-customize(1)> and L<virt-builder(1)>.

note: type: textblock
en: It contains the code for both interactive-(editor-)based editing and non-interactive editing using Perl snippets.
uk: Він містить код одразу для інтерактивного редагування (редагування за допомогою редактора) та неінтерактивного редагування за допомогою фрагментів коду Perl.

note: type: =head4
en: Function C<common/edit/file-edit.c:edit_file_editor>
uk: Функція C<common/edit/file-edit.c:edit_file_editor>

note: type: textblock
en: Edit C<filename> using the specified C<editor> application.
uk: Редагувати файл із назвою C<filename> за допомогою вказаної програми C<editor>.

note: type: textblock
en: If C<backup_extension> is not null, then a copy of C<filename> is saved with C<backup_extension> appended to its file name.
uk: Якщо C<backup_extension> не є порожнім, буде збережено копію C<filename> із суфіксом назви C<backup_extension>, дописаним до назви файла.

note: type: textblock
en: If C<editor> is null, then the C<$EDITOR> environment variable will be queried for the editor application, leaving C<vi> as fallback if not set.
uk: Якщо запис C<editor> є порожнім, буде опитано змінну середовища C<$EDITOR> щодо програми редактора, залишаючи C<vi> як резервний варіант, якщо редактор не визначено.

note: type: textblock
en: Returns C<-1> for failure, C<0> on success, C<1> if the editor did not change the file (e.g. the user closed the editor without saving).
uk: Повертає C<-1>, якщо сталася помилка; C<0>, якщо виконано успішно; C<1>, якщо файл не було змінено редактором (наприклад, користувач закрив вікно редактора без збереження змін).

note: type: =head4
en: Function C<common/edit/file-edit.c:edit_file_perl>
uk: Функція C<common/edit/file-edit.c:edit_file_perl>

note: type: textblock
en: Edit C<filename> running the specified C<perl_expr> using Perl.
uk: Редагувати файл із назвою C<filename> за допомогою запуску вказаного виразу C<perl_expr>, використовуючи Perl.

note: type: textblock
en: Returns C<-1> for failure, C<0> on success.
uk: Повертає C<-1>, якщо сталася помилка, C<0>, якщо виконано успішно.

note: type: =head2
en: Subdirectory F<common/mlxml>
uk: Підкаталог F<common/mlxml>

note: type: =head3
en: File F<common/mlxml/xml-c.c>
uk: Файл F<common/mlxml/xml-c.c>

note: type: textblock
en: Mini interface to libxml2.
uk: Мініінтерфейс до libxml2.

note: type: =head2
en: Subdirectory F<common/options>
uk: Підкаталог F<common/options>

note: type: =head3
en: File F<common/options/config.c>
uk: Файл F<common/options/config.c>

note: type: textblock
en: This file parses the guestfish configuration file, usually F<~/.libguestfs-tools.rc> or F</etc/libguestfs-tools.conf>.
uk: Цей файл обробляє файл налаштувань guestfish, зазвичай, F<~/.libguestfs-tools.rc> або F</etc/libguestfs-tools.conf>.

note: type: textblock
en: Note that C<parse_config> is called very early, before command line parsing, before the C<verbose> flag has been set, even before the global handle C<g> is opened.
uk: Зауважте, що C<parse_config> викликається дуже рано, до обробки командного рядка, до встановлення прапорця C<verbose>, навіть до відкриття загального дескриптора C<g>.

note: type: =head3
en: File F<common/options/decrypt.c>
uk: Файл F<common/options/decrypt.c>

note: type: textblock
en: This file implements the decryption of disk images, usually done before mounting their partitions.
uk: У цьому файлі реалізовано розшифровування образів дисків, яке, зазвичай, виконується до монтування розділів з таких дисків.

note: type: =head4
en: Function C<common/options/decrypt.c:make_mapname>
uk: Функція C<common/options/decrypt.c:make_mapname>

note: type: textblock
en: Make a LUKS map name from the partition name, eg. C<"/dev/vda2" =E<gt> "luksvda2">
uk: Створення назви карти LUKS на основі назви розділу, наприклад C<"/dev/vda2" =E<gt> "luksvda2">

note: type: =head4
en: Function C<common/options/decrypt.c:inspect_do_decrypt>
uk: Функція C<common/options/decrypt.c:inspect_do_decrypt>

note: type: textblock
en: Simple implementation of decryption: look for any C<crypto_LUKS> partitions and decrypt them, then rescan for VGs.  This only works for Fedora whole-disk encryption.  WIP to make this work for other encryption schemes.
uk: Проста реалізація розшифрування: пошук усіх розділів C<crypto_LUKS> та їхнє розшифровування, далі повторне сканування віртуальних груп. Це працює лише для повного шифрування дисків у Fedora. Триває робота із забезпечення працездатності цієї функції для інших схем шифрування.

note: type: =head3
en: File F<common/options/display-options.c>
uk: Файл F<common/options/display-options.c>

note: type: textblock
en: This file contains common code used to implement I<--short-options> and I<--long-options> in C virt tools.  (The equivalent for OCaml virt tools is implemented by F<common/mltools/getopt.ml>).
uk: Цей файл містить загальний код, який використовується для реалізації I<--short-options> і I<--long-options> у засобах віртуалізації C. (Еквівалент засобів віртуалізації OCaml реалізовано у F<common/mltools/getopt.ml>).

note: type: textblock
en: These "hidden" options are used to implement bash tab completion.
uk: Ці «приховані» параметри використовуються для реалізації доповнення за Tab у bash.

note: type: =head4
en: Function C<common/options/display-options.c:display_short_options>
uk: Функція C<common/options/display-options.c:display_short_options>

note: type: textblock
en: Implements the internal C<tool I<--short-options>> flag, which just lists out the short options available.  Used by bash completion.
uk: Реалізує внутрішній прапорець C<tool I<--short-options>>, який просто виводить список доступних скорочених версій параметрів. Використовується для автоматичного доповнення команд у bash.

note: type: =head4
en: Function C<common/options/display-options.c:display_long_options>
uk: Функція C<common/options/display-options.c:display_long_options>

note: type: textblock
en: Implements the internal C<tool I<--long-options>> flag, which just lists out the long options available.  Used by bash completion.
uk: Реалізує внутрішній прапорець C<tool I<--long-options>>, який просто виводить список доступних повних версій параметрів. Використовується для автоматичного доповнення команд у bash.

note: type: =head3
en: File F<common/options/domain.c>
uk: Файл F<common/options/domain.c>

note: type: textblock
en: Implements the guestfish (and other tools) I<-d> option.
uk: Реалізовує параметр guestfish (та інших інструментів) I<-d>.

note: type: =head4
en: Function C<common/options/domain.c:add_libvirt_drives>
uk: Функція C<common/options/domain.c:add_libvirt_drives>

note: type: textblock
en: This function is called when a user invokes S<C<guestfish -d guest>>.
uk: Цю функцію буде викликано, якщо користувач віддає команду S<C<guestfish -d гостьова_система>>.

note: type: textblock
en: Returns the number of drives added (S<C<E<gt> 0>>), or C<-1> for failure.
uk: Повертає кількість доданих дисків (S<C<E<gt> 0>>) або C<-1>, якщо станеться помилка.

note: type: =head3
en: File F<common/options/inspect.c>
uk: Файл F<common/options/inspect.c>

note: type: textblock
en: This file implements inspecting the guest and mounting the filesystems found in the right places.  It is used by the L<guestfish(1)> I<-i> option and some utilities such as L<virt-cat(1)>.
uk: У цьому файлі реалізовано інспектування гостьової системи і монтування знайдених файлових систем у відповідних місцях. Використовується параметром L<guestfish(1)> I<-i> і деякими інструментами, зокрема L<virt-cat(1)>.

note: type: =head4
en: Function C<common/options/inspect.c:inspect_mount_handle>
uk: Функція C<common/options/inspect.c:inspect_mount_handle>

note: type: textblock
en: This function implements the I<-i> option.
uk: Ця функція реалізує роботу параметра I<-i>.

note: type: =head4
en: Function C<common/options/inspect.c:print_inspect_prompt>
uk: Функція C<common/options/inspect.c:print_inspect_prompt>

note: type: textblock
en: This function is called only if C<inspect_mount_root> was called, and only after we've printed the prompt in interactive mode.
uk: Ця функція викликається, лише якщо було викликано C<inspect_mount_root> і лише після виведення запиту у інтерактивному режимі.

note: type: =head3
en: File F<common/options/keys.c>
uk: Файл F<common/options/keys.c>

note: type: =head4
en: Function C<common/options/keys.c:read_key>
uk: Функція C<common/options/keys.c:read_key>

note: type: textblock
en: Read a passphrase ('Key') from F</dev/tty> with echo off.
uk: Прочитати пароль («Key») з F</dev/tty> із вимкненим показом символів пароля.

note: type: textblock
en: The caller (F<fish/cmds.c>) will call free on the string afterwards.  Based on the code in cryptsetup file F<lib/utils.c>.
uk: Функція виклику (F<fish/cmds.c>) викличе free для рядка після виконання. Засновано на коді з файла F<lib/utils.c> cryptsetup.

note: type: =head3
en: File F<common/options/options.c>
uk: Файл F<common/options/options.c>

note: type: textblock
en: This file contains common options parsing code used by guestfish and many other tools which share a common options syntax.
uk: У цьому файлі містяться загальні параметри коду обробки, який використовується guestfish та багатьма іншими інструментами, які спільно використовують загальний синтаксис параметрів.

note: type: textblock
en: For example, guestfish, virt-cat, virt-ls etc all support the I<-a> option, and that is handled in all of those tools using a macro C<OPTION_a> defined in F<fish/options.h>.
uk: Наприклад, у всіх засобах, guestfish, virt-cat, virt-ls тощо, передбачено підтримку параметра I<-a>, і цю підтримку реалізовано у всіх цих засобах за допомогою макросу C<OPTION_a>, визначено у F<fish/options.h>.

note: type: textblock
en: There are a lot of common global variables used, C<drvs> accumulates the list of drives, C<verbose> for the I<-v> flag, and many more.
uk: Засобами використано доволі багато загальних змінних, C<drvs> збирає список дисків, C<verbose> для прапорця I<-v> тощо.

note: type: =head4
en: Function C<common/options/options.c:option_a>
uk: Функція C<common/options/options.c:option_a>

note: type: textblock
en: Handle the guestfish I<-a> option on the command line.
uk: Обробка параметра I<-a> командного рядка guestfish.

note: type: =head4
en: Function C<common/options/options.c:option_d>
uk: Функція C<common/options/options.c:option_d>

note: type: textblock
en: Handle the I<-d> option when passed on the command line.
uk: Обробка параметра I<-d>, якщо такий передано у командному рядку.

note: type: =head4
en: Function C<common/options/options.c:display_mountpoints_on_failure>
uk: Функція C<common/options/options.c:display_mountpoints_on_failure>

note: type: textblock
en: If the I<-m> option fails on any command, display a useful error message listing the mountpoints.
uk: Якщо використання параметра I<-m> призводить до помилку у якійсь команді, показати корисне повідомлення про помилку зі списком усіх точок монтування.

note: type: =head3
en: File F<common/options/uri.c>
uk: Файл F<common/options/uri.c>

note: type: textblock
en: This file implements URI parsing for the I<-a> option, in many utilities including L<guestfish(1)>, L<virt-cat(1)>, L<virt-builder(1)>, L<virt-customize(1)>, etc.
uk: У цьому файлі реалізовано обробку адрес для параметра I<-a> для багатьох інструментів, зокрема L<guestfish(1)>, L<virt-cat(1)>, L<virt-builder(1)>, L<virt-customize(1)> тощо.

note: type: =head2
en: Subdirectory F<common/parallel>
uk: Підкаталог F<common/parallel>

note: type: =head3
en: File F<common/parallel/domains.c>
uk: Файл F<common/parallel/domains.c>

note: type: textblock
en: This file is used by C<virt-df> and some of the other tools when they are implicitly asked to operate over all libvirt domains (VMs), for example when C<virt-df> is called without specifying any particular disk image.
uk: Цей файл використовується C<virt-df> і деякими іншими інструментами, якщо їм неявним чином надходить запит для обробки усіх доменів libvirt (віртуальних машин), наприклад, коли викликано C<virt-df> без визначення якогось певного образу диска.

note: type: textblock
en: It hides the complexity of querying the list of domains from libvirt.
uk: Приховує складність опитування щодо списку доменів libvirt.

note: type: =head4
en: Function C<common/parallel/domains.c:free_domains>
uk: Функція C<common/parallel/domains.c:free_domains>

note: type: textblock
en: Frees up everything allocated by C<get_all_libvirt_domains>.
uk: Звільняє усю пам'ять, яку отримано C<get_all_libvirt_domains>.

note: type: =head4
en: Function C<common/parallel/domains.c:get_all_libvirt_domains>
uk: Функція C<common/parallel/domains.c:get_all_libvirt_domains>

note: type: textblock
en: Read all libguest guests into the global variables C<domains> and C<nr_domains>.  The guests are ordered by name.  This exits on any error.
uk: Прочитати список усіх гостьових систем libguest до загальних змінних C<domains> і C<nr_domains>. Гостьові системи упорядковуються за назвою. Виходить за будь-якої помилки.

note: type: =head3
en: File F<common/parallel/estimate-max-threads.c>
uk: Файл F<common/parallel/estimate-max-threads.c>

note: type: =head4
en: Function C<common/parallel/estimate-max-threads.c:estimate_max_threads>
uk: Функція C<common/parallel/estimate-max-threads.c:estimate_max_threads>

note: type: textblock
en: This function uses the output of C<free -m> to estimate how many libguestfs appliances could be safely started in parallel.  Note that it always returns E<ge> 1.
uk: Ця функція використовує виведення C<free -m> для оцінки кількості базових систем libguestfs, яку можна безпечно запускати паралельно. Зауважте, що вона завжди повертає E<ge> 1.

note: type: =head4
en: Function C<common/parallel/estimate-max-threads.c:read_line_from>
uk: Функція C<common/parallel/estimate-max-threads.c:read_line_from>

note: type: textblock
en: Run external command and read the first line of output.
uk: Запускає зовнішню програму і читає перший виведений нею рядок.

note: type: =head3
en: File F<common/parallel/parallel.c>
uk: Файл F<common/parallel/parallel.c>

note: type: textblock
en: This file is used by C<virt-df> and some of the other tools when they need to run multiple parallel libguestfs instances to operate on a large number of libvirt domains efficiently.
uk: Цей файл використовується C<virt-df> і деякими з інших інструментів, коли їм потрібно запустити декілька екземплярів libguestfs паралельно для ефективної обробки великої кількості доменів libvirt.

note: type: textblock
en: It implements a multithreaded work queue.  In addition it reorders the output so the output still appears in the same order as the input (ie. still ordered alphabetically).
uk: Реалізує багатопотокову чергу обробки. На додачу, перевпорядковує виведені дані так, що виведення з'являється у тому самому порядку, що і вхідні дані (тобто все ще упорядкованим за абеткою).

note: type: =head4
en: Function C<common/parallel/parallel.c:start_threads>
uk: Функція C<common/parallel/parallel.c:start_threads>

note: type: textblock
en: Run the threads and work through the global list of libvirt domains.
uk: Запустити потоки обробки і роботу через загальний список доменів libvirt.

note: type: textblock
en: C<option_P> is whatever the user passed in the I<-P> option, or C<0> if the user didn't use the I<-P> option (in which case the number of threads is chosen heuristically).
uk: C<option_P> — будь-що, що користувач передає у параметрі I<-P>, або C<0>, якщо користувач не використовує параметр I<-P> (у цьому випадку кількість потоків обробки вибирається евристично).

note: type: textblock
en: C<options_handle> (which may be C<NULL>) is the global guestfs handle created by the options mini-library.
uk: C<options_handle> (який може дорівнювати C<NULL>) є загальним дескриптором guestfs, створеним мінібібліотекою параметрів.

note: type: textblock
en: The work function (C<work>) should do the work (inspecting the domain, etc.)  on domain index C<i>.  However it I<must not> print out any result directly.  Instead it prints anything it needs to the supplied C<FILE *>.  The work function should return C<0> on success or C<-1> on error.
uk: Функція обробки (C<work>) має виконати роботу (інспектувати домен тощо) для домену із індексом C<i>. Втім, вона I<не повинна> виводити будь-який результат безпосередньо. Замість цього, вона виводить будь-що потрібне до наданого файла C<FILE *>. Функція обробки має повернути C<0>, якщо обробку виконано успішно, або C<-1>, якщо сталася помилка.

note: type: textblock
en: The C<start_threads> function returns C<0> if all work items completed successfully, or C<-1> if there was an error.
uk: Функція C<start_threads> повертає C<0>, якщо усі пункти обробки виконано успішно, або C<-1>, якщо сталася помилка.

note: type: =head2
en: Subdirectory F<common/progress>
uk: Підкаталог F<common/progress>

note: type: =head3
en: File F<common/progress/progress.c>
uk: Файл F<common/progress/progress.c>

note: type: textblock
en: This file implements the progress bar in L<guestfish(1)>, L<virt-resize(1)> and L<virt-sparsify(1)>.
uk: У цьому файлі реалізовано смужку поступу з L<guestfish(1)>, L<virt-resize(1)> та L<virt-sparsify(1)>.

note: type: =head4
en: Function C<common/progress/progress.c:progress_bar_init>
uk: Функція C<common/progress/progress.c:progress_bar_init>

note: type: textblock
en: Initialize a progress bar struct.
uk: Ініціалізує структуру смужки поступу.

note: type: textblock
en: It is intended that you can reuse the same struct for multiple commands (but only in a single thread).  Call C<progress_bar_reset> before each new command.
uk: Ви можете використовувати одну структуру для декількох команд (але лише у межах одного потоку обробки). Так зроблено навмисне. Перед викликом кожної нової команди слід викликати C<progress_bar_reset>.

note: type: =head4
en: Function C<common/progress/progress.c:progress_bar_free>
uk: Функція C<common/progress/progress.c:progress_bar_free>

note: type: textblock
en: Free a progress bar struct.
uk: Спорожнює структуру смужки поступу.

note: type: =head4
en: Function C<common/progress/progress.c:progress_bar_reset>
uk: Функція C<common/progress/progress.c:progress_bar_reset>

note: type: textblock
en: This function should be called just before you issue any command.
uk: Цю функцію слід викликати до того, як ви віддасте якусь команду.

note: type: =head4
en: Function C<common/progress/progress.c:estimate_remaining_time>
uk: Функція C<common/progress/progress.c:estimate_remaining_time>

note: type: textblock
en: Return remaining time estimate (in seconds) for current call.
uk: Повертає оцінку часу до завершення обробки (у секундах) для поточного виклику.

note: type: textblock
en: This returns the running mean estimate of remaining time, but if the latest estimate of total time is greater than two s.d.'s from the running mean then we don't print anything because we're not confident that the estimate is meaningful.  (Returned value is E<lt>0.0 when nothing should be printed).
uk: Повертає поточну оцінку рухомого середнього часу до завершення обробки, але якщо останні оцінка загального часу обробки перевищує подвоєне середньоквадратичне відхилення від рухомого середнього, нічого не виводиться, оскільки не можна бути впевненим у значимості оцінки. (Повернутим значенням, якщо нічого не слід виводити, буде значення E<lt>0.0).

note: type: =head4
en: Function C<common/progress/progress.c:progress_bar_set>
uk: Функція C<common/progress/progress.c:progress_bar_set>

note: type: textblock
en: Set the position of the progress bar.
uk: Встановлює позицію у смужці поступу.

note: type: textblock
en: This should be called from a C<GUESTFS_EVENT_PROGRESS> event callback.
uk: Це слід викликати зі зворотного виклику події C<GUESTFS_EVENT_PROGRESS>.

note: type: =head2
en: Subdirectory F<common/qemuopts>
uk: Підкаталог F<common/qemuopts>

note: type: =head3
en: File F<common/qemuopts/qemuopts-tests.c>
uk: Файл F<common/qemuopts/qemuopts-tests.c>

note: type: =head3
en: File F<common/qemuopts/qemuopts.c>
uk: Файл F<common/qemuopts/qemuopts.c>

note: type: textblock
en: There are some shortcomings with the model used for qemu options which aren't clear until you try to convert options into a configuration file.  However if we attempted to model the options in more detail then this library would be both very difficult to use and incompatible with older versions of qemu.  Hopefully the current model is a decent compromise.
uk: Модель, яку використано для параметрів qemu, має певні недоліки, які не є очевидними до того моменту, коли ви спробуєте перетворити параметри на файл налаштувань. Втім, якщо б ми спробувати моделювати параметри детальніше, ця бібліотека стала б дуже складною у користуванні і несумісною із застарілими версіями qemu. Сподіваємося, поточна модель є розумним компромісом.

note: type: textblock
en: For reference here are the problems:
uk: Якщо цікаво, ось список проблем:

note: type: textblock
en: There's inconsistency in qemu between options and config file, eg.  C<-smp 4> becomes:
uk: У qemu є певна неузгодженість між параметрами і файлом налаштувань, наприклад  C<-smp 4> перетворюється на таке:

note: type: textblock
en: Similar to the previous point, you can write either C<-smp 4> or C<-smp cpus=4> (although this won't work in very old qemu).  When generating a config file you need to know the implicit key name.
uk: Подібно до попереднього пункту, ви можете написати C<-smp 4> або C<-smp cpus=4> (хоча це не працюватиме на дуже давніх qemu). Під час створення файла налаштувань вам знадобиться неявна назва ключа.

note: type: textblock
en: In C<-opt key=value,...> the C<key> is really a tree/array specifier.  The way this works is complicated but hinted at here: L<http://git.qemu.org/?p=qemu.git;a=blob;f=util/keyval.c;h=93d5db6b590427e412dfb172f1c406d6dd8958c1;hb=HEAD>
uk: У записі C<-opt ключ=значення,...> частина C<ключ> насправді є специфікатором ієрархії або масиву. Спосіб, у який це все працює, є доволі складним, але натяки щодо роботи можна знайти тут: L<http://git.qemu.org/?p=qemu.git;a=blob;f=util/keyval.c;h=93d5db6b590427e412dfb172f1c406d6dd8958c1;hb=HEAD>

note: type: textblock
en: Some options are syntactic sugar.  eg. C<-kernel foo> is sugar for C<-machine kernel=foo>.
uk: Деякі з параметрів є синтаксичним цукром. Приклад: C<-kernel щось> є цукром для C<-machine kernel=щось>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_create>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_create>

note: type: textblock
en: Create an empty list of qemu options.
uk: Створення порожнього списку параметрів qemu.

note: type: textblock
en: The caller must eventually free the list by calling C<qemuopts_free>.
uk: Функція виклику має нарешті вивільнити список шляхом виклику C<qemuopts_free>.

note: type: textblock
en: Returns C<NULL> on error, setting C<errno>.
uk: Повертає C<NULL>, якщо станеться помилка, встановлюючи C<errno>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_free>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_free>

note: type: textblock
en: Free the list of qemu options.
uk: Спорожнює список параметрів qemu.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_add_flag>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_add_flag>

note: type: textblock
en: Add a command line flag which has no argument. eg:
uk: Додає прапорець командного рядка, який не має аргументів. Приклад:

note: type: textblock
en: Returns C<0> on success.  Returns C<-1> on error, setting C<errno>.
uk: Повертає C<0>, якщо виконано успішно. Повертає C<-1>, якщо станеться помилка, встановлюючи C<errno>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_add_arg>

note: type: textblock
en: Add a command line flag which has a single argument. eg:
uk: Додає прапорець командного рядка, який має єдиний аргумент. Приклад:

note: type: textblock
en: Don't use this if the argument is a comma-separated list, since quoting will not be done properly.  See C<qemuopts_add_arg_list>.
uk: Не користуйтеся цим, якщо аргументом є список відокремлених комами значень, оскільки у цьому випадку не вдасться належним чином виконати взяття у лапки. Див. C<qemuopts_add_arg_list>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_format>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_add_arg_format>

note: type: textblock
en: Add a command line flag which has a single formatted argument. eg:
uk: Додає прапорець командного рядка, який має єдиний форматований аргумент. Приклад:

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_noquote>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_add_arg_noquote>

note: type: textblock
en: This is like C<qemuopts_add_arg> except that no quoting is done on the value.
uk: Подібна до C<qemuopts_add_arg>, але для значення не виконуватиметься взяття у лапки.

note: type: textblock
en: For C<qemuopts_to_script> and C<qemuopts_to_channel>, this means that neither shell quoting nor qemu comma quoting is done on the value.
uk: Для C<qemuopts_to_script> і C<qemuopts_to_channel> це означає, що ні взяття у лапки для командної оболонки, ні взяття у лапки значень, відокремлених комами, для значення не виконуватиметься.

note: type: textblock
en: For C<qemuopts_to_argv> this means that qemu comma quoting is not done.
uk: Для C<qemuopts_to_argv> це означає, що не виконуватиметься взяття у лапки значень, відокремлених комами для qemu.

note: type: textblock
en: C<qemuopts_to_config*> will fail.
uk: C<qemuopts_to_config*> завершить роботу повідомленням про помилку.

note: type: textblock
en: You should use this with great care.
uk: Вам слід використовувати це дуже обережно.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_start_arg_list>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_start_arg_list>

note: type: textblock
en: Start an argument that takes a comma-separated list of fields.
uk: Розпочати аргумент, який приймає список полів, відокремлених комами.

note: type: textblock
en: Typical usage is like this (with error handling omitted):
uk: Типове використання (без обробки помилок):

note: type: textblock
en: which would construct C<-drive file=foo,if=ide>
uk: що має побудувати C<-drive file=foo,if=ide>

note: type: textblock
en: See also C<qemuopts_add_arg_list> for a way to do simple cases in one call.
uk: Див. також C<qemuopts_add_arg_list>, щоб дізнатися про спосіб використання одного виклику для простих випадків.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_list>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_add_arg_list>

note: type: textblock
en: Add a command line flag which has a list of arguments. eg:
uk: Додає прапорець командного рядка, який має список аргументів. Приклад:

note: type: textblock
en: This is turned into a comma-separated list, like: C<-drive file=foo,if=ide>.  Note that this handles qemu quoting properly, so individual elements may contain commas and this will do the right thing.
uk: Це перетворюється у список відокремлених комами значень, зокрема такий: C<-drive file=foo,if=ide>. Зауважте, що додавання лапок для qemu виконується належним чином, отже окремі елементи можуть містити коми без ризику помилки.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_set_binary>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_set_binary>

note: type: textblock
en: Set the qemu binary name.
uk: Встановити назву виконуваного файла qemu.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_set_binary_by_arch>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_set_binary_by_arch>

note: type: textblock
en: Set the qemu binary name to C<qemu-system-[arch]>.
uk: Встановити для виконуваного файла qemu назву C<qemu-system-[архітектура]>.

note: type: textblock
en: As a special case if C<arch> is C<NULL>, the binary is set to the KVM binary for the current host architecture:
uk: Для особливого випадку, коли C<архітектура> дорівнює C<NULL>, для виконуваного файла встановлюється назва виконуваного файла KVM для поточної архітектури основної системи:

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_to_script>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_to_script>

note: type: textblock
en: Write the qemu options to a script.
uk: Записує параметри qemu до скрипту.

note: type: textblock
en: C<qemuopts_set_binary*> must be called first.
uk: Спершу слід викликати C<qemuopts_set_binary*>.

note: type: textblock
en: The script file will start with C<#!/bin/sh> and will be chmod to mode C<0755>.
uk: Файл скрипту буде запускатися командою C<#!/bin/sh>, його режим доступу буде змінено на C<0755>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:shell_quote>
uk: Функція C<common/qemuopts/qemuopts.c:shell_quote>

note: type: textblock
en: Print C<str> to C<fp>, shell-quoting it if necessary.
uk: Вивести рядок C<str> до C<fp> із додаванням лапок для командної оболонки, якщо потрібно.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:shell_and_comma_quote>
uk: Функція C<common/qemuopts/qemuopts.c:shell_and_comma_quote>

note: type: textblock
en: Print C<str> to C<fp> doing both shell and qemu comma quoting.
uk: Вивести рядок C<str> до C<fp> із додаванням лапок для командної оболонки і qemu.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_to_channel>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_to_channel>

note: type: textblock
en: Write the qemu options to a C<FILE *fp>.
uk: Записати параметри qemu до C<FILE *fp>.

note: type: textblock
en: Only the qemu command line is written.  The caller may need to add C<#!/bin/sh> and may need to chmod the resulting file to C<0755>.
uk: Записується лише командний рядок qemu. Можливо, функції виклику слід додати C<#!/bin/sh> із змінити права доступу до файла-результату на C<0755>.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_to_argv>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_to_argv>

note: type: textblock
en: Return a NULL-terminated argument list, of the kind that can be passed directly to L<execv(3)>.
uk: Повернути список аргументів, що завершуватиметься на NULL, такого типу, який може бути передано безпосередньо до L<execv(3)>.

note: type: textblock
en: C<qemuopts_set_binary*> must be called first.  It will be returned as C<argv[0]> in the returned list.
uk: Спочатку має бути викликано C<qemuopts_set_binary*>. Його буде повернуто як C<argv[0]> у списку повернутих значень.

note: type: textblock
en: The list of strings and the strings themselves must be freed by the caller.
uk: Список рядків і самі рядки має бути вивільнено у функції виклику.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_to_config_file>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_to_config_file>

note: type: textblock
en: Write the qemu options to a qemu config file, suitable for reading in using C<qemu -readconfig filename>.
uk: Записати параметри qemu до файла налаштувань qemu, придатного до використання за допомогою команди C<qemu -readconfig назва_файла>.

note: type: textblock
en: Note that qemu config files have limitations on content and quoting, so not all qemuopts structs can be written (this function returns an error in these cases).  For more information see L<https://habkost.net/posts/2016/12/qemu-apis-qemuopts.html> L<https://bugs.launchpad.net/qemu/+bug/1686364>
uk: Зауважте, що файли налаштувань qemu мають обмеження щодо вмісту і використання лапок, тому може бути записано не усі структури qemuopts (у таких випадках ця функція повертає помилку). Докладніші відомості можна знайти тут: L<https://habkost.net/posts/2016/12/qemu-apis-qemuopts.html> L<https://bugs.launchpad.net/qemu/+bug/1686364>

note: type: textblock
en: Also, command line argument names and config file sections sometimes have different names.  For example the equivalent of C<-m 1024> is:
uk: Крім того, іноді назви аргументів командного рядка і розділів файла налаштувань можуть бути різними. Приклад: еквівалентом C<-m 1024> є таке:

note: type: textblock
en: This code does I<not> attempt to convert between the two forms.  You just need to know how to do that yourself.
uk: У програмному коді I<не> робиться спроби виконати перетворення між цими двома формами. Вам доведеться дізнатися про те, як це зробити, самостійно.

note: type: =head4
en: Function C<common/qemuopts/qemuopts.c:qemuopts_to_config_channel>
uk: Функція C<common/qemuopts/qemuopts.c:qemuopts_to_config_channel>

note: type: textblock
en: Same as C<qemuopts_to_config_file>, but this writes to a C<FILE *fp>.
uk: Те саме, що C<qemuopts_to_config_file>, але записує дані до C<FILE *fp>.

note: type: =head2
en: Subdirectory F<common/utils>
uk: Підкаталог F<common/utils>

note: type: =head3
en: File F<common/utils/cleanups.c>
uk: Файл F<common/utils/cleanups.c>

note: type: textblock
en: Libguestfs uses C<CLEANUP_*> macros to simplify temporary allocations.  They are implemented using the C<__attribute__((cleanup))> feature of gcc and clang.  Typical usage is:
uk: Libguestfs для спрощення тимчасового отримання пам'яті використовує макроси C<CLEANUP_*>. Макроси реалізовано за допомогою можливості C<__attribute__((cleanup))> у gcc і clang. Типовий приклад використання:

note: type: textblock
en: There are a few catches to be aware of with the cleanup mechanism:
uk: Існує декілька тонких моментів, на які слід зважати, коли ви маєте справу із механізмом чищення:

note: type: textblock
en: If a cleanup variable is not initialized, then you can end up calling L<free(3)> with an undefined value, resulting in the program crashing.  For this reason, you should usually initialize every cleanup variable with something, eg. C<NULL>
uk: Якщо змінну чищення не ініціалізовано, L<free(3)> може бути викликано із невизначеним значенням, що призведе до аварійного завершення роботи програми. З цієї причини вам, зазвичай слід ініціалізувати усі змінні чищення якимось значенням, наприклад, C<NULL>

note: type: textblock
en: Don't mark variables holding return values as cleanup variables.
uk: Не позначайте змінні, які містять значення, які повертає функція, як змінні для чищення.

note: type: textblock
en: The C<main()> function shouldn't use cleanup variables since it is normally exited by calling L<exit(3)>, and that doesn't call the cleanup handlers.
uk: У функції C<main()> не повинні використовуватися змінні чищення, оскільки ця функція, зазвичай, виходить шляхом виклику L<exit(3)>, а ця програма не викликає обробники чищення.

note: type: textblock
en: The functions in this file are used internally by the C<CLEANUP_*> macros.  Don't call them directly.
uk: Функції у цьому файлі використовуються на внутрішньому рівні макросами C<CLEANUP_*>. Не викликайте їх безпосередньо.

note: type: =head3
en: File F<common/utils/gnulib-cleanups.c>
uk: Файл F<common/utils/gnulib-cleanups.c>

note: type: =head3
en: File F<common/utils/guestfs-utils.h>
uk: Файл F<common/utils/guestfs-utils.h>

note: type: textblock
en: This header file is included in all "frontend" parts of libguestfs, namely the library, non-C language bindings, virt tools and tests.
uk: Цей файл заголовків включається до усіх частин «оболонки» libguestfs, а саме бібліотеки, прив'язки до мов, відмінних C, засобів віртуалізації та тестів.

note: type: textblock
en: The daemon does B<not> use this header.  If you need a place to put something shared with absolutely everything including the daemon, put it in F<lib/guestfs-internal-all.h>
uk: Фонова служба B<не> використовує цей заголовок. Якщо вам потрібне місце для додавання якогось спільного коду для абсолютно усього, включно із фоновою службою, скористайтеся F<lib/guestfs-internal-all.h>

note: type: textblock
en: If a definition is only needed by a single component of libguestfs (eg. just the library, or just a single virt tool) then it should B<not> be here!
uk: Якщо визначення потрібне лише для окремого компонента libguestfs (наприклад, лише бібліотеки або лише якогось засобу віртуалізації), його B<не> повинно бути тут!

note: type: =head3
en: File F<common/utils/libxml2-writer-macros.h>
uk: Файл F<common/utils/libxml2-writer-macros.h>

note: type: textblock
en: These macros make it easier to write XML.  To use them correctly you must be aware of these assumptions:
uk: Ці макроси спрощують написання XML. Для правильного їхнього використання вам слід зважити на такі припущення:

note: type: textblock
en: The C<xmlTextWriterPtr> is called C<xo>.  It is used implicitly by all the macros.
uk: Припускається, що C<xmlTextWriterPtr> має назву C<xo>. Неявний виклик є у всіх макросах.

note: type: textblock
en: On failure, a function called C<xml_error> is called which you must define (usually as a macro).  You must use C<CLEANUP_*> macros in your functions if you want correct cleanup of local variables along the error path.
uk: Якщо станеться критична помилка, буде викликано функцію C<xml_error>, яку ви маєте визначити (зазвичай, у форматі макросу). Вам слід використовувати у вашій функції макрос C<CLEANUP_*>, якщо ви хочете належним чином позбутися локальних змінних уздовж шляху помилки.

note: type: textblock
en: All the "bad" casting is hidden inside the macros.
uk: Усі «погані» перетворення типів приховано усередині макросів.

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:start_element>
uk: Визначення C<common/utils/libxml2-writer-macros.h:start_element>

note: type: textblock
en: To define an XML element use:
uk: Визначення елемента XML:

note: type: textblock
en: which produces C<<< <name>...</name> >>>
uk: результат — C<<< <name>...</name> >>>

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:empty_element>
uk: Визначення C<common/utils/libxml2-writer-macros.h:empty_element>

note: type: textblock
en: To define an empty element:
uk: Визначення порожнього елемента:

note: type: textblock
en: which produces C<<< <name/> >>>
uk: результат — C<<< <name/> >>>

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:single_element>
uk: Визначення C<common/utils/libxml2-writer-macros.h:single_element>

note: type: textblock
en: To define a single element with no attributes containing some text:
uk: Визначення окремого елемента без атрибутів із текстовим вмістом:

note: type: textblock
en: which produces C<<< <name>text</name> >>>
uk: результат — C<<< <name>text</name> >>>

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:single_element_format>
uk: Визначення C<common/utils/libxml2-writer-macros.h:single_element_format>

note: type: textblock
en: To define a single element with no attributes containing some text using a format string:
uk: Визначення окремого елемента без атрибутів із текстовим вмістом з використанням рядка форматування:

note: type: textblock
en: which produces C<<< <cores>4</cores> >>>
uk: результат — C<<< <cores>4</cores> >>>

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:attribute>
uk: Визначення C<common/utils/libxml2-writer-macros.h:attribute>

note: type: textblock
en: To define an XML element with attributes, use:
uk: Визначення елемента XML з атрибутами:

note: type: textblock
en: which produces C<<< <name foo="bar" count="123">...</name> >>>
uk: результат — C<<< <name foo="bar" count="123">...</name> >>>

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:attribute_ns>
uk: Визначення C<common/utils/libxml2-writer-macros.h:attribute_ns>

note: type: textblock
en: C<attribute_ns (prefix, key, namespace_uri, value)> defines a namespaced attribute.
uk: C<attribute_ns (prefix, key, namespace_uri, value)> визначає атрибут із простором назв.

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:string>
uk: Визначення C<common/utils/libxml2-writer-macros.h:string>

note: type: textblock
en: To define a verbatim string, use:
uk: Щоб визначити рядок буквально, скористайтеся таким кодом:

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:string_format>
uk: Визначення C<common/utils/libxml2-writer-macros.h:string_format>

note: type: textblock
en: To define a verbatim string using a format string, use:
uk: Для визначення рядка буквально із урахуванням рядка форматування скористайтеся таким кодом:

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:base64>
uk: Визначення C<common/utils/libxml2-writer-macros.h:base64>

note: type: textblock
en: To write a string encoded as base64:
uk: Запис рядка, який закодовано у base64:

note: type: =head4
en: Definition C<common/utils/libxml2-writer-macros.h:comment>
uk: Визначення C<common/utils/libxml2-writer-macros.h:comment>

note: type: textblock
en: To define a comment in the XML, use:
uk: Визначення коментаря у XML:

note: type: =head3
en: File F<common/utils/stringlists-utils.c>
uk: Файл F<common/utils/stringlists-utils.c>

note: type: textblock
en: Utility functions used by the library, tools and language bindings.
uk: Допоміжні функції, які використовуються бібліотекою, засобами віртуалізації та прив'язками до мов програмування.

note: type: textblock
en: These functions I<must not> call internal library functions such as C<safe_*>, C<error> or C<perrorf>, or any C<guestfs_int_*>.
uk: Ці функції I<не повинні> викликати вбудовані бібліотечні функції, зокрема C<safe_*>, C<error> або C<perrorf> чи будь-які функції C<guestfs_int_*>.

note: type: =head4
en: Function C<common/utils/stringlists-utils.c:guestfs_int_split_string>
uk: Функція C<common/utils/stringlists-utils.c:guestfs_int_split_string>

note: type: textblock
en: Split string at separator character C<sep>, returning the list of strings.  Returns C<NULL> on memory allocation failure.
uk: Розділити рядок на символі-роздільнику C<sep>, повернувши список рядків. Повертає C<NULL>, якщо не вдасться отримати область у пам'яті.

note: type: textblock
en: Note (assuming C<sep> is C<:>):
uk: Зауваження (припускаємо, що C<sep> має значення C<:>):

note: type: textblock
en: returns C<[]>
uk: повертає C<[]>

note: type: textblock
en: returns C<["abc"]>
uk: повертає C<["abc"]>

note: type: textblock
en: returns C<["", ""]>
uk: повертає C<["", ""]>

note: type: =head3
en: File F<common/utils/utils.c>
uk: Файл F<common/utils/utils.c>

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_replace_string>
uk: Функція C<common/utils/utils.c:guestfs_int_replace_string>

note: type: textblock
en: Replace every instance of C<s1> appearing in C<str> with C<s2>.  A newly allocated string is returned which must be freed by the caller.  If allocation fails this can return C<NULL>.
uk: Замінити усі екземпляри C<s1> у C<str> на C<s2>. Буде повернуто новий розміщений рядок, який має бути звільнено функцією виклику. Якщо розміщення рядка не вдасться, функція може повернути C<NULL>.

note: type: textblock
en: would return C<"acab">.
uk: повертає C<"acab">.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_exit_status_to_string>
uk: Функція C<common/utils/utils.c:guestfs_int_exit_status_to_string>

note: type: textblock
en: Translate a wait/system exit status into a printable string.
uk: Перетворити стан виходу wait або system на придатний до виведення рядок.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_random_string>
uk: Функція C<common/utils/utils.c:guestfs_int_random_string>

note: type: textblock
en: Return a random string of characters.
uk: Повертає випадковий рядок символів.

note: type: textblock
en: The C<ret> buffer must have length C<len+1> in order to store the final C<\0> character.
uk: Буфер C<ret> повинен мати довжину C<len+1>, щоб зберегти ще і завершальний символ C<\0>.

note: type: textblock
en: There is about 5 bits of randomness per output character (so about C<5*len> bits of randomness in the resulting string).
uk: На один виведений символ припадає приблизно 5 бітів випадковості (отже, близько C<5*len> бітів випадковості на остаточний рядок).

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_drive_name>
uk: Функція C<common/utils/utils.c:guestfs_int_drive_name>

note: type: textblock
en: This turns a drive index (eg. C<27>) into a drive name (eg. C<"ab">).
uk: Перетворює індекс диска (наприклад C<27>) на назву диска (наприклад C<"ab">).

note: type: textblock
en: Drive indexes count from C<0>.  The return buffer has to be large enough for the resulting string, and the returned pointer points to the *end* of the string.
uk: Відлік індексів дисків виконується від C<0>. Буфер повернутих даних має бути достатньо великим для рядка-результату, а повернутий вказівник має вказувати на *кінець* рядка.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_drive_index>
uk: Функція C<common/utils/utils.c:guestfs_int_drive_index>

note: type: textblock
en: The opposite of C<guestfs_int_drive_name>.  Take a string like C<"ab"> and return the index (eg C<27>).
uk: Протилежна до C<guestfs_int_drive_name> функція. Отримує рядок, подібний до C<"ab">, і повертає індекс (наприклад C<27>).

note: type: textblock
en: Note that you must remove any prefix such as C<"hd">, C<"sd"> etc, or any partition number before calling the function.
uk: Зауважте, що до виклику цієї функції слід прибрати усі префікси, зокрема C<"hd">, C<"sd"> та будь-які номери розділів.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_true>
uk: Функція C<common/utils/utils.c:guestfs_int_is_true>

note: type: textblock
en: Similar to C<Tcl_GetBoolean>.
uk: Подібна до C<Tcl_GetBoolean>.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_string_is_valid>
uk: Функція C<common/utils/utils.c:guestfs_int_string_is_valid>

note: type: textblock
en: Check a string for validity, that it contains only certain characters, and minimum and maximum length.  This function is usually wrapped in a VALID_* macro, see F<lib/drives.c> for an example.
uk: Перевірити рядок на коректність, наявність певних символів та мінімальну і максимальну довжину. Ця функція, зазвичай, загортається у макрос VALID_*, див. приклад у F<lib/drives.c>.

note: type: textblock
en: C<str> is the string to check.
uk: C<str> — рядок, який слід перевірити.

note: type: textblock
en: C<min_length> and C<max_length> are the minimum and maximum length checks.  C<0> means no check.
uk: C<min_length> і C<max_length> — параметри перевірки на мінімальну і максимальну довжину. C<0> — не перевіряти.

note: type: textblock
en: The flags control:
uk: Керівні прапорці:

note: type: textblock
en: 7-bit ASCII-only alphabetic characters are permitted.
uk: Можна використовувати лише 7-бітові літерні символи ASCII.

note: type: textblock
en: 7-bit ASCII-only digits are permitted.
uk: Можна використовувати лише 7-бітові цифри ASCII.

note: type: textblock
en: C<extra> is a set of extra characters permitted, in addition to alphabetic and/or digits.  (C<extra = NULL> for no extra).
uk: C<extra> — набір додаткових дозволених символів, окрім літер і/або цифр. (C<extra = NULL> — без додаткових символів).

note: type: textblock
en: Returns boolean C<true> if the string is valid (passes all the tests), or C<false> if not.
uk: Повертає булеве C<true>, якщо рядок є коректним (пройшов усі перевірки), або C<false>, якщо це не так.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_normal>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_normal>

note: type: textblock
en: Hint that we will read or write the file descriptor normally.
uk: Підказка щодо того, що ми читатимемо або записуватимемо дескриптор файла належним чином.

note: type: textblock
en: On Linux, this clears the C<FMODE_RANDOM> flag on the file [see below] and sets the per-file number of readahead pages to equal the block device readahead setting.
uk: У Linux це знімає прапорець C<FMODE_RANDOM> на файлі [див. нижче] і встановлює для значення кількості сторінок, які слід попередньо прочитати для кожного файла, у значення параметра попереднього читання блокового пристрою.

note: type: textblock
en: It's OK to call this on a non-file since we ignore failure as it is only a hint.
uk: Цю функцію можна викликати і об'єктів, які не є файлами, оскільки ми ігноруємо помилки, бо це лише підказка.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_sequential>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_sequential>

note: type: textblock
en: Hint that we will read or write the file descriptor sequentially.
uk: Підказка щодо того, що ми читатимемо чи записуватимемо дескриптор файла послідовно.

note: type: textblock
en: On Linux, this clears the C<FMODE_RANDOM> flag on the file [see below] and sets the per-file number of readahead pages to twice the block device readahead setting.
uk: У Linux це знімає прапорець C<FMODE_RANDOM> на файлі [див. нижче] і встановлює для значення кількості сторінок, які слід попередньо прочитати для кожного файла, у подвійне значення параметра попереднього читання блокового пристрою.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_random>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_random>

note: type: textblock
en: Hint that we will read or write the file descriptor randomly.
uk: Підказка щодо того, що ми читатимемо чи записуватимемо дескриптор файла випадково.

note: type: textblock
en: On Linux, this sets the C<FMODE_RANDOM> flag on the file.  The effect of this flag is to:
uk: У Linux це встановлює прапорець C<FMODE_RANDOM> на файлі. Результати встановлення є такими:

note: type: textblock
en: Disable normal sequential file readahead.
uk: Вимикання звичайного послідовного попереднього читання файла.

note: type: textblock
en: If any read of the file is done which misses in the page cache, 2MB are read into the page cache.  [I think - I'm not sure I totally understand what this is doing]
uk: Якщо буде виконуватися читання з цього файла даних, яких немає у кеші сторінок, до кешу сторінок буде прочитано 2 МБ даних. [Я так думаю. Я не впевнений, що повністю розумію, що тут робиться.]

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_noreuse>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_noreuse>

note: type: textblock
en: Hint that we will access the data only once.
uk: Підказка щодо того, що ми будемо отримувати доступ до даних лише один раз.

note: type: textblock
en: On Linux, this does nothing.
uk: У Linux не виконує ніяких дій.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_dontneed>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_dontneed>

note: type: textblock
en: Hint that we will not access the data in the near future.
uk: Підказка щодо того, що ми не будемо отримувати доступ до даних у найближчому майбутньому.

note: type: textblock
en: On Linux, this immediately writes out any dirty pages in the page cache and then invalidates (drops) all pages associated with this file from the page cache.  Apparently it does this even if the file is opened or being used by other processes.  This setting is not persistent; if you subsequently read the file it will be cached in the page cache as normal.
uk: У Linux це призведе до негайного запису усіх проміжних сторінок до кешу сторінок, а потім скасовує чинність (відкидає) усі сторінки, пов'язані із цим файлом, із кешу сторінок. Ймовірно, ця дія виконується, навіть якщо файл відкрито або він використовується іншими процесами. Цей параметр не є постійним; якщо ви послідовно читаєте файл, його буде кешовано до кешу сторінок у звичний спосіб.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_fadvise_willneed>
uk: Функція C<common/utils/utils.c:guestfs_int_fadvise_willneed>

note: type: textblock
en: Hint that we will access the data in the near future.
uk: Підказка щодо того, що ми будемо отримувати доступ до даних у найближчому майбутньому.

note: type: textblock
en: On Linux, this immediately reads the whole file into the page cache.  This setting is not persistent; subsequently pages may be dropped from the page cache as normal.
uk: У Linux це призведе до негайного читання усього файла до кешу сторінок. Цей параметр не є постійним; підпослідовності сторінок може бути викинуто з кешу сторінок у звичний спосіб.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_shell_unquote>
uk: Функція C<common/utils/utils.c:guestfs_int_shell_unquote>

note: type: textblock
en: Unquote a shell-quoted string.
uk: Вилучити лапки із рядка, де встановлено лапки для командної оболонки.

note: type: textblock
en: Augeas passes strings to us which may be quoted, eg. if they come from files in F</etc/sysconfig>.  This function can do simple unquoting of these strings.
uk: Augeas передає нам рядки, у яких може бути використано лапки, наприклад, якщо рядки походять з файлів у F</etc/sysconfig>. Ця функція може виконати просте прибирання лапок із рядків.

note: type: textblock
en: Note this function does not do variable substitution, since that is impossible without knowing the file context and indeed the environment under which the shell script is run.  Configuration files should not use complex quoting.
uk: Зауважте, що ця функція не виконує підставляння змінних, оскільки таке підставляння неможливе без знання щодо контексту і середовища, у якому запущено скрипт оболонки. У файлах налаштувань не повинно бути складних випадків використання лапок.

note: type: textblock
en: C<str> is the input string from Augeas, a string that may be single- or double-quoted or may not be quoted.  The returned string is unquoted, and must be freed by the caller.  C<NULL> is returned on error and C<errno> is set accordingly.
uk: C<str> є вхідним рядком від Augeas, у рядку може бути використано одинарні, подвійні лапки або може бути не використано лапки взагалі. Повернутий рядок не міститиме лапок, його має звільнити функція виклику. Якщо станеться помилка, буде повернуто C<NULL> із встановленим відповідним чином C<errno>.

note: type: textblock
en: For information on double-quoting in bash, see L<https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html>
uk: Відомості щодо лапок у bash наведено тут: L<https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html>

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_reg>
uk: Функція C<common/utils/utils.c:guestfs_int_is_reg>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a regular file.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає звичайному файлу.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_dir>
uk: Функція C<common/utils/utils.c:guestfs_int_is_dir>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a directory.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає каталогу.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_chr>
uk: Функція C<common/utils/utils.c:guestfs_int_is_chr>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a char device.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає символьному пристрою.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_blk>
uk: Функція C<common/utils/utils.c:guestfs_int_is_blk>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a block device.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає блоковому пристрою.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_fifo>
uk: Функція C<common/utils/utils.c:guestfs_int_is_fifo>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a named pipe (FIFO).
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає іменованому каналу (FIFO).

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_lnk>
uk: Функція C<common/utils/utils.c:guestfs_int_is_lnk>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a symbolic link.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає символічному посиланню.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_is_sock>
uk: Функція C<common/utils/utils.c:guestfs_int_is_sock>

note: type: textblock
en: Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field represents a Unix domain socket.
uk: Повертає true, якщо C<guestfs_statns> або поле C<st_mode> C<guestfs_lstatns> відповідає сокету домену UNIX.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_full_path>
uk: Функція C<common/utils/utils.c:guestfs_int_full_path>

note: type: textblock
en: Concatenate C<dir> and C<name> to create a path.  This correctly handles the case of concatenating C<"/" + "filename"> as well as C<"/dir" + "filename">.  C<name> may be C<NULL>.
uk: З'єднати C<dir> і C<name> для створення шляху. Ця функція коректно обробляє випадок з'єднання C<"/" + "назва_файла"> і випадок C<"/каталог" + "назва_файла">. Значенням C<name> може бути C<NULL>.

note: type: textblock
en: The caller must free the returned path.
uk: Функція виклику має звільняти повернути шлях.

note: type: textblock
en: This function sets C<errno> and returns C<NULL> on error.
uk: Ця функція встановлює C<errno> і повертає C<NULL>, якщо станеться помилка.

note: type: =head4
en: Function C<common/utils/utils.c:guestfs_int_hexdump>
uk: Функція C<common/utils/utils.c:guestfs_int_hexdump>

note: type: textblock
en: Hexdump a block of memory to C<FILE *>, used for debugging.
uk: Створює дамп блоку пам'яті у C<FILE *>, використовується для діагностування проблем.

note: type: =head2
en: Subdirectory F<common/visit>
uk: Підкаталог F<common/visit>

note: type: =head3
en: File F<common/visit/visit.c>
uk: Файл F<common/visit/visit.c>

note: type: textblock
en: This file contains a recursive function for visiting all files and directories in a guestfs filesystem.
uk: Цей файл містить рекурсивну функцію для відвідання усіх файлів і каталогів у файловій системі guestfs.

note: type: textblock
en: Adapted from L<https://rwmj.wordpress.com/2010/12/15/tip-audit-virtual-machine-for-setuid-files/>
uk: Запозичено з L<https://rwmj.wordpress.com/2010/12/15/tip-audit-virtual-machine-for-setuid-files/>

note: type: =head4
en: Function C<common/visit/visit.c:visit>
uk: Функція C<common/visit/visit.c:visit>

note: type: textblock
en: Visit every file and directory in a guestfs filesystem, starting at C<dir>.
uk: Відвідати усі файли і каталоги у файловій системі guestfs, починаючи з C<dir>.

note: type: textblock
en: C<dir> may be C<"/"> to visit the entire filesystem, or may be some subdirectory.  Symbolic links are not followed.
uk: Значенням C<dir> може бути C<"/">, якщо слід відвідати усю файлову систему, або назва якогось підкаталогу. Перехід за символічними посиланнями здійснюватися не буде.

note: type: textblock
en: The visitor function C<f> is called once for every directory and every file.  The parameters passed to C<f> include the current directory name, the current file name (or C<NULL> when we're visiting a directory), the C<guestfs_statns> (file permissions etc), and the list of extended attributes of the file.  The visitor function may return C<-1> which causes the whole recursion to stop with an error.
uk: Функція відвідування C<f> викликається один раз для кожного каталогу і кожного файла. До параметрів, які передаються C<f>, належать назва поточного каталогу, назва поточного файла (або C<NULL>, якщо ми відвідуємо каталог), C<guestfs_statns> (права доступу до файла тощо) і список розширених атрибутів файла. Функція відвідування може повернути C<-1>, що спричиняє повне припинення рекурсивного відвідування із повідомленням про помилку.

note: type: textblock
en: Also passed to this function is an C<opaque> pointer which is passed through to the visitor function.
uk: Також цій функції передається вказівник C<opaque>, який передається функції відвідування.

note: type: textblock
en: Returns C<0> if everything went OK, or C<-1> if there was an error.  Error handling is not particularly well defined.  It will either set an error in the libguestfs handle or print an error on stderr, but there is no way for the caller to tell the difference.
uk: Повертає C<0>, якщо усе було виконано без помилок, або C<-1>, якщо сталася помилка. Визначення обробки помилок є неповним. У її результаті або буде встановлено повідомлення помилки у дескрипторі libguestfs, або буде виведено повідомлення про помилку до stderr, але функція виклику сама не може визначити, який з цих варіантів буде використано.

note: type: =head2
en: Subdirectory F<common/windows>
uk: Підкаталог F<common/windows>

note: type: =head3
en: File F<common/windows/windows.c>
uk: Файл F<common/windows/windows.c>

note: type: textblock
en: This file implements C<win:> Windows file path support in L<guestfish(1)>.
uk: У цьому файлі реалізовано підтримку шляхів до файлів у Windows C<win:> у L<guestfish(1)>.

note: type: =head4
en: Function C<common/windows/windows.c:is_windows>
uk: Функція C<common/windows/windows.c:is_windows>

note: type: textblock
en: Checks whether C<root> is a Windows installation.
uk: Перевіряє, чи встановлено у C<root> Windows.

note: type: textblock
en: This relies on an already being done introspection.
uk: Ця функція покладається на вже виконану інтроспекцію.

note: type: =head4
en: Function C<common/windows/windows.c:windows_path>
uk: Функція C<common/windows/windows.c:windows_path>

note: type: textblock
en: Resolves C<path> as possible Windows path according to C<root>, giving a new path that can be used in libguestfs API calls.
uk: Визначає C<path> як можливий шлях у Windows щодо C<root>, дає новий шлях, яким можна скористатися у викликах програмного інтерфейсу libguestfs.

note: type: textblock
en: C<root> must be a Windows installation
uk: C<root> має бути кореневим каталогом встановленої Windows

note: type: textblock
en: relies on an already being done introspection
uk: покладається на вже виконану інтроспекцію

note: type: textblock
en: will unmount all the existing mount points and mount the Windows root (according to C<readonly>)
uk: демонтує усі наявні точки монтування і змонтує кореневу теку Windows (відповідно до значення C<readonly>)

note: type: textblock
en: calls L<exit(3)> on memory allocation failures
uk: викликає L<exit(3)>, якщо не вдасться отримати область пам'яті

note: type: =head2
en: Subdirectory F<daemon>
uk: Підкаталог F<daemon>

note: type: =head3
en: File F<daemon/command.c>
uk: Файл F<daemon/command.c>

note: type: textblock
en: This file contains a number of useful functions for running external commands and capturing their output.
uk: У цьому файлі міститься код декількох корисних функцій для запуску зовнішніх програм та перехоплення виведених ними даних.

note: type: =head4
en: Function C<daemon/command.c:commandf>
uk: Функція C<daemon/command.c:commandf>

note: type: textblock
en: Run a command.  Optionally capture stdout and stderr as strings.
uk: Виконати команду. Додатково перехопити stdout і stderr як рядки.

note: type: textblock
en: Returns C<0> if the command ran successfully, or C<-1> if there was any error.
uk: Повертає C<0>, якщо команду виконано успішно, або C<-1>, якщо сталася якась помилка.

note: type: textblock
en: For a description of the C<flags> see C<commandrvf>.
uk: Опис аргументу C<flags> наведено у описі функції C<commandrvf>.

note: type: textblock
en: There is also a macro C<command(out,err,name,...)> which calls C<commandf> with C<flags=0>.
uk: Також передбачено макрос C<command(out,err,name,...)>, який викликає C<commandf> з C<flags=0>.

note: type: =head4
en: Function C<daemon/command.c:commandrf>
uk: Функція C<daemon/command.c:commandrf>

note: type: textblock
en: Same as C<command>, but we allow the status code from the subcommand to be non-zero, and return that status code.
uk: Те саме, що і C<command>, але ми уможливлюємо ненульовий код стану від підкоманди і повертаємо цей код стану.

note: type: textblock
en: We still return C<-1> if there was some other error.
uk: Ми усе ще повертаємо C<-1>, якщо сталася якась інша помилка.

note: type: textblock
en: There is also a macro C<commandr(out,err,name,...)> which calls C<commandrf> with C<flags=0>.
uk: Також передбачено макрос C<commandr(out,err,name,...)>, який викликає C<commandrf> з C<flags=0>.

note: type: =head4
en: Function C<daemon/command.c:commandvf>
uk: Функція C<daemon/command.c:commandvf>

note: type: textblock
en: Same as C<command>, but passing in an argv array.
uk: Те саме, що і C<command>, але із передаванням у масиві argv.

note: type: textblock
en: There is also a macro C<commandv(out,err,argv)> which calls C<commandvf> with C<flags=0>.
uk: Також передбачено макрос C<commandv(out,err,argv)>, який викликає C<commandvf> з C<flags=0>.

note: type: =head4
en: Function C<daemon/command.c:commandrvf>
uk: Функція C<daemon/command.c:commandrvf>

note: type: textblock
en: This is a more sane version of L<system(3)> for running external commands.  It uses fork/execvp, so we don't need to worry about quoting of parameters, and it allows us to capture any error messages in a buffer.
uk: Це акуратніша версія L<system(3)> для запуску зовнішніх програм. Вона використовує fork/execvp, отже, про взяття у лапки параметрів дбати не потрібно, і вона надає нам змогу перехоплювати усі повідомлення про помилки до буфера.

note: type: textblock
en: If C<stdoutput> is not C<NULL>, then C<*stdoutput> will return the stdout of the command as a string.
uk: Якщо C<stdoutput> не дорівнює C<NULL>, C<*stdoutput> поверне stdout програми як рядок.

note: type: textblock
en: If C<stderror> is not C<NULL>, then C<*stderror> will return the stderr of the command.  If there is a final \n character, it is removed so you can use the error string directly in a call to C<reply_with_error>.
uk: Якщо C<stderror> не дорівнює C<NULL>, C<*stderror> поверне stderr програми. Якщо у ньому буде завершальний символ \n, цей символ буде вилучено, отже ви можете використовувати рядок помилки безпосередньо у виклику C<reply_with_error>.

note: type: textblock
en: Flags are:
uk: Прапорці:

note: type: textblock
en: For broken external commands that send error messages to stdout (hello, parted) but that don't have any useful stdout information, use this flag to capture the error messages in the C<*stderror> buffer.  If using this flag, you should pass C<stdoutput=NULL> because nothing could ever be captured in that buffer.
uk: Для нестандартних зовнішніх програм, які надсилають повідомлення про помилки до stdout (hello, parted), але не виводять жодної корисної інформації до stdout, скористайтеся цим прапорцем для перехоплення повідомлень до буфера C<*stderror>. Якщо використано цей прапорець, вам слід передати C<stdoutput=NULL>, оскільки до цього буфера ніколи нічого не перехоплюватиметься.

note: type: textblock
en: For running external commands on chrooted files correctly (see L<https://bugzilla.redhat.com/579608>) specifying this flag causes another process to be forked which chroots into sysroot and just copies the input file to stdin of the specified command.  The file descriptor is ORed with the flags, and that file descriptor is always closed by this function.  See F<daemon/hexdump.c> for an example of usage.
uk: Для належного виконання зовнішніх програм для файлів з chroot (див. L<https://bugzilla.redhat.com/579608>) визначення цього прапорця призведе до відгалуження ще одного процесу, який виконає chroot до sysroot і просто скопіює файл вхідних даних до stdin вказаної програми. Для дескриптора файла буде використано логічне АБО з прапорцями, а сам дескриптор буде завжди закриватися цією функцією. Див. приклад використання у F<daemon/hexdump.c>.

note: type: textblock
en: There is also a macro C<commandrv(out,err,argv)> which calls C<commandrvf> with C<flags=0>.
uk: Також передбачено макрос C<commandrv(out,err,argv)>, який викликає C<commandrvf> з C<flags=0>.

note: type: =head3
en: File F<daemon/device-name-translation.c>
uk: Файл F<daemon/device-name-translation.c>

note: type: =head4
en: Function C<daemon/device-name-translation.c:device_name_translation_init>
uk: Функція C<daemon/device-name-translation.c:device_name_translation_init>

note: type: textblock
en: Cache daemon disk mapping.
uk: Прив'язка до дисків фонової служби кешування.

note: type: textblock
en: When the daemon starts up, populate a cache with the contents of /dev/disk/by-path.  It's easiest to use C<ls -lv> here since the names are sorted awkwardly.
uk: Коли запускається фонова служба, заповнити кеш вмістом /dev/disk/by-path. Найпростішим тут є використання C<ls -lv>, оскільки назви упорядковано незручним чином.

note: type: =head4
en: Function C<daemon/device-name-translation.c:device_name_translation>
uk: Функція C<daemon/device-name-translation.c:device_name_translation>

note: type: textblock
en: Perform device name translation.
uk: Виконати переклад назв пристроїв.

note: type: textblock
en: Libguestfs defines a few standard formats for device names.  (see also L<guestfs(3)/BLOCK DEVICE NAMING> and L<guestfs(3)/guestfs_canonical_device_name>).  They are:
uk: Libguestfs визначає декілька стандартних форматів для назв пристроїв. (Див. також L<guestfs(3)/ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ> and L<guestfs(3)/guestfs_canonical_device_name>). Стандартними форматами є такі:

note: type: textblock
en: These mean the Nth partition on the Xth device.  Because Linux no longer enumerates devices in the order they are passed to qemu, we must translate these by looking up the actual device using /dev/disk/by-path/
uk: Ці означають N-ий розділ X-го пристрою. Оскільки Linux більше не нумерує пристрої за порядком, у якому їх передають до qemu, нам слід транслювати їх пошуком реального пристрою за допомогою /dev/disk/by-path/

note: type: textblock
en: These are not translated here.
uk: Ці пристрої тут не транслюються.

note: type: textblock
en: It returns a newly allocated string which the caller must free.
uk: Повертає наново розміщений у пам'яті рядок, який функція виклику має звільнити.

note: type: textblock
en: It returns C<NULL> on error.  B<Note> it does I<not> call C<reply_with_*>.
uk: Повертає C<NULL>, якщо станеться помилка. B<Зауваження>: I<не> викликає C<reply_with_*>.

note: type: textblock
en: We have to open the device and test for C<ENXIO>, because the device nodes may exist in the appliance.
uk: Нам слід відкрити пристрій і виконати перевірку C<ENXIO>, оскільки у базовій системі можуть міститися вузли пристроїв.

note: type: =head3
en: File F<daemon/guestfsd.c>
uk: Файл F<daemon/guestfsd.c>

note: type: textblock
en: This is the guestfs daemon which runs inside the guestfs appliance.  This file handles start up and connecting back to the library.
uk: Це фонова служба guestfs, яка працює всередині базової системи guestfs. Ці обробники файлів запускаються і зворотно з'єднуються із бібліотекою.

note: type: =head4
en: Function C<daemon/guestfsd.c:print_shell_quote>
uk: Функція C<daemon/guestfsd.c:print_shell_quote>

note: type: textblock
en: printf helper function so we can use C<%Q> ("quoted") and C<%R> to print shell-quoted strings.  See L<guestfs-hacking(1)> for more details.
uk: Допоміжна функція printf. Ми можемо використовувати у ній C<%Q> ("quoted") і C<%R> для виведення рядків із лапками для командної оболонки. Докладніший опис наведено у L<guestfs-hacking(1)>.

note: type: =head3
en: File F<daemon/internal.c>
uk: Файл F<daemon/internal.c>

note: type: textblock
en: Internal functions that are not part of the public API.
uk: Внутрішні функції, які не є частиною відкритого програмного інтерфейсу.

note: type: =head3
en: File F<daemon/utils-c.c>
uk: Файл F<daemon/utils-c.c>

note: type: textblock
en: Bindings for utility functions.
uk: Прив'язки до допоміжних функцій.

note: type: textblock
en: Note that functions called from OCaml code B<must never> call any of the C<reply*> functions.
uk: Зауважте, що функції, які викликаються з коду OCaml, B<ніколи не повинні> викликати жодну з функцій C<reply*>.

note: type: =head3
en: File F<daemon/utils.c>
uk: Файл F<daemon/utils.c>

note: type: textblock
en: Miscellaneous utility functions used by the daemon.
uk: Різноманітні допоміжні функції, що використовуються фоновою службою.

note: type: =head4
en: Function C<daemon/utils.c:is_root_device_stat>
uk: Функція C<daemon/utils.c:is_root_device_stat>

note: type: textblock
en: Return true iff device is the root device (and therefore should be ignored from the point of view of user calls).
uk: Повертає true тоді і лише тоді, коли пристрій є кореневим пристроєм (і тому його слід ігнорувати з точки зору викликів користувача).

note: type: =head4
en: Function C<daemon/utils.c:is_device_parameter>
uk: Функція C<daemon/utils.c:is_device_parameter>

note: type: textblock
en: Parameters marked as C<Device>, C<Dev_or_Path>, etc can be passed a block device name.  This function tests if the parameter is a block device name.
uk: У параметри, позначені як C<Device>, C<Dev_or_Path> тощо, можна передавати назви блокових пристроїв. Ця функція перевіряє, чи є параметр назвою блокового пристрою.

note: type: textblock
en: It can also be used in daemon code to test if the string passed as a C<Dev_or_Path> parameter is a device or path.
uk: Нею також можна скористатися у коді фонової служби для перевірки, чи є рядок, переданий як параметр C<Dev_or_Path> назвою пристрою або шляхом.

note: type: =head4
en: Function C<daemon/utils.c:sysroot_path>
uk: Функція C<daemon/utils.c:sysroot_path>

note: type: textblock
en: Turn C<"/path"> into C<"/sysroot/path">.
uk: Перетворює C<"/шлях"> на C<"/sysroot/шлях">.

note: type: textblock
en: Returns C<NULL> on failure.  The caller I<must> check for this and call S<C<reply_with_perror ("malloc")>>.  The caller must also free the returned string.
uk: Повертає C<NULL>, якщо сталася помилка. Функція виклику I<має> це перевірити і викликати S<C<reply_with_perror ("malloc")>>. Також функція виклику має звільнити повернутий рядок.

note: type: textblock
en: See also the custom C<%R> printf formatter which does shell quoting too.
uk: Див. також нетиповий елемент форматування C<%R>, який також встановлює лапки для використання рядка у командній оболонці.

note: type: =head4
en: Function C<daemon/utils.c:sysroot_realpath>
uk: Функція C<daemon/utils.c:sysroot_realpath>

note: type: textblock
en: Resolve path within sysroot, calling C<sysroot_path> on the resolved path.
uk: Визначити шлях у sysroot, викликавши C<sysroot_path> для визначеного шляху.

note: type: =head4
en: Function C<daemon/utils.c:is_power_of_2>
uk: Функція C<daemon/utils.c:is_power_of_2>

note: type: textblock
en: Returns true if C<v> is a power of 2.
uk: Повертає true, якщо C<v> є степенем 2.

note: type: textblock
en: Uses the algorithm described at L<http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2>
uk: Використовує алгоритм, описаний тут: L<http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2>

note: type: =head4
en: Function C<daemon/utils.c:split_lines_sb>
uk: Функція C<daemon/utils.c:split_lines_sb>

note: type: textblock
en: Split an output string into a NULL-terminated list of lines, wrapped into a stringsbuf.
uk: Поділити виведений рядок на список рядків із завершальним NULL, загорнутий у stringsbuf.

note: type: textblock
en: Typically this is used where we have run an external command which has printed out a list of things, and we want to return an actual list.
uk: Типово, використовується там, де нами було запущено зовнішню програму, яка вивела список чогось, що ми хочемо перетворити на справжній список.

note: type: textblock
en: The corner cases here are quite tricky.  Note in particular:
uk: Особливі випадки є доволі незвичайними. Зауважте, зокрема, таке:

note: type: textblock
en: returns C<[""]>
uk: повертає C<[""]>

note: type: textblock
en: returns C<["a"; "b"]>
uk: повертає C<["a"; "b"]>

note: type: textblock
en: returns C<["a"; "b"; ""]>
uk: повертає C<["a"; "b"; ""]>

note: type: textblock
en: The original string is written over and destroyed by this function (which is usually OK because it's the 'out' string from C<command*()>).  You can free the original string, because C<add_string()> strdups the strings.
uk: Початковий рядок перезаписується і руйнується цією функцією (зазвичай, у цьому немає нічого поганого, оскільки це рядок «out» з C<command*()>). Ви можете звільняти початковий рядок, оскільки C<add_string()> виконує strdup для рядків.

note: type: textblock
en: C<argv> in the C<struct stringsbuf> will be C<NULL> in case of errors.
uk: C<argv> у C<struct stringsbuf> дорівнюватиме C<NULL>, якщо стануться помилки.

note: type: =head4
en: Function C<daemon/utils.c:filter_list>
uk: Функція C<daemon/utils.c:filter_list>

note: type: textblock
en: Filter a list of strings.  Returns a newly allocated list of only the strings where C<p (str) == true>.
uk: Фільтрувати список рядків. Повертає новорозміщений список лише рядків, де C<p (str) == true>.

note: type: textblock
en: B<Note> it does not copy the strings, be careful not to double-free them.
uk: B<Зауваження>: функція не копіює рядки — будьте обережні із подвійним їх звільненням.

note: type: =head4
en: Function C<daemon/utils.c:trim>
uk: Функція C<daemon/utils.c:trim>

note: type: textblock
en: Skip leading and trailing whitespace, updating the original string in-place.
uk: Пропустити початковий і завершальний пробіли, оновивши початковий рядок на місці.

note: type: =head4
en: Function C<daemon/utils.c:parse_btrfsvol>
uk: Функція C<daemon/utils.c:parse_btrfsvol>

note: type: textblock
en: Parse the mountable descriptor for a btrfs subvolume.  Don't call this directly; it is only used from the stubs.
uk: Обробити придатний до монтування дескриптор для підтому btrfs. Не викликайте цю функцію безпосередньо; вона використовується лише з фіктивних функцій.

note: type: textblock
en: A btrfs subvolume is given as:
uk: Підтом btrfs задається так:

note: type: textblock
en: where F</dev/sda3> is a block device containing a btrfs filesystem, and root is the name of a subvolume on it. This function is passed the string following C<"btrfsvol:">.
uk: де F</dev/sda3> — блоковий пристрій, на якому зберігається файлова система btrfs, а root — назва підтому на ньому. Цій функції передається рядок із наступним C<"btrfsvol:">.

note: type: textblock
en: On success, C<mountable-E<gt>device> and C<mountable-E<gt>volume> must be freed by the caller.
uk: Якщо дію виконано успішно, C<mountable-E<gt>device> і C<mountable-E<gt>volume> має бути звільнено функцією виклику.

note: type: =head4
en: Function C<daemon/utils.c:mountable_to_string>
uk: Функція C<daemon/utils.c:mountable_to_string>

note: type: textblock
en: Convert a C<mountable_t> back to its string representation
uk: Перетворити C<mountable_t> назад на його рядкове представлення

note: type: textblock
en: This function can be used in an error path, so must not call C<reply_with_error>.
uk: Цю функцію можна використовувати у шляху помилки, тому вона не повинна викликати C<reply_with_error>.

note: type: =head4
en: Function C<daemon/utils.c:prog_exists>
uk: Функція C<daemon/utils.c:prog_exists>

note: type: textblock
en: Check program exists and is executable on C<$PATH>.
uk: Перевірити, чи існує програма і чи зберігається шлях до її виконуваного файла у C<$PATH>.

note: type: =head4
en: Function C<daemon/utils.c:random_name>
uk: Функція C<daemon/utils.c:random_name>

note: type: textblock
en: Pass a template such as C<"/sysroot/XXXXXXXX.XXX">.  This updates the template to contain a randomly named file.  Any C<'X'> characters after the final C<'/'> in the template are replaced with random characters.
uk: Передати шаблон, наприклад C<"/sysroot/XXXXXXXX.XXX">. Це оновлює шаблон так, щоб він містив файл із випадковою назвою. Усі символи C<'X'> після завершального C<'/'> у шаблоні замінюються випадковими символами.

note: type: textblock
en: Notes: You should probably use an 8.3 path, so it's compatible with all filesystems including basic FAT.  Also this only substitutes lowercase ASCII letters and numbers, again for compatibility with lowest common denominator filesystems.
uk: Зауваження: ймовірно, вам слід використовувати схему назви 8.3, щоб вона була сумісною із усіма файловими системами, зокрема базовим форматом FAT. Крім того, замінник стосується лише літер нижнього регістру ASCII та цифр, знову ж таки, для сумісності із найпримітивнішими файловими системами.

note: type: textblock
en: This doesn't create a file or check whether or not the file exists (it would be extremely unlikely to exist as long as the RNG is working).
uk: Ця функція не створює файли і не перевіряє, чи існує файл (існування файла із вибраною випадковою назвою є дуже малоймовірним, якщо у системі правильно працює генератор випадкових чисел).

note: type: textblock
en: If there is an error, C<-1> is returned.
uk: Якщо станеться помилка, буде повернуто C<-1>.

note: type: =head4
en: Function C<daemon/utils.c:udev_settle_file>
uk: Функція C<daemon/utils.c:udev_settle_file>

note: type: textblock
en: LVM and other commands aren't synchronous, especially when udev is involved.  eg. You can create or remove some device, but the C</dev> device node won't appear until some time later.  This means that you get an error if you run one command followed by another.
uk: LVM та інші команди не є синхронними, особливо, якщо справа стосується udev. Наприклад, ви можете створити або вилучити якийсь пристрій, але вузол цього пристрою C</dev> з'явиться або зникне за певний проміжок часу від виконання дії. Це означає, що ви отримуватимете повідомлення про помилку, якщо запустите дві команди роботи з пристроєм послідовно.

note: type: textblock
en: Use C<udevadm settle> after certain commands, but don't be too fussed if it fails.
uk: Користуйтеся C<udevadm settle> після відповідних команд, але не дивуйтеся, якщо ця команда також повідомить про помилку.

note: type: =head4
en: Function C<daemon/utils.c:make_exclude_from_file>
uk: Функція C<daemon/utils.c:make_exclude_from_file>

note: type: textblock
en: Turn list C<excludes> into a temporary file, and return a string containing the temporary file name.  Caller must unlink the file and free the string.
uk: Перетворити список C<excludes> у тимчасовий файл і повернути рядок, який містить назву тимчасового файла. Функція виклику має від'єднати файл і звільнити рядок.

note: type: textblock
en: C<function> is the function that invoked this helper, and it is used mainly for errors/debugging.
uk: C<function> — функція, яка викликала цю допоміжну функцію, використовується здебільшого для повідомлення про помилки та діагностики.

note: type: =head4
en: Function C<daemon/utils.c:read_whole_file>
uk: Функція C<daemon/utils.c:read_whole_file>

note: type: textblock
en: Read whole file into dynamically allocated array.  If there is an error, DON'T call reply_with_perror, just return NULL.  Returns a C<\0>-terminated string.  C<size_r> can be specified to get the size of the returned data.
uk: Прочитати увесь файл до динамічно розміщеного у пам'яті масиву. Якщо станеться помилка НЕ викликати reply_with_perror, просто повернути NULL. Повертає завершений C<\0> рядок. Можна вказати C<size_r> для отримання розміру повернути даних.

note: type: =head3
en: File F<daemon/xattr.c>
uk: Файл F<daemon/xattr.c>

note: type: =head4
en: Function C<daemon/xattr.c:split_attr_names>
uk: Функція C<daemon/xattr.c:split_attr_names>

note: type: textblock
en: L<listxattr(2)> returns the string C<"foo\0bar\0baz"> of length C<len>.  (The last string in the list is \0-terminated but the \0 is not included in C<len>).
uk: L<listxattr(2)> повертає рядок C<"щось\0десь\0якось"> довжини C<len>. (Останній рядок у списку є завершеним \0, але \0 не буде включено до обчислення C<len>).

note: type: textblock
en: This function splits it into a regular list of strings.
uk: Ця функція ділить його на звичайний список рядків.

note: type: textblock
en: B<Note> that the returned list contains pointers to the original strings in C<buf> so be careful that you do not double-free them.
uk: B<Зауваження>: повернутий список міститиме вказівник на початкові рядки у C<buf>, тому будьте обережні, щоб не звільнити це рядок двічі.

note: type: =head2
en: Subdirectory F<fish>
uk: Підкаталог F<fish>

note: type: =head3
en: File F<fish/alloc.c>
uk: Файл F<fish/alloc.c>

note: type: textblock
en: This file implements the guestfish C<alloc> and C<sparse> commands.
uk: Цей файл реалізує команди C<alloc> і C<sparse> guestfish.

note: type: =head4
en: Function C<fish/alloc.c:alloc_disk>
uk: Функція C<fish/alloc.c:alloc_disk>

note: type: textblock
en: This is the underlying allocation function.  It's called from a few other places in guestfish.
uk: Це підлегла функція отримання пам'яті. Викликається з декількох інших місць у guestfish.

note: type: =head3
en: File F<fish/copy.c>
uk: Файл F<fish/copy.c>

note: type: textblock
en: This file implements the guestfish commands C<copy-in> and C<copy-out>.
uk: Цей файл реалізує команди C<copy-in> та C<copy-out> guestfish.

note: type: =head3
en: File F<fish/destpaths.c>
uk: Файл F<fish/destpaths.c>

note: type: textblock
en: The file handles tab-completion of filesystem paths in guestfish.
uk: Цей файл обробляє автоматичне доповнення за Tab для шляхів у файловій системі для guestfish.

note: type: =head3
en: File F<fish/display.c>
uk: Файл F<fish/display.c>

note: type: textblock
en: The file implements the guestfish C<display> command, for displaying graphical files (icons, images) in disk images.
uk: Файл реалізує команду guestfish C<display> для показу графічних файлів (піктограм, зображень) у образах дисків.

note: type: =head3
en: File F<fish/echo.c>
uk: Файл F<fish/echo.c>

note: type: textblock
en: The file implements the guestfish C<echo> command.
uk: Цей файл реалізує команду C<echo> guestfish.

note: type: =head3
en: File F<fish/edit.c>
uk: Файл F<fish/edit.c>

note: type: textblock
en: guestfish C<edit> command, suggested by Ján Ondrej.
uk: Команда guestfish C<edit>, запропонована Ján Ondrej.

note: type: =head3
en: File F<fish/events.c>
uk: Файл F<fish/events.c>

note: type: textblock
en: This file implements the guestfish event-related commands, C<event>, C<delete-event> and C<list-events>.
uk: У цьому файлі реалізовано пов'язані із подіями команди guestfish — C<event>, C<delete-event> та C<list-events>.

note: type: =head3
en: File F<fish/fish.c>
uk: Файл F<fish/fish.c>

note: type: textblock
en: guestfish, the guest filesystem shell.  This file contains the main loop and utilities.
uk: Командна оболонка гостьової системи — guestfish. У цьому файлі міститься код основного циклу та інструментів програми.

note: type: =head4
en: Function C<fish/fish.c:parse_command_line>
uk: Функція C<fish/fish.c:parse_command_line>

note: type: textblock
en: Parse a command string, splitting at whitespace, handling C<'!'>, C<'#'> etc.  This destructively updates C<buf>.
uk: Обробити рядок команди, поділити його за пробілами із обробкою C<'!'>, C<'#'> тощо. Деструктивно оновлює C<buf>.

note: type: textblock
en: C<exit_on_error_rtn> is used to pass in the global C<exit_on_error> setting and to return the local setting (eg. if the command begins with C<'-'>).
uk: C<exit_on_error_rtn> використовується для передавання до загального параметра C<exit_on_error> і повернення локального параметра (наприклад, якщо команда розпочинається з C<'-'>).

note: type: textblock
en: Returns in C<parsed_command.status>:
uk: Повертає до C<parsed_command.status>:

note: type: textblock
en: got a guestfish command (returned in C<cmd_rtn>/C<argv_rtn>/C<pipe_rtn>)
uk: отримано команду guestfish (повернуту в C<cmd_rtn>/C<argv_rtn>/C<pipe_rtn>)

note: type: textblock
en: no guestfish command, but otherwise OK
uk: немає команди guestfish, але інше у порядку

note: type: textblock
en: an error
uk: помилку

note: type: =head4
en: Function C<fish/fish.c:parse_quoted_string>
uk: Функція C<fish/fish.c:parse_quoted_string>

note: type: textblock
en: Parse double-quoted strings, replacing backslash escape sequences with the true character.  Since the string is returned in place, the escapes must make the string shorter.
uk: Обробити рядки у подвійних лапках, замінивши екрановані зворотною похилою рискою послідовності на справжні символи. Оскільки рядок повертається на місці, екранування мають зробити рядок коротшим.

note: type: =head4
en: Function C<fish/fish.c:execute_and_inline>
uk: Функція C<fish/fish.c:execute_and_inline>

note: type: textblock
en: Used to handle C<E<lt>!> (execute command and inline result).
uk: Використовується для обробки C<E<lt>!> (виконати команду і вбудувати результат).

note: type: =head4
en: Function C<fish/fish.c:issue_command>
uk: Функція C<fish/fish.c:issue_command>

note: type: textblock
en: Run a command.
uk: Виконати команду.

note: type: textblock
en: C<rc_exit_on_error_flag> is the C<exit_on_error> flag that we pass to the remote server (when issuing I<--remote> commands).  It does not cause C<issue_command> itself to exit on error.
uk: C<rc_exit_on_error_flag> — прапорець C<exit_on_error>, який ми передаємо до віддаленого сервера (якщо видаються команди I<--remote>). Вона не спричиняє вихід при помилці для самої C<issue_command>.

note: type: =head4
en: Function C<fish/fish.c:extended_help_message>
uk: Функція C<fish/fish.c:extended_help_message>

note: type: textblock
en: Print an extended help message when the user types in an unknown command for the first command issued.  A common case is the user doing:
uk: Вивести розширене довідкове повідомлення, коли користувач вводить невідому команду для першої виданої команди. Типовим випадком є випадок, коли користувач діє так:

note: type: verbatim
en:   guestfish disk.img
uk:   guestfish диск.img

note: type: textblock
en: expecting guestfish to open F<disk.img> (in fact, this tried to run a non-existent command C<disk.img>).
uk: очікуючи, що guestfish відкриє F<диск.img> (фактично робиться спроба виконати неіснуючу команду C<диск.img>).

note: type: =head4
en: Function C<fish/fish.c:error_cb>
uk: Функція C<fish/fish.c:error_cb>

note: type: textblock
en: Error callback.  This replaces the standard libguestfs error handler.
uk: Зворотний виклик помилки. Ця команда замінює стандартний обробник помилок libguestfs.

note: type: =head4
en: Function C<fish/fish.c:free_n_strings>
uk: Функція C<fish/fish.c:free_n_strings>

note: type: textblock
en: Free strings from a non-NULL terminated C<char**>.
uk: Вивільнити рядки від C<char**>, які не завершуються NULL.

note: type: =head4
en: Function C<fish/fish.c:decode_ps1>
uk: Функція C<fish/fish.c:decode_ps1>

note: type: textblock
en: Decode C<str> into the final printable prompt string.
uk: Декодувати C<str> до остаточного рядка запиту у придатній до друку формі.

note: type: =head4
en: Function C<fish/fish.c:win_prefix>
uk: Функція C<fish/fish.c:win_prefix>

note: type: textblock
en: Resolve the special C<win:...> form for Windows-specific paths.  The generated code calls this for all device or path arguments.
uk: Визначити адресу за спеціальним форматом C<win:...> для специфічних для Windows шляхів. Створений код викликає цю функцію для усіх аргументів пристроїв і шляхів.

note: type: textblock
en: The function returns a newly allocated string, and the caller must free this string; else display an error and return C<NULL>.
uk: Ця функція повертає новорозміщений у пам'яті рядок, а функція виклику має звільнити цей рядок, інакше показати повідомлення про помилку і повернути C<NULL>.

note: type: =head4
en: Function C<fish/fish.c:file_in>
uk: Функція C<fish/fish.c:file_in>

note: type: textblock
en: Resolve the special C<FileIn> paths (C<-> or C<-<<END> or filename).
uk: Визначити спеціальні шляхи C<FileIn> (C<->, або C<-<<END>, або назва файла).

note: type: textblock
en: The caller (F<fish/cmds.c>) will call C<free_file_in> after the command has run which should clean up resources.
uk: Функція виклику (F<fish/cmds.c>) викличе C<free_file_in> після команди, що має очистити ресурси.

note: type: =head4
en: Function C<fish/fish.c:file_out>
uk: Функція C<fish/fish.c:file_out>

note: type: textblock
en: Resolve the special C<FileOut> paths (C<-> or filename).
uk: Визначити спеціальні шляхи C<FileOut> (C<-> або назва файла).

note: type: textblock
en: The caller (F<fish/cmds.c>) will call S<C<free (str)>> after the command has run.
uk: Функцію виклику (F<fish/cmds.c>) викличе S<C<free (str)>> після виконання команди.

note: type: =head4
en: Function C<fish/fish.c:progress_callback>
uk: Функція C<fish/fish.c:progress_callback>

note: type: textblock
en: Callback which displays a progress bar.
uk: Зворотний виклик, який показує смужку поступу.

note: type: =head3
en: File F<fish/glob.c>
uk: Файл F<fish/glob.c>

note: type: textblock
en: This file implements the guestfish C<glob> command.
uk: Цей файл реалізує команду C<glob> guestfish.

note: type: =head4
en: Function C<fish/glob.c:expand_devicename>
uk: Функція C<fish/glob.c:expand_devicename>

note: type: textblock
en: Glob-expand device patterns, such as C</dev/sd*> (L<https://bugzilla.redhat.com/635971>).
uk: Взірці назв пристроїв із використанням замінників, наприклад, C</dev/sd*> (L<https://bugzilla.redhat.com/635971>).

note: type: textblock
en: There is no C<guestfs_glob_expand_device> function because the equivalent can be implemented using functions like C<guestfs_list_devices>.
uk: Функції C<guestfs_glob_expand_device> немає, оскільки еквівалентом може бути реалізовано за допомогою функцій, подібних до C<guestfs_list_devices>.

note: type: textblock
en: It's not immediately clear what it means to expand a pattern like C</dev/sd*>.  Should that include device name translation? Should the result include partitions as well as devices?
uk: Розгортання взірців, подібних до C</dev/sd*>, не є простою справою. Чи має таке розгортання включати перенесення назв пристроїв? Чи має результат включати розділи, окрім пристроїв?

note: type: textblock
en: Should C<"/dev/"> + C<"*"> return every possible device and filesystem? How about VGs? LVs?
uk: Чи має C<"/dev/"> + C<"*"> повертати усі можливі пристрої і файлові системи? Як щодо груп томів? Логічних томів?

note: type: textblock
en: To solve this what we do is build up a list of every device, partition, etc., then glob against that list.
uk: Щоб дати відповідь на усі ці питання, нам слід побудувати список усіх пристроїв, розділів тощо, а потім встановити відповідність записів у цьому списку взірцю.

note: type: textblock
en: Notes for future work (XXX):
uk: Нотатки для майбутньої роботи (XXX):

note: type: textblock
en: This doesn't handle device name translation.  It wouldn't be too hard to add.
uk: Не обробляється переклад назв пристроїв. Реалізувати доволі просто.

note: type: textblock
en: Could have an API function for returning all device-like things.
uk: Можна було б реалізувати функцію програмного інтерфейсу для повернення усіх пов'язаних із пристроями даних.

note: type: =head4
en: Function C<fish/glob.c:add_strings_matching>
uk: Функція C<fish/glob.c:add_strings_matching>

note: type: textblock
en: Using POSIX L<fnmatch(3)>, find strings in the list C<pp> which match pattern C<glob>.  Add strings which match to the C<ret> array.  C<*size_r> is the current size of the C<ret> array, which is updated with the new size.
uk: За допомогою L<fnmatch(3)> POSIX знайти рядки у списку C<pp>, які відповідають взірцю C<glob>. Додати відповідні рядки до масиву C<ret>. C<*size_r> — поточний розмір масиву C<ret>, який оновлюватиметься новими значеннями розміру.

note: type: =head4
en: Function C<fish/glob.c:single_element_list>
uk: Функція C<fish/glob.c:single_element_list>

note: type: textblock
en: Return a single element list containing C<element>.
uk: Повернути одноелементний список, що містить C<element>.

note: type: =head3
en: File F<fish/help.c>
uk: Файл F<fish/help.c>

note: type: textblock
en: The file implements the guestfish C<help> command.
uk: Цей файл реалізує команду C<help> guestfish.

note: type: =head4
en: Function C<fish/help.c:display_help>
uk: Функція C<fish/help.c:display_help>

note: type: textblock
en: The C<help> command.
uk: Команда C<help>.

note: type: textblock
en: This used to just list all commands, but that's not very useful.  Instead display some useful context-sensitive help.  This could be improved if we knew how many drives had been added already, and whether anything was mounted.
uk: Використовується просто для побудови списку усіх команд, але ця можливість не є надто корисною. Замість цього, корисною була б залежна від контексту довідка. Поліпшити реалізацію команди можна було б, якби ми знали, скільки дисків вже було додано, і чи щось було змонтовано.

note: type: =head3
en: File F<fish/hexedit.c>
uk: Файл F<fish/hexedit.c>

note: type: textblock
en: This file implements the guestfish C<hexedit> command.
uk: Цей файл реалізує команду C<hexedit> guestfish.

note: type: =head3
en: File F<fish/lcd.c>
uk: Файл F<fish/lcd.c>

note: type: =head4
en: Function C<fish/lcd.c:run_lcd>
uk: Функція C<fish/lcd.c:run_lcd>

note: type: textblock
en: guestfish C<lcd> command (similar to the C<lcd> command in BSD ftp).
uk: Команда guestfish C<lcd> (подібна до команди C<lcd> у ftp BSD).

note: type: =head3
en: File F<fish/man.c>
uk: Файл F<fish/man.c>

note: type: =head4
en: Function C<fish/man.c:run_man>
uk: Функція C<fish/man.c:run_man>

note: type: textblock
en: guestfish C<man> command
uk: Команда C<man> guestfish

note: type: =head3
en: File F<fish/more.c>
uk: Файл F<fish/more.c>

note: type: textblock
en: This file implements the guestfish C<more> command.
uk: Цей файл реалізує команду C<more> guestfish.

note: type: =head3
en: File F<fish/prep.c>
uk: Файл F<fish/prep.c>

note: type: textblock
en: This file implements the guestfish I<-N> option for creating pre-prepared disk layouts.
uk: У цьому файлі реалізовано параметр guestfish I<-N> для створення попередньо приготованих компонувань дисків.

note: type: =head3
en: File F<fish/rc.c>
uk: Файл F<fish/rc.c>

note: type: textblock
en: This file implements guestfish remote (command) support.
uk: У цьому файлі реалізовано підтримку віддаленого керування guestfish.

note: type: =head4
en: Function C<fish/rc.c:rc_listen>
uk: Функція C<fish/rc.c:rc_listen>

note: type: textblock
en: The remote control server (ie. C<guestfish --listen>).
uk: Сервер віддаленого керування (тобто C<guestfish --listen>).

note: type: =head4
en: Function C<fish/rc.c:rc_remote>
uk: Функція C<fish/rc.c:rc_remote>

note: type: textblock
en: The remote control client (ie. C<guestfish --remote>).
uk: Клієнт віддаленого керування (тобто C<guestfish --remote>).

note: type: =head3
en: File F<fish/reopen.c>
uk: Файл F<fish/reopen.c>

note: type: textblock
en: This file implements the guestfish C<reopen> command.
uk: Цей файл реалізує команду C<reopen> guestfish.

note: type: =head3
en: File F<fish/setenv.c>
uk: Файл F<fish/setenv.c>

note: type: textblock
en: This file implements the guestfish C<setenv> and C<unsetenv> commands.
uk: Цей файл реалізує команду C<setenv> і C<unsetenv> guestfish.

note: type: =head3
en: File F<fish/supported.c>
uk: Файл F<fish/supported.c>

note: type: textblock
en: This file implements the guestfish C<supported> command.
uk: Цей файл реалізує команду C<supported> guestfish.

note: type: =head3
en: File F<fish/tilde.c>
uk: Файл F<fish/tilde.c>

note: type: textblock
en: This file implements tilde (C<~>) expansion of home directories in L<guestfish(1)>.
uk: У цьому файлі реалізовано розгортання тильди (C<~>) у домашні каталоги у L<guestfish(1)>.

note: type: =head4
en: Function C<fish/tilde.c:try_tilde_expansion>
uk: Функція C<fish/tilde.c:try_tilde_expansion>

note: type: textblock
en: This is called from the script loop if we find a candidate for C<~username> (tilde-expansion).
uk: Викликається із циклу скрипту, якщо ми знайшли кандидата на C<~username> (із розгортанням тильди).

note: type: =head4
en: Function C<fish/tilde.c:expand_home>
uk: Функція C<fish/tilde.c:expand_home>

note: type: textblock
en: Return C<$HOME> + append string.
uk: Повертає C<$HOME> + дописаний рядок.

note: type: =head4
en: Function C<fish/tilde.c:find_home_for_username>
uk: Функція C<fish/tilde.c:find_home_for_username>

note: type: textblock
en: Lookup C<username> (of length C<ulen>), return home directory if found, or C<NULL> if not found.
uk: Шукати C<username> (довжини C<ulen>), повернути домашній каталог, якщо знайдено, або C<NULL>, якщо не знайдено.

note: type: =head3
en: File F<fish/time.c>
uk: Файл F<fish/time.c>

note: type: textblock
en: This file implements the guestfish C<time> command.
uk: Цей файл реалізує команду C<time> guestfish.

note: type: =head2
en: Subdirectory F<python>
uk: Підкаталог F<python>

note: type: =head3
en: File F<python/handle.c>
uk: Файл F<python/handle.c>

note: type: textblock
en: This file contains a small number of functions that are written by hand.  The majority of the bindings are generated (see F<python/actions-*.c>).
uk: У цьому файлі міститься трохи функцій, які написано вручну. Більшість прив'язок створюється автоматично (див. F<python/actions-*.c>).

note: type: textblock
en: virt-edit - Edit a file in a virtual machine
uk: virt-edit — програма для редагування файлів у віртуальній машині

note: type: verbatim
en:  virt-edit [--options] -d domname file [file ...]
uk:  virt-edit [--параметри] -d назва_домену файл [файл ...]

note: type: verbatim
en:  virt-edit [--options] -a disk.img [-a disk.img ...] file [file ...]
uk:  virt-edit [--options] -a диск.img [-a диск.img ...] файл [файл ...]

note: type: verbatim
en:  virt-edit [-d domname|-a disk.img] file -e 'expr'
uk:  virt-edit [-d назва_домену|-a диск.img] файл -e 'вираз'

note: type: verbatim
en:  virt-edit domname file
uk:  virt-edit назва_домену файл

note: type: verbatim
en:  virt-edit disk.img [disk.img ...] file
uk:  virt-edit диск.img [диск.img ...] файл

note: type: textblock
en: C<virt-edit> is a command line tool to edit C<file> where each C<file> exists in the named virtual machine (or disk image).
uk: C<virt-edit> — інструмент командного рядка для редагування C<файла>, який зберігається у вказаній віртуальній машині (або образі диска).

note: type: textblock
en: Multiple filenames can be given, in which case they are each edited in turn.  Each filename must be a full path, starting at the root directory (starting with '/').
uk: Ви можете вказати декілька назв файлів. Вміст таких файлів буде редаговано послідовно. Назви файлів слід вказувати повністю (разом зі шляхом), починаючи з кореневого каталогу (тобто назва має починатися з «/»).

note: type: textblock
en: If you want to just view a file, use L<virt-cat(1)>.
uk: Якщо ви просто хочете переглянути файл, скористайтеся L<virt-cat(1)>.

note: type: textblock
en: For more complex cases you should look at the L<guestfish(1)> tool (see L</USING GUESTFISH> below).
uk: Для виконання складніших дій можна скористатися програмою L<guestfish(1)> (див. L</ВИКОРИСТАННЯ GUESTFISH> нижче).

note: type: textblock
en: C<virt-edit> cannot be used to create a new file.  L<guestfish(1)> can do that and much more.
uk: C<virt-edit> не можна використовувати для створення файлів. Для цього, та багатьох інших завдань, слід використовувати L<guestfish(1)>.

note: type: textblock
en: Edit the named files interactively:
uk: Інтерактивне редагування іменованих файлів:

note: type: textblock
en: For Windows guests, some Windows paths are understood:
uk: Для гостьових систем Windows передбачено розпізнавання таких шляхів у Windows:

note: type: textblock
en: If Perl is installed, you can also edit files non-interactively (see L</NON-INTERACTIVE EDITING> below).  To change the init default level to 5:
uk: Якщо встановлено Perl, ви також можете редагувати файли у неінтерактивному режимі (див. L</НЕІНТЕРАКТИВНЕ РЕДАГУВАННЯ> нижче). Щоб змінити типовий рівень init на 5:

note: type: =item
en: B<-b> EXTENSION
uk: B<-b> СУФІКС

note: type: =item
en: B<--backup> EXTENSION
uk: B<--backup> СУФІКС

note: type: textblock
en: Create a backup of the original file I<in the guest disk image>.  The backup has the original filename with C<extension> added.
uk: Створити резервну копію початкового файла I<у образі диска гостьової системи>. Резервна копія матиме таку саму назву, що і початковий файл, із додаванням суфікса C<суфікс>.

note: type: textblock
en: Usually the first character of C<extension> would be a dot C<.> so you would write:
uk: Зазвичай, першим символом суфікса C<суфікс> буде крапка, C<.>, отже, можна віддати таку команду:

note: type: verbatim
en:  virt-edit -b .orig [etc]
uk:  virt-edit -b .orig [тощо]

note: type: textblock
en: By default, no backup file is made.
uk: Типово файл резервної копії не створюється.

note: type: textblock
en: If you specify guest block devices directly, then libvirt is not used at all.
uk: Якщо вказати блокові пристрої гостьових систем безпосередньо, libvirt не буде використовуватися взагалі.

note: type: =item
en: B<-d> GUEST
uk: B<-d> ГІСТЬ

note: type: =item
en: B<--domain> GUEST
uk: B<--domain> ГІСТЬ

note: type: textblock
en: When prompting for keys and passphrases, virt-edit normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-edit попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: =item
en: B<-e> EXPR
uk: B<-e> вираз

note: type: =item
en: B<--edit> EXPR
uk: B<--edit> ВИРАЗ

note: type: =item
en: B<--expr> EXPR
uk: B<--expr> вираз

note: type: textblock
en: Instead of launching the external editor, non-interactively apply the Perl expression C<EXPR> to each line in the file.  See L</NON-INTERACTIVE EDITING> below.
uk: Замість запуску зовнішнього редактора, неінтерактивно застосувати вираз Perl C<ВИРАЗ> до усіх рядків файла. Див. L</НЕІНТЕРАКТИВНЕ РЕДАГУВАННЯ> нижче.

note: type: verbatim
en:  virt-edit --format=raw -a disk.img file
uk:  virt-edit --format=raw -a диск.img файл

note: type: verbatim
en:  virt-edit --format=raw -a disk.img --format -a another.img file
uk:  virt-cat --format=raw -a диск.img --format -a інший.img файл

note: type: textblock
en: Previous versions of virt-edit allowed you to write either:
uk: У попередніх версіях virt-edit можна було використовувати або

note: type: verbatim
en:  virt-edit guestname file
uk:  virt-edit назва_гостьової_системи файл

note: type: =head1
en: NON-INTERACTIVE EDITING
uk: НЕІНТЕРАКТИВНЕ РЕДАГУВАННЯ

note: type: textblock
en: C<virt-edit> normally calls out to C<$EDITOR> (or vi) so the system administrator can interactively edit the file.
uk: C<virt-edit> зазвичай викликає C<$EDITOR> (або vi), щоб адміністратор системи зміг інтерактивно редагувати файл.

note: type: textblock
en: There are two ways also to use C<virt-edit> from scripts in order to make automated edits to files.  (Note that although you I<can> use C<virt-edit> like this, it’s less error-prone to write scripts directly using the libguestfs API and Augeas for configuration file editing.)
uk: Передбачено також два способи використання C<virt-edit> зі скриптів з метою автоматизації редагування файлів. (Зауважте, що хоча ви I<можете> користуватися C<virt-edit> у цей спосіб, стійкішим до помилок буде написання скриптів, які безпосередньо використовують програмний інтерфейс libguestfs та Augeas для редагування файлів налаштувань.)

note: type: textblock
en: The first method is to temporarily set C<$EDITOR> to any script or program you want to run.  The script is invoked as C<$EDITOR tmpfile> and it should update C<tmpfile> in place however it likes.
uk: Першим методом є тимчасове встановлення C<$EDITOR> у значення назви скрипту або програми, яку ви хочете запустити. Скрипт буде викликано у форматі C<$EDITOR tmpfile>, він має оновлювати C<tmpfile> на місці у будь-який спосіб.

note: type: textblock
en: The second method is to use the I<-e> parameter of C<virt-edit> to run a short Perl snippet in the style of L<sed(1)>.  For example to replace all instances of C<foo> with C<bar> in a file:
uk: Другим методом є використання параметра I<-e> програми C<virt-edit> для запуску короткого фрагмента коду Perl у стилі L<sed(1)>. Наприклад, щоб змінити усі екземпляри C<foo> на C<bar> у файлі, віддайте таку команду:

note: type: verbatim
en:  virt-edit -d domname filename -e 's/foo/bar/'
uk:  virt-edit -d назва_домену назва_файла -e 's/foo/bar/'

note: type: textblock
en: The full power of Perl regular expressions can be used (see L<perlre(1)>).  For example to delete root’s password you could do:
uk: Можна скористатися усією потужністю формальних виразів Perl (див. L<perlre(1)>). Наприклад, для вилучення пароля root ви можете віддати таку команду:

note: type: textblock
en: What really happens is that the snippet is evaluated as a Perl expression for each line of the file.  The line, including the final C<\n>, is passed in C<$_> and the expression should update C<$_> or leave it unchanged.
uk: Під час обробки команди вираз Perl застосовується до кожного з рядків файла. Рядок, разом із кінцевим C<\n>, передається у C<$_>, а вираз має оновити C<$_> або лишити його вміст без змін.

note: type: textblock
en: To delete a line, set C<$_> to the empty string.  For example, to delete the C<apache> user account from the password file you can do:
uk: Щоб вилучити рядок, встановіть для C<$_> значення порожнього рядка. Наприклад, щоб вилучити обліковий запис C<apache> з файла паролів, ви можете віддати таку команду:

note: type: textblock
en: To insert a line, prepend or append it to C<$_>.  However appending lines to the end of the file is rather difficult this way since there is no concept of "last line of the file" - your expression just doesn't get called again.  You might want to use the first method (setting C<$EDITOR>) if you want to do this.
uk: Щоб вставити рядок, допишіть його на початку або наприкінці C<$_>. Втім, дописування рядків наприкінці файла у цей спосіб є доволі складною справою — оскільки не існує загального поняття «останній рядок файла», ваш вираз просто не буде викликано ще раз. Якщо ви хочете дописати рядок наприкінці файла, вам варто скористатися першим методом (встановленням значення для C<$EDITOR>).

note: type: textblock
en: The variable C<$lineno> contains the current line number.  As is traditional, the first line in the file is number C<1>.
uk: Змінна C<$lineno> містить значення номера поточного рядка. За традицією, перший рядок файла має номер C<1>.

note: type: textblock
en: The return value from the expression is ignored, but the expression may call C<die> in order to abort the whole program, leaving the original file untouched.
uk: Значення, повернуте у результаті обробки виразу, ігнорується, але вираз може викликати C<die> з метою переривання усієї програми без внесення змін до початкового файла.

note: type: textblock
en: Remember when matching the end of a line that C<$_> may contain the final C<\n>, or (for DOS files) C<\r\n>, or if the file does not end with a newline then neither of these.  Thus to match or substitute some text at the end of a line, use this regular expression:
uk: Слід пам'ятати, що відповідник кінця рядка при використанні C<$_> може містити кінцеве C<\n> або (у файлах DOS) C<\r\n>, або, якщо файл не закінчується символом нового рядка, жодну з цих послідовностей. Тому для пошуку або заміни певного тексту наприкінці рядка слід використовувати такий формальний вираз:

note: type: verbatim
en:  /some text(\r?\n)?$/
uk:  /якийсь текст(\r?\n)?$/

note: type: textblock
en: Alternately, use the perl C<chomp> function, being careful not to chomp C<$_> itself (since that would remove all newlines from the file):
uk: Альтернативним варіантом є використання функції C<chomp> Perl, але так, щоб не обрізати саме C<$_> (оскільки ця функція вилучає усі символи нового рядка з файла):

note: type: verbatim
en:  my $m = $_; chomp $m; $m =~ /some text$/
uk:  my $m = $_; chomp $m; $m =~ /якийсь текст$/

note: type: textblock
en: C<virt-edit> has a limited ability to understand Windows drive letters and paths (eg. F<E:\foo\bar.txt>).
uk: У C<virt-edit> передбачено обмежені можливості щодо обробки літерних дисків та шляхів у Windows (наприклад F<E:\foo\bar.txt>).

note: type: textblock
en: The path is resolved case insensitively to locate the file that should be edited.
uk: Шлях до файла, вміст якого має бути редаговано, визначається без врахування регістру символів у його записі.

note: type: textblock
en: L<guestfish(1)> is a more powerful, lower level tool which you can use when C<virt-edit> doesn't work.
uk: L<guestfish(1)> є потужнішим інструментом нижчого рівня, яким можна скористатися, якщо C<virt-edit> не працює.

note: type: textblock
en: Using C<virt-edit> is approximately equivalent to doing:
uk: Використання C<virt-edit> є приблизним еквівалентом такого:

note: type: verbatim
en:  guestfish --rw -i -d domname edit /file
uk:  guestfish --rw -i -d назва_домену edit /файл

note: type: textblock
en: where C<domname> is the name of the libvirt guest, and F</file> is the full path to the file.
uk: де C<назва_домену> — назва гостьової системи libvirt, а F<файл> — шлях до файла повністю.

note: type: textblock
en: The command above uses libguestfs’s guest inspection feature and so does not work on guests that libguestfs cannot inspect, or on things like arbitrary disk images that don't contain guests.  To edit a file on a disk image directly, use:
uk: У вказаній вище команді використано можливість інспектування гостьових систем засобами libguestfs, отже, вона не працюватиме у гостьових системах, які libguestfs не може інспектувати, або у довільних образах дисків, які не містять гостьових систем. Щоб редагувати дані файла безпосередньо на образі диска, скористайтеся такою командою:

note: type: verbatim
en:  guestfish --rw -a disk.img -m /dev/sda1 edit /file
uk:  guestfish --rw -a диск.img -m /dev/sda1 edit /файл

note: type: textblock
en: where F<disk.img> is the disk image, F</dev/sda1> is the filesystem within the disk image to edit, and F</file> is the full path to the file.
uk: де F<диск.img> — образ диска, F</dev/sda1> — файлова система у образі диска для редагування, а F<файл> — шлях до файла повністю.

note: type: textblock
en: C<virt-edit> cannot create new files.  Use the guestfish commands C<touch>, C<write> or C<upload> instead:
uk: Програма C<virt-edit> не здатна створювати файли. Для створення слід користуватися командами guestfish C<touch>, C<write> та C<upload>:

note: type: verbatim
en:  guestfish --rw -i -d domname touch /newfile
uk:  guestfish --rw -i -d назва_домену touch /новий_файл

note: type: verbatim
en:  guestfish --rw -i -d domname write /newfile "new content"
uk:  guestfish --rw -i -d назва_домену write /новий_файл "новий вміст"

note: type: verbatim
en:  guestfish --rw -i -d domname upload localfile /newfile
uk:  guestfish --rw -i -d назва_домену upload локальний_файл /новий_файл

note: type: textblock
en: If set, this string is used as the editor.  It may contain arguments, eg. C<"emacs -nw">
uk: Якщо встановлено, цей рядок використовуватиметься для виклику редактора. Рядок може містити аргументи, наприклад, C<"emacs -nw">

note: type: textblock
en: If not set, C<vi> is used.
uk: Якщо не встановлено, використовуватиметься C<vi>.

note: type: textblock
en: guestfs-erlang - How to use libguestfs from Erlang
uk: guestfs-erlang — як користуватися libguestfs з програми мовою Erlang

note: type: textblock
en: This manual page documents how to call libguestfs from the Erlang programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Erlang. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head2
en: OPENING AND CLOSING THE HANDLE
uk: ВІДКРИТТЯ І ЗАКРИТТЯ ДЕСКРИПТОРА

note: type: textblock
en: The Erlang bindings are implemented using an external program called C<erl-guestfs>.  This program must be on the current PATH, or else you should specify the full path to the program:
uk: Прив'язки до Erlang реалізовано за допомогою зовнішньої програми із назвою C<erl-guestfs>. Ця програма має зберігатися у одному з каталогів PATH, інакше вам доведеться вказати повний шлях до програми:

note: type: verbatim
en:  {ok, G} = guestfs:create("/path/to/erl-guestfs").
uk:  {ok, G} = guestfs:create("/шлях/до/erl-guestfs").

note: type: textblock
en: C<G> is the libguestfs handle which you should pass to other functions.
uk: C<G> є дескриптором libguestfs, який вам слід передавати іншим функціям.

note: type: textblock
en: To close the handle:
uk: Закриття обробника:

note: type: =head2
en: FUNCTIONS WITH OPTIONAL ARGUMENTS
uk: ФУНКЦІЇ І НЕОБОВ'ЯЗКОВІ ПАРАМЕТРИ

note: type: textblock
en: For functions that take optional arguments, the first arguments are the non-optional ones.  The last argument is a list of tuples supplying the remaining optional arguments.
uk: Якщо функція приймає необов'язкові аргументи, першими слід вказувати обов'язкові. Останнім аргументом є список кортежів, яким надається список решти необов'язкових аргументів.

note: type: textblock
en: If the last argument would be an empty list, you can also omit it:
uk: Якщо останнім аргументом має бути порожній список, ви також можете його пропустити:

note: type: =head2
en: RETURN VALUES AND ERRORS
uk: ЗНАЧЕННЯ, ЩО ПОВЕРТАЮТЬСЯ, І ПОМИЛКИ

note: type: textblock
en: On success, most functions return a C<Result> term (which could be a list, string, tuple etc.).  If there is nothing for the function to return, then the atom C<ok> is returned.
uk: Якщо дію виконано успішно, більшість функцій повертають значення C<Result> (ним може бути список, рядок, кортеж тощо).  Якщо у функції немає чого повернути, буде повернуто атом C<ok>.

note: type: textblock
en: On error, you would see one of the following tuples:
uk: Якщо станеться помилка, ви маєте побачити один із таких кортежів:

note: type: =item
en: C<{error, Msg, Errno}>
uk: C<{помилка, повідомлення, номер_помилки}>

note: type: textblock
en: This indicates an ordinary error from the function.
uk: Позначає звичайну помилку у функції.

note: type: textblock
en: C<Msg> is the error message (string) and C<Errno> is the Unix error (integer).
uk: C<Повідомлення> — повідомлення про помилку (рядок), а C<номер_помилки> — номер помилки Unix (ціле число).

note: type: textblock
en: C<Errno> can be zero.  See L<guestfs(3)/guestfs_last_errno>.
uk: C<Errno> може бути нульовим. Див. L<guestfs(3)/guestfs_last_errno>.

note: type: =item
en: C<{unknown, Function}>
uk: C<{unknown, Функція}>

note: type: textblock
en: This indicates that the function you called is not known.  Generally this means you are mixing C<erl-guestfs> from another version of libguestfs, which you should not do.
uk: Це означає, що викликана вами функція є невідомою. Загалом, таке трапляється, якщо ви використовуєте C<erl-guestfs> з іншої версії libguestfs. Не слід так робити.

note: type: textblock
en: C<Function> is the name of the unknown function.
uk: C<Функція> — назва невідомої функції.

note: type: =item
en: C<{unknownarg, Arg}>
uk: C<{unknownarg, Аргумент}>

note: type: textblock
en: This indicates that you called a function with optional arguments, with an unknown argument name.
uk: Це означає, що ви викликали функцію із необов'язковими аргументами, використавши невідому назву аргументу.

note: type: textblock
en: C<Arg> is the name of the unknown argument.
uk: C<Аргумент> — назва невідомого аргументу.

note: type: =head1
en: EXAMPLE 1: CREATE A DISK IMAGE
uk: ПРИКЛАД 1. СТВОРЕННЯ ОБРАЗУ ДИСКА

note: type: =head1
en: EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE
uk: ПРИКЛАД 2. ПЕРЕВІРКА ОБРАЗУ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ

note: type: textblock
en: guestfs-examples - Examples of using libguestfs from C
uk: guestfs-examples — приклади використання libguestfs з коду мовою C

note: type: verbatim
en:  cc prog.c -o prog -lguestfs
    or:
     cc prog.c -o prog `pkg-config libguestfs --cflags --libs`
uk:  cc prog.c -o prog -lguestfs
    або:
     cc prog.c -o prog `pkg-config libguestfs --cflags --libs`

note: type: textblock
en: This manual page contains examples of calling libguestfs from the C programming language.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування C. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head1
en: EXAMPLE: CREATE A DISK IMAGE
uk: ПРИКЛАД. СТВОРЕННЯ ОБРАЗУ ДИСКА

note: type: =head1
en: EXAMPLE: INSPECT A VIRTUAL MACHINE DISK IMAGE
uk: ПРИКЛАД. ПЕРЕВІРКА ОБРАЗУ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ

note: type: =head1
en: EXAMPLE: ENABLE DEBUGGING AND LOGGING
uk: ПРИКЛАД: ВМИКАННЯ ДІАГНОСТИКИ І ЖУРНАЛЮВАННЯ

note: type: =head1
en: EXAMPLE: DISPLAY THE OPERATING SYSTEM ICON OF A GUEST
uk: ПРИКЛАД: ПОКАЗ ПІКТОГРАМИ ОПЕРАЦІЙНОЇ СИСТЕМИ ГОСТЬОВОЇ СИСТЕМИ

note: type: =head1
en: EXAMPLE: THE LIBVIRT AUTHENTICATION API
uk: ПРИКЛАД: ПРОГРАМНИЙ ІНТЕРФЕЙС РОЗПІЗНАВАННЯ LIBVIRT

note: type: =head1
en: EXAMPLE: THE MOUNT LOCAL API
uk: ПРИКЛАД: ЛОКАЛЬНИЙ ПРОГРАМНИЙ ІНТЕРФЕЙС МОНТУВАННЯ

note: type: =head1
en: EXAMPLE: MULTIPLE HANDLES AND THREADS
uk: ПРИКЛАД: ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ

note: type: =head1
en: EXAMPLE: FETCH DHCP ADDRESS FROM A GUEST
uk: ПРИКЛАД: ОТРИМАННЯ АДРЕСИ DHCP ІЗ ГОСТЬОВОЇ СИСТЕМИ

note: type: verbatim
en:  acl-delete-def-file dir
uk:  acl-delete-def-file каталог

note: type: textblock
en: This function deletes the default POSIX Access Control List (ACL)  attached to directory C<dir>.
uk: Ця функція вилучає типовий список керування доступом POSIX (ACL), який пов'язано із каталогом C<dir>.

note: type: textblock
en: This command depends on the feature C<acl>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<acl>. Див. також L</feature-available>.

note: type: verbatim
en:  acl-get-file path acltype
uk:  acl-get-file шлях тип-acl

note: type: textblock
en: This function returns the POSIX Access Control List (ACL) attached to C<path>.  The ACL is returned in "long text form" (see L<acl(5)>).
uk: Ця функція повертає список керування доступом POSIX (ACL), пов'язаний із C<path>. ACL буде повернуто у «довгій тестовій формі» (див. L<acl(5)>).

note: type: textblock
en: The C<acltype> parameter may be:
uk: Можливі значення параметра C<acltype>:

note: type: textblock
en: Return the ordinary (access) ACL for any file, directory or other filesystem object.
uk: Повертає звичайний (на доступ) ACL для будь-якого файла, каталогу або іншого об'єкта файлової системи.

note: type: textblock
en: Return the default ACL.  Normally this only makes sense if C<path> is a directory.
uk: Повертає типовий ACL. Зазвичай, це має сенс лише, якщо C<шлях> — це каталог.

note: type: verbatim
en:  acl-set-file path acltype acl
uk:  acl-set-file шлях тип-acl acl

note: type: textblock
en: This function sets the POSIX Access Control List (ACL) attached to C<path>.
uk: Ця функція встановлює список керування доступом POSIX (ACL), пов'язаний із шляхом C<path>.

note: type: textblock
en: Set the ordinary (access) ACL for any file, directory or other filesystem object.
uk: Встановлює звичайний (на доступ) ACL для будь-якого файла, каталогу або іншого об'єкта файлової системи.

note: type: textblock
en: Set the default ACL.  Normally this only makes sense if C<path> is a directory.
uk: Встановлює типовий ACL. Зазвичай, це має сенс лише, якщо C<шлях> — це каталог.

note: type: textblock
en: The C<acl> parameter is the new ACL in either "long text form" or "short text form" (see L<acl(5)>).  The new ACL completely replaces any previous ACL on the file.  The ACL must contain the full Unix permissions (eg. C<u::rwx,g::rx,o::rx>).
uk: Значенням параметра C<acl> є новий ACL у «довгій текстовий формі» або «скороченій текстовій формі» (див. L<acl(5)>). Новий ACL повністю заміняє будь-який попередній ACL файла. ACL має містити повні права доступу Unix (наприклад, C<u::rwx,g::rx,o::rx>).

note: type: textblock
en: If you are specifying individual users or groups, then the mask field is also required (eg. C<m::rwx>), followed by the C<u:I<ID>:...> and/or C<g:I<ID>:...> field(s).  A full ACL string might therefore look like this:
uk: Якщо ви вказуєте окремих користувачів або групи, слід вказувати і поле маски (наприклад, C<m::rwx>), за яким слід вказувати  поля C<u:I<ідентифікатор>:...> і/або C<g:I<ідентифікатор>:...>. Отже, повний рядок ACL може виглядати ось так:

note: type: verbatim
en:  u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx
     \ Unix permissions / \mask/ \      ACL        /
uk:  u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx
     \      Права Unix        / \маска/ \      ACL        /

note: type: textblock
en: You should use numeric UIDs and GIDs.  To map usernames and groupnames to the correct numeric ID in the context of the guest, use the Augeas functions (see L</aug-init>).
uk: Вам слід використовувати числові значення UID і GID. Щоб пов'язати імена користувачів та назви груп із правильними значенням ідентифікаторів у контексті гостьової системи, скористайтеся функціями Augeas (див. L</aug-init>).

note: type: verbatim
en:  add-cdrom filename
uk:  add-cdrom назва_файла

note: type: textblock
en: This function adds a virtual CD-ROM disk image to the guest.
uk: Ця функція додає віртуальний образ компакт-диска до гостьової системи.

note: type: textblock
en: The image is added as read-only drive, so this function is equivalent of L</add-drive-ro>.
uk: Образ додається як придатний лише для читання диск, отже ця функція еквівалентна до L</add-drive-ro>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</add-drive-ro> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</add-drive-ro>.

note: type: textblock
en: Deprecated functions will not be removed from the API, but the fact that they are deprecated indicates that there are problems with correct use of these functions.
uk: Застарілі функції не буде вилучено з програмного інтерфейсу, але той факт, що їх визнано застарілими, вказує на проблеми із належним використанням цих функцій.

note: type: =head2
en: domain
uk: домен

note: type: textblock
en: This function adds the disk(s) attached to the named libvirt domain C<dom>.  It works by connecting to libvirt, requesting the domain and domain XML from libvirt, parsing it for disks, and calling L</add-drive-opts> on each one.
uk: Ця функція додає диски, долучені до вказаного за назвою домену libvirt C<dom>. Вона працює шляхом з'єднання із libvirt, 
     надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих даних для дисків і виклику L</add-drive-opts> для кожного з дисків.

note: type: textblock
en: The number of disks added is returned.  This operation is atomic: if an error is returned, then no disks are added.
uk: Буде повернуто значення кількості доданих дисків. Ця операція є атомарною: якщо буде повернуто помилку, жодного диска не додано.

note: type: textblock
en: This function does some minimal checks to make sure the libvirt domain is not running (unless C<readonly> is true).  In a future version we will try to acquire the libvirt lock on each disk.
uk: Ця функція виконує деякі мінімальні перевірки, щоб переконатися, що домен libvirt не запущено (якщо C<readonly> не дорівнює true). У майбутніх версіях ми спробуємо реалізувати блокування libvirt для кожного диска.

note: type: textblock
en: Disks must be accessible locally.  This often means that adding disks from a remote libvirt connection (see L<https://libvirt.org/remote.html>)  will fail unless those disks are accessible via the same device path locally too.
uk: Диски мають бути доступними. Це часто означає, що додавання дисків з віддаленого з'єднання libvirt (див. L<https://libvirt.org/remote.html>) завершиться помилкою, якщо ці диски не є доступними за тією самою адресою пристрою і локально.

note: type: textblock
en: The optional C<libvirturi> parameter sets the libvirt URI (see L<https://libvirt.org/uri.html>).  If this is not set then we connect to the default libvirt URI (or one set through an environment variable, see the libvirt documentation for full details).
uk: Необов'язковий параметр C<libvirturi> встановлює адресу libvirt (див. L<https://libvirt.org/uri.html>). Якщо його не встановлено, ми з'єднуємося із типовою адресою libvirt (або адресою, встановленою за допомогою змінної середовища, див. документацію до libvirt, щоб ознайомитися із подробицями).

note: type: textblock
en: The optional C<live> flag controls whether this call will try to connect to a running virtual machine C<guestfsd> process if it sees a suitable E<lt>channelE<gt> element in the libvirt XML definition.  The default (if the flag is omitted) is never to try.  See L<guestfs(3)/ATTACHING TO RUNNING DAEMONS> for more information.
uk: Необов'язковий прапорець C<live> керує тим, чи буде цей виклик намагатися з'єднатися із запущеним процесом C<guestfsd> віртуальної машини, якщо буде виявлено відповідний елемент E<lt>channelE<gt> у визначення XML libvirt. Типовою поведінкою (якщо прапорець не встановлено) є поведінка, за якої спроби робитися не буде. Див. L<guestfs(3)/ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ>, щоб дізнатися більше.

note: type: textblock
en: If the C<allowuuid> flag is true (default is false) then a UUID I<may> be passed instead of the domain name.  The C<dom> string is treated as a UUID first and looked up, and if that lookup fails then we treat C<dom> as a name as usual.
uk: Якщо прапорець C<allowuuid> має значення true (типовим значенням є false), тоді I<може> бути передано UUID замість назви домену. Рядок C<dom> обробляється спочатку як UUID і виконується пошук. Якщо нічого не вдасться знайти, C<dom> обробляється як назва, як завжди.

note: type: textblock
en: The optional C<readonlydisk> parameter controls what we do for disks which are marked E<lt>readonly/E<gt> in the libvirt XML.  Possible values are:
uk: Необов'язковий параметр C<readonlydisk> керує тим, що ми робимо із дисками, які позначено як E<lt>readonly/E<gt> у XML libvirt. Можливі значення:

note: type: textblock
en: If C<readonly> is false:
uk: Якщо C<readonly> має значення false:

note: type: textblock
en: The whole call is aborted with an error if any disk with the E<lt>readonly/E<gt> flag is found.
uk: Увесь виклик буде перервано із повідомленням про помилку, якщо буде виявлено хоча б один диск із прапорцем E<lt>readonly/E<gt>.

note: type: textblock
en: If C<readonly> is true:
uk: Якщо C<readonly> має значення true:

note: type: textblock
en: Disks with the E<lt>readonly/E<gt> flag are added read-only.
uk: Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання.

note: type: textblock
en: Disks with the E<lt>readonly/E<gt> flag are added read-only.  Other disks are added read/write.
uk: Диски із прапорцем E<lt>readonly/E<gt> додано лише для читання. Інші диски додано для читання і запису.

note: type: =item
en: readonlydisk = "write" (default)
uk: readonlydisk = "write" (типово)

note: type: textblock
en: Disks with the E<lt>readonly/E<gt> flag are added read/write.
uk: Диски із прапорцем E<lt>readonly/E<gt> додано для читання і запису.

note: type: textblock
en: If C<readonly> is true or false:
uk: Якщо C<readonly> має значення true або false:

note: type: textblock
en: Disks with the E<lt>readonly/E<gt> flag are skipped.
uk: Диски з прапорцем E<lt>readonly/E<gt> буде пропущено.

note: type: textblock
en: If present, the value of C<logical_block_size> attribute of E<lt>blockio/E<gt> tag in libvirt XML will be passed as C<blocksize> parameter to L</add-drive-opts>.
uk: Якщо наявне, значення атрибута C<logical_block_size> теґу E<lt>blockio/E<gt> tag у XML libvirt буде передано як параметр C<blocksize> до L</add-drive-opts>.

note: type: textblock
en: The other optional parameters are passed directly through to L</add-drive-opts>.
uk: Інші необов'язкові параметри передаються безпосередньо до L</add-drive-opts>.

note: type: textblock
en: This command has one or more optional arguments.  See L</OPTIONAL ARGUMENTS>.
uk: У цієї команди є один або декілька необов'язкових аргументів. Див. L</НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ>.

note: type: verbatim
en:  add-drive filename [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false] [blocksize:N]
uk:  add-drive назва_файла [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false] [blocksize:N]

note: type: textblock
en: This function adds a disk image called F<filename> to the handle.  F<filename> may be a regular host file or a host device.
uk: Ця функція додає образ диска, який має назву F<filename>, до дескриптора. F<filename> може бути звичайним файлом основної системи або пристроєм основної системи.

note: type: textblock
en: When this function is called before L</launch> (the usual case) then the first time you call this function, the disk appears in the API as F</dev/sda>, the second time as F</dev/sdb>, and so on.
uk: Якщо цю функцію викликають до L</launch> (типовий випадок), тоді, коли ви вперше викликаєте цю функцію, диск з'являється у програмному інтерфейсі як F</dev/sda>, другого разу — F</dev/sdb>, тощо.

note: type: textblock
en: In libguestfs E<ge> 1.20 you can also call this function after launch (with some restrictions).  This is called "hotplugging".  When hotplugging, you must specify a C<label> so that the new disk gets a predictable name.  For more information see L<guestfs(3)/HOTPLUGGING>.
uk: У libguestfs E<ge> 1.20 ви можете викликати цю функцію і після запуску (з певними обмеженнями). Це називається «з'єднання у «гарячому» режимі». При такому з'єднанні вам слід вказати мітку (C<label>), щоб новий диск отримав передбачувану назву. Докладніший опис наведено у розділі L<guestfs(3)/З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>.

note: type: textblock
en: You don't necessarily need to be root when using libguestfs.  However you obviously do need sufficient permissions to access the filename for whatever operations you want to perform (ie. read access if you just want to read the image or write access if you want to modify the image).
uk: Вам не обов'язково мати права адміністратора (root), коли ви використовуєте libguestfs. Втім, вам, очевидно, знадобляться достатні права доступу до файла, щоб виконувати відповідні дії із файлом (тобто доступ до читання, якщо ви хочете читати дані з образу, або доступ до запису, якщо ви хочете вносити зміни до образу).

note: type: textblock
en: This call checks that F<filename> exists.
uk: Цей виклик перевіряє, чи існує F<filename>.

note: type: textblock
en: F<filename> may be the special string C<"/dev/null">.  See L<guestfs(3)/NULL DISKS>.
uk: F<filename> може бути спеціальним рядком C<"/dev/null">. Див. L<guestfs(3)/НУЛЬОВІ ДИСКИ>.

note: type: textblock
en: The optional arguments are:
uk: Необов'язковими аргументами є:

note: type: textblock
en: If true then the image is treated as read-only.  Writes are still allowed, but they are stored in a temporary snapshot overlay which is discarded at the end.  The disk that you add is not modified.
uk: Якщо має значення true, образ вважатиметься придатним лише для читання. Запис буде дозволено, але дані зберігатимуться у тимчасовому знімку-накладці, який наприкінці сеансу роботи буде відкинуто. Зміни до диска, який ви додаєте, внесено не буде.

note: type: textblock
en: This forces the image format.  If you omit this (or use L</add-drive> or L</add-drive-ro>) then the format is automatically detected.  Possible formats include C<raw> and C<qcow2>.
uk: Примусово встановлює формат образу. Якщо ви не вкажете його (або скористаєтеся L</add-drive> чи L</add-drive-ro>), формат визначатиметься автоматично. Серед можливих форматів C<raw> і C<qcow2>.

note: type: textblock
en: Automatic detection of the format opens you up to a potential security hole when dealing with untrusted raw-format images.  See CVE-2010-3851 and RHBZ#642934.  Specifying the format closes this security hole.
uk: Автоматичне визначення формату є потенційною вадою захисту, якщо ви маєте справу з образами у форматі raw із ненадійних джерел. Див. CVE-2010-3851 і RHBZ#642934. Вказування формату явним чином закриває цю дірку у захисті.

note: type: textblock
en: This rarely-used option lets you emulate the behaviour of the deprecated L</add-drive-with-if> call (q.v.)
uk: Цей рідкісний параметр надає вам змогу емулювати поведінку застарілого виклику L</add-drive-with-if> (q.v.)

note: type: textblock
en: The name the drive had in the original guest, e.g. F</dev/sdb>.  This is used as a hint to the guest inspection process if it is available.
uk: Назва, яку диск має у початковій гостьовій системі, наприклад, F</dev/sdb>. Використовується як підказка для процесу інспектування гостьової системи, якщо така назва наявна.

note: type: textblock
en: Give the disk a label.  The label should be a unique, short string using I<only> ASCII characters C<[a-zA-Z]>.  As well as its usual name in the API (such as F</dev/sda>), the drive will also be named F</dev/disk/guestfs/I<label>>.
uk: Надати диску мітку. Мітка має бути унікальним коротким рядком, у якому використано I<лише> символи ASCII C<[a-zA-Z]>. Окрім звичайної назви у програмному інтерфейсі (наприклад F</dev/sda>), диск також можна буде називати F</dev/disk/guestfs/I<мітка>>.

note: type: textblock
en: See L<guestfs(3)/DISK LABELS>.
uk: Див. L<guestfs(3)/МІТКИ ДИСКІВ>.

note: type: textblock
en: The optional protocol argument can be used to select an alternate source protocol.
uk: Необов'язковим аргументом протоколу можна скористатися для вибору альтернативного протоколу джерела.

note: type: textblock
en: See also: L<guestfs(3)/REMOTE STORAGE>.
uk: Див. також L<guestfs(3)/REMOTE STORAGE>.

note: type: textblock
en: F<filename> is interpreted as a local file or device.  This is the default if the optional protocol parameter is omitted.
uk: F<filename> вважатиметься локальним файлом або пристроєм. Це типова поведінка програми, якщо не вказано додатковий параметр протоколу.

note: type: textblock
en: Connect to a remote FTP, HTTP or TFTP server.  The C<server> parameter must also be supplied - see below.
uk: З'єднатися із віддаленим сервером FTP, HTTP або TFTP. Також має бути надано параметр C<server>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/FTP, HTTP AND TFTP>
uk: Див. також L<guestfs(3)/FTP, HTTP AND TFTP>

note: type: textblock
en: Connect to the GlusterFS server.  The C<server> parameter must also be supplied - see below.
uk: З'єднатися із сервером GlusterFS. Також має бути надано параметр C<server>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/GLUSTER>
uk: Див. також L<guestfs(3)/GLUSTER>

note: type: textblock
en: Connect to the iSCSI server.  The C<server> parameter must also be supplied - see below.  The C<username> parameter may be supplied.  See below.  The C<secret> parameter may be supplied.  See below.
uk: З'єднатися із сервером iSCSI. Також має бути надано параметр C<server>, див. нижче. Має бути надано параметр C<username>, див. нижче. Має бути надано параметр C<secret>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/ISCSI>.
uk: Див. також L<guestfs(3)/ISCSI>.

note: type: textblock
en: Connect to the Network Block Device server.  The C<server> parameter must also be supplied - see below.
uk: З'єднатися із сервером Network Block Device. Також має бути надано параметр C<server>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/NETWORK BLOCK DEVICE>.
uk: Див. також L<guestfs(3)/NETWORK BLOCK DEVICE>.

note: type: textblock
en: Connect to the Ceph (librbd/RBD) server.  The C<server> parameter must also be supplied - see below.  The C<username> parameter may be supplied.  See below.  The C<secret> parameter may be supplied.  See below.
uk: З'єднатися із сервером Ceph (librbd/RBD). Також має бути надано параметр C<server>, див. нижче. Має бути надано параметр C<username>, див. нижче. Має бути надано параметр C<secret>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/CEPH>.
uk: Див. також L<guestfs(3)/CEPH>.

note: type: textblock
en: Connect to the Sheepdog server.  The C<server> parameter may also be supplied - see below.
uk: З'єднатися із сервером Sheepdog. Також може бути надано параметр C<server>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/SHEEPDOG>.
uk: Див. також L<guestfs(3)/SHEEPDOG>.

note: type: textblock
en: Connect to the Secure Shell (ssh) server.
uk: Встановити з’єднання з сервером Secure Shell (ssh).

note: type: textblock
en: The C<server> parameter must be supplied.  The C<username> parameter may be supplied.  See below.
uk: Має бути надано параметр C<server>. Може бути надано параметр C<username>, див. нижче.

note: type: textblock
en: See also: L<guestfs(3)/SSH>.
uk: Див. також L<guestfs(3)/SSH>.

note: type: textblock
en: For protocols which require access to a remote server, this is a list of server(s).
uk: Для протоколів, які потребують доступу до віддаленого сервера, це список серверів.

note: type: verbatim
en:  Protocol       Number of servers required
     --------       --------------------------
     file           List must be empty or param not used at all
     ftp|ftps|http|https|tftp  Exactly one
     gluster        Exactly one
     iscsi          Exactly one
     nbd            Exactly one
     rbd            Zero or more
     sheepdog       Zero or more
     ssh            Exactly one
uk:  Протокол       Кількість потрібних серверів
     --------       --------------------------
     file           Список має бути порожнім або не слід користуватися параметром взагалі
     ftp|ftps|http|https|tftp  Точно один
     gluster        Точно один
     iscsi          Точно один
     nbd            Точно один
     rbd            Нуль або більше
     sheepdog       Нуль або більше
     ssh            Точно один

note: type: textblock
en: Each list element is a string specifying a server.  The string must be in one of the following formats:
uk: Кожен елемент у списку є рядком, який вказує на сервер. Рядок має бути записано у одному з таких форматів:

note: type: verbatim
en:  hostname
     hostname:port
     tcp:hostname
     tcp:hostname:port
     unix:/path/to/socket
uk:  назва_вузла
     назва_вузла:порт
     tcp:назва_вузла
     tcp:назва_вузла:порт
     unix:/шлях/до/сокета

note: type: textblock
en: If the port number is omitted, then the standard port number for the protocol is used (see F</etc/services>).
uk: Якщо номер порту не вказано, буде використано стандартний для протоколу номер (див. F</etc/services>).

note: type: textblock
en: For the C<ftp>, C<ftps>, C<http>, C<https>, C<iscsi>, C<rbd>, C<ssh> and C<tftp> protocols, this specifies the remote username.
uk: Для протоколів C<ftp>, C<ftps>, C<http>, C<https>, C<iscsi>, C<rbd>, C<ssh> та C<tftp> визначає ім’я користувача віддаленої системи.

note: type: textblock
en: If not given, then the local username is used for C<ssh>, and no authentication is attempted for ceph.  But note this sometimes may give unexpected results, for example if using the libvirt backend and if the libvirt backend is configured to start the qemu appliance as a special user such as C<qemu.qemu>.  If in doubt, specify the remote username you want.
uk: Якщо не вказано, для C<ssh> буде використано ім'я локального користувача, а для ceph спроба пройти розпізнавання не виконуватиметься. Втім, зауважте, що іноді це може призводити до неочікуваних результатів, наприклад, якщо використовується модуль обробки libvirt, і модуль обробки libvirt налаштовано на запуск базової системи qemu від імені спеціального користувача, зокрема C<qemu.qemu>. Якщо сумніваєтеся, вкажіть потрібне вам ім'я користувача віддаленої системи.

note: type: textblock
en: For the C<rbd> protocol only, this specifies the ‘secret’ to use when connecting to the remote device.  It must be base64 encoded.
uk: Лише для протоколу C<rbd> це визначає «ключ», яким слід скористатися для з'єднання із віддаленим пристроєм. Дані має бути вказано у кодуванні base64.

note: type: textblock
en: If not given, then a secret matching the given username will be looked up in the default keychain locations, or if no username is given, then no authentication will be used.
uk: Якщо не вказано, буде виконано пошук ключа, який відповідає вказаному імені користувача у типовому сховищі ключів. Якщо імені користувача не вказано, спроба пройти розпізнавання не виконуватиметься.

note: type: textblock
en: Choose whether or not libguestfs will obey sync operations (safe but slow)  or not (unsafe but fast).  The possible values for this string are:
uk: Вкажіть, має libguestfs зважати на дії з синхронізації (безпечно, але повільно) чи ні (небезпечно, але швидко). Можливими значеннями цього рядка можуть бути:

note: type: textblock
en: Write operations in the API do not return until a L<write(2)> call has completed in the host [but note this does not imply that anything gets written to disk].
uk: Дії із запису у програмному інтерфейсі не повертають керування, аж доки не буде завершено виклик L<write(2)> у основній системі [втім, слід зауважити, що це не означає, що щось буде записано на диск].

note: type: textblock
en: Sync operations in the API, including implicit syncs caused by filesystem journalling, will not return until an L<fdatasync(2)> call has completed in the host, indicating that data has been committed to disk.
uk: Дії із синхронізації у програмному інтерфейсі, зокрема неявні синхронізації, спричинені журналюванням файлової системи, не повертатимуть керування, аж доки не буде завершено виклик L<fdatasync(2)> у основній системі, що означатиме, що дані було надіслано на диск.

note: type: textblock
en: In this mode, there are no guarantees.  Libguestfs may cache anything and ignore sync requests.  This is suitable only for scratch or temporary disks.
uk: У цьому режимі надійність не гарантовано. Libguestfs може кешувати дані і ігнорувати запити щодо синхронізації. Пасує лише тестовим та тимчасовим дискам.

note: type: textblock
en: Enable or disable discard (a.k.a. trim or unmap) support on this drive.  If enabled, operations such as L</fstrim> will be able to discard / make thin / punch holes in the underlying host file or device.
uk: Увімкнути або вимкнути підтримку відкидання (або обрізання чи скасовування прив'язки) для цього диска. Якщо увімкнено, дії, подібні до L</fstrim> зможуть відкидати / утоншувати / пробивати дірки у підлеглому файлі або пристрої основної системи.

note: type: textblock
en: Possible discard settings are:
uk: Можливі варіанти параметрів відкидання:

note: type: textblock
en: Disable discard support.  This is the default.
uk: Вимкнути підтримку відкидання. Типова поведінка.

note: type: textblock
en: Enable discard support.  Fail if discard is not possible.
uk: Увімкнути підтримку відкидання. Завершується помилкою, якщо відкидання неможливе.

note: type: textblock
en: Enable discard support if possible, but don't fail if it is not supported.
uk: Увімкнути, якщо можна, підтримку відкидання, але не завершувати роботу із повідомленням щодо помилки, якщо такої підтримки не передбачено.

note: type: textblock
en: Since not all backends and not all underlying systems support discard, this is a good choice if you want to use discard if possible, but don't mind if it doesn't work.
uk: Оскільки підтримку відкидання передбачено не для усіх модулів обробки і не для усіх підлеглих систем, це непоганий варіант, якщо ви хочете скористатися відкиданням, якщо воно можливе, але не маєте нічого проти того, щоб воно не працювало.

note: type: textblock
en: The boolean parameter C<copyonread> enables copy-on-read support.  This only affects disk formats which have backing files, and causes reads to be stored in the overlay layer, speeding up multiple reads of the same area of disk.
uk: Булевий параметр C<copyonread> вмикає підтримку копіювання під час читання. Це стосується лише форматів дисків, які мають резервні файли, і спричиняє до того, що дані читання зберігатимуться у накладному шарі, що пришвидшуватиме повторні читання тих сами даних з диска.

note: type: textblock
en: The default is false.
uk: Типовим є значення false.

note: type: textblock
en: This parameter sets the sector size of the disk.  Possible values are C<512> (the default if the parameter is omitted) or C<4096>.  Use C<4096> when handling an "Advanced Format" disk that uses 4K sector size (L<https://en.wikipedia.org/wiki/Advanced_Format>).
uk: Цей параметр встановлює розмір сектора на диску. Можливими значеннями є C<512> (типове, якщо параметр не вказано) або C<4096>. Скористайтеся значенням C<4096> при обробці дисків «розширеного формату», для яких використовується розмір сектора у 4 кБ (L<https://en.wikipedia.org/wiki/Advanced_Format>).

note: type: textblock
en: Only a subset of the backends support this parameter (currently only the libvirt and direct backends do).
uk: Підтримку цього параметра передбачено не в усіх модулях обробки (у поточній версії підтримку передбачено лише для модуля libvirt і модуля безпосередньої обробки (direct)).

note: type: verbatim
en:  add-drive-ro filename
uk:  add-drive-ro назва_файла

note: type: textblock
en: This function is the equivalent of calling L</add-drive-opts> with the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the disk is added read-only, with the format being detected automatically.
uk: Ця функція є еквівалентом виклику L</add-drive-opts> із додатковим параметром C<GUESTFS_ADD_DRIVE_OPTS_READONLY>, який встановлено у значення 1, отже диск додається лише для читання, а формат визначається автоматично.

note: type: verbatim
en:  add-drive-ro-with-if filename iface
uk:  add-drive-ro-with-if назва_файла інтерфейс

note: type: textblock
en: This is the same as L</add-drive-ro> but it allows you to specify the QEMU interface emulation to use at run time.
uk: Те саме, що і L</add-drive-ro>, але надає вам змогу вказати емуляцію інтерфейсу QEMU, яку буде використано під час роботи.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</add-drive> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</add-drive>.

note: type: verbatim
en:  add-drive-scratch size [name:..] [label:..] [blocksize:N]
uk:  add-drive-scratch розмір [назва:..] [мітка:..] [blocksize:N]

note: type: textblock
en: This command adds a temporary scratch drive to the handle.  The C<size> parameter is the virtual size (in bytes).  The scratch drive is blank initially (all reads return zeroes until you start writing to it).  The drive is deleted when the handle is closed.
uk: Ця команда додає тимчасовий робочий диск до дескриптора. Параметр C<size> визначає його віртуальний розмір (у байтах). Робочий диск є початково порожнім (усі спроби читання повертатимуть лише нулі, аж доки ви не почнете записувати на нього дані). Диск вилучається після закриття дескриптора.

note: type: textblock
en: The optional arguments C<name>, C<label> and C<blocksize> are passed through to L</add-drive-opts>.
uk: Додаткові аргументи C<name>, C<label> і C<blocksize> передаються до L</add-drive-opts>.

note: type: verbatim
en:  add-drive-with-if filename iface
uk:  add-drive-with-if назва_файла інтерфейс

note: type: textblock
en: This is the same as L</add-drive> but it allows you to specify the QEMU interface emulation to use at run time.
uk: Те саме, що і L</add-drive>, але надає вам змогу вказати емуляцію інтерфейсу QEMU, яку буде використано під час роботи.

note: type: verbatim
en:  aug-clear augpath
uk:  aug-clear шлях

note: type: textblock
en: Set the value associated with C<path> to C<NULL>.  This is the same as the L<augtool(1)> C<clear> command.
uk: Встановлює значення, пов'язане C<path> у C<NULL>. Те саме, що і команда L<augtool(1)> C<clear>.

note: type: textblock
en: Close the current Augeas handle and free up any resources used by it.  After calling this, you have to call L</aug-init> again before you can use any other Augeas functions.
uk: Закрити поточний дескриптор Augeas і вивільнити усі ресурси, які ним використовуються. Після виклику слід викликати L</aug-init> ще раз, перш ніж ви зможете скористатися будь-якими іншими функціями Augeas.

note: type: verbatim
en:  aug-defnode name expr val
uk:  aug-defnode назва вираз значення

note: type: textblock
en: Defines a variable C<name> whose value is the result of evaluating C<expr>.
uk: Визначає змінну C<назва>, чиїм значенням є результат обчислення виразу C<вираз>.

note: type: textblock
en: If C<expr> evaluates to an empty nodeset, a node is created, equivalent to calling L</aug-set> C<expr>, C<val>.  C<name> will be the nodeset containing that single node.
uk: Якщо використання виразу C<вираз> дає порожній набір вузлів, створюється вузол. Еквівалент виклику L</aug-set> C<вираз>, C<значення>. C<назва> буде мати значення набору вузлів, який містить єдиний створений вузол.

note: type: textblock
en: On success this returns a pair containing the number of nodes in the nodeset, and a boolean flag if a node was created.
uk: Якщо виконано успішно, повертає пару значень — кількість вузлів у наборі вузлів та булевий прапорець, якщо було створено вузол.

note: type: verbatim
en:  aug-defvar name expr
uk:  aug-defvar назва вираз

note: type: textblock
en: Defines an Augeas variable C<name> whose value is the result of evaluating C<expr>.  If C<expr> is NULL, then C<name> is undefined.
uk: Визначає змінну Augeas C<назва>, чиїм значенням є результат обчислення виразу C<вираз>. Якщо значенням C<вираз> є NULL, C<назва> є невизначеною.

note: type: textblock
en: On success this returns the number of nodes in C<expr>, or C<0> if C<expr> evaluates to something which is not a nodeset.
uk: Якщо виконано успішно, повертає кількість вузлів у виразі C<вираз> або C<0>, якщо обробка виразу C<вираз> дає щось, що не є набором вузлів.

note: type: verbatim
en:  aug-get augpath
uk:  aug-get шлях

note: type: textblock
en: Look up the value associated with C<path>.  If C<path> matches exactly one node, the C<value> is returned.
uk: Виконати пошук значення, пов'язаного із шляхом C<шлях>. Якщо C<шлях> визначає точно один вузол, буде повернуто C<значення>.

note: type: verbatim
en:  aug-init root flags
uk:  aug-initкорінь прапорці

note: type: textblock
en: Create a new Augeas handle for editing configuration files.  If there was any previous Augeas handle associated with this guestfs session, then it is closed.
uk: Створити дескриптор Augeas для редагування файлів налаштувань. Якщо із цим сеансом guestfs вже було пов'язано дескриптор Augeas, його буде закрито.

note: type: textblock
en: You must call this before using any other L</aug-*> commands.
uk: Вам слід викликати цю команду до використання будь-яких інших команд L</aug-*>.

note: type: textblock
en: C<root> is the filesystem root.  C<root> must not be NULL, use F</> instead.
uk: C<корінь> — коренева тека файлової системи. Значенням C<корінь> не повинен бути NULL. Замість значення NULL слід використовувати F</>.

note: type: textblock
en: The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the logical I<or> of the following integers:
uk: Прапорці є тими самими, що і прапорці, визначені у E<lt>augeas.hE<gt>, застосування логічного I<АБО> до таких цілих значень:

note: type: textblock
en: Keep the original file with a C<.augsave> extension.
uk: Зберігати початковий файл із додаванням до назви суфікса C<.augsave>.

note: type: textblock
en: Save changes into a file with extension C<.augnew>, and do not overwrite original.  Overrides C<AUG_SAVE_BACKUP>.
uk: Зберігати зміни до файла із суфіксом назви C<.augnew> і не перезаписувати початковий файл. Має вищий пріоритет за C<AUG_SAVE_BACKUP>.

note: type: textblock
en: Typecheck lenses.
uk: Лінзи перевірки типів.

note: type: textblock
en: This option is only useful when debugging Augeas lenses.  Use of this option may require additional memory for the libguestfs appliance.  You may need to set the C<LIBGUESTFS_MEMSIZE> environment variable or call L</set-memsize>.
uk: Цей параметр буде корисним, лише якщо ви виконуєте діагностику лінз Augeas. Використання цього параметра може потребувати додаткової пам'яті для базової системи libguestfs. Ймовірно, вам варто встановити відповідне значення для змінної середовища C<LIBGUESTFS_MEMSIZE> або викликати L</set-memsize>.

note: type: textblock
en: Do not use standard load path for modules.
uk: Не використовувати стандартний шлях для завантаження модулів.

note: type: textblock
en: Make save a no-op, just record what would have been changed.
uk: Вимкнути дію зі збереження, просто записати, що могло б бути змінено.

note: type: textblock
en: Do not load the tree in L</aug-init>.
uk: Не завантажувати ієрархію до L</aug-init>.

note: type: textblock
en: To close the handle, you can call L</aug-close>.
uk: Щоб закрити дескриптор, ви можете викликати L</aug-close>.

note: type: textblock
en: To find out more about Augeas, see L<http://augeas.net/>.
uk: Щоб дізнатися більше про Augeas, зверніться до L<http://augeas.net/>.

note: type: verbatim
en:  aug-insert augpath label true|false
uk:  aug-insert шлях мітка true|false

note: type: textblock
en: Create a new sibling C<label> for C<path>, inserting it into the tree before or after C<path> (depending on the boolean flag C<before>).
uk: Створити мітку-близнюка C<мітка> для шляху C<шлях>, вставивши її до ієрархії перед або після записом шляху C<шлях> (залежно від додаткового булевого прапорця C<до>).

note: type: textblock
en: C<path> must match exactly one existing node in the tree, and C<label> must be a label, ie. not contain F</>, C<*> or end with a bracketed index C<[N]>.
uk: C<шлях> має збігатися із точно одним наявним вузлом у ієрархії, а C<мітка> має бути міткою, тобто не містити F</>, C<*>, або завершуватися індексом у дужках, C<[N]>.

note: type: verbatim
en:  aug-label augpath
uk:  aug-label шлях

note: type: textblock
en: The label (name of the last element) of the Augeas path expression C<augpath> is returned.  C<augpath> must match exactly one node, else this function returns an error.
uk: Повертає мітку (назву останнього елемента) для виразу шляху Augeas C<шлях>. C<шлях> має відповідати точно одному вузлу, інакше функцією буде повернуто повідомлення про помилку.

note: type: textblock
en: Load files into the tree.
uk: Завантажити файли до ієрархії.

note: type: textblock
en: See C<aug_load> in the Augeas documentation for the full gory details.
uk: Див. документацію Augeas щодо C<aug_load>, якщо хочете докладнішого опису.

note: type: verbatim
en:  aug-ls augpath
uk:  aug-ls шлях

note: type: textblock
en: This is just a shortcut for listing L</aug-match> C<path/*> and sorting the resulting nodes into alphabetical order.
uk: Скорочена форма запису для побудови списку L</aug-match> C<шлях/*> і упорядковування вузлів-результатів за абеткою.

note: type: verbatim
en:  aug-match augpath
uk:  aug-match шлях

note: type: textblock
en: Returns a list of paths which match the path expression C<path>.  The returned paths are sufficiently qualified so that they match exactly one node in the current tree.
uk: Повертає список шляхів, які відповідають виразу шляху C<шлях>. Повернуті записи шляхів є достатньо визначеними, щоб відповідати точно одному запису вузла у поточній ієрархії.

note: type: verbatim
en:  aug-mv src dest
uk:  aug-mv джерело призначення

note: type: textblock
en: Move the node C<src> to C<dest>.  C<src> must match exactly one node.  C<dest> is overwritten if it exists.
uk: Пересуває вузол C<джерело> до C<призначення>. C<джерело> має відповідати точно одному вузлу. C<призначення> буде перезаписано, якщо воно вже існує.

note: type: verbatim
en:  aug-rm augpath
uk:  aug-rm шлях

note: type: textblock
en: Remove C<path> and all of its children.
uk: Вилучити C<шлях> і усі його підлеглі об'єкти.

note: type: textblock
en: On success this returns the number of entries which were removed.
uk: Якщо виконано успішно, повертає кількість вилучених записів.

note: type: textblock
en: This writes all pending changes to disk.
uk: Записує зміни з черги на диск.

note: type: textblock
en: The flags which were passed to L</aug-init> affect exactly how files are saved.
uk: Прапорці, які передаються L</aug-init> впливають на те, як саме буде збережено файли.

note: type: verbatim
en:  aug-set augpath val
uk:  aug-set шлях значення

note: type: textblock
en: Set the value associated with C<augpath> to C<val>.
uk: Встановлює для шляху C<шлях> пов'язане значення C<значення>.

note: type: textblock
en: In the Augeas API, it is possible to clear a node by setting the value to NULL.  Due to an oversight in the libguestfs API you cannot do that with this call.  Instead you must use the L</aug-clear> call.
uk: У програмному інтерфейсі Augeas можна спорожняти вузол наданням йому значення NULL. Через недогляд у програмному інтерфейсі libguestfs ви не зможете цього робити за допомогою цього виклику. Замість цього, доведеться викликати L</aug-clear>.

note: type: verbatim
en:  aug-setm base sub val
uk:  aug-setm основа підлеглий значення

note: type: textblock
en: Change multiple Augeas nodes in a single operation.  C<base> is an expression matching multiple nodes.  C<sub> is a path expression relative to C<base>.  All nodes matching C<base> are found, and then for each node, C<sub> is changed to C<val>.  C<sub> may also be C<NULL> in which case the C<base> nodes are modified.
uk: Змінити декілька вузлів Augeas однією командою. C<основа> — вираз, що відповідає декільком вузлам. C<підлеглий> — вираз шляху відносно шляху C<основа>. Буде знайдено усі вузли, які відповідають запису C<основа>, а потім для кожного вузла значення C<підлеглий> буде змінено на C<значення>. Значенням C<підлеглий> може бути C<NULL>, щоб призведе до внесення змін до вузлів C<основа>.

note: type: textblock
en: This returns the number of nodes modified.
uk: Повертає кількість модифікованих вузлів.

note: type: verbatim
en:  aug-transform lens file [remove:true|false]
uk:  aug-transform лінза файл [вилучення:true|false]

note: type: textblock
en: Add an Augeas transformation for the specified C<lens> so it can handle C<file>.
uk: Додати перетворення Augeas до вказаної лінзи C<лінза> так, щоб вона могла обробляти C<файл>.

note: type: textblock
en: If C<remove> is true (C<false> by default), then the transformation is removed.
uk: Якщо значенням прапорця C<вилучення> є true (типово його значенням є C<false>), перетворення буде вилучено.

note: type: verbatim
en:  available 'groups ...'
uk:  available 'групи ...'

note: type: textblock
en: This command is used to check the availability of some groups of functionality in the appliance, which not all builds of the libguestfs appliance will be able to provide.
uk: Ця команда використовується для перевірки доступності певних груп функціональних можливостей у базовій системі, роботу яких можуть забезпечити не усі збірки базової системи libguestfs.

note: type: textblock
en: The libguestfs groups, and the functions that those groups correspond to, are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at runtime by calling L</available-all-groups>.
uk: Список груп libguestfs та функцій, яким відповідають ці групи, наведено у розділі L<guestfs(3)/ДОСТУПНІСТЬ>. Ви також можете отримати цей список у робочому режимі викликом L</available-all-groups>.

note: type: textblock
en: The argument C<groups> is a list of group names, eg: C<["inotify", "augeas"]> would check for the availability of the Linux inotify functions and Augeas (configuration file editing) functions.
uk: Аргумент C<групи> є списком назв груп. Приклад: C<["inotify", "augeas"]> має перевірити доступність функцій inotify Linux та функцій Augeas (редагування файла налаштувань).

note: type: textblock
en: The command returns no error if I<all> requested groups are available.
uk: Ця команда не повертає повідомлення про помилку, якщо доступними є I<усі> вказані групи.

note: type: textblock
en: It fails with an error if one or more of the requested groups is unavailable in the appliance.
uk: Команда завершується повідомленням про помилку, якщо одна або декілька запитаних груп є недоступною у базовій системі.

note: type: textblock
en: If an unknown group name is included in the list of groups then an error is always returned.
uk: Якщо до списку груп буде включено групу із невідомою назвою, команда завжди повертатиме повідомлення про помилку.

note: type: textblock
en: I<Notes:>
uk: I<Нотатки:>

note: type: textblock
en: L</feature-available> is the same as this call, but with a slightly simpler to use API: that call returns a boolean true/false instead of throwing an error.
uk: L</feature-available> є тим самим, що і цей виклик, але із дещо простішим у користуванні програмним інтерфейсом: цей виклик повертає булеве true/false замість надсилання повідомлення про помилку.

note: type: textblock
en: You must call L</launch> before calling this function.
uk: Перед викликом цієї функції слід викликати L</launch>.

note: type: textblock
en: The reason is because we don't know what groups are supported by the appliance/daemon until it is running and can be queried.
uk: Причиною є те, що ми не знаємо, підтримку яких груп передбачено у базовій системі або фоновій службі, доки її не буде запущено, і вона не зможе відповідати на запити.

note: type: textblock
en: If a group of functions is available, this does not necessarily mean that they will work.  You still have to check for errors when calling individual API functions even if they are available.
uk: Якщо група функцій доступна, це не обов'язково означає, що функції працюватимуть. Вам все одно слід перевірити, чи не виникають помилки під час викликів окремих програмних інтерфейсів, навіть якщо вони доступні.

note: type: textblock
en: It is usually the job of distro packagers to build complete functionality into the libguestfs appliance.  Upstream libguestfs, if built from source with all requirements satisfied, will support everything.
uk: Зазвичай, збирання базової системи libguestfs із якомога ширшими функціональними можливостями є завданням пакувальників дистрибутивів. libguestfs із основної гілки коду, якщо програми зібрано із початкового коду із усіма залежностями, підтримуватиме роботу із усіма можливостями.

note: type: textblock
en: This call was added in version C<1.0.80>.  In previous versions of libguestfs all you could do would be to speculatively execute a command to find out if the daemon implemented it.  See also L</version>.
uk: Цей виклик було додано у версії C<1.0.80>. У попередніх версіях libguestfs усе, що ви могли зробити, це спробувати виконати команду, щоб визначити, чи реалізовано її у фоновій службі. Див. також L</version>.

note: type: textblock
en: See also L</filesystem-available>.
uk: Див також L</filesystem-available>.

note: type: textblock
en: This command returns a list of all optional groups that this daemon knows about.  Note this returns both supported and unsupported groups.  To find out which ones the daemon can actually support you have to call L</available> / L</feature-available> on each member of the returned list.
uk: Ця команда повертає список усіх додаткових груп, про які знає ця фонова служба. Зауважте, що буде повернуто список підтримуваних і непідтримуваних груп. Щоб визначити групи, підтримку яких передбачено у фоновій службі, вам слід викликати L</available> / L</feature-available> для кожного запису із повернутого списку.

note: type: textblock
en: See also L</available>, L</feature-available> and L<guestfs(3)/AVAILABILITY>.
uk: Див. також L</available>, L</feature-available> та L<guestfs(3)/ДОСТУПНІСТЬ>.

note: type: verbatim
en:  base64-in (base64file|-) filename
uk:  base64-in (файл_base64|-) назва_файла

note: type: textblock
en: This command uploads base64-encoded data from C<base64file> to F<filename>.
uk: Ця команда вивантажує закодовані у base64 дані з файла C<файл_base64> до файла F<назва_файла>.

note: type: textblock
en: Use C<-> instead of a filename to read/write from stdin/stdout.
uk: Скористайтеся виразом C<-> замість назви файла, щоб наказати програмі виконувати читання зі stdin або запис до stdout.

note: type: verbatim
en:  base64-out filename (base64file|-)
uk:  base64-out назва_файла (файл_base64|-)

note: type: textblock
en: This command downloads the contents of F<filename>, writing it out to local file C<base64file> encoded as base64.
uk: Ця команда отримує вміст файла F<назва_файла> і записує його до локального файла C<файл_base64> у кодуванні base64.

note: type: verbatim
en:  blkdiscard device
uk:  blkdiscard пристрій

note: type: textblock
en: This discards all blocks on the block device C<device>, giving the free space back to the host.
uk: Ця команда відкидає усі блоки на блоковому пристрої C<пристрій>, вивільняючи місце і передаючи його основній системі.

note: type: textblock
en: This operation requires support in libguestfs, the host filesystem, qemu and the host kernel.  If this support isn't present it may give an error or even appear to run but do nothing.  You must also set the C<discard> attribute on the underlying drive (see L</add-drive-opts>).
uk: Ця операція потребує підтримки у libguestfs, файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція призведе до помилки або навіть виконуватиметься, але без усіляких наслідків. Вам слід встановити атрибут C<discard> на підлеглому диску (див. L</add-drive-opts>).

note: type: textblock
en: This command depends on the feature C<blkdiscard>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<blkdiscard>. Див. також L</feature-available>.

note: type: verbatim
en:  blkdiscardzeroes device
uk:  blkdiscardzeroes пристрій

note: type: textblock
en: This call returns true if blocks on C<device> that have been discarded by a call to L</blkdiscard> are returned as blocks of zero bytes when read the next time.
uk: Цей виклик повертає true, якщо блоки на пристрої C<пристрій>, які було відкинуто викликом L</blkdiscard>, повернуто як блоки у нуль байтів під час наступного читання.

note: type: textblock
en: If it returns false, then it may be that discarded blocks are read as stale or random data.
uk: Якщо повертає false, може так статися, що відкинуті блоки читаються як застарілі або випадкові дані.

note: type: textblock
en: This command depends on the feature C<blkdiscardzeroes>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<blkdiscardzeroes>. Див. також L</feature-available>.

note: type: verbatim
en:  blkid device
uk:  blkid пристрій

note: type: textblock
en: This command returns block device attributes for C<device>. The following fields are usually present in the returned hash. Other fields may also be present.
uk: Ця команда повертає атрибути блокового пристрою C<пристрій>. У виведеному хеші зазвичай є вказані нижче поля. Також у ньому можуть бути інші поля.

note: type: textblock
en: The uuid of this device.
uk: Код UUID цього пристрою.

note: type: =item
en: C<LABEL>
uk: C<МІТКА>

note: type: textblock
en: The label of this device.
uk: Мітка пристрою.

note: type: =item
en: C<VERSION>
uk: C<ВЕРСІЯ>

note: type: textblock
en: The version of blkid command.
uk: Версія програми blkid.

note: type: =item
en: C<TYPE>
uk: C<ТИП>

note: type: textblock
en: The filesystem type or RAID of this device.
uk: Тип файлової системи або RAID для цього пристрою.

note: type: =item
en: C<USAGE>
uk: C<ВИКОРИСТАННЯ>

note: type: textblock
en: The usage of this device, for example C<filesystem> or C<raid>.
uk: Призначення цього пристрою, наприклад C<filesystem> або C<raid>.

note: type: verbatim
en:  blockdev-flushbufs device
uk:  blockdev-flushbufs пристрій

note: type: textblock
en: This tells the kernel to flush internal buffers associated with C<device>.
uk: Ця команда наказує ядру спорожнити внутрішні буфери, які пов'язано із пристроєм C<пристрій>.

note: type: textblock
en: This uses the L<blockdev(8)> command.
uk: Використовується програма L<blockdev(8)>.

note: type: verbatim
en:  blockdev-getbsz device
uk:  blockdev-getbsz пристрій

note: type: textblock
en: This returns the block size of a device.
uk: Повертає розмір блоку для пристрою.

note: type: textblock
en: Note: this is different from both I<size in blocks> and I<filesystem block size>.  Also this setting is not really used by anything.  You should probably not use it for anything.  Filesystems have their own idea about what block size to choose.
uk: Зауваження: цей розмір відрізняється від I<розміру у блоках> і I<розміру блоку файлової системи>. Крім того, цей параметр насправді ніде не використовується. Вам, ймовірно, не знадобляться ці дані. Файлові системі мають власні правила щодо вибору розміру блоку.

note: type: verbatim
en:  blockdev-getro device
uk:  blockdev-getro пристрій

note: type: textblock
en: Returns a boolean indicating if the block device is read-only (true if read-only, false if not).
uk: Повертає булеве значення, яке визначається тим, чи призначено блоковий пристрій лише для читання (true, якщо пристрій призначено лише для читання, false, якщо ні).

note: type: verbatim
en:  blockdev-getsize64 device
uk:  blockdev-getsize64 пристрій

note: type: textblock
en: This returns the size of the device in bytes.
uk: Повертає розмір пристрою у байтах.

note: type: textblock
en: See also L</blockdev-getsz>.
uk: Див. також L</blockdev-getsz>.

note: type: verbatim
en:  blockdev-getss device
uk:  blockdev-getss пристрій

note: type: textblock
en: This returns the size of sectors on a block device.  Usually 512, but can be larger for modern devices.
uk: Ця команда повертає розмір сектора на блоковому пристрої. Зазвичай, розміром є 512, але на сучасних пристроях розмір може бути більшим.

note: type: textblock
en: (Note, this is not the size in sectors, use L</blockdev-getsz> for that).
uk: (Зауважте, що це не розмір у секторах. Щоб отримати розмір у секторах, скористайтеся L</blockdev-getsz>).

note: type: verbatim
en:  blockdev-getsz device
uk:  blockdev-getsz пристрій

note: type: textblock
en: This returns the size of the device in units of 512-byte sectors (even if the sectorsize isn't 512 bytes ... weird).
uk: Цей повертає розмір пристрою у одиницях 512-байтових секторах (навіть якщо розмір сектора не дорівнює 512 байтів ...дивно).

note: type: textblock
en: See also L</blockdev-getss> for the real sector size of the device, and L</blockdev-getsize64> for the more useful I<size in bytes>.
uk: Див. також L</blockdev-getss>, щоб дізнатися справжній розмір сектора пристрою, і L</blockdev-getsize64> для отримання кориснішого I<розміру у байтах>.

note: type: verbatim
en:  blockdev-rereadpt device
uk:  blockdev-rereadpt пристрій

note: type: textblock
en: Reread the partition table on C<device>.
uk: Повторно прочитати таблицю розділів з пристрою C<пристрій>.

note: type: verbatim
en:  blockdev-setbsz device blocksize
uk:  blockdev-setbsz пристрій розмір_блоку

note: type: textblock
en: This call does nothing and has never done anything because of a bug in blockdev.  B<Do not use it.>
uk: Цей виклик не виконує ніяких дій і ніколи цього не робив через ваду у blockdev. B<Не використовуйте його.>

note: type: textblock
en: If you need to set the filesystem block size, use the C<blocksize> option of L</mkfs>.
uk: Якщо вам потрібно встановити розмір блоку файлової системи, скористайтеся параметром C<blocksize> L</mkfs>.

note: type: textblock
en: I<This function is deprecated.> There is no replacement.  Consult the API documentation in L<guestfs(3)> for further information.
uk: I<Ця функція вважається застарілою.> Замінника не передбачено. Зверніться до документації із програмного інтерфейсу у підручнику з L<guestfs(3)>, щоб дізнатися більше.

note: type: verbatim
en:  blockdev-setra device sectors
uk:  blockdev-setra пристрій сектори

note: type: textblock
en: Set readahead (in 512-byte sectors) for the device.
uk: Встановити випереджальне читання (у 512-байтових секторах) для пристрою.

note: type: verbatim
en:  blockdev-setro device
uk:  blockdev-setro пристрій

note: type: textblock
en: Sets the block device named C<device> to read-only.
uk: Переводити блоковий пристрій з назвою C<пристрій> у режим лише читання.

note: type: verbatim
en:  blockdev-setrw device
uk:  blockdev-setrw пристрій

note: type: textblock
en: Sets the block device named C<device> to read-write.
uk: Встановлює для блокового пристрою із назвою C<пристрій> режим читання-запису.

note: type: verbatim
en:  btrfs-balance-cancel path
uk:  btrfs-balance-cancel шлях

note: type: textblock
en: Cancel a running balance on a btrfs filesystem.
uk: Скасувати поточний баланс на файловій системі btrfs.

note: type: textblock
en: This command depends on the feature C<btrfs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<btrfs>. Див. також L</feature-available>.

note: type: verbatim
en:  btrfs-balance-pause path
uk:  btrfs-balance-pause шлях

note: type: textblock
en: Pause a running balance on a btrfs filesystem.
uk: Призупинити запущений баланс у файловій системі btrfs.

note: type: verbatim
en:  btrfs-balance-resume path
uk:  btrfs-balance-resume шлях

note: type: textblock
en: Resume a paused balance on a btrfs filesystem.
uk: Поновити призупинений баланс на файловій системі btrfs.

note: type: verbatim
en:  btrfs-balance-status path
uk:  btrfs-balance-status шлях

note: type: textblock
en: Show the status of a running or paused balance on a btrfs filesystem.
uk: Показати стан використовуваного або призупиненого балансу на файловій системі btrfs.

note: type: verbatim
en:  btrfs-device-add 'devices ...' fs
uk:  btrfs-device-add 'пристрої ...' файлова система

note: type: textblock
en: Add the list of device(s) in C<devices> to the btrfs filesystem mounted at C<fs>.  If C<devices> is an empty list, this does nothing.
uk: Додати список пристроїв у записі C<пристрої> до файлової системи btrfs, змонтованої до файлової системи C<файлова система>.  Якщо C<пристрої> є порожнім списком, не виконувати ніяких дій.

note: type: verbatim
en:  btrfs-device-delete 'devices ...' fs
uk:  btrfs-device-delete 'пристрої ...' файлова система

note: type: textblock
en: Remove the C<devices> from the btrfs filesystem mounted at C<fs>.  If C<devices> is an empty list, this does nothing.
uk: Вилучити C<пристрої> з файлової системи btrfs, змонтованої до точки C<файлова система>. Якщо запис C<пристрої> є порожнім списком, не виконувати ніяких дій.

note: type: verbatim
en:  btrfs-filesystem-balance fs
uk:  btrfs-filesystem-balance файлова_система

note: type: textblock
en: Balance the chunks in the btrfs filesystem mounted at C<fs> across the underlying devices.
uk: Збалансувати фрагменти файлової системи btrfs, змонтованої до точки C<файлова_система>, між підлеглими пристроями.

note: type: verbatim
en:  btrfs-filesystem-defragment path [flush:true|false] [compress:..]
uk:  btrfs-filesystem-defragment шлях [витирання:true|false] [стискання:..]

note: type: textblock
en: Defragment a file or directory on a btrfs filesystem. compress is one of zlib or lzo.
uk: Виконати дефрагментацію файла або каталогу на файловій системі btrfs. Для параметра «стискання» передбачено два значення: zlib або lzo.

note: type: verbatim
en:  btrfs-filesystem-resize mountpoint [size:N]
uk:  btrfs-filesystem-resize точка_монтування [size:N]

note: type: textblock
en: This command resizes a btrfs filesystem.
uk: Ця команда змінює розмір файлової системи btrfs.

note: type: textblock
en: Note that unlike other resize calls, the filesystem has to be mounted and the parameter is the mountpoint not the device (this is a requirement of btrfs itself).
uk: Зауважте, що на відміну від інших викликів команд зміни розмірів, файлову систему має бути змонтовано, а параметром команди є точка монтування, а не пристрій (це вимога самої btrfs).

note: type: textblock
en: The optional parameters are:
uk: Додатковими параметрами є:

note: type: =item
en: C<size>
uk: C<розмір>

note: type: textblock
en: The new size (in bytes) of the filesystem.  If omitted, the filesystem is resized to the maximum size.
uk: Новий розмір (у байтах) файлової системи. Якщо не вказано, файлову систему буде розширено до максимального розміру.

note: type: textblock
en: See also L<btrfs(8)>.
uk: Див. також L<btrfs(8)>.

note: type: verbatim
en:  btrfs-filesystem-show device
uk:  btrfs-filesystem-show пристрій

note: type: textblock
en: Show all the devices where the filesystems in C<device> is spanned over.
uk: Вивести усі пристрої, на які поширюються файлові системи з пристрою C<пристрій>.

note: type: textblock
en: If not all the devices for the filesystems are present, then this function fails and the C<errno> is set to C<ENODEV>.
uk: Якщо у системі наявні не усі пристрої для файлових систем, ця функція завершується повідомленням про помилку, а для C<errno> встановлюється значення C<ENODEV>.

note: type: verbatim
en:  btrfs-filesystem-sync fs
uk:  btrfs-filesystem-sync файлова_система

note: type: textblock
en: Force sync on the btrfs filesystem mounted at C<fs>.
uk: Примусово синхронізувати файлову систему btrfs, яку змонтовано до точки C<файлова_система>.

note: type: verbatim
en:  btrfs-fsck device [superblock:N] [repair:true|false]
uk:  btrfs-fsck пристрій [superblock:N] [repair:true|false]

note: type: textblock
en: Used to check a btrfs filesystem, C<device> is the device file where the filesystem is stored.
uk: Використовується для перевірки файлової системи btrfs, C<пристрій> — файл пристрою, у якому зберігається файлова система.

note: type: verbatim
en:  btrfs-image 'source ...' image [compresslevel:N]
uk:  btrfs-image 'джерело ...' образ [рівень_стискання:N]

note: type: textblock
en: This is used to create an image of a btrfs filesystem.  All data will be zeroed, but metadata and the like is preserved.
uk: Використовується для створення образу файлової системи btrfs. Усі дані буде перезаписано нулями, але метадані і подібні дані буде збережено.

note: type: verbatim
en:  btrfs-qgroup-assign src dst path
uk:  btrfs-qgroup-assign джерело призначення шлях

note: type: textblock
en: Add qgroup C<src> to parent qgroup C<dst>. This command can group several qgroups into a parent qgroup to share common limit.
uk: Додає q-групу C<джерело> до батьківської q-групи C<призначення>. Ця команда може групувати декілька q-груп до батьківської q-групи для спільного використання загальних обмежень.

note: type: verbatim
en:  btrfs-qgroup-create qgroupid subvolume
uk:  btrfs-qgroup-create ідентифікатор_qgroup підтом

note: type: textblock
en: Create a quota group (qgroup) for subvolume at C<subvolume>.
uk: Створити групу квот (q-групу) для підтому C<підтом>.

note: type: verbatim
en:  btrfs-qgroup-destroy qgroupid subvolume
uk:  btrfs-qgroup-destroy ідентифікатор_qgroup підтом

note: type: textblock
en: Destroy a quota group.
uk: Знищити групу квот.

note: type: verbatim
en:  btrfs-qgroup-limit subvolume size
uk:  btrfs-qgroup-limit підтом розмір

note: type: textblock
en: Limit the size of the subvolume with path C<subvolume>.
uk: Обмежити розмір підтому із шляхом C<підтом>.

note: type: verbatim
en:  btrfs-qgroup-remove src dst path
uk:  btrfs-qgroup-remove джерело призначення шлях

note: type: textblock
en: Remove qgroup C<src> from the parent qgroup C<dst>.
uk: Вилучити q-групу C<джерело> з батьківської q-групи C<призначення>.

note: type: verbatim
en:  btrfs-qgroup-show path
uk:  btrfs-qgroup-show шлях

note: type: textblock
en: Show all subvolume quota groups in a btrfs filesystem, including their usages.
uk: Вивести усі групи квот підтомів у файловій системі btrfs разом із даними щодо їхнього використання.

note: type: verbatim
en:  btrfs-quota-enable fs true|false
uk:  btrfs-quota-enable файлова_система true|false

note: type: textblock
en: Enable or disable subvolume quota support for filesystem which contains C<path>.
uk: Увімкнути або вимкнути підтримку квот підтомів для файлової системи, яка містить C<шлях>.

note: type: verbatim
en:  btrfs-quota-rescan fs
uk:  btrfs-quota-rescan файлова_система

note: type: textblock
en: Trash all qgroup numbers and scan the metadata again with the current config.
uk: Викинути усі числові дані qgroup і виконати повторне сканування з поточними налаштуваннями.

note: type: verbatim
en:  btrfs-replace srcdev targetdev mntpoint
uk:  btrfs-replace пристрій_джерела пристрій_призначення точка_монтування

note: type: textblock
en: Replace device of a btrfs filesystem. On a live filesystem, duplicate the data to the target device which is currently stored on the source device.  After completion of the operation, the source device is wiped out and removed from the filesystem.
uk: Замінити пристрій файлової системи btrfs. На «живій» файловій системі здублювати на пристрій призначення дані, які на поточний момент зберігаються на пристрої джерела. Після завершення операції пристрій джерела буде витерто і вилучено з файлової системи.

note: type: textblock
en: The C<targetdev> needs to be same size or larger than the C<srcdev>. Devices which are currently mounted are never allowed to be used as the C<targetdev>.
uk:  C<пристрій_призначення> повинен мати той самий або більший розмір за C<пристрій_джерела>. Пристрої, які на поточний момент змонтовано, не можна використовувати як C<пристрій_призначення>.

note: type: verbatim
en:  btrfs-rescue-chunk-recover device
uk:  btrfs-rescue-chunk-recover пристрій

note: type: textblock
en: Recover the chunk tree of btrfs filesystem by scanning the devices one by one.
uk: Відновити дерево фрагментів файлової системи btrfs шляхом послідовного сканування пристроїв.

note: type: verbatim
en:  btrfs-rescue-super-recover device
uk:  btrfs-rescue-super-recover пристрій

note: type: textblock
en: Recover bad superblocks from good copies.
uk: Відновити пошкоджені суперблоки із якісних копій.

note: type: verbatim
en:  btrfs-scrub-cancel path
uk:  btrfs-scrub-cancel шлях

note: type: textblock
en: Cancel a running scrub on a btrfs filesystem.
uk: Скасувати витирання, що виконується у файловій системі btrfs.

note: type: verbatim
en:  btrfs-scrub-resume path
uk:  btrfs-scrub-resume шлях

note: type: textblock
en: Resume a previously canceled or interrupted scrub on a btrfs filesystem.
uk: Відновити раніше скасований або перерваний зріз на файловій системі btrfs.

note: type: verbatim
en:  btrfs-scrub-start path
uk:  btrfs-scrub-start шлях

note: type: textblock
en: Reads all the data and metadata on the filesystem, and uses checksums and the duplicate copies from RAID storage to identify and repair any corrupt data.
uk: Читає усі дані і метадані на файловій системі і використовує контрольні суми та копії-дублікати зі сховища даних RAID для ідентифікації та відновлення усіх пошкоджених даних.

note: type: verbatim
en:  btrfs-scrub-status path
uk:  btrfs-scrub-status шлях

note: type: textblock
en: Show status of running or finished scrub on a btrfs filesystem.
uk: Показати дані щодо стану витирання, яке виконується або завершено на файловій системі btrfs.

note: type: verbatim
en:  btrfs-set-seeding device true|false
uk:  btrfs-set-seeding пристрій true|false

note: type: textblock
en: Enable or disable the seeding feature of a device that contains a btrfs filesystem.
uk: Увімкнути або вимкнути можливість розсіювання для пристрою, на якому міститься файлова система btrfs.

note: type: verbatim
en:  btrfs-subvolume-create dest [qgroupid:..]
uk:  btrfs-subvolume-create призначення [ідентифікатор_qgroup:..]

note: type: textblock
en: Create a btrfs subvolume.  The C<dest> argument is the destination directory and the name of the subvolume, in the form F</path/to/dest/name>.  The optional parameter C<qgroupid> represents the qgroup which the newly created subvolume will be added to.
uk: Створити підтом btrfs. Значенням аргументу C<призначення> є каталог призначення і назва підтому у формі F</шлях/до/призначення/назва>. Додатковий параметр C<ідентифікатор q-групи> відповідає q-групі, до якої слід додати створений підтом.

note: type: verbatim
en:  btrfs-subvolume-delete subvolume
uk:  btrfs-subvolume-delete підтом

note: type: textblock
en: Delete the named btrfs subvolume or snapshot.
uk: Вилучити вказаний за назвою підтом або знімок btrfs.

note: type: verbatim
en:  btrfs-subvolume-get-default fs
uk:  btrfs-subvolume-get-default файлова_система

note: type: textblock
en: Get the default subvolume or snapshot of a filesystem mounted at C<mountpoint>.
uk: Отримати типовий підтом або знімок файлової системи, змонтований до точки C<точка монтування>.

note: type: verbatim
en:  btrfs-subvolume-list fs
uk:  btrfs-subvolume-list фс

note: type: textblock
en: List the btrfs snapshots and subvolumes of the btrfs filesystem which is mounted at C<fs>.
uk: Виводить список знімків btrfs і підтоми файлової системи btrfs, яку змонтовано до точки C<файлова_система>.

note: type: verbatim
en:  btrfs-subvolume-set-default id fs
uk:  btrfs-subvolume-set-default ідентифікатор файлова_система

note: type: textblock
en: Set the subvolume of the btrfs filesystem C<fs> which will be mounted by default.  See L</btrfs-subvolume-list> to get a list of subvolumes.
uk: Встановити підтом файлової системи btrfs C<файлова_система>, який буде типово змонтовано. Див. L</btrfs-subvolume-list>, щоб отримати список підтомів.

note: type: verbatim
en:  btrfs-subvolume-show subvolume
uk:  btrfs-subvolume-show підтом

note: type: textblock
en: Return detailed information of the subvolume.
uk: Повернути докладні дані щодо підтому.

note: type: verbatim
en:  btrfs-subvolume-snapshot source dest [ro:true|false] [qgroupid:..]
uk:  btrfs-subvolume-snapshot джерело призначення [ro:true|false] [qgroupid:..]

note: type: textblock
en: Create a snapshot of the btrfs subvolume C<source>.  The C<dest> argument is the destination directory and the name of the snapshot, in the form F</path/to/dest/name>. By default the newly created snapshot is writable, if the value of optional parameter C<ro> is true, then a readonly snapshot is created. The optional parameter C<qgroupid> represents the qgroup which the newly created snapshot will be added to.
uk: Створити знімок підтому btrfs. Значенням аргументу C<призначення> є каталог призначення і назва знімка у формі F</шлях/до/призначення/назва>. Типово, новостворений знімок придатний до запису. Якщо значенням додаткового параметра C<ro> є true, буде створено знімок придатний лише до читання.  Додатковий параметр C<ідентифікатор q-групи> відповідає q-групі, до якої слід додати створений знімок.

note: type: verbatim
en:  btrfstune-enable-extended-inode-refs device
uk:  btrfstune-enable-extended-inode-refs пристрій

note: type: textblock
en: This will Enable extended inode refs.
uk: Вмикає розширені посилання на inode.

note: type: verbatim
en:  btrfstune-enable-skinny-metadata-extent-refs device
uk:  btrfstune-enable-skinny-metadata-extent-refs пристрій

note: type: textblock
en: This enable skinny metadata extent refs.
uk: Вмикає розширені посилання на спрощені метадані.

note: type: verbatim
en:  btrfstune-seeding device true|false
uk:  btrfstune-seeding пристрій true|false

note: type: textblock
en: Enable seeding of a btrfs device, this will force a fs readonly so that you can use it to build other filesystems.
uk: Увімкнути розсіювання пристрою btrfs. Примусово робить файлову систему придатною лише для читання, щоб її можна було використовувати для побудови інших файлових систем.

note: type: textblock
en: In non-C language bindings, this allows you to retrieve the underlying C pointer to the handle (ie. L</h *>).  The purpose of this is to allow other libraries to interwork with libguestfs.
uk: У прив'язках до мов, відмінних від C, ця функція надає змогу отримати підлеглий вказівник C на дескриптор (тобто L</h *>).  Так зроблено, щоб уможливити взаємодію інших бібліотек із libguestfs.

note: type: verbatim
en:  canonical-device-name device
uk:  canonical-device-name пристрій

note: type: textblock
en: This utility function is useful when displaying device names to the user.  It takes a number of irregular device names and returns them in a consistent format:
uk: Ця допоміжна функція корисна для показу назв пристроїв користувачеві. Вона приймає декілька неформатованих назв пристроїв і повертає їх у відповідному форматі:

note: type: textblock
en: These are returned as F</dev/sdX>.  Note this works for device names and partition names.  This is approximately the reverse of the algorithm described in L<guestfs(3)/BLOCK DEVICE NAMING>.
uk: Дані повертаються у форматі F</dev/sdX>. Зауважте, що це працює для назв пристроїв і розділів. Це, у наближеному вигляді, обернення алгоритму, описаного у розділі L<guestfs(3)/ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ>.

note: type: textblock
en: Converted to F</dev/VG/LV> form using L</lvm-canonical-lv-name>.
uk: Перетворені до форми F</dev/VG/LV> за допомогою L</lvm-canonical-lv-name>.

note: type: textblock
en: Other strings are returned unmodified.
uk: Інші рядки повертаються незмінними.

note: type: verbatim
en:  cap-get-file path
uk:  cap-get-file шлях

note: type: textblock
en: This function returns the Linux capabilities attached to C<path>.  The capabilities set is returned in text form (see L<cap_to_text(3)>).
uk: Ця функція повертає можливості Linux, пов'язані із шляхом C<шлях>. Набір можливостей повертається у текстовій формі (див. L<cap_to_text(3)>).

note: type: textblock
en: If no capabilities are attached to a file, an empty string is returned.
uk: Якщо з файлом не пов'язано можливостей, буде повернуто порожній рядок.

note: type: textblock
en: This command depends on the feature C<linuxcaps>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<linuxcaps>. Див. також L</feature-available>.

note: type: verbatim
en:  cap-set-file path cap
uk:  cap-set-file шлях можливості

note: type: textblock
en: This function sets the Linux capabilities attached to C<path>.  The capabilities set C<cap> should be passed in text form (see L<cap_from_text(3)>).
uk: Ця функція встановлює можливості Linux, пов'язані із шляхом C<шлях>. Набір можливостей C<можливості> має бути передано у текстовій формі (див. L<cap_from_text(3)>).

note: type: verbatim
en:  case-sensitive-path path
uk:  case-sensitive-path шлях

note: type: textblock
en: This can be used to resolve case insensitive paths on a filesystem which is case sensitive.  The use case is to resolve paths which you have read from Windows configuration files or the Windows Registry, to the true path.
uk: Цією функцією можна скористатися для використання записів шляхів без врахування регістру символів у системах із врахуванням регістру у шляхах. Це може знадобитися при читанні з файлів налаштувань Windows або реєстру Windows до справжнього шляху.

note: type: textblock
en: The command handles a peculiarity of the Linux ntfs-3g filesystem driver (and probably others), which is that although the underlying filesystem is case-insensitive, the driver exports the filesystem to Linux as case-sensitive.
uk: Команда працює із особливістю драйвера файлових систем ntfs-3g Linux (та, ймовірно, інших драйверів), яка полягає у тому, що, хоча у підлеглій файловій системі регістр символів не враховується, драйвер експортує файлову систему до Linux як таку, де регістр символів враховується.

note: type: textblock
en: One consequence of this is that special directories such as F<C:\windows> may appear as F</WINDOWS> or F</windows> (or other things) depending on the precise details of how they were created.  In Windows itself this would not be a problem.
uk: Одним із наслідків цього є те, що спеціалізовані каталоги, зокрема F<C:\windows>, можуть показуватися як F</WINDOWS> або F</windows> (або інші записи), залежно від точних характеристик їхнього створення. У самій Windows це не спричиняє ніяких проблем.

note: type: textblock
en: Bug or feature? You decide: L<https://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1>
uk: Вада чи особливість? Вирішувати вам: L<https://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1>

note: type: textblock
en: L</case-sensitive-path> attempts to resolve the true case of each element in the path. It will return a resolved path if either the full path or its parent directory exists. If the parent directory exists but the full path does not, the case of the parent directory will be correctly resolved, and the remainder appended unmodified. For example, if the file C<"/Windows/System32/netkvm.sys"> exists:
uk: L</case-sensitive-path> намагається визначити справжній регістр символів кожного запису у шляху. Команда повертає визначений шлях, якщо існує відповідний повний шлях або його батьківський каталог. Якщо існує батьківський каталог, але повний шлях не існує, буде визначено регістр для батьківського каталогу, а решту запису буде додано без змін. Наприклад, якщо існує файл C<"/Windows/System32/netkvm.sys">:

note: type: textblock
en: I<Note>: Because of the above behaviour, L</case-sensitive-path> cannot be used to check for the existence of a file.
uk: I<Зауваження>: через описану вище поведінку L</case-sensitive-path> не можна використовувати для перевірки наявності файла.

note: type: textblock
en: I<Note>: This function does not handle drive names, backslashes etc.
uk: I<Зауваження>: ця функція не обробляє назви дисків, зворотні похилі риски тощо.

note: type: textblock
en: See also L</realpath>.
uk: Див. також L</realpath>.

note: type: verbatim
en:  cat path
uk:  cat шлях

note: type: textblock
en: Return the contents of the file named C<path>.
uk: Повертає вміст файла із назвою C<шлях>.

note: type: textblock
en: Because, in C, this function returns a C<char *>, there is no way to differentiate between a C<\0> character in a file and end of string.  To handle binary files, use the L</read-file> or L</download> functions.
uk: Оскільки у C ця функція повертає C<char *>, не існує способу відрізнити символ C<\0> у вмісті файла і кінець рядка. Для обробки двійкових файлів скористайтеся функцією L</read-file> або L</download>.

note: type: verbatim
en:  checksum csumtype path
uk:  checksum тип_контрольної_суми шлях

note: type: textblock
en: This call computes the MD5, SHAx or CRC checksum of the file named C<path>.
uk: Цей виклик обчислює контрольну суму MD5, SHAx або CRC для файла із назвою C<шлях>.

note: type: textblock
en: The type of checksum to compute is given by the C<csumtype> parameter which must have one of the following values:
uk: Тип контрольної суми задається параметром C<тип_контрольної_суми>. Можливі значення цього параметра:

note: type: textblock
en: Compute the cyclic redundancy check (CRC) specified by POSIX for the C<cksum> command.
uk: Обчислити суму циклічної перевірки надлишковості (CRC) за стандартом POSIX для команди C<cksum>.

note: type: textblock
en: Compute the MD5 hash (using the L<md5sum(1)> program).
uk: Обчислити хеш-суму MD5 (за допомогою програми L<md5sum(1)>).

note: type: textblock
en: Compute the SHA1 hash (using the L<sha1sum(1)> program).
uk: Обчислити хеш-суму SHA1 (за допомогою програми L<sha1sum(1)>).

note: type: textblock
en: Compute the SHA224 hash (using the L<sha224sum(1)> program).
uk: Обчислити хеш-суму SHA224 (за допомогою програми L<sha224sum(1)>).

note: type: textblock
en: Compute the SHA256 hash (using the L<sha256sum(1)> program).
uk: Обчислити хеш-суму SHA256 (за допомогою програми L<sha256sum(1)>).

note: type: textblock
en: Compute the SHA384 hash (using the L<sha384sum(1)> program).
uk: Обчислити хеш-суму SHA384 (за допомогою програми L<sha384sum(1)>).

note: type: textblock
en: Compute the SHA512 hash (using the L<sha512sum(1)> program).
uk: Обчислити хеш-суму SHA512 (за допомогою програми L<sha512sum(1)>).

note: type: textblock
en: The checksum is returned as a printable string.
uk: Контрольна сума повертається у форматі рядка, придатного до друку (ASCII).

note: type: textblock
en: To get the checksum for a device, use L</checksum-device>.
uk: Для отримання контрольної суми пристрою скористайтеся L</checksum-device>.

note: type: textblock
en: To get the checksums for many files, use L</checksums-out>.
uk: Щоб отримати контрольні суми декількох файлів одразу, скористайтеся C</checksums-out>.

note: type: verbatim
en:  checksum-device csumtype device
uk:  checksum-device тип_контрольної_суми пристрій

note: type: textblock
en: This call computes the MD5, SHAx or CRC checksum of the contents of the device named C<device>.  For the types of checksums supported see the L</checksum> command.
uk: Цей виклик обчислює контрольну суму MD5, SHAx або CRC для вмісту пристрою із назвою C<пристрій>. Типи підтримуваних контрольних сум описано у документації до команди L</checksum> .

note: type: verbatim
en:  checksums-out csumtype directory (sumsfile|-)
uk:  checksums-out тип_контрольної_суми каталог (файл_сум|-)

note: type: textblock
en: This command computes the checksums of all regular files in F<directory> and then emits a list of those checksums to the local output file C<sumsfile>.
uk: Ця команда обчислює контрольні суми звичайних файлів у каталозі F<каталог> і видає список контрольних сум до локального файла результатів C<файл_сум>.

note: type: textblock
en: This can be used for verifying the integrity of a virtual machine.  However to be properly secure you should pay attention to the output of the checksum command (it uses the ones from GNU coreutils).  In particular when the filename is not printable, coreutils uses a special backslash syntax.  For more information, see the GNU coreutils info file.
uk: Командою можна скористатися для перевірки цілісності віртуальної машини. Втім, щоб забезпечити надійний захист, вам слід звернути увагу на виведені командою обчислення контрольних сум дані (використовується програма з GNU coreutils). Зокрема, якщо назва файла складається із символів, які непридатні до друку, coreutils використовує спеціалізований синтаксис із символом зворотної похилої риски. Щоб дізнатися більше, ознайомтеся із файлом info GNU coreutils.

note: type: verbatim
en:  chmod mode path
uk:  chmod режим шлях

note: type: textblock
en: Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are supported.
uk: Змінити режим (права доступу) для шляху C<шлях> на C<режим>. Передбачено підтримку лише числових записів режимів.

note: type: textblock
en: I<Note>: When using this command from guestfish, C<mode> by default would be decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not C<700>.
uk: I<Зауваження>: при використанні цієї команди з guestfish, C<режим>, типово, має бути вказано у десятковій формі, якщо не буде додано префікса C<0> для вісімкової форми запису, тобто слід вказувати C<0700> замість C<700>.

note: type: textblock
en: The mode actually set is affected by the umask.
uk: На встановлений режим доступу впливає umask.

note: type: verbatim
en:  chown owner group path
uk:  chown власник група шлях

note: type: textblock
en: Change the file owner to C<owner> and group to C<group>.
uk: Змінити власника файла на C<власник> і групу на C<група>.

note: type: textblock
en: Only numeric uid and gid are supported.  If you want to use names, you will need to locate and parse the password file yourself (Augeas support makes this relatively easy).
uk: Передбачено підтримку лише числових uid і gid. Якщо ви хочете скористатися текстовими назвами, вам доведеться знайти і обробити файл паролів власноруч (підтримка Augeas робить це завдання відносно простим).

note: type: verbatim
en:  clear-backend-setting name
uk:  clear-backend-setting назва

note: type: textblock
en: If there is a backend setting string matching C<"name"> or beginning with C<"name=">, then that string is removed from the backend settings.
uk: Якщо рядок параметрів модуля дорівнює C<"name"> або починається з C<"name=">, цей рядок вилучається з параметрів модуля.

note: type: textblock
en: This call returns the number of strings which were removed (which may be 0, 1 or greater than 1).
uk: Цей виклик повертає кількість рядків, які було вилучено (може бути значення 0, 1 або більше за 1).

note: type: textblock
en: See L<guestfs(3)/BACKEND>, L<guestfs(3)/BACKEND SETTINGS>.
uk: Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

note: type: verbatim
en:  command 'arguments ...'
uk:  command 'параметри...'

note: type: textblock
en: This call runs a command from the guest filesystem.  The filesystem must be mounted, and must contain a compatible operating system (ie. something Linux, with the same or compatible processor architecture).
uk: Цей виклик запускає команду з гостьової файлової системи. Файлову систему має бути змонтовано, вона має містити сумісну операційну систему (тобто якусь систему Linux із такою або сумісною архітектурою процесора).

note: type: textblock
en: The single parameter is an argv-style list of arguments.  The first element is the name of the program to run.  Subsequent elements are parameters.  The list must be non-empty (ie. must contain a program name).  Note that the command runs directly, and is I<not> invoked via the shell (see L</sh>).
uk: Єдиним параметром є список аргументів у стилі argv. Першим елементом цього списку є назва програми, яку слід запустити. Наступні елементи є параметрами цієї програми. Список має бути непорожнім (тобто містити принаймні назву програми). Зауважте, що команда працює безпосередньо і I<не> викликає командної оболонки (див. L</sh>).

note: type: textblock
en: The return value is anything printed to I<stdout> by the command.
uk: Повернутим значенням є усі дані, виведені командою до I<stdout>.

note: type: textblock
en: If the command returns a non-zero exit status, then this function returns an error message.  The error message string is the content of I<stderr> from the command.
uk: Якщо команда повертає ненульовий стан виходу, тоді ця функція повертає повідомлення про помилку. Рядок повідомлення про помилку міститиме вміст I<stderr> від команди.

note: type: textblock
en: The C<$PATH> environment variable will contain at least F</usr/bin> and F</bin>.  If you require a program from another location, you should provide the full path in the first parameter.
uk: Змінна середовища C<$PATH> міститиме принаймні F</usr/bin> і F</bin>. Якщо вам потрібна програм з іншої теки, вам слід вказати шлях до неї повністю у першому параметрі.

note: type: textblock
en: Shared libraries and data files required by the program must be available on filesystems which are mounted in the correct places.  It is the caller’s responsibility to ensure all filesystems that are needed are mounted at the right locations.
uk: Бібліотеки спільного використання та файли даних, потрібні для запуску програми, мають бути доступними у файлових системах, які змонтовано до належних точок монтування. Забезпечити відповідність монтування усіх файлових систем має функція або програма, з якої викликається команда.

note: type: textblock
en: Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB.  See L<guestfs(3)/PROTOCOL LIMITS>.
uk: Через обмеження протоколу передавання повідомлень існує граничний об'єм повідомлення, щось у діапазоні від 2 МБ до 4 МБ. Див. L<guestfs(3)/ОБМЕЖЕННЯ ПРОТОКОЛУ>.

note: type: verbatim
en:  command-lines 'arguments ...'
uk:  command-lines 'аргументи...'

note: type: textblock
en: This is the same as L</command>, but splits the result into a list of lines.
uk: Те саме, що і L</command>, але результат буде поділено на список рядків.

note: type: textblock
en: See also: L</sh-lines>
uk: Див. також L</sh-lines>

note: type: verbatim
en:  compress-device-out ctype device (zdevice|-) [level:N]
uk:  compress-device-out тип_стискання пристрій (z-пристрій|-) [рівень:N]

note: type: textblock
en: This command compresses C<device> and writes it out to the local file C<zdevice>.
uk: Ця команда стискає вміст пристрою C<пристрій> і записує його до локального файла C<z-пристрій>.

note: type: textblock
en: The C<ctype> and optional C<level> parameters have the same meaning as in L</compress-out>.
uk: Параметр C<тип_стискання> і необов'язковий параметр C<рівень> мають те саме значення, що і у команді L</compress-out>.

note: type: verbatim
en:  compress-out ctype file (zfile|-) [level:N]
uk:  compress-out тип_стискання файл (z-файл|-) [рівень:N]

note: type: textblock
en: This command compresses F<file> and writes it out to the local file F<zfile>.
uk: Ця команда стискає вміст файла C<файл> і записує його до локального файла C<z-файл>.

note: type: textblock
en: The compression program used is controlled by the C<ctype> parameter.  Currently this includes: C<compress>, C<gzip>, C<bzip2>, C<xz> or C<lzop>.  Some compression types may not be supported by particular builds of libguestfs, in which case you will get an error containing the substring "not supported".
uk: Вибір програми для стискання керується параметром C<тип_стискання>. Поточні варіанти значень: C<compress>, C<gzip>, C<bzip2>, C<xz> або C<lzop>. У деяких збірках libguestfs передбачено підтримку не усіх типів стискання. Якщо підтримки типу стискання не передбачено, буде виведено повідомлення про помилку, яке міститиме рядок «not supported».

note: type: textblock
en: The optional C<level> parameter controls compression level.  The meaning and default for this parameter depends on the compression program being used.
uk: Необов'язковий параметр C<рівень> керує рівнем стискання. Значення і типові параметри залежать від використаної програми для стискання.

note: type: verbatim
en:  config hvparam hvvalue
uk:  config параметр-г-в значення-г-в

note: type: textblock
en: This can be used to add arbitrary hypervisor parameters of the form I<-param value>.  Actually it’s not quite arbitrary - we prevent you from setting some parameters which would interfere with parameters that we use.
uk: Цією командою можна скористатися для додавання довільних параметрів гіпервізору у формі I<-параметр значення>. Насправді, параметр не є зовсім довільним — ми не даємо вам встановлювати певні параметри, які суперечать параметрам, які ви використовуєте.

note: type: textblock
en: The first character of C<hvparam> string must be a C<-> (dash).
uk: Першим символом рядка C<параметр-г-в> має бути C<-> (дефіс).

note: type: textblock
en: C<hvvalue> can be NULL.
uk: C<hvvalue> може дорівнювати NULL.

note: type: verbatim
en:  copy-attributes src dest [all:true|false] [mode:true|false] [xattributes:true|false] [ownership:true|false]
uk:  copy-attributes джерело призначення [all:true|false] [mode:true|false] [xattributes:true|false] [ownership:true|false]

note: type: textblock
en: Copy the attributes of a path (which can be a file or a directory)  to another path.
uk: Копіювати атрибути шляху (який може вказувати на файл або каталог) до іншого шляху.

note: type: textblock
en: By default B<no> attribute is copied, so make sure to specify any (or C<all> to copy everything).
uk: Типово, атрибут B<не> копіюється, отже, переконайтеся, що щось вказано (або вкажіть C<all>, щоб скопіювати усі).

note: type: textblock
en: The optional arguments specify which attributes can be copied:
uk: Додаткові аргументи вказують, які атрибути має бути скопійовано:

note: type: textblock
en: Copy part of the file mode from C<source> to C<destination>. Only the UNIX permissions and the sticky/setuid/setgid bits can be copied.
uk: Копіювати частину режиму файла з запису C<джерело> до запису C<призначення>. Скопіювати можна лише права доступу UNIX і липкі біти, setuid або setgid.

note: type: textblock
en: Copy the Linux extended attributes (xattrs) from C<source> to C<destination>.  This flag does nothing if the I<linuxxattrs> feature is not available (see L</feature-available>).
uk: Копіювати розширені атрибути Linux (xattrs) з запису C<джерело> до запису C<призначення>. Цей прапорець не виконує ніяких дій, якщо можливість I<linuxxattrs> недоступна (див. L</feature-available>).

note: type: textblock
en: Copy the owner uid and the group gid of C<source> to C<destination>.
uk: Копіювати uid власника і gid групи з запису C<джерело> до запису C<призначення>.

note: type: textblock
en: Copy B<all> the attributes from C<source> to C<destination>. Enabling it enables all the other flags, if they are not specified already.
uk: Копіювати B<усі> атрибути із запису C<джерело> до запису C<призначення>. Вмикання цього прапорця вмикає усі інші прапорці, якщо їх ще не було вказано.

note: type: verbatim
en:  copy-device-to-device src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]
uk:  copy-device-to-device джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]

note: type: textblock
en: The four calls L</copy-device-to-device>, L</copy-device-to-file>, L</copy-file-to-device>, and L</copy-file-to-file> let you copy from a source (device|file) to a destination (device|file).
uk: Чотири команди L</copy-device-to-device>, L</copy-device-to-file>, L</copy-file-to-device> та L</copy-file-to-file> надають вам змогу скопіювати джерело (пристрій або файл) до призначення (пристрою або файла).

note: type: textblock
en: Partial copies can be made since you can specify optionally the source offset, destination offset and size to copy.  These values are all specified in bytes.  If not given, the offsets both default to zero, and the size defaults to copying as much as possible until we hit the end of the source.
uk: Можливе створення часткових копій, оскільки ви можете додатково вказати зміщення у джерелі, зміщення у призначенні і розмір копії. Усі ці значення слід вказувати у байтах. Якщо значення не вказано, обидва зміщення вважатимуться нульовими, а розмір копії вважатиметься якомога більшим, аж доки під час копіювання не буде досягнуто кінця джерела.

note: type: textblock
en: The source and destination may be the same object.  However overlapping regions may not be copied correctly.
uk: Джерело і призначення можуть бути одним і тим самим об'єктом. Втім, області перекриття може бути скопійовано неправильно.

note: type: textblock
en: If the destination is a file, it is created if required.  If the destination file is not large enough, it is extended.
uk: Якщо призначенням є файл, його буде, якщо потрібно, створено. Якщо файл призначення є недостатньо великим, його буде розширено.

note: type: textblock
en: If the destination is a file and the C<append> flag is not set, then the destination file is truncated.  If the C<append> flag is set, then the copy appends to the destination file.  The C<append> flag currently cannot be set for devices.
uk: Якщо призначенням є файл і не встановлено прапорець C<append>, файл призначення буде обрізано. Якщо встановлено прапорець C<append>, копію буде дописано до початкового файла призначення. У поточній версії прапорець C<append> не можна встановлювати для пристроїв.

note: type: textblock
en: If the C<sparse> flag is true then the call avoids writing blocks that contain only zeroes, which can help in some situations where the backing disk is thin-provisioned.  Note that unless the target is already zeroed, using this option will result in incorrect copying.
uk: Якщо значенням прапорця C<sparse> є true, виклик уникатиме запису блоку, які містять лише нулі, що має допомогти у певних ситуаціях, коли резервний диск є обмеженим у ресурсах. Зауважте, що якщо призначення ще не занулено, використання цього параметра призведе до некоректних результатів.

note: type: verbatim
en:  copy-device-to-file src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]
uk:  copy-device-to-file джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]

note: type: textblock
en: See L</copy-device-to-device> for a general overview of this call.
uk: Див. L</copy-device-to-device>, щоб ознайомитися із загальним оглядом цього виклику.

note: type: verbatim
en:  copy-file-to-device src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]
uk:  copy-file-to-device джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]

note: type: verbatim
en:  copy-file-to-file src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]
uk:  copy-file-to-file джерело призначення [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]

note: type: textblock
en: This is B<not> the function you want for copying files.  This is for copying blocks within existing files.  See L</cp>, L</cp-a> and L</mv> for general file copying and moving functions.
uk: Це B<не> функція для копіювання файлів. Цю функцію призначено для копіювання блоків у наявних файлах. Загальними функціями для копіювання та пересування файлів є функції L</cp>, L</cp-a> та L</mv>.

note: type: verbatim
en:  copy-size src dest size
uk:  copy-size джерело призначення розмір

note: type: textblock
en: This command copies exactly C<size> bytes from one source device or file C<src> to another destination device or file C<dest>.
uk: Ця команда копіює точно C<розмір> байтів з одного пристрою або файла джерела C<джерело> до іншого пристрою або файла C<призначення>.

note: type: textblock
en: Note this will fail if the source is too short or if the destination is not large enough.
uk: Зауважте, що команду не вдасться виконати успішно, якщо джерело є надто малим або призначення є недостатньо великим.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</copy-device-to-device> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</copy-device-to-device>.

note: type: verbatim
en:  cp src dest
uk:  cp джерело призначення

note: type: textblock
en: This copies a file from C<src> to C<dest> where C<dest> is either a destination filename or destination directory.
uk: Копіює файл з C<джерело> до C<призначення>, де C<призначення> — або назва файла призначення або назва каталогу призначення.

note: type: verbatim
en:  cp-a src dest
uk:  cp-a джерело призначення

note: type: textblock
en: This copies a file or directory from C<src> to C<dest> recursively using the C<cp -a> command.
uk: Копіює файл або каталог з C<джерела> до C<призначення> рекурсивно з використанням команди C<cp -a>.

note: type: verbatim
en:  cp-r src dest
uk:  cp-r джерело призначення

note: type: textblock
en: This copies a file or directory from C<src> to C<dest> recursively using the C<cp -rP> command.
uk: Копіює файл або каталог з C<джерела> до C<призначення> рекурсивно з використанням команди C<cp -rP>.

note: type: textblock
en: Most users should use L</cp-a> instead.  This command is useful when you don't want to preserve permissions, because the target filesystem does not support it (primarily when writing to DOS FAT filesystems).
uk: Більшості користувачів слід використовувати L</cp-a> замість цієї команди. Ця команда корисна, якщо вам не хочеться зберігати права доступу, оскільки у файловій системі призначення їх не передбачено (в основному при записів до файлових систем FAT DOS).

note: type: verbatim
en:  cpio-out directory (cpiofile|-) [format:..]
uk:  cpio-out каталог (файл cpio|-) [format:..]

note: type: textblock
en: This command packs the contents of F<directory> and downloads it to local file C<cpiofile>.
uk: Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла C<файл cpio>.

note: type: textblock
en: The optional C<format> parameter can be used to select the format.  Only the following formats are currently permitted:
uk: Передбачено додатковий параметр C<format>, яким можна скористатися для вибору формату. У поточній версії передбачено підтримку лише таких форматів:

note: type: textblock
en: New (SVR4) portable format.  This format happens to be compatible with the cpio-like format used by the Linux kernel for initramfs.
uk: Новий портативний формат (SVR4). Цей формат вважається сумісним із cpio-подібним форматом, який використовується ядром Linux для initramfs.

note: type: textblock
en: This is the default format.
uk: Цей формат є типовим.

note: type: textblock
en: New (SVR4) portable format with a checksum.
uk: Новий портативний формат (SVR4) із контрольною сумою.

note: type: verbatim
en:  dd src dest
uk:  dd джерело призначення

note: type: textblock
en: This command copies from one source device or file C<src> to another destination device or file C<dest>.  Normally you would use this to copy to or from a device or partition, for example to duplicate a filesystem.
uk: Ця команда копіює з одного пристрою або файла джерела C<джерело> до іншого пристрою або файла C<призначення>.  Зазвичай, цією командою слід користуватися для копіювання на пристрій чи розділ з пристрою чи розділу, наприклад, для дублювання файлової системи.

note: type: textblock
en: If the destination is a device, it must be as large or larger than the source file or device, otherwise the copy will fail.  This command cannot do partial copies (see L</copy-device-to-device>).
uk: Якщо призначенням є пристрій, він має бути таким самим або більшим за розміром за файл або пристрій джерела, інакше копіювання виконати не вдасться. Ця команда не може виконувати часткове копіювання (див. L</copy-device-to-device>).

note: type: verbatim
en:  device-index device
uk:  device-index пристрій

note: type: textblock
en: This function takes a device name (eg. "/dev/sdb") and returns the index of the device in the list of devices.
uk: Ця функція приймає назву пристрою (наприклад, «/dev/sdb») і повертає індекс пристрою у списку пристроїв.

note: type: textblock
en: Index numbers start from 0.  The named device must exist, for example as a string returned from L</list-devices>.
uk: Нумерація індексів починається з 0. Іменований пристрій має існувати, наприклад, як рядок, повернутий з L</list-devices>.

note: type: textblock
en: See also L</list-devices>, L</part-to-dev>.
uk: Див. також L</list-devices>, L</part-to-dev>.

note: type: textblock
en: This command runs the L<df(1)> command to report disk space used.
uk: Ця команда запускає програму L<df(1)> для отримання даних щодо використаного місця на диску.

note: type: textblock
en: This command is mostly useful for interactive sessions.  It is I<not> intended that you try to parse the output string.  Use L</statvfs> from programs.
uk: Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не> призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. Скористайтеся командою L</statvfs>, якщо віддаєте команди з інших програм.

note: type: textblock
en: This command runs the C<df -h> command to report disk space used in human-readable format.
uk: Ця команда запускає програму C<df -h> для отримання даних щодо використаного місця на диску у зручному для читання форматі.

note: type: verbatim
en:  disk-create filename format size [backingfile:..] [backingformat:..] [preallocation:..] [compat:..] [clustersize:N]
uk:  disk-create назва_файла формат розмір [backingfile:..] [backingformat:..] [preallocation:..] [compat:..] [clustersize:N]

note: type: textblock
en: Create a blank disk image called F<filename> (a host file)  with format C<format> (usually C<raw> or C<qcow2>).  The size is C<size> bytes.
uk: Створити порожній образ диска із назвою F<назва_файла> (файл основної системи) із форматом C<формат> (зазвичай, C<raw> або C<qcow2>). Розмір визначається параметром C<розмір> у байтах.

note: type: textblock
en: If used with the optional C<backingfile> parameter, then a snapshot is created on top of the backing file.  In this case, C<size> must be passed as C<-1>.  The size of the snapshot is the same as the size of the backing file, which is discovered automatically.  You are encouraged to also pass C<backingformat> to describe the format of C<backingfile>.
uk: Якщо команда використовується із необов'язковим параметром C<backingfile>, знімок створюється на основі файла резервної копії. У цьому випадку C<розмір> має бути передано як C<-1>. Розмір знімка є таким самим, як і розмір файла резервної копії, який визначається автоматично. Вам також варто передати C<backingformat> для опису формату C<backingfile>.

note: type: textblock
en: If F<filename> refers to a block device, then the device is formatted.  The C<size> is ignored since block devices have an intrinsic size.
uk: Якщо F<назва_файла> відповідає блоковому пристрою, пристрій буде форматовано. Параметр C<розмір> ігнорується, оскільки блокові пристрої мають незмінний встановлений розмір.

note: type: textblock
en: The other optional parameters are:
uk: Іншими необов’язковими параметрами є:

note: type: textblock
en: If format is C<raw>, then this can be either C<off> (or C<sparse>)  or C<full> to create a sparse or fully allocated file respectively.  The default is C<off>.
uk: Якщо форматом є C<raw>, цей параметр може мати значення C<off> (або C<sparse>) або C<full> для створення розрідженого або повністю розподіленого файла, відповідно. Типовим є значення C<off>.

note: type: textblock
en: If format is C<qcow2>, then this can be C<off> (or C<sparse>), C<metadata> or C<full>.  Preallocating metadata can be faster when doing lots of writes, but uses more space.  The default is C<off>.
uk: Якщо форматом є C<qcow2>, цей параметр може мати значення C<off> (або C<sparse>), C<metadata> або C<full>. Попереднє отримання місця під метадані є швидшим, коли виконується багато записів, але використовує більше місця. Типовим є значення C<off>.

note: type: textblock
en: C<qcow2> only: Pass the string C<1.1> to use the advanced qcow2 format supported by qemu E<ge> 1.1.
uk: Лише C<qcow2>: передайте рядок C<1.1>, щоб скористатися розширеним форматом qcow2, підтримку якого передбачено у qemu E<ge> 1.1.

note: type: textblock
en: C<qcow2> only: Change the qcow2 cluster size.  The default is 65536 (bytes) and this setting may be any power of two between 512 and 2097152.
uk: Лише C<qcow2>: змінити розмір кластера qcow2. Типовим є 65536 (байтів). Встановлювати можна будь-яке значення, яке є степенем двійки від 512 до 2097152.

note: type: textblock
en: Note that this call does not add the new disk to the handle.  You may need to call L</add-drive-opts> separately.
uk: Зауважте, що цей виклик не додає новий диск до дескриптора. Вам доведеться викликати L</add-drive-opts> окремо.

note: type: verbatim
en:  disk-format filename
uk:  disk-format назва файла

note: type: textblock
en: Detect and return the format of the disk image called F<filename>.  F<filename> can also be a host device, etc.  If the format of the image could not be detected, then C<"unknown"> is returned.
uk: Визначити і повернути формат образу диска із назвою F<назва_файла>. Значенням F<назва_файла> може бути також пристрій основної системи. Якщо формат образу диска визначити не вдасться, буде повернуто рядок C<"unknown">.

note: type: textblock
en: Note that detecting the disk format can be insecure under some circumstances.  See L<guestfs(3)/CVE-2010-3851>.
uk: Зауважте, що визначення формату диска може бути небезпечною дією за певних обставин. Див. L<guestfs(3)/CVE-2010-3851>.

note: type: textblock
en: See also: L<guestfs(3)/DISK IMAGE FORMATS>
uk: Див. також: L<guestfs(3)/ФОРМАТИ ОБРАЗІВ ДИСКІВ>

note: type: verbatim
en:  disk-has-backing-file filename
uk:  disk-has-backing-file назва_файла

note: type: textblock
en: Detect and return whether the disk image F<filename> has a backing file.
uk: Визначає і повідомляє, чи є у образу диска F<назва_файла> файл резервної копії.

note: type: textblock
en: Note that detecting disk features can be insecure under some circumstances.  See L<guestfs(3)/CVE-2010-3851>.
uk: Зауважте, що визначення можливостей диска може, за певних обставин, зашкодити захисту системи. Див. L<guestfs(3)/CVE-2010-3851>.

note: type: verbatim
en:  disk-virtual-size filename
uk:  disk-virtual-size назва файла

note: type: textblock
en: Detect and return the virtual size in bytes of the disk image called F<filename>.
uk: Визначає і повідомляє віртуальний розмір у байтах образу диска із назвою F<назва_файла>.

note: type: textblock
en: This returns the kernel messages (L<dmesg(1)> output) from the guest kernel.  This is sometimes useful for extended debugging of problems.
uk: Повертає повідомлення ядра (виведення команди L<dmesg(1)>) гостьової системи. Іноді корисно для розширеної діагностики проблеми.

note: type: textblock
en: Another way to get the same information is to enable verbose messages with L</set-verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> before running the program.
uk: Іншим способом отримання тих самих даних є вмикання докладних повідомлень за допомогою L</set-verbose> або встановленням змінної середовища C<LIBGUESTFS_DEBUG=1> перед запуском програми.

note: type: verbatim
en:  download remotefilename (filename|-)
uk:  download назва_віддаленого_файла (назва_файла|-)

note: type: textblock
en: Download file F<remotefilename> and save it as F<filename> on the local machine.
uk: Отримати файл F<назва_віддаленого_файла> і зберегти його як F<назва_файла> на локальній машині.

note: type: textblock
en: F<filename> can also be a named pipe.
uk: Значенням параметра F<назва_файла> також може бути іменований канал обробки даних.

note: type: textblock
en: See also L</upload>, L</cat>.
uk: Див. також L</upload>, L</cat>.

note: type: verbatim
en:  download-blocks device start stop (filename|-) [unallocated:true|false]
uk:  download-blocks пристрій початок кінець (назва_файла|-) [unallocated:true|false]

note: type: textblock
en: Download the data units from F<start> address to F<stop> from the disk partition (eg. F</dev/sda1>)  and save them as F<filename> on the local machine.
uk: Отримати модулі даних з адреси F<початок> до адреси F<кінець> з розділу диска (наприклад F</dev/sda1>) і зберегти їх до файла F<назва_файла> у локальній машині.

note: type: textblock
en: The use of this API on sparse disk image formats such as QCOW, may result in large zero-filled files downloaded on the host.
uk: Використання цього програмного інтерфейсу на форматах образів розріджених дисків, зокрема QCOW може призвести до великих заповнених нулями файлів, отриманих до основної системи.

note: type: textblock
en: The size of a data unit varies across filesystem implementations.  On NTFS filesystems data units are referred as clusters while on ExtX ones they are referred as fragments.
uk: Розмір модуля даних залежить від реалізації файлової системи. На файлових системах NTFS модулі даних називаються кластерами, а у ExtX вони називаються фрагментами.

note: type: textblock
en: If the optional C<unallocated> flag is true (default is false), only the unallocated blocks will be extracted.  This is useful to detect hidden data or to retrieve deleted files which data units have not been overwritten yet.
uk: Якщо для необов'язкового прапорця C<unallocated> встановлено значення true (типовим значенням є false), буде видобуто лише нерозміщені блоки. Це корисно для виявлення прихованих даних або отримання вилучених файлів, модулі даних яких ще не перезаписано.

note: type: textblock
en: This command depends on the feature C<sleuthkit>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<sleuthkit>. Див. також L</feature-available>.

note: type: verbatim
en:  download-inode device inode (filename|-)
uk:  download-inode пристрій inode (назва_файла|-)

note: type: textblock
en: Download a file given its inode from the disk partition (eg. F</dev/sda1>) and save it as F<filename> on the local machine.
uk: Отримати файл, заданий за допомогою inode, з розділу диска (наприклад F</dev/sda1>) і зберегти його із назвою F<назва_файла> у локальній системі.

note: type: textblock
en: It is not required to mount the disk to run this command.
uk: Для виконання цієї команди диск не обов'язково має бути змонтовано.

note: type: textblock
en: The command is capable of downloading deleted or inaccessible files.
uk: Команда здатна отримувати вилучені файли та файли недоступні системі.

note: type: verbatim
en:  download-offset remotefilename (filename|-) offset size
uk:  download-offset назва_віддаленого_файла (назва_файла|-) відступ розмір

note: type: textblock
en: F<remotefilename> is read for C<size> bytes starting at C<offset> (this region must be within the file or device).
uk: Читання відбувається з файла F<назва_віддаленого_файла>, розмір визначається параметром C<розмір>, читання розпочинається з позиції C<відступ> (вказана область має перебувати у межах файла або пристрою).

note: type: textblock
en: Note that there is no limit on the amount of data that can be downloaded with this call, unlike with L</pread>, and this call always reads the full amount unless an error occurs.
uk: Зауважте, що немає обмеження на обсяг даних, які може бути отримано за допомогою цього виклику, на відміну від команди L</pread>, і цей виклик завжди читає дані до кінця, якщо не станеться помилки.

note: type: textblock
en: See also L</download>, L</pread>.
uk: Див. також L</download>, L</pread>.

note: type: verbatim
en:  drop-caches whattodrop
uk:  drop-caches що_скидати

note: type: textblock
en: This instructs the guest kernel to drop its page cache, and/or dentries and inode caches.  The parameter C<whattodrop> tells the kernel what precisely to drop, see L<https://linux-mm.org/Drop_Caches>
uk: Це наказує ядру гостьової системи скинути кеш сторінок і/або кеші d-записів та inode. Параметр C<що_скидати> вказує ядру, що саме слід скидати, див. L<https://linux-mm.org/Drop_Caches>

note: type: textblock
en: Setting C<whattodrop> to 3 should drop everything.
uk: Встановлення для C<що_скидати> значення 3 призведе до скидання усього.

note: type: textblock
en: This automatically calls L<sync(2)> before the operation, so that the maximum guest memory is freed.
uk: Це автоматично викликає L<sync(2)> перед операцією, отже вивільняє максимальний обсяг пам'яті гостьової системи.

note: type: verbatim
en:  du path
uk:  du шлях

note: type: textblock
en: This command runs the C<du -s> command to estimate file space usage for C<path>.
uk: Ця команда викликає команду C<du -s> для оцінки використання місця на диску для шляху C<шлях>.

note: type: textblock
en: C<path> can be a file or a directory.  If C<path> is a directory then the estimate includes the contents of the directory and all subdirectories (recursively).
uk: C<шлях> може бути адресою файла або каталогу. Якщо C<шлях> є каталогом, оцінка включатиме дані для самого каталогу та усіх його підкаталогів (рекурсивно).

note: type: textblock
en: The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes).
uk: Результатом є оцінка розміру у I<кілобайтах> (тобто у одиницях, які відповідають 1024 байтам).

note: type: verbatim
en:  e2fsck device [correct:true|false] [forceall:true|false]
uk:  e2fsck пристрій [correct:true|false] [forceall:true|false]

note: type: textblock
en: This runs the ext2/ext3 filesystem checker on C<device>.  It can take the following optional arguments:
uk: Ця команда виконує перевірку файлової системи ext2/ext3 на пристрої C<пристрій>. Вона може приймати такі необов'язкові аргументи:

note: type: textblock
en: Automatically repair the file system. This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention.
uk: Автоматично виправляти файлову систему. Використання цього параметра призведе до того, що e2fsck автоматично виправлятиме усі проблеми файлової системи, які може бути безпечно виправлено без втручання людини.

note: type: textblock
en: This option may not be specified at the same time as the C<forceall> option.
uk: Цей параметр не можна використовувати одночасно із параметром C<forceall>.

note: type: textblock
en: Assume an answer of ‘yes’ to all questions; allows e2fsck to be used non-interactively.
uk: Припускати відповідь «так» на усі питання; уможливлює неінтерактивне використання e2fsck.

note: type: textblock
en: This option may not be specified at the same time as the C<correct> option.
uk: Цей параметр не можна використовувати одночасно із параметром C<correct>.

note: type: verbatim
en:  e2fsck-f device
uk:  e2fsck-f пристрій

note: type: textblock
en: This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker on C<device>, noninteractively (I<-p>), even if the filesystem appears to be clean (I<-f>).
uk: Ця команда виконує команду C<e2fsck -p -f пристрій>, тобто запускає засіб перевірки файлової системи ext2/ext3 для пристрою C<пристрій> у неінтерактивному режимі (I<-p>), навіть якщо файлову систему позначено як безпомилкову (I<-f>).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</e2fsck> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</e2fsck>.

note: type: verbatim
en:  echo-daemon 'words ...'
uk:  echo-daemon 'слова ...'

note: type: textblock
en: This command concatenates the list of C<words> passed with single spaces between them and returns the resulting string.
uk: Ця команда з'єднує список слів C<слова>, у якому окремі слова розділено пробілами, і повертає рядок-результат.

note: type: textblock
en: You can use this command to test the connection through to the daemon.
uk: Ви можете скористатися цією командою для перевірки з'єднання із фоновою службою.

note: type: textblock
en: See also L</ping-daemon>.
uk: Див. також L</ping-daemon>.

note: type: verbatim
en:  egrep regex path
uk:  egrep формальний_вираз шлях

note: type: textblock
en: This calls the external L<egrep(1)> program and returns the matching lines.
uk: Викликає зовнішню програму L<egrep(1)> і повертає рядки-відповідники.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</grep> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</grep>.

note: type: verbatim
en:  egrepi regex path
uk:  egrepi формальний_вираз шлях

note: type: textblock
en: This calls the external C<egrep -i> program and returns the matching lines.
uk: Викликає зовнішню програму C<egrep -i> і повертає рядки-відповідники.

note: type: verbatim
en:  equal file1 file2
uk:  equal файл1 файл2

note: type: textblock
en: This compares the two files F<file1> and F<file2> and returns true if their content is exactly equal, or false otherwise.
uk: Порівнює два файли, F<файл1> і F<файл2> і повертає true, якщо їхній вміст повністю ідентичний; якщо це не так, повертає false.

note: type: textblock
en: The external L<cmp(1)> program is used for the comparison.
uk: Для порівнювання використовується зовнішня програма L<cmp(1)>.

note: type: verbatim
en:  exists path
uk:  exists шлях

note: type: textblock
en: This returns C<true> if and only if there is a file, directory (or anything) with the given C<path> name.
uk: Ця команда повертає C<true> тоді і лише тоді, коли існує файл, каталог (або будь-який інший об'єкт файлової системи) із вказаною назвою C<шлях>.

note: type: textblock
en: See also L</is-file>, L</is-dir>, L</stat>.
uk: Див. також L</is-file>, L</is-dir>, L</stat>.

note: type: verbatim
en:  extlinux directory
uk:  extlinux каталог

note: type: textblock
en: Install the SYSLINUX bootloader on the device mounted at F<directory>.  Unlike L</syslinux> which requires a FAT filesystem, this can be used on an ext2/3/4 or btrfs filesystem.
uk: Встановлює завантажувач SYSLINUX на пристрій, змонтований до каталогу F<каталог>. На відміну від команди L</syslinux>, якій потрібна файлова система FAT, ця команда може бути використана для файлових систем ext2/3/4 та btrfs.

note: type: textblock
en: The F<directory> parameter can be either a mountpoint, or a directory within the mountpoint.
uk: Параметр F<каталог> може бути точкою монтування або каталогом у точці монтування.

note: type: textblock
en: You also have to mark the partition as "active" (L</part-set-bootable>) and a Master Boot Record must be installed (eg. using L</pwrite-device>) on the first sector of the whole disk.  The SYSLINUX package comes with some suitable Master Boot Records.  See the L<extlinux(1)> man page for further information.
uk: Крім того, вам слід позначити розділ як «активний» (L</part-set-bootable>), і на першому секторі усього диска має бути встановлено MBR (наприклад, за допомогою L</pwrite-device>). До складу пакунка SYSLINUX включено деякі з відповідних MBR. Щоб дізнатися більше, див. сторінку підручника L<extlinux(1)>.

note: type: textblock
en: Additional configuration can be supplied to SYSLINUX by placing a file called F<extlinux.conf> on the filesystem under F<directory>.  For further information about the contents of this file, see L<extlinux(1)>.
uk: Додатково налаштувати SYSLINUX можна за допомогою файла із назвою F<extlinux.conf> у каталозі файлової системи F<каталог>. Докладніше про це та вміст файла можна дізнатися зі сторінки підручника L<extlinux(1)>.

note: type: textblock
en: See also L</syslinux>.
uk: Див. також L</syslinux>.

note: type: textblock
en: This command depends on the feature C<extlinux>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<extlinux>. Див. також L</feature-available>.

note: type: verbatim
en:  f2fs-expand device
uk:  f2fs-expand пристрій

note: type: textblock
en: This expands a f2fs filesystem to match the size of the underlying device.
uk: Розгортає файлову систему f2fs, щоб її розмір збігався із розміром базового пристрою.

note: type: textblock
en: This command depends on the feature C<f2fs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<f2fs>. Див. також L</feature-available>.

note: type: verbatim
en:  fallocate path len
uk:  fallocate шлях довжина

note: type: textblock
en: This command preallocates a file (containing zero bytes) named C<path> of size C<len> bytes.  If the file exists already, it is overwritten.
uk: Ця команда отримує місце для файла (заповнене нульовими байтами) із назвою C<шлях> і розміром C<довжина> байтів. Якщо файл вже існує, його буде перезаписано.

note: type: textblock
en: Do not confuse this with the guestfish-specific C<alloc> command which allocates a file in the host and attaches it as a device.
uk: Не слід плутати цю команду із специфічною для guestfish командою C<alloc>, яка отримує місце для файла у основній системі і долучає його як пристрій.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</fallocate64> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</fallocate64>.

note: type: verbatim
en:  fallocate64 path len
uk:  fallocate64 шлях довжина

note: type: textblock
en: Note that this call allocates disk blocks for the file.  To create a sparse file use L</truncate-size> instead.
uk: Зауважте, що ця команда отримує блоки на диску для файла. Щоб створити розріджений файл, скористайтеся L</truncate-size>.

note: type: textblock
en: The deprecated call L</fallocate> does the same, but owing to an oversight it only allowed 30 bit lengths to be specified, effectively limiting the maximum size of files created through that call to 1GB.
uk: Застаріла команда L</fallocate> виконує те саме завдання, але через недогляд функція надає змогу використовувати лише 30-бітові довжини, що обмежує максимальний можливий розмір створених за допомогою цієї команди файлів 1 ГБ.

note: type: textblock
en: Do not confuse this with the guestfish-specific C<alloc> and C<sparse> commands which create a file in the host and attach it as a device.
uk: Не слід плутати цю команду із специфічними для guestfish командами C<alloc> та C<sparse>, які створюють файл у основній системі і долучають його як пристрій.

note: type: verbatim
en:  feature-available 'groups ...'
uk:  feature-available 'групи ...'

note: type: textblock
en: This is the same as L</available>, but unlike that call it returns a simple true/false boolean result, instead of throwing an exception if a feature is not found.  For other documentation see L</available>.
uk: Те саме, що і L</available>, але повертає простий результат у булевій формі true або false замість виклику виключення, якщо можливості не буде виявлено. Із іншими аспектами документації можна ознайомитися у розділі L</available>.

note: type: verbatim
en:  fgrep pattern path
uk:  fgrep шаблон шлях

note: type: textblock
en: This calls the external L<fgrep(1)> program and returns the matching lines.
uk: Викликає зовнішню програму L<fgrep(1)> і повертає рядки-відповідники.

note: type: verbatim
en:  fgrepi pattern path
uk:  fgrepi шаблон шлях

note: type: textblock
en: This calls the external C<fgrep -i> program and returns the matching lines.
uk: Викликає зовнішню програму C<fgrep -i> і повертає рядки-відповідники.

note: type: =head2
en: file
uk: файл

note: type: verbatim
en:  file path
uk:  file шлях

note: type: textblock
en: This call uses the standard L<file(1)> command to determine the type or contents of the file.
uk: Для визначення типу або вмісту файла використовується стандартна програма L<file(1)>.

note: type: textblock
en: This call will also transparently look inside various types of compressed file.
uk: Цей виклик також прозоро обробляє різні типи стиснутих файлів.

note: type: textblock
en: The exact command which runs is C<file -zb path>.  Note in particular that the filename is not prepended to the output (the I<-b> option).
uk: Команда, яку буде виконано, — це C<file -zb шлях>. Зокрема, слід зауважити, що до виведених даних не буде додано назву файла (параметр I<-b>).

note: type: textblock
en: The output depends on the output of the underlying L<file(1)> command and it can change in future in ways beyond our control.  In other words, the output is not guaranteed by the ABI.
uk: Виведені дані залежать від того, що виведе підлегла команда L<file(1)>, їх може бути змінено у майбутньому у спосіб, який залишається поза нашим контролем. Іншими словами, ABI щодо виведених даних не гарантовано.

note: type: textblock
en: See also: L<file(1)>, L</vfs-type>, L</lstat>, L</is-file>, L</is-blockdev> (etc), L</is-zero>.
uk: Див. також L<file(1)>, L</vfs-type>, L</lstat>, L</is-file>, L</is-blockdev> (тощо), L</is-zero>.

note: type: verbatim
en:  file-architecture filename
uk:  file-architecture назва_файла

note: type: textblock
en: This detects the architecture of the binary F<filename>, and returns it if known.
uk: Визначає архітектуру виконуваного файла F<назва_файла> і повертає її значення, якщо воно визначене у програмі.

note: type: textblock
en: Currently defined architectures are:
uk: Архітектурами, визначеними у поточній версії є:

note: type: textblock
en: 64 bit ARM.
uk: 64-бітовий ARM.

note: type: textblock
en: 32 bit ARM.
uk: 32-бітовий ARM.

note: type: textblock
en: This string is returned for all 32 bit i386, i486, i586, i686 binaries irrespective of the precise processor requirements of the binary.
uk: Цей рядок буде повернуто для всіх виконуваних файлів для 32-бітових процесорів i386, i486, i586, i686, незалежно від точного значення версії процесора, визначеного для виконуваного файла.

note: type: textblock
en: 32 bit Power PC.
uk: 32-бітовий Power PC.

note: type: textblock
en: 64 bit Power PC (big endian).
uk: 64-бітовий Power PC (зворотний порядок байтів).

note: type: textblock
en: 64 bit Power PC (little endian).
uk: 64-бітовий Power PC (прямий порядок байтів).

note: type: textblock
en: RISC-V 32-, 64- or 128-bit variants.
uk: 32-, 64- і 128- бітові різновиди RISC-V.

note: type: textblock
en: 31 bit IBM S/390.
uk: 31-бітовий IBM S/390.

note: type: textblock
en: 64 bit IBM S/390.
uk: 64-бітовий IBM S/390.

note: type: textblock
en: 32 bit SPARC.
uk: 32-бітовий SPARC.

note: type: textblock
en: 64 bit SPARC V9 and above.
uk: 64-бітовий SPARC V9 або новіша версія.

note: type: textblock
en: 64 bit x86-64.
uk: 64-бітовий x86-64.

note: type: textblock
en: Libguestfs may return other architecture strings in future.
uk: У майбутніх версіях Libguestfs може повертати і інші рядки назв архітектур.

note: type: textblock
en: The function works on at least the following types of files:
uk: Функція працює принаймні для таких типів файлів:

note: type: textblock
en: many types of Un*x and Linux binary
uk: багатьох типів виконуваних файлів Un*x та Linux

note: type: textblock
en: many types of Un*x and Linux shared library
uk: багатьох типів бібліотек спільного використання Un*x та Linux

note: type: textblock
en: Windows Win32 and Win64 binaries
uk: виконуваних файлів Windows Win32 та Win64

note: type: textblock
en: Windows Win32 and Win64 DLLs
uk: DLL Windows Win32 і Win64

note: type: textblock
en: Win32 binaries and DLLs return C<i386>.
uk: виконувані файли та DLL Win32 повертають C<i386>.

note: type: textblock
en: Win64 binaries and DLLs return C<x86_64>.
uk: виконувані файли та DLL Win64 повертають C<x86_64>.

note: type: textblock
en: Linux kernel modules
uk: модулів ядра Linux

note: type: textblock
en: Linux new-style initrd images
uk: образів нового стилю initrd Linux

note: type: textblock
en: some non-x86 Linux vmlinuz kernels
uk: деяких ядер vmlinuz Linux для архітектур, відмінних від x86

note: type: textblock
en: What it can't do currently:
uk: Що не можна зробити у поточній версії:

note: type: textblock
en: static libraries (libfoo.a)
uk: статичні бібліотеки (libfoo.a)

note: type: textblock
en: Linux old-style initrd as compressed ext2 filesystem (RHEL 3)
uk: initrd Linux у старому стилі, зі стиснутою файловою системою ext2 (RHEL 3)

note: type: textblock
en: x86 Linux vmlinuz kernels
uk: ядра vmlinuz Linux x86

note: type: textblock
en: x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and compressed code, and are horribly hard to unpack.  If you want to find the architecture of a kernel, use the architecture of the associated initrd or kernel module(s) instead.
uk: Образи vmlinuz архітектури x86 (формат bzImage) складаються із суміші 16-бітового, 32-бітового і стисненого коду. Їх дуже важко розпаковувати. Якщо ви хочете визначити архітектуру ядра, скористайтеся архітектурою пов'язаного initrd або модулів ядра.

note: type: verbatim
en:  filesize file
uk:  filesize файл

note: type: textblock
en: This command returns the size of F<file> in bytes.
uk: Ця команда повертає розмір файла F<файл> у байтах.

note: type: textblock
en: To get other stats about a file, use L</stat>, L</lstat>, L</is-dir>, L</is-file> etc.  To get the size of block devices, use L</blockdev-getsize64>.
uk: Щоб отримати інші статистичні дані щодо файла, скористайтеся L</stat>, L</lstat>, L</is-dir>, L</is-file> тощо. Щоб отримати розмір блокового пристрою, скористайтеся L</blockdev-getsize64>.

note: type: verbatim
en:  filesystem-available filesystem
uk:  filesystem-available файлова_система

note: type: textblock
en: Check whether libguestfs supports the named filesystem.  The argument C<filesystem> is a filesystem name, such as C<ext3>.
uk: Перевірити, чи передбачено у libguestfs підтримку вказаної за назвою файлової системи. Аргумент C<файлова_система> є назвою файлової системи, наприклад, C<ext3>.

note: type: textblock
en: You must call L</launch> before using this command.
uk: Перед використанням цієї команди вам слід викликати C</launch>.

note: type: textblock
en: This is mainly useful as a negative test.  If this returns true, it doesn't mean that a particular filesystem can be created or mounted, since filesystems can fail for other reasons such as it being a later version of the filesystem, or having incompatible features, or lacking the right mkfs.E<lt>I<fs>E<gt> tool.
uk: Головним чином корисне для перевірки того, що підтримки не передбачено. Те, що команда повертає true, ще не означає, що певну файлову систему може бути створено чи змонтовано, оскільки помилки можуть траплятися через інші причини, зокрема невідповідність версії файлової системи, несумісність можливостей або недоступність належного засобу mkfs.E<lt>I<файлова_система>E<gt>.

note: type: textblock
en: See also L</available>, L</feature-available>, L<guestfs(3)/AVAILABILITY>.
uk: Див. також L</available>, L</feature-available>, L<guestfs(3)/AVAILABILITY>.

note: type: verbatim
en:  filesystem-walk device
uk:  filesystem-walk пристрій

note: type: textblock
en: Walk through the internal structures of a disk partition (eg. F</dev/sda1>) in order to return a list of all the files and directories stored within.
uk: Пройтися внутрішньою структурою розділу диска (наприклад F</dev/sda1>) з метою визначення і повернення списку усіх файлів та каталогів, які на ньому зберігаються.

note: type: textblock
en: It is not necessary to mount the disk partition to run this command.
uk: Для виконання цієї команди монтування розділу диска не є обов'язковим.

note: type: textblock
en: All entries in the filesystem are returned. This function can list deleted or unaccessible files. The entries are I<not> sorted.
uk: Буде повернуто усі записи у файловій системі. Ця функція може виводити список вилучених або недоступних файлів. Записи I<не> упорядковуються.

note: type: textblock
en: The C<tsk_dirent> structure contains the following fields.
uk: Структура C<tsk_dirent> містить вказані нижче поля.

note: type: textblock
en: Filesystem reference number of the node. It might be C<0> if the node has been deleted.
uk: Номер вузла у файловій системі. Може дорівнювати C<0>, якщо вузол було вилучено.

note: type: textblock
en: Basic file type information.  See below for a detailed list of values.
uk: Базові дані щодо типу файлів. Докладний список значень наведено нижче.

note: type: textblock
en: File size in bytes. It might be C<-1> if the node has been deleted.
uk: Розмір файла у байтах. Може мати значення C<-1>, якщо вузол файла було вилучено.

note: type: textblock
en: The file path relative to its directory.
uk: Шлях до файла відносно його каталогу.

note: type: textblock
en: Bitfield containing extra information regarding the entry.  It contains the logical OR of the following values:
uk: Бітове поле, яке містить додаткові дані щодо запису. Є результатом застосування логічного АБО до таких значень:

note: type: textblock
en: If set to C<1>, the file is allocated and visible within the filesystem.  Otherwise, the file has been deleted.  Under certain circumstances, the function C<download_inode> can be used to recover deleted files.
uk: Якщо встановлено значення C<1>, файл розміщено у файловій системі, і файл є видимим. Якщо ні, файл було вилучено. За певних обставин функцією C<download_inode> можна скористатися для відновлення вилучених файлів.

note: type: textblock
en: Filesystem such as NTFS and Ext2 or greater, separate the file name from the metadata structure.  The bit is set to C<1> when the file name is in an unallocated state and the metadata structure is in an allocated one.  This generally implies the metadata has been reallocated to a new file.  Therefore, information such as file type, file size, timestamps, number of links and symlink target might not correspond with the ones of the original deleted entry.
uk: У деяких файлових системах, зокрема NTFS та Ext2 і новіших, назву файла відокремлено від структури метаданих. Цей біт встановлюється у значення C<1>, якщо назва файла перебуває у нерозміщеному стані, а структура даних — у розміщеному. Це, загалом кажучи, неявно вказує на те, що метадані було повторно використано для нового файла. Тому дані щодо типу файла, розміру файла, часових позначок, кількості посилань та призначення символічного посилання можуть не відповідати даним початкового вилученого запису.

note: type: textblock
en: The bit is set to C<1> when the file is compressed using filesystem native compression support (NTFS). The API is not able to detect application level compression.
uk: Цей біт встановлюється у значення C<1>, якщо файл було стиснуто з використанням вбудованої підтримки стискання у файловій системі (NTFS). Програмний інтерфейс не може визначити застосований рівень стискання.

note: type: textblock
en: Respectively, access, modification, last status change and creation time in Unix format in seconds and nanoseconds.
uk: Час доступу, внесення змін, останньої зміни стану та часу створення, відповідно, у форматі Unix, визначений у секундах і наносекундах.

note: type: textblock
en: Number of file names pointing to this entry.
uk: Кількість назв файлів, які вказують на цей запис.

note: type: textblock
en: If the entry is a symbolic link, this field will contain the path to the target file.
uk: Якщо записом є символічне посилання, у цьому полі міститиметься шлях до файла призначення.

note: type: textblock
en: The C<tsk_type> field will contain one of the following characters:
uk: Поле C<tsk_type> міститиме один із таких символів:

note: type: textblock
en: Block special
uk: Блоковий особливий

note: type: textblock
en: Char special
uk: Символьний особливий

note: type: textblock
en: Directory
uk: Каталог

note: type: textblock
en: FIFO (named pipe)
uk: FIFO (іменований канал)

note: type: textblock
en: Symbolic link
uk: Символічне посилання

note: type: textblock
en: Regular file
uk: Звичайний файл

note: type: textblock
en: Socket
uk: Сокет

note: type: textblock
en: Shadow inode (Solaris)
uk: Тіньовий inode (Solaris)

note: type: textblock
en: Whiteout inode (BSD)
uk: Витерти inode (BSD)

note: type: textblock
en: Unknown file type
uk: Невідомий тип файла

note: type: textblock
en: This command depends on the feature C<libtsk>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<libtsk>. Див. також L</feature-available>.

note: type: verbatim
en:  fill c len path
uk:  fill c кількість шлях

note: type: textblock
en: This command creates a new file called C<path>.  The initial content of the file is C<len> octets of C<c>, where C<c> must be a number in the range C<[0..255]>.
uk: Ця команда створює новий файл із назвою C<шлях>. Спочатку файл буде заповнено вісімковими значеннями до довжини C<кількість>. Вісімкове значення задається параметром C<c>, де C<c> має бути числом у діапазоні C<[0..255]>.

note: type: textblock
en: To fill a file with zero bytes (sparsely), it is much more efficient to use L</truncate-size>.  To create a file with a pattern of repeating bytes use L</fill-pattern>.
uk: Для заповнення файла нульовими байтами (розріджено) набагато ефективнішим є використання L</truncate-size>. Для створення файла, заповненого повторюваними вказаними послідовностями байтів, скористайтеся командою L</fill-pattern>.

note: type: verbatim
en:  fill-dir dir nr
uk:  fill-dir каталог число

note: type: textblock
en: This function, useful for testing filesystems, creates C<nr> empty files in the directory C<dir> with names C<00000000> through C<nr-1> (ie. each file name is 8 digits long padded with zeroes).
uk: Ця корисна для тестування файлових систем функція створює C<число> порожніх файлів у каталозі C<каталог> із назвами від C<00000000> до C<число-1> (тобто кожна назва файла складається з 8 цифр, які доповнено нулями).

note: type: verbatim
en:  fill-pattern pattern len path
uk:  fill-pattern взірець кількість шлях

note: type: textblock
en: This function is like L</fill> except that it creates a new file of length C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern is truncated if necessary to ensure the length of the file is exactly C<len> bytes.
uk: Ця функція подібна до L</fill>, але створює файл довжини C<кількість>, заповнений повторюваними наборами байтів C<взірець>. Якщо потрібно, взірець буде обрізано так, щоб довжина файла складала точно C<кількість> байтів.

note: type: verbatim
en:  find directory
uk:  find каталог

note: type: textblock
en: This command lists out all files and directories, recursively, starting at F<directory>.  It is essentially equivalent to running the shell command C<find directory -print> but some post-processing happens on the output, described below.
uk: Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з каталогу F<каталог>. В основному, еквівалентна команді оболонки C<find каталог -print>, але виведені дані буде дещо оброблено. Опис обробки наведено нижче.

note: type: textblock
en: This returns a list of strings I<without any prefix>.  Thus if the directory structure was:
uk: Ця команда повертає список рядків I<без будь-якого префікса>. Отже, якщо структура каталогів є такою:

note: type: textblock
en: then the returned list from L</find> F</tmp> would be 4 elements:
uk: повернутий L</find> F</tmp> список складатиметься з 4 елементів:

note: type: textblock
en: If F<directory> is not a directory, then this command returns an error.
uk: Якщо F<каталог> не є каталогом, ця команда повертає помилку.

note: type: textblock
en: The returned list is sorted.
uk: Список результатів буде впорядковано.

note: type: verbatim
en:  find0 directory (files|-)
uk:  find0 каталог (файли|-)

note: type: textblock
en: This command lists out all files and directories, recursively, starting at F<directory>, placing the resulting list in the external file called F<files>.
uk: Ця команда виводить список усіх файлів і каталогів, рекурсивно, починаючи з каталогу F<каталог>, записуючи отриманий список до зовнішнього файла із назвою F<файли>.

note: type: textblock
en: This command works the same way as L</find> with the following exceptions:
uk: Ця команда працює так само, як L</find>, за такими виключеннями:

note: type: textblock
en: The resulting list is written to an external file.
uk: Список результат записується до зовнішнього файла.

note: type: textblock
en: Items (filenames) in the result are separated by C<\0> characters.  See L<find(1)> option I<-print0>.
uk: Записи (назви файлів) у результаті буде відокремлено символами C<\0>. Див. параметр L<find(1)> I<-print0>.

note: type: textblock
en: The result list is not sorted.
uk: Список результатів не буде впорядковано.

note: type: verbatim
en:  find-inode device inode
uk:  find-inode пристрій inode

note: type: textblock
en: Searches all the entries associated with the given inode.
uk: Шукає усі записи, пов'язані із заданим inode.

note: type: textblock
en: For each entry, a C<tsk_dirent> structure is returned.  See C<filesystem_walk> for more information about C<tsk_dirent> structures.
uk: Для кожного запису буде повернуто структуру C<tsk_dirent>. Див. C<filesystem_walk>, щоб дізнатися більше про структури C<tsk_dirent>.

note: type: verbatim
en:  findfs-label label
uk:  findfs-label мітка

note: type: textblock
en: This command searches the filesystems and returns the one which has the given label.  An error is returned if no such filesystem can be found.
uk: Ця команда виконує пошук у файлових системах і повертає ту з них, яка має вказану мітку. Якщо таких систем не буде знайдено, буде повернуто повідомлення про помилку.

note: type: textblock
en: To find the label of a filesystem, use L</vfs-label>.
uk: Для визначення мітки файлової системи скористайтеся L</vfs-label>.

note: type: textblock
en: This command searches the filesystems and returns the one which has the given UUID.  An error is returned if no such filesystem can be found.
uk: Ця команда виконує пошук у файлових системах і повертає ту з них, яка має вказаний UUID. Якщо таких систем не буде знайдено, буде повернуто повідомлення про помилку.

note: type: textblock
en: To find the UUID of a filesystem, use L</vfs-uuid>.
uk: Для визначення UUID файлової системи скористайтеся L</vfs-uuid>.

note: type: verbatim
en:  fsck fstype device
uk:  fsck тип_файлової_системи пристрій

note: type: textblock
en: This runs the filesystem checker (fsck) on C<device> which should have filesystem type C<fstype>.
uk: Виконує перевірку файлової системи (fsck) на пристрої C<пристрій>, де дані зберігаються у файловій системі типу C<тип_файлової_системи>.

note: type: textblock
en: The returned integer is the status.  See L<fsck(8)> for the list of status codes from C<fsck>.
uk: Повернуте ціле число є станом. Зі списком кодів стану C<fsck> можна ознайомитися у документації до L<fsck(8)>.

note: type: textblock
en: Multiple status codes can be summed together.
uk: Якщо кодів стану декілька, виводиться їхня сума.

note: type: textblock
en: A non-zero return code can mean "success", for example if errors have been corrected on the filesystem.
uk: Ненульовий повернутий код може означати «успіх», наприклад, якщо помилки у файловій системі було виправлено.

note: type: textblock
en: Checking or repairing NTFS volumes is not supported (by linux-ntfs).
uk: Підтримки перевірки або відновлення томів NTFS не передбачено (у linux-ntfs).

note: type: textblock
en: This command is entirely equivalent to running C<fsck -a -t fstype device>.
uk: Ця команда повністю еквівалентна запуску C<fsck -a -t тип_файлової_системи пристрій>.

note: type: verbatim
en:  fstrim mountpoint [offset:N] [length:N] [minimumfreeextent:N]
uk:  fstrim точка_монтування [offset:N] [length:N] [minimumfreeextent:N]

note: type: textblock
en: Trim the free space in the filesystem mounted on C<mountpoint>.  The filesystem must be mounted read-write.
uk: Обрізати вільне місце на файловій системі, змонтованій до точки монтування C<точка_монтування>. Файлову систему має бути змонтовано для читання і запису.

note: type: textblock
en: The filesystem contents are not affected, but any free space in the filesystem is "trimmed", that is, given back to the host device, thus making disk images more sparse, allowing unused space in qcow2 files to be reused, etc.
uk: Вміст файлової системи змінено не буде, але усе вільне місце на ній буде «обрізано», тобто, якщо розглядати пристрій основної системи, повернуто до пристрою, що зробить образ диска розрідженішим і уможливить повторне використання невикористаного простору у файлах qcow2 тощо.

note: type: textblock
en: This operation requires support in libguestfs, the mounted filesystem, the host filesystem, qemu and the host kernel.  If this support isn't present it may give an error or even appear to run but do nothing.
uk: Ця операція потребує підтримки у libguestfs, змонтованій файловій системі, файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція призведе до помилки або навіть виконуватиметься.

note: type: textblock
en: In the case where the kernel vfs driver does not support trimming, this call will fail with errno set to C<ENOTSUP>.  Currently this happens when trying to trim FAT filesystems.
uk: Якщо у драйвері віртуальної файлової системи ядра не передбачено обрізання, цей виклик завершиться повідомленням про помилку із номером помилки C<ENOTSUP>. У поточній версії таке трапляється під час спроб обрізання файлових систем FAT.

note: type: textblock
en: See also L</zero-free-space>.  That is a slightly different operation that turns free space in the filesystem into zeroes.  It is valid to call L</fstrim> either instead of, or after calling L</zero-free-space>.
uk: Див. також L</zero-free-space>. Це дещо інша операція, яка занулює вільне місце у файловій системі. Ви можете викликати L</fstrim> замість команди або після команди L</zero-free-space>.

note: type: textblock
en: This command depends on the feature C<fstrim>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<fstrim>. Див. також L</feature-available>.

note: type: textblock
en: Return the additional kernel options which are added to the libguestfs appliance kernel command line.
uk: Повертає додаткові параметри ядра, які було додано до командного рядка ядра базової системи libguestfs.

note: type: textblock
en: If C<NULL> then no options are added.
uk: Якщо повернуто C<NULL>, до командного рядка не додавалося параметрів.

note: type: textblock
en: Return the current backend.
uk: Повертає назву поточного модуля.

note: type: textblock
en: See L</set-backend> and L<guestfs(3)/BACKEND>.
uk: Див. L</set-backend> та L<guestfs(3)/МОДУЛЬ>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</get-backend> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</get-backend>.

note: type: textblock
en: Get the autosync flag.
uk: Отримати значення прапорця автоматичної синхронізації.

note: type: textblock
en: This handle property was previously called the "attach method".
uk: Ця властивість дескриптора раніше називалася «метод долучення».

note: type: verbatim
en:  get-backend-setting name
uk:  get-backend-setting назва

note: type: textblock
en: Find a backend setting string which is either C<"name"> or begins with C<"name=">.  If C<"name">, this returns the string C<"1">.  If C<"name=">, this returns the part after the equals sign (which may be an empty string).
uk: Знайти рядок параметрів модуля обробки, який або дорівнює C<"назва">, або починається із запису C<"назва=">. Якщо знайдено рядок C<"назва">, буде повернуто рядок C<"1">. Якщо знайдено рядок C<"назва=">, буде повернуто частину рядка після знаку рівності (може бути повернуто порожній рядок).

note: type: textblock
en: If no such setting is found, this function throws an error.  The errno (see L</last-errno>) will be C<ESRCH> in this case.
uk: Якщо відповідного параметра не знайдено, ця функція повертає повідомлення про помилку. У такому випадку для номера помилки (див. L</last-errno>) буде встановлено значення C<ESRCH>.

note: type: textblock
en: Return the current backend settings.
uk: Повертає поточні параметри модуля.

note: type: textblock
en: This call returns all backend settings strings.  If you want to find a single backend setting, see L</get-backend-setting>.
uk: Цей виклик повертає рядки параметрів усіх модулів. Якщо вам потрібен лише один параметр модуля, скористайтеся  командою L</get-backend-setting>.

note: type: textblock
en: Get the directory used by the handle to store the appliance cache.
uk: Отримати назву каталогу, який використовується дескриптором для зберігання кешу базової системи.

note: type: textblock
en: Return the direct appliance mode flag.
uk: Повертає значення прапорця безпосередньої роботи із базовою системою.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</internal-get-console-socket> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</internal-get-console-socket>.

note: type: verbatim
en:  get-e2attrs file
uk:  get-e2attrs файл

note: type: textblock
en: This returns the file attributes associated with F<file>.
uk: Ця команда повертає атрибути файла, пов'язані із назвою F<файл>.

note: type: textblock
en: The attributes are a set of bits associated with each inode which affect the behaviour of the file.  The attributes are returned as a string of letters (described below).  The string may be empty, indicating that no file attributes are set for this file.
uk: Атрибути є пов'язаним зі кожним записом inode набором бітів, який впливає на поведінку файла. Атрибути повертаються як рядок літер (описано нижче). Рядок може бути порожнім, що означає, що ніяких атрибутів для файла не встановлено.

note: type: textblock
en: These attributes are only present when the file is located on an ext2/3/4 filesystem.  Using this call on other filesystem types will result in an error.
uk: Ці атрибути є, лише якщо файл зберігається у файловій системі ext2/3/4. Використання цієї команди для інших типів файлових систем призведе до помилки.

note: type: textblock
en: The characters (file attributes) in the returned string are currently:
uk: У поточній версії передбачено такі повернуті символи (атрибути файла):

note: type: textblock
en: When the file is accessed, its atime is not modified.
uk: Під час доступу до файла його atime не змінюється.

note: type: textblock
en: The file is append-only.
uk: До файла можна лише дописувати дані.

note: type: textblock
en: The file is compressed on-disk.
uk: Файл стиснено на диску.

note: type: textblock
en: (Directories only.)  Changes to this directory are written synchronously to disk.
uk: (Лише для каталогів.) Зміни до цього каталогу синхронно записуються на диск.

note: type: textblock
en: The file is not a candidate for backup (see L<dump(8)>).
uk: Файл не є кандидатом на резервне копіювання (див. L<dump(8)>).

note: type: textblock
en: The file has compression errors.
uk: Файл стиснуто з помилками.

note: type: textblock
en: The file is using extents.
uk: Файл використовує розширення.

note: type: textblock
en: The file is storing its blocks in units of the filesystem blocksize instead of sectors.
uk: Файл зберігає свої блоки у одиницях розміру блоків файлової системи замість секторів.

note: type: textblock
en: (Directories only.)  The directory is using hashed trees.
uk: (Лише каталоги.) У каталозі використовуються хешовані дерева ієрархії.

note: type: textblock
en: The file is immutable.  It cannot be modified, deleted or renamed.  No link can be created to this file.
uk: Цей файл є незмінним. До нього не можна вносити зміни, його не можна вилучати або перейменовувати. На цей файл не можна створювати посилання.

note: type: textblock
en: The file is data-journaled.
uk: Файл входить до журналу даних.

note: type: textblock
en: When the file is deleted, all its blocks will be zeroed.
uk: Після вилучення файла усі його блоки буде перезаписано нулями.

note: type: textblock
en: Changes to this file are written synchronously to disk.
uk: Зміни до цього файла синхронно записуються на диск.

note: type: textblock
en: (Directories only.)  This is a hint to the block allocator that subdirectories contained in this directory should be spread across blocks.  If not present, the block allocator will try to group subdirectories together.
uk: (Лише каталоги.) Це підказка засобу розміщення у блоках щодо того, що підкаталоги, які містяться у цьому каталозі слід розподілити між блоками. Якщо немає, засіб розподілу за блоками спробує згрупувати підкаталоги.

note: type: textblock
en: For a file, this disables tail-merging.  (Not used by upstream implementations of ext2.)
uk: Для файлів вимикає об'єднання «хвостів». (Не використовується у основних реалізаціях ext2.)

note: type: textblock
en: When the file is deleted, its blocks will be saved, allowing the file to be undeleted.
uk: Коли файл вилучається, його блоки буде збережено, уможливлюючи відновлення вилученого файла.

note: type: textblock
en: The raw contents of the compressed file may be accessed.
uk: Можна отримувати доступ до необробленого вмісту стисненого файла.

note: type: textblock
en: The compressed file is dirty.
uk: Для стисненого файла встановлено прапорець незавершеної зміни.

note: type: textblock
en: More file attributes may be added to this list later.  Not all file attributes may be set for all kinds of files.  For detailed information, consult the L<chattr(1)> man page.
uk: У майбутніх версіях може бути додано інші атрибути файлів. Тип встановлюваних атрибутів залежить від типу файла. Докладний опис можна знайти на сторінці підручника щодо L<chattr(1)>.

note: type: textblock
en: See also L</set-e2attrs>.
uk: Див. також L</set-e2attrs>.

note: type: textblock
en: Don't confuse these attributes with extended attributes (see L</getxattr>).
uk: Не слід плутати ці атрибути із розширеними атрибутами (див. L</getxattr>).

note: type: verbatim
en:  get-e2generation file
uk:  get-e2generation файл

note: type: textblock
en: This returns the ext2 file generation of a file.  The generation (which used to be called the "version") is a number associated with an inode.  This is most commonly used by NFS servers.
uk: Повертає генерацію файла ext2 для файла. Генерація (яку зазвичай називають «версією») є числом, пов'язаним із inode. Найпоширенішою областю використання є сервери NFS.

note: type: textblock
en: The generation is only present when the file is located on an ext2/3/4 filesystem.  Using this call on other filesystem types will result in an error.
uk: Генерація є характерною особливістю файлової системи ext2/3/4. Використання цієї команди для інших типів файлових систем призведе до помилки.

note: type: textblock
en: See L</set-e2generation>.
uk: Див. L</set-e2generation>.

note: type: verbatim
en:  get-e2label device
uk:  get-e2label пристрій

note: type: textblock
en: This returns the ext2/3/4 filesystem label of the filesystem on C<device>.
uk: Ця команда повертає мітку файлової системи ext2/3/4 для файлової системи на пристрої C<пристрій>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</vfs-label> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</vfs-label>.

note: type: verbatim
en:  get-e2uuid device
uk:  get-e2uuid пристрій

note: type: textblock
en: This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>.
uk: Ця команда повертає UUID файлової системи ext2/3/4 для файлової системи на пристрої C<пристрій>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</vfs-uuid> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</vfs-uuid>.

note: type: textblock
en: Return the current hypervisor binary.
uk: Повертає назву виконуваного файла поточного гіпервізору.

note: type: textblock
en: This is always non-NULL.  If it wasn't set already, then this will return the default qemu binary name.
uk: Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда поверне типову назву виконуваного файла qemu.

note: type: textblock
en: Get the handle identifier.  See L</set-identifier>.
uk: Отримати ідентифікатор дескриптора. Див. L</set-identifier>.

note: type: verbatim
en:  get-libvirt-requested-credential-challenge index
uk:  get-libvirt-requested-credential-challenge індекс

note: type: textblock
en: Get the challenge (provided by libvirt) for the C<index>'th requested credential.  If libvirt did not provide a challenge, this returns the empty string C<"">.
uk: Виконати перевірку (за даними libvirt) реєстраційних даних із номером C<індекс>. Якщо у libvirt не буде знайдено відповідника для перевірки, команда поверне порожній рядок, C<"">.

note: type: textblock
en: See L<guestfs(3)/LIBVIRT AUTHENTICATION> for documentation and example code.
uk: Документацію і приклад коду наведено у розділі L<guestfs(3)/РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT>.

note: type: verbatim
en:  get-libvirt-requested-credential-defresult index
uk:  get-libvirt-requested-credential-defresult індекс

note: type: textblock
en: Get the default result (provided by libvirt) for the C<index>'th requested credential.  If libvirt did not provide a default result, this returns the empty string C<"">.
uk: Отримати типовий результат (за даними libvirt) реєстраційних даних із номером C<індекс>. Якщо у libvirt не буде знайдено відповідника для типового результату, команда поверне порожній рядок, C<"">.

note: type: verbatim
en:  get-libvirt-requested-credential-prompt index
uk:  get-libvirt-requested-credential-prompt індекс

note: type: textblock
en: Get the prompt (provided by libvirt) for the C<index>'th requested credential.  If libvirt did not provide a prompt, this returns the empty string C<"">.
uk: Отримати запит (за даними libvirt) реєстраційних даних із номером C<індекс>. Якщо у libvirt не буде знайдено відповідника для запиту, команда поверне порожній рядок, C<"">.

note: type: textblock
en: This should only be called during the event callback for events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>.
uk: Цю команду слід викликати під час зворотного виклику подій для подій типу C<GUESTFS_EVENT_LIBVIRT_AUTH>.

note: type: textblock
en: Return the list of credentials requested by libvirt.  Possible values are a subset of the strings provided when you called L</set-libvirt-supported-credentials>.
uk: Повертає список реєстраційних даних, запит на які надсилає libvirt. Можливі значення є підмножиною рядків, які надаються, коли ви викликаєте L</set-libvirt-supported-credentials>.

note: type: textblock
en: This gets the memory size in megabytes allocated to the hypervisor.
uk: Отримує розмір у мегабайтах отриманої для гіпервізору пам'яті.

note: type: textblock
en: If L</set-memsize> was not called on this handle, and if C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default value for memsize.
uk: Якщо для цього дескриптора не було викликано L</set-memsize> і якщо не було встановлено C<LIBGUESTFS_MEMSIZE>, якщо команда повертає типове вкомпільоване значення розміру пам'яті (memsize).

note: type: textblock
en: For more information on the architecture of libguestfs, see L<guestfs(3)>.
uk: Докладніший опис архітектури libguestfs наведено у підручнику з L<guestfs(3)>.

note: type: textblock
en: This returns the enable network flag.
uk: Повертає значення прапорця вмикання мережі.

note: type: textblock
en: Return the current search path.
uk: Повертає поточний шлях пошуку.

note: type: textblock
en: This is always non-NULL.  If it wasn't set already, then this will return the default path.
uk: Це значення ніколи не дорівнює NULL. Якщо його ще не встановлено, команда поверне типовий вміст змінної середовища PATH.

note: type: textblock
en: This returns the process group flag.
uk: Повертає прапорець групи процесів.

note: type: =head2
en: pid
uk: PID

note: type: textblock
en: Return the process ID of the hypervisor.  If there is no hypervisor running, then this will return an error.
uk: Повертає ідентифікатор гіпервізору. Якщо жодного гіпервізору не запущено, команда поверне повідомлення про помилку.

note: type: textblock
en: This is an internal call used for debugging and testing.
uk: Це внутрішній виклик, який використовується для діагностики і тестування.

note: type: textblock
en: Get the program name.  See L</set-program>.
uk: Отримати назву програми. Див. L</set-program>.

note: type: textblock
en: Return the current hypervisor binary (usually qemu).
uk: Повертає назву поточного виконуваного файла гіпервізору (типово, qemu).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</get-hv> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</get-hv>.

note: type: textblock
en: Return the recovery process enabled flag.
uk: Повертає прапорець вмикання відновлення процесу.

note: type: textblock
en: This returns the current setting of the selinux flag which is passed to the appliance at boot time.  See L</set-selinux>.
uk: Повертає поточне значення прапорця selinux, який передається базовій системі під час її завантаження. Див. L</set-selinux>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</selinux-relabel> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</selinux-relabel>.

note: type: textblock
en: This returns the number of virtual CPUs assigned to the appliance.
uk: Повертає кількість віртуальних процесорів, які пов'язано із базовою системою.

note: type: textblock
en: Get the directory used by the handle to store temporary socket files.
uk: Отримати назву каталогу, який використовується дескриптором для зберігання файлів тимчасових сокетів.

note: type: textblock
en: This is different from L</get-tmpdir>, as we need shorter paths for sockets (due to the limited buffers of filenames for UNIX sockets), and L</get-tmpdir> may be too long for them.
uk: Ця команда відрізняється від L</get-tmpdir>, оскільки для сокетів потрібні коротші шляхи (через обмеження буферів назв файлів для сокетів UNIX), а L</get-tmpdir> може бути надто довгим для таких шляхів.

note: type: textblock
en: The environment variable C<XDG_RUNTIME_DIR> controls the default value: If C<XDG_RUNTIME_DIR> is set, then that is the default.  Else F</tmp> is the default.
uk: Типове значення керується змінною середовища C<XDG_RUNTIME_DIR>: якщо встановлено C<XDG_RUNTIME_DIR>, її значення буде типовим. Якщо ж значення змінної не встановлено, типовим значенням буде F</tmp>.

note: type: textblock
en: Get the directory used by the handle to store temporary files.
uk: Отримати назву каталогу, який використовується дескриптором для зберігання тимчасових файлів.

note: type: textblock
en: Return the command trace flag.
uk: Повертає прапорець трасування команди.

note: type: textblock
en: Return the current umask.  By default the umask is C<022> unless it has been set by calling L</umask>.
uk: Повертає поточне значення umask. Типовим значенням umask є C<022>, якщо інше значення не було встановлено за допомогою виклику L</umask>.

note: type: textblock
en: This returns the verbose messages flag.
uk: Повертає значення прапорця докладності повідомлень.

note: type: textblock
en: This gets the SELinux security context of the daemon.
uk: Ця команда отримує контекст безпеки SELinux фонової служби.

note: type: textblock
en: See the documentation about SELINUX in L<guestfs(3)>, and L</setcon>
uk: Див. документацію з SELINUX у L<guestfs(3)> та L</setcon>

note: type: textblock
en: This command depends on the feature C<selinux>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<selinux>. Див. також L</feature-available>.

note: type: verbatim
en:  getxattr path name
uk:  getxattr шлях назва

note: type: textblock
en: Get a single extended attribute from file C<path> named C<name>.  This call follows symlinks.  If you want to lookup an extended attribute for the symlink itself, use L</lgetxattr>.
uk: Отримати окремий розширений атрибут з файла C<шлях> за назвою C<назва>. У цьому виклику виконується перехід за символічними посиланнями. Якщо ви хочете визначити розширений атрибут для самого символічного посилання, скористайтеся L</lgetxattr>.

note: type: textblock
en: Normally it is better to get all extended attributes from a file in one go by calling L</getxattrs>.  However some Linux filesystem implementations are buggy and do not provide a way to list out attributes.  For these filesystems (notably ntfs-3g)  you have to know the names of the extended attributes you want in advance and call this function.
uk: Зазвичай, краще отримати усі розширені атрибути файла одним викликом L</getxattrs>. Втім, у реалізації деяких файлових систем у Linux є вади, які заважають отримання повного списку атрибутів. Для таких файлових систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви потрібних вам розширених атрибутів і викликати цю функцію.

note: type: textblock
en: Extended attribute values are blobs of binary data.  If there is no extended attribute named C<name>, this returns an error.
uk: Значеннями розширених атрибутів є блоки двійкових даних. Якщо розширеного атрибута із назвою C<назва> не існує, командою буде повернуто повідомлення про помилку.

note: type: textblock
en: See also: L</getxattrs>, L</lgetxattr>, L<attr(5)>.
uk: Див. також L</getxattrs>, L</lgetxattr>, L<attr(5)>.

note: type: textblock
en: This command depends on the feature C<linuxxattrs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<linuxxattrs>. Див. також L</feature-available>.

note: type: verbatim
en:  getxattrs path
uk:  getxattrs шлях

note: type: textblock
en: This call lists the extended attributes of the file or directory C<path>.
uk: Ця команда виводить список розширених атрибутів файла або каталогу C<шлях>.

note: type: textblock
en: At the system call level, this is a combination of the L<listxattr(2)> and L<getxattr(2)> calls.
uk: На рівні системи, ця команда є поєднанням викликів L<listxattr(2)> і L<getxattr(2)>.

note: type: textblock
en: See also: L</lgetxattrs>, L<attr(5)>.
uk: Див. також L</lgetxattrs>, L<attr(5)>.

note: type: verbatim
en:  glob-expand pattern [directoryslash:true|false]
uk:  glob-expand шаблон [directoryslash:true|false]

note: type: textblock
en: This command searches for all the pathnames matching C<pattern> according to the wildcard expansion rules used by the shell.
uk: Ця команда виконує пошук усіх назв шляхів, які збігаються із шаблоном C<шаблон>, відповідно до правил розгортання замінників, які використовуються командною оболонкою.

note: type: textblock
en: If no paths match, then this returns an empty list (note: not an error).
uk: Якщо шляхів знайдено не буде, команда поверне порожній список (не помилку).

note: type: textblock
en: It is just a wrapper around the C L<glob(3)> function with flags C<GLOB_MARK|GLOB_BRACE>.  See that manual page for more details.
uk: Це обгортка навколо функції C L<glob(3)> із прапорцями C<GLOB_MARK|GLOB_BRACE>. Див. відповідну сторінку підручника, щоб дізнатися більше.

note: type: textblock
en: C<directoryslash> controls whether use the C<GLOB_MARK> flag for L<glob(3)>, and it defaults to true.  It can be explicitly set as off to return no trailing slashes in filenames of directories.
uk: Аргумент C<directoryslash> визначає, чи слід використовувати прапорець C<GLOB_MARK> для L<glob(3)>. Типовим його значенням є true (використовувати). Його можна явним чином вимкнути, щоб команда не повертала завершальних символів похилої риски у назвах каталогів.

note: type: textblock
en: Notice that there is no equivalent command for expanding a device name (eg. F</dev/sd*>).  Use L</list-devices>, L</list-partitions> etc functions instead.
uk: Зауважте, що схожої команди для розгортання назв пристроїв (наприклад F</dev/sd*>) не існує. З цією метою слід використовувати L</list-devices>, L</list-partitions> тощо.

note: type: verbatim
en:  grep regex path [extended:true|false] [fixed:true|false] [insensitive:true|false] [compressed:true|false]
uk:  grep формальний_вираз шлях [extended:true|false] [fixed:true|false] [insensitive:true|false] [compressed:true|false]

note: type: textblock
en: This calls the external L<grep(1)> program and returns the matching lines.
uk: Викликає зовнішню програму L<grep(1)> і повертає рядки-відповідники.

note: type: textblock
en: The optional flags are:
uk: Необов'язковими прапорцями є такі:

note: type: textblock
en: Use extended regular expressions.  This is the same as using the I<-E> flag.
uk: Використовувати розширені формальні вирази. Те саме, що використання прапорця I<-E>.

note: type: textblock
en: Match fixed (don't use regular expressions).  This is the same as using the I<-F> flag.
uk: Фіксована відповідність (не використовувати формальні вирази). Те саме, що використання прапорця I<-F>.

note: type: textblock
en: Match case-insensitive.  This is the same as using the I<-i> flag.
uk: Не враховувати під час пошуку регістр символів. Те саме, що використання прапорця I<-i>.

note: type: textblock
en: Use L<zgrep(1)> instead of L<grep(1)>.  This allows the input to be compress- or gzip-compressed.
uk: Використовує L<zgrep(1)> замість L<grep(1)>. Це надає змогу обробляти стиснені compress або gzip дані.

note: type: verbatim
en:  grepi regex path
uk:  grepi формальний_вираз шлях

note: type: textblock
en: This calls the external C<grep -i> program and returns the matching lines.
uk: Ця функція викликає зовнішню програму C<grep -i> і повертає відповідні рядки.

note: type: verbatim
en:  grub-install root device
uk:  grub-install корінь пристрій

note: type: textblock
en: This command installs GRUB 1 (the Grand Unified Bootloader) on C<device>, with the root directory being C<root>.
uk: Ця команда встановлює GRUB 1 (Grand Unified Bootloader) на C<пристрій> із кореневим каталогом C<корінь>.

note: type: textblock
en: There is currently no way in the API to install grub2, which is used by most modern Linux guests.  It is possible to run the grub2 command from the guest, although see the caveats in L<guestfs(3)/RUNNING COMMANDS>.
uk: У програмному інтерфейсі поточної версії немає способів встановити завантажувач grub2, який використовується у більшості сучасних гостьових систем Linux. Команду grub2 можна запустити з самої гостьової системи, втім, у такого способу запуску є певні проблеми, описані у розділі L<guestfs(3)/ЗАПУСК КОМАНД>.

note: type: textblock
en: This uses L<grub-install(8)> from the host.  Unfortunately grub is not always compatible with itself, so this only works in rather narrow circumstances.  Careful testing with each guest version is advisable.
uk: Ця команда використовує L<grub-install(8)> з основної системи. На жаль, grub не завжди сумісний сам із собою, отже це працює у доволі вузькому діапазоні ситуацій. Радимо ретельно усе перевіряти для кожної версії гостьової системи.

note: type: textblock
en: If grub-install reports the error "No suitable drive was found in the generated device map." it may be that you need to create a F</boot/grub/device.map> file first that contains the mapping between grub device names and Linux device names.  It is usually sufficient to create a file containing:
uk: Якщо grub-install повідомляє про помилку «No suitable drive was found in the generated device map.», ймовірно, вам слід спочатку створити файл F</boot/grub/device.map>, який міститиме прив'язки назв пристроїв grub до назв пристроїв Linux. Зазвичай, достатньо створити файл з таким вмістом:

note: type: textblock
en: replacing F</dev/vda> with the name of the installation device.
uk: замінивши F</dev/vda> на назву пристрою для встановлення.

note: type: textblock
en: This command depends on the feature C<grub>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<grub>. Див. також L</feature-available>.

note: type: verbatim
en:  head path
uk:  head шлях

note: type: textblock
en: This command returns up to the first 10 lines of a file as a list of strings.
uk: Ця команда повертає перші 10 рядків файла як список рядків.

note: type: verbatim
en:  head-n nrlines path
uk:  head-n к-ть_рядків шлях

note: type: textblock
en: If the parameter C<nrlines> is a positive number, this returns the first C<nrlines> lines of the file C<path>.
uk: Якщо параметр C<к-ть_рядків> є додатним числом, повертає перші C<к-ть_рядків> рядків з файла C<шлях>.

note: type: textblock
en: If the parameter C<nrlines> is a negative number, this returns lines from the file C<path>, excluding the last C<nrlines> lines.
uk: Якщо значенням параметра C<к-ть_рядків> є від'ємне число, команда повертає усі рядки з файла C<шлях>, окрім останніх C<к-ть_рядків> рядків.

note: type: textblock
en: If the parameter C<nrlines> is zero, this returns an empty list.
uk: Якщо значенням параметра C<к-ть_рядків> є нуль, команда повертає порожній список.

note: type: verbatim
en:  hexdump path
uk:  hexdump шлях

note: type: textblock
en: This runs C<hexdump -C> on the given C<path>.  The result is the human-readable, canonical hex dump of the file.
uk: Ця команда виконує C<hexdump -C> для вказаного файла C<шлях>. Результатом виконання є зручний для читання канонічний шістнадцятковий дамп файла.

note: type: textblock
en: Close the current hivex handle.
uk: Закрити поточний елемент керування hivex.

note: type: textblock
en: This is a wrapper around the L<hivex(3)> call of the same name.
uk: Обгортка до команди L<hivex(3)> із тією ж самою назвою.

note: type: textblock
en: This command depends on the feature C<hivex>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<hivex>. Див. також L</feature-available>.

note: type: verbatim
en:  hivex-commit filename
uk:  hivex-commit назва_файла

note: type: textblock
en: Commit (write) changes to the hive.
uk: Вносить (записує) зміни до рою.

note: type: textblock
en: If the optional F<filename> parameter is null, then the changes are written back to the same hive that was opened.  If this is not null then they are written to the alternate filename given and the original hive is left untouched.
uk: Якщо значенням необов'язкового параметра F<назва_файла> є null, зміни буде записано до того самого рою, який було відкрито. Якщо значенням не є null, зміни буде записано до вказаного альтернативного файла, а початковий рій залишиться незмінним.

note: type: verbatim
en:  hivex-node-add-child parent name
uk:  hivex-node-add-child батьківський_запис назва

note: type: textblock
en: Add a child node to C<parent> named C<name>.
uk: Додати дочірній вузол до із назвою C<назва> до батьківського запису C<батьківський_запис>.

note: type: verbatim
en:  hivex-node-children nodeh
uk:  hivex-node-children вузол

note: type: textblock
en: Return the list of nodes which are subkeys of C<nodeh>.
uk: Повертає список вузлів, які є підключами вузла C<вузол>.

note: type: verbatim
en:  hivex-node-delete-child nodeh
uk:  hivex-node-delete-child вузол

note: type: textblock
en: Delete C<nodeh>, recursively if necessary.
uk: Вилучаєe C<вузол>, якщо потрібно, рекурсивно.

note: type: verbatim
en:  hivex-node-get-child nodeh name
uk:  hivex-node-get-child nodeh назва

note: type: textblock
en: Return the child of C<nodeh> with the name C<name>, if it exists.  This can return C<0> meaning the name was not found.
uk: Повертає дочірній вузол із назвою C<назва> для вузла C<вузол>, якщо такий існує. Може повернути C<0>, що означатиме, що вузла із вказаною назвою не існує.

note: type: verbatim
en:  hivex-node-get-value nodeh key
uk:  hivex-node-get-value nodeh ключ

note: type: textblock
en: Return the value attached to C<nodeh> which has the name C<key>, if it exists.  This can return C<0> meaning the key was not found.
uk: Повертає значення, пов'язане із вузлом C<вузол>, яке має назву C<ключ>, якщо таке існує. Може повернути C<0>, що означатиме, що ключа із вказаною назвою не існує.

note: type: textblock
en: Return the name of C<nodeh>.
uk: Повернути назву C<nodeh>.

note: type: textblock
en: Return the parent node of C<nodeh>.
uk: Повернути батьківський вузол C<nodeh>.

note: type: verbatim
en:  hivex-node-set-value nodeh key t val
uk:  hivex-node-set-value вузол ключ тип значення

note: type: textblock
en: Set or replace a single value under the node C<nodeh>.  The C<key> is the name, C<t> is the type, and C<val> is the data.
uk: Встановлює або замінює окреме значення у вузлі C<вузол>. Значенням аргументу C<ключ> є назва, C<тип> — тип, а C<значення> — дані.

note: type: textblock
en: Return the array of (key, datatype, data) tuples attached to C<nodeh>.
uk: Повертає масив кортежів (ключ, тип даних, дані), пов'язаний із C<nodeh>.

note: type: verbatim
en:  hivex-open filename [verbose:true|false] [debug:true|false] [write:true|false] [unsafe:true|false]
uk:  hivex-open назва_файла [verbose:true|false] [debug:true|false] [write:true|false] [unsafe:true|false]

note: type: textblock
en: Open the Windows Registry hive file named F<filename>.  If there was any previous hivex handle associated with this guestfs session, then it is closed.
uk: Відкриває файл рою реєстру Windows із назвою F<назва_файла>. Якщо вже існував дескриптор hivex, пов'язаний із цим сеансом guestfs, його буде закрито.

note: type: textblock
en: Return the root node of the hive.
uk: Повернути кореневий вузол гілки.

note: type: textblock
en: Return the key (name) field of a (key, datatype, data) tuple.
uk: Повертає ключ (назву) поля для кортежу (ключ, тип даних, дані).

note: type: verbatim
en:  hivex-value-string valueh
uk:  hivex-value-string значення

note: type: textblock
en: This calls L</hivex-value-value> (which returns the data field from a hivex value tuple).  It then assumes that the field is a UTF-16LE string and converts the result to UTF-8 (or if this is not possible, it returns an error).
uk: Ця команда викликає L</hivex-value-value> (яка повертає поле даних на основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо, команда повертає повідомлення про помилку).

note: type: textblock
en: This is useful for reading strings out of the Windows registry.  However it is not foolproof because the registry is not strongly-typed and fields can contain arbitrary or unexpected data.
uk: Команда корисна для читання рядків з реєстру Windows. Втім, вона працює нестабільно, оскільки реєстр не є строго типізованим, а поля можуть містити довільні або неочікувані дані.

note: type: textblock
en: Return the data type field from a (key, datatype, data) tuple.
uk: Повертає значення поля типу даних для кортежу (ключ, тип даних, дані).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</hivex-value-string> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</hivex-value-string>.

note: type: textblock
en: Return the data field of a (key, datatype, data) tuple.
uk: Повертає значення поля даних для кортежу (ключ, тип даних, дані).

note: type: textblock
en: See also: L</hivex-value-utf8>.
uk: Див. також L</hivex-value-utf8>.

note: type: verbatim
en:  initrd-cat initrdpath filename
uk:  initrd-cat шлях_initrd назва_файла

note: type: textblock
en: This command unpacks the file F<filename> from the initrd file called F<initrdpath>.  The filename must be given I<without> the initial F</> character.
uk: Ця команда розпаковує файл F<назва_файла> з файла initrd із назвою F<шлях_initrd>. Назву файла слід вказувати I<без> початкового символу F</>.

note: type: textblock
en: For example, in guestfish you could use the following command to examine the boot script (usually called F</init>)  contained in a Linux initrd or initramfs image:
uk: Наприклад, у guestfish ви можете скористатися такою командою для вивчення скрипту завантаження (зазвичай, він має назву F</init>), який міститься у initrd Linux або образі initramfs:

note: type: verbatim
en:  initrd-cat /boot/initrd-<version>.img init
uk:  initrd-cat /boot/initrd-<версія>.img init

note: type: textblock
en: See also L</initrd-list>.
uk: Див. також L</initrd-list>.

note: type: verbatim
en:  initrd-list path
uk:  initrd-list шлях

note: type: textblock
en: This command lists out files contained in an initrd.
uk: Ця команда виводить список файлів, які містяться у initrd.

note: type: textblock
en: The files are listed without any initial F</> character.  The files are listed in the order they appear (not necessarily alphabetical).  Directory names are listed as separate items.
uk: Записи у списку буде виведено без початкового символу F</>. Список буде упорядковано за появою файлів (не обов'язково за абеткою). Назви каталогів буде показано у списку як окремі записи.

note: type: textblock
en: Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as initrd.  We I<only> support the newer initramfs format (compressed cpio files).
uk: У старих ядрах Linux (2.4 і старіших) як initrd використовується стиснена файлова система ext2. У нашій команді передбачено підтримку I<лише> новішого формату initramfs (стиснених файлів cpio).

note: type: verbatim
en:  inotify-add-watch path mask
uk:  inotify-add-watch шлях маска

note: type: textblock
en: Watch C<path> for the events listed in C<mask>.
uk: Спостерігати для запису C<шлях> за появою подій зі списку C<маска>.

note: type: textblock
en: Note that if C<path> is a directory then events within that directory are watched, but this does I<not> happen recursively (in subdirectories).
uk: Зауважте, що якщо запис C<шлях> є каталогом, спостереження вестиметься і за подіями у каталозі, але I<не> виконуватиметься рекурсивно (у підкаталогах).

note: type: textblock
en: Note for non-C or non-Linux callers: the inotify events are defined by the Linux kernel ABI and are listed in F</usr/include/sys/inotify.h>.
uk: Зауваження для викликів з-поза C та з-поза Linux: події inotify визначено у ABI ядра Linux. Список наведено у F</usr/include/sys/inotify.h>.

note: type: textblock
en: This command depends on the feature C<inotify>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<inotify>. Див. також L</feature-available>.

note: type: textblock
en: This closes the inotify handle which was previously opened by inotify_init.  It removes all watches, throws away any pending events, and deallocates all resources.
uk: Ця команда закриває дескриптор inotify, який раніше було відкрито inotify_init. Команда вилучає усі спостереження, викидає усі події з черги і скасовує надання пам'яті для усіх ресурсів.

note: type: textblock
en: This function is a helpful wrapper around L</inotify-read> which just returns a list of pathnames of objects that were touched.  The returned pathnames are sorted and deduplicated.
uk: Ця функція є корисною обгорткою навколо L</inotify-read>, яка просто повертає список назв шляхів об'єктів, які було оброблено touch. Список назв шляхів буде упорядковано, дублікати записів буде вилучено.

note: type: verbatim
en:  inotify-init maxevents
uk:  inotify-init макс_подій

note: type: textblock
en: This command creates a new inotify handle.  The inotify subsystem can be used to notify events which happen to objects in the guest filesystem.
uk: Ця команда створює дескриптор inotify. Підсистемою inotify можна скористатися для отримання сповіщень щодо подій, які відбуваються із об'єктами у файловій системі гостьової операційної системи.

note: type: textblock
en: C<maxevents> is the maximum number of events which will be queued up between calls to L</inotify-read> or L</inotify-files>.  If this is passed as C<0>, then the kernel (or previously set)  default is used.  For Linux 2.6.29 the default was 16384 events.  Beyond this limit, the kernel throws away events, but records the fact that it threw them away by setting a flag C<IN_Q_OVERFLOW> in the returned structure list (see L</inotify-read>).
uk: Значенням параметра C<макс_подій> є максимальна кількість подій, які може бути додано до черги між викликами L</inotify-read> або L</inotify-files>. Якщо буде передано значення C<0>, буде використано типове значення для ядра (або раніше встановлене значення). Для Linux 2.6.29 типовим значенням є 16384 подій. Якщо обмеження буде перевищено, ядро просто відкидатиме події, але записуватиме повідомлення щодо факту відкидання, встановлюючи прапорець C<IN_Q_OVERFLOW> у списку повернутої структури (див. L</inotify-read>).

note: type: textblock
en: Before any events are generated, you have to add some watches to the internal watch list.  See: L</inotify-add-watch> and L</inotify-rm-watch>.
uk: Перш ніж буде створено якесь повідомлення про подію, вам слід додати певні спостереження до внутрішнього списку спостережень. Див. L</inotify-add-watch> та L</inotify-rm-watch>.

note: type: textblock
en: Queued up events should be read periodically by calling L</inotify-read> (or L</inotify-files> which is just a helpful wrapper around L</inotify-read>).  If you don't read the events out often enough then you risk the internal queue overflowing.
uk: Записи подій з черги мають періодично читатися викликом L</inotify-read> (або L</inotify-files>, який є корисною обгорткою навколо L</inotify-read>). Якщо записи подій не читатимуться достатньо часто, внутрішню чергу записів може бути переповнено.

note: type: textblock
en: The handle should be closed after use by calling L</inotify-close>.  This also removes any watches automatically.
uk: Після використання дескриптор слід закрити викликом L</inotify-close>. У процесі закриття буде автоматично вилучено усі спостереження.

note: type: textblock
en: See also L<inotify(7)> for an overview of the inotify interface as exposed by the Linux kernel, which is roughly what we expose via libguestfs.  Note that there is one global inotify handle per libguestfs instance.
uk: Огляд інтерфейсу inotify, який відкриває ядро Linux, можна знайти на сторінці підручника L<inotify(7)>. Саме цей інтерфейс, грубо кажучи, ми і відкриваємо за допомогою libguestfs. Зауважте, що для кожного екземпляра libguestfs відкривається один загальний дескриптор inotify.

note: type: textblock
en: Return the complete queue of events that have happened since the previous read call.
uk: Повертає повну чергу подій, які трапилися з моменту попереднього виклику читання черги.

note: type: textblock
en: If no events have happened, this returns an empty list.
uk: Якщо подій не траплялося, повертає порожній список.

note: type: textblock
en: I<Note>: In order to make sure that all events have been read, you must call this function repeatedly until it returns an empty list.  The reason is that the call will read events up to the maximum appliance-to-host message size and leave remaining events in the queue.
uk: I<Зауваження>: щоб переконатися, що усі записи подій було прочитано, вам слід повторно викликати цю функцію, аж доки не буде повернуто порожній список. Причиною є те, що виклик читає записи подій до досягнення максимального розміру черги повідомлень appliance-to-host і лишає решту подій у черзі.

note: type: textblock
en: Remove a previously defined inotify watch.  See L</inotify-add-watch>.
uk: Вилучити раніше визначене спостереження inotify. Див. L</inotify-add-watch>.

note: type: verbatim
en:  inspect-get-arch root
uk:  inspect-get-arch корінь

note: type: textblock
en: This returns the architecture of the inspected operating system.  The possible return values are listed under L</file-architecture>.
uk: Повертає архітектуру інспектованої операційної системи. Список можливих повернутих значень можна знайти у описі L</file-architecture>.

note: type: textblock
en: If the architecture could not be determined, then the string C<unknown> is returned.
uk: Якщо архітектуру визначити не вдасться, буде повернуто рядок C<unknown>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>.

note: type: verbatim
en:  inspect-get-distro root
uk:  inspect-get-distro корінь

note: type: textblock
en: This returns the distro (distribution) of the inspected operating system.
uk: Ця команда повертає дистрибутив інспектованої операційної системи.

note: type: textblock
en: Currently defined distros are:
uk: У поточній версії визначено такі дистрибутиви:

note: type: textblock
en: Buildroot-derived distro, but not one we specifically recognize.
uk: Дистрибутив, що походить від buildroot, але не той, який ми можемо окремо визначити.

note: type: textblock
en: Some Red Hat-derived distro.
uk: Дистрибутив, що походить від Red Hat.

note: type: textblock
en: SuSE Linux Enterprise Server or Desktop.
uk: SuSE Linux Enterprise Server або Desktop.

note: type: textblock
en: Some openSuSE-derived distro.
uk: Дистрибутив, заснований на openSuSE.

note: type: textblock
en: The distro could not be determined.
uk: Дистрибутив, тип якого не вдалося визначити.

note: type: textblock
en: Windows does not have distributions.  This string is returned if the OS type is Windows.
uk: У Windows немає дистрибутивів. Цей рядок буде повернуто, якщо операційна система належить до сімейства Windows.

note: type: textblock
en: Future versions of libguestfs may return other strings here.  The caller should be prepared to handle any string.
uk: У майбутніх версіях libguestfs цією командою можуть повертатися інші рядки. Функція, звідки викликається команда, має готуватися до обробки будь-якого рядка.

note: type: textblock
en: This call is useful for Windows which uses a primitive system of assigning drive letters (like F<C:\>) to partitions.  This inspection API examines the Windows Registry to find out how disks/partitions are mapped to drive letters, and returns a hash table as in the example below:
uk: Цей виклик корисний для Windows, де використовується примітивна система призначення літер дисків (зокрема F<C:\>) до розділів. Цей програмний інтерфейс інспектування вивчає реєстр Windows, щоб визначити спосіб прив'язування дисків і розділів до літер, і повертає хеш-таблицю, як у наведеному нижче прикладі:

note: type: textblock
en: Note that keys are drive letters.  For Windows, the key is case insensitive and just contains the drive letter, without the customary colon separator character.
uk: Зауважте, що ключі є літерами дисків. Для Windows регістр символів запису ключа не враховується і складається із простої літери диска без символу-відокремлювача, двокрапки.

note: type: textblock
en: In future we may support other operating systems that also used drive letters, but the keys for those might not be case insensitive and might be longer than 1 character.  For example in OS-9, hard drives were named C<h0>, C<h1> etc.
uk: У майбутньому ми можемо реалізувати підтримку інших операційних систем, де також використовуються літери для дисків, але ключі для таких систем можуть не бути незалежними від регістру символів і можуть перевищувати за довжиною 1 символ. Наприклад, у OS-9 диски називалися C<h0>, C<h1> тощо.

note: type: textblock
en: For Windows guests, currently only hard drive mappings are returned.  Removable disks (eg. DVD-ROMs) are ignored.
uk: Для гостьових систем Windows у поточній версії повертається лише прив'язка жорстких дисків. Портативні диски (зокрема DVD-ROM) ігноруються.

note: type: textblock
en: For guests that do not use drive mappings, or if the drive mappings could not be determined, this returns an empty hash table.
uk: У гостьових системах, де не використовується прив'язка дисків, або прив'язку дисків не можна визначити, ця команда повертає таблицю порожніх хешів.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-get-mountpoints>, L</inspect-get-filesystems>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION> Див. також L</inspect-get-mountpoints>, L</inspect-get-filesystems>.

note: type: verbatim
en:  inspect-get-filesystems root
uk:  inspect-get-filesystems корінь

note: type: textblock
en: This returns a list of all the filesystems that we think are associated with this operating system.  This includes the root filesystem, other ordinary filesystems, and non-mounted devices like swap partitions.
uk: Ця команда повертає список усіх файлових систем, які, як ми вважаємо, пов'язано із вказаною операційною системою. Це, зокрема, коренева файлова система, інші звичайні файлові системи та незмонтовані пристрої, зокрема диски резервної пам'яті.

note: type: textblock
en: In the case of a multi-boot virtual machine, it is possible for a filesystem to be shared between operating systems.
uk: У випадку віртуальної машини із варіантами завантаження операційних систем файлова система може бути спільною для одразу декількох операційних систем.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-get-mountpoints>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION> Див. також L</inspect-get-mountpoints>.

note: type: verbatim
en:  inspect-get-format root
uk:  inspect-get-format корінь

note: type: textblock
en: Before libguestfs 1.38, there was some unreliable support for detecting installer CDs.  This API would return:
uk: До libguestfs 1.38 було передбачено певну ненадійну підтримку виявлення образів компакт-дисків для встановлення. Цей програмний інтерфейс мав повертати таке:

note: type: textblock
en: This is an installed operating system.
uk: Це встановлена операційна система.

note: type: textblock
en: The disk image being inspected is not an installed operating system, but a I<bootable> install disk, live CD, or similar.
uk: Інспектований образ диска не є встановленою операційною системою, а лише I<придатним до завантаження> диском, компакт-диском із портативною операційною системою або чимось подібним.

note: type: textblock
en: The format of this disk image is not known.
uk: Формат цього образу диска є невідомим.

note: type: textblock
en: In libguestfs E<ge> 1.38, this only returns C<installed>.  Use libosinfo directly to detect installer CDs.
uk: У libguestfs E<ge> 1.38 ця команда повертала лише C<installed>. Скористайтеся безпосередньо libosinfo для визначення системи на компакт-диску зі встановлювачем.

note: type: verbatim
en:  inspect-get-hostname root
uk:  inspect-get-hostname корінь

note: type: textblock
en: This function returns the hostname of the operating system as found by inspection of the guest’s configuration files.
uk: Ця функція повертає назву вузла операційної системи, яку визначено засобом інспектування за файлами налаштувань гостьової операційної системи.

note: type: textblock
en: If the hostname could not be determined, then the string C<unknown> is returned.
uk: Якщо назву вузла не вдасться визначити, буде повернуто рядок C<unknown>.

note: type: verbatim
en:  inspect-get-icon root [favicon:true|false] [highquality:true|false]
uk:  inspect-get-icon корінь [favicon:true|false] [highquality:true|false]

note: type: textblock
en: This function returns an icon corresponding to the inspected operating system.  The icon is returned as a buffer containing a PNG image (re-encoded to PNG if necessary).
uk: Ця функція повертає піктограму, яка відповідає інспектованій операційній системі. Піктограма повертається як буфер, який містить зображення PNG (перекодується до PNG, якщо потрібно).

note: type: textblock
en: If it was not possible to get an icon this function returns a zero-length (non-NULL) buffer.  I<Callers must check for this case>.
uk: Якщо отримання піктограми неможливе, ця функція повертає буфер нульової довжини (не-NULL). I<Функції, які викликають цю команду, мають перевіряти цей випадок>.

note: type: textblock
en: Libguestfs will start by looking for a file called F</etc/favicon.png> or F<C:\etc\favicon.png> and if it has the correct format, the contents of this file will be returned.  You can disable favicons by passing the optional C<favicon> boolean as false (default is true).
uk: Libguestfs починає із пошуку файла із назвою F</etc/favicon.png> або F<C:\etc\favicon.png> і, якщо дані зберігаються у належному форматі, буде повернуто вміст цього файла. Ви можете вимкнути такі піктограми передаванням для необов'язкового параметра C<favicon> значення false (типовим значенням є true).

note: type: textblock
en: If finding the favicon fails, then we look in other places in the guest for a suitable icon.
uk: Якщо пошук favicon завершиться невдачею, буде виконано пошук відповідної піктограми у інших місцях гостьової системи.

note: type: textblock
en: If the optional C<highquality> boolean is true then only high quality icons are returned, which means only icons of high resolution with an alpha channel.  The default (false) is to return any icon we can, even if it is of substandard quality.
uk: Якщо для необов'язкового параметра C<highquality> встановлено значення true, команда повертатиме лише високоякісні піктограми, тобто піктограми із високою роздільною здатністю і каналом прозорості. Типово, (зі значенням false) буде повернуто будь-яку знайдено піктограму, навіть якщо її якість буде низькою.

note: type: textblock
en: Unlike most other inspection API calls, the guest’s disks must be mounted up before you call this, since it needs to read information from the guest filesystem during the call.
uk: На відміну від більшості інших викликів програмного інтерфейсу, перш ніж ви викличете цю команду, диски гостьової системи має бути змонтовано, оскільки під час виклику доведеться читати дані з файлової системи гостьової операційної системи.

note: type: textblock
en: B<Security:> The icon data comes from the untrusted guest, and should be treated with caution.  PNG files have been known to contain exploits.  Ensure that libpng (or other relevant libraries) are fully up to date before trying to process or display the icon.
uk: B<Безпека:> Дані піктограми походять із ненадійної гостьової системи, ними слід користуватися обережно. Відомі випадки додавання шкідливого коду до файлів PNG. Переконайтеся, що ви користуєтеся libpng (або іншими відповідними бібліотеками) останньої версії, перш ніж намагатися обробити або показати піктограму.

note: type: textblock
en: The PNG image returned can be any size.  It might not be square.  Libguestfs tries to return the largest, highest quality icon available.  The application must scale the icon to the required size.
uk: Розмір повернутого зображення PNG може бути довільним. Зображення може бути неквадратним. Libguestfs намагається повернути найбільшу доступну піктограму найвищої якості. Програма сама має масштабувати її до бажаного розміру.

note: type: textblock
en: Extracting icons from Windows guests requires the external L<wrestool(1)> program from the C<icoutils> package, and several programs (L<bmptopnm(1)>, L<pnmtopng(1)>, L<pamcut(1)>)  from the C<netpbm> package.  These must be installed separately.
uk: Видобування піктограм з гостьових систем Windows потребує зовнішньої програми L<wrestool(1)> з пакунка C<icoutils> і декількох програм (L<bmptopnm(1)>, L<pnmtopng(1)>, L<pamcut(1)>) з пакунка C<netpbm>. Ці програми слід встановити окремо.

note: type: textblock
en: Operating system icons are usually trademarks.  Seek legal advice before using trademarks in applications.
uk: Піктограми операційної системи захищено авторськими правами. Перш ніж використовувати захищені авторським правом дані у власних програмах, проконсультуйтеся щодо законодавчих аспектів такого використання.

note: type: verbatim
en:  inspect-get-major-version root
uk:  inspect-get-major-version корінь

note: type: textblock
en: This returns the major version number of the inspected operating system.
uk: Ця команда повертає номер основної версії інспектованої операційної системи.

note: type: textblock
en: Windows uses a consistent versioning scheme which is I<not> reflected in the popular public names used by the operating system.  Notably the operating system known as "Windows 7" is really version 6.1 (ie. major = 6, minor = 1).  You can find out the real versions corresponding to releases of Windows by consulting Wikipedia or MSDN.
uk: У Windows використовується послідовна схема нумерування версій, яку I<не> відображено у назвах ринкових продуктів операційної системи. Зокрема, операційна система, яку ми знаємо за назвою «Windows 7», насправді має номер 6.1 (тобто основна версія = 6, додаткова версія = 1). Ви можете визначити справжні номери версій випусків Windows за статтями Вікіпедії або MSDN.

note: type: textblock
en: If the version could not be determined, then C<0> is returned.
uk: Якщо версію не вдасться визначити, буде повернуто C<0>.

note: type: verbatim
en:  inspect-get-minor-version root
uk:  inspect-get-minor-version корінь

note: type: textblock
en: This returns the minor version number of the inspected operating system.
uk: Ця команда повертає номер додаткової версії інспектованої операційної системи.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-get-major-version>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION> Див. також L</inspect-get-major-version>.

note: type: verbatim
en:  inspect-get-mountpoints root
uk:  inspect-get-mountpoints корінь

note: type: textblock
en: This returns a hash of where we think the filesystems associated with this operating system should be mounted.  Callers should note that this is at best an educated guess made by reading configuration files such as F</etc/fstab>.  I<In particular note> that this may return filesystems which are non-existent or not mountable and callers should be prepared to handle or ignore failures if they try to mount them.
uk: Ця команда повертає хеш даних щодо місця, у якому, як ми гадаємо, має бути змонтовано файлові системи, пов'язані із операційною системою. Слід зауважити, що ці дані, у найкращому випадку, визначено на основі здогадок, заснованих на вивченні файлів налаштувань, зокрема F</etc/fstab>. I<Зокрема>, використання цієї команди може призвести до отримання записів файлових систем, яких не існує або які непридатні до монтування. У коді, який викликатиме команду, слід правильно обробити випадки, коли під час спроби монтування отриманих файлових систем ставатимуться помилки.

note: type: textblock
en: Each element in the returned hashtable has a key which is the path of the mountpoint (eg. F</boot>) and a value which is the filesystem that would be mounted there (eg. F</dev/sda1>).
uk: У кожного з елементів повернутої хеш-таблиці буде ключ, який відповідатиме шляху до точки монтування (наприклад, F</boot>), і значення, яке відповідатиме файловій системі, яку має бути змонтовано до цієї точки монтування (наприклад, F</dev/sda1>).

note: type: textblock
en: Non-mounted devices such as swap devices are I<not> returned in this list.
uk: Непридатні до монтування пристрої, зокрема пристрої резервної пам'яті на диску, I<не> включатимуться до повернутого списку.

note: type: textblock
en: For operating systems like Windows which still use drive letters, this call will only return an entry for the first drive "mounted on" F</>.  For information about the mapping of drive letters to partitions, see L</inspect-get-drive-mappings>.
uk: Для операційних систем, подібних до Windows, де для позначення дисків усе ще використовуються літери, ця команда поверне запис першого диска «змонтованого до» F</>. Щоб дізнатися більше про прив'язку літер дисків до розділів, див. L</inspect-get-drive-mappings>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-get-filesystems>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION> Див. також L</inspect-get-filesystems>.

note: type: verbatim
en:  inspect-get-osinfo root
uk:  inspect-get-osinfo корінь

note: type: textblock
en: This function returns a possible short ID for libosinfo corresponding to the guest.
uk: Ця функція повертає можливий скорочений ідентифікатор libosinfo, що відповідає гостьовій системі.

note: type: textblock
en: I<Note:> The returned ID is only a guess by libguestfs, and nothing ensures that it actually exists in osinfo-db.
uk: I<Зауваження:> повернутий ідентифікатор є лише припущенням libguestfs і не гарантує, що такий ідентифікатор справді існує у osinfo-db.

note: type: textblock
en: If no ID could not be determined, then the string C<unknown> is returned.
uk: Якщо ідентифікатор не вдасться визначити, буде повернуто рядок C<unknown>.

note: type: verbatim
en:  inspect-get-package-format root
uk:  inspect-get-package-format корінь

note: type: textblock
en: This function and L</inspect-get-package-management> return the package format and package management tool used by the inspected operating system.  For example for Fedora these functions would return C<rpm> (package format), and C<yum> or C<dnf> (package management).
uk: Ця функція і L</inspect-get-package-management> повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування пакунками).

note: type: textblock
en: This returns the string C<unknown> if we could not determine the package format I<or> if the operating system does not have a real packaging system (eg. Windows).
uk: Ця команда поверне рядок C<unknown>, якщо не вдасться визначити формат пакунків I<або> якщо у операційній системі не використовується система пакунків (наприклад, у Windows).

note: type: textblock
en: Possible strings include: C<rpm>, C<deb>, C<ebuild>, C<pisi>, C<pacman>, C<pkgsrc>, C<apk>, C<xbps>.  Future versions of libguestfs may return other strings.
uk: Можливі варіанти рядків: C<rpm>, C<deb>, C<ebuild>, C<pisi>, C<pacman>, C<pkgsrc>, C<apk>, C<xbps>. У майбутніх версіях libguestfs може бути реалізовано повернення інших рядків.

note: type: verbatim
en:  inspect-get-package-management root
uk:  inspect-get-package-management корінь

note: type: textblock
en: L</inspect-get-package-format> and this function return the package format and package management tool used by the inspected operating system.  For example for Fedora these functions would return C<rpm> (package format), and C<yum> or C<dnf> (package management).
uk: L</inspect-get-package-format> і ця функція повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування пакунками).

note: type: textblock
en: This returns the string C<unknown> if we could not determine the package management tool I<or> if the operating system does not have a real packaging system (eg. Windows).
uk: Ця команда поверне рядок C<unknown>, якщо не вдасться визначити засіб для керування пакунками I<або> якщо у операційній системі не використовується система пакунків (наприклад, у Windows).

note: type: textblock
en: Possible strings include: C<yum>, C<dnf>, C<up2date>, C<apt> (for all Debian derivatives), C<portage>, C<pisi>, C<pacman>, C<urpmi>, C<zypper>, C<apk>, C<xbps>.  Future versions of libguestfs may return other strings.
uk: Можливі варіанти повернутих рядків: C<yum>, C<dnf>, C<up2date>, C<apt> (для усіх похідних Debian), C<portage>, C<pisi>, C<pacman>, C<urpmi>, C<zypper>, C<apk>, C<xbps>. У майбутніх версіях libguestfs може бути реалізовано повернення інших рядків.

note: type: verbatim
en:  inspect-get-product-name root
uk:  inspect-get-product-name корінь

note: type: textblock
en: This returns the product name of the inspected operating system.  The product name is generally some freeform string which can be displayed to the user, but should not be parsed by programs.
uk: Ця команда повертає назву продукту для інспектованої операційної системи. Назва продукту, у загальному випадку, є рядком довільної форми, який може бути показано користувачеві, але який не призначено для обробки програмами.

note: type: textblock
en: If the product name could not be determined, then the string C<unknown> is returned.
uk: Якщо назву продукту визначити не вдалося, буде повернуто рядок C<unknown>.

note: type: textblock
en: This returns the product variant of the inspected operating system.
uk: Ця команда повертає варіант продукту інспектованої операційної системи.

note: type: textblock
en: For Windows guests, this returns the contents of the Registry key C<HKLM\Software\Microsoft\Windows NT\CurrentVersion> C<InstallationType> which is usually a string such as C<Client> or C<Server> (other values are possible).  This can be used to distinguish consumer and enterprise versions of Windows that have the same version number (for example, Windows 7 and Windows 2008 Server are both version 6.1, but the former is C<Client> and the latter is C<Server>).
uk: Для гостьових операційних систем Windows ця команда повертає вміст ключа реєстру C<HKLM\Software\Microsoft\Windows NT\CurrentVersion> C<InstallationType>, який типово є рядком, зокрема C<Client> або C<Server> (можливі й інші варіанти). Цим рядком можна скористатися для розрізнення домашніх і промислових версій Windows для випусків із однаковим номером версії (наприклад, Windows 7 і Windows 2008 Server обидві мають номер версії 6.1, але перша має значення варіанта C<Client>, а друга — C<Server>).

note: type: textblock
en: For enterprise Linux guests, in future we intend this to return the product variant such as C<Desktop>, C<Server> and so on.  But this is not implemented at present.
uk: Для промислових версій гостьових систем Linux у майбутньому ми маємо намір реалізувати код, який повертатиме варіанти продукту, зокрема C<Desktop>, C<Server> тощо. Але у поточній версії цей код ще не реалізовано.

note: type: textblock
en: If the product variant could not be determined, then the string C<unknown> is returned.
uk: Якщо варіант продукту визначити не вдалося, буде повернуто рядок C<unknown>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-get-product-name>, L</inspect-get-major-version>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION> Див. також L</inspect-get-product-name>, L</inspect-get-major-version>.

note: type: textblock
en: This function is a convenient way to get the list of root devices, as returned from a previous call to L</inspect-os>, but without redoing the whole inspection process.
uk: Ця функція є зручним способом отримання списку кореневих пристроїв, повернутого попереднім викликом L</inspect-os>, але без повторного виконання усієї процедури інспектування.

note: type: textblock
en: This returns an empty list if either no root devices were found or the caller has not called L</inspect-os>.
uk: Команда повертає порожній список, якщо не буде знайдено кореневих пристроїв або якщо не було викликано L</inspect-os>.

note: type: verbatim
en:  inspect-get-type root
uk:  inspect-get-type корінь

note: type: textblock
en: This returns the type of the inspected operating system.  Currently defined types are:
uk: Ця команда повертає тип інспектованої операційної системи. У поточній версії визначено такі типи:

note: type: textblock
en: Any Linux-based operating system.
uk: Будь-яка заснована на Linux операційна система.

note: type: textblock
en: Any Microsoft Windows operating system.
uk: Будь-яка операційна система Microsoft Windows.

note: type: textblock
en: MS-DOS, FreeDOS and others.
uk: MS-DOS, FreeDOS та інші.

note: type: textblock
en: The operating system type could not be determined.
uk: Не вдалося визначити тип операційної системи.

note: type: textblock
en: This returns the Windows CurrentControlSet of the inspected guest.  The CurrentControlSet is a registry key name such as C<ControlSet001>.
uk: Ця команда повертає Windows CurrentControlSet інспектованої гостьової системи. CurrentControlSet є назвою ключа реєстру, наприклад C<ControlSet001>.

note: type: textblock
en: This call assumes that the guest is Windows and that the Registry could be examined by inspection.  If this is not the case then an error is returned.
uk: У цій команді припускається, що гостьовою системою є Windows і що її реєстр можна вивчити засобами інспектування. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку.

note: type: verbatim
en:  inspect-get-windows-software-hive root
uk:  inspect-get-windows-software-hive корінь

note: type: textblock
en: This returns the path to the hive (binary Windows Registry file)  corresponding to HKLM\SOFTWARE.
uk: Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який відповідає HKLM\SOFTWARE.

note: type: textblock
en: This call assumes that the guest is Windows and that the guest has a software hive file with the right name.  If this is not the case then an error is returned.  This call does not check that the hive is a valid Windows Registry hive.
uk: У цій команді припускається, що гостьовою системою є Windows і що у гостьовій системі є файл рою програмного забезпечення із відповідною назвою. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. Ця команд не виконує перевірки того, що знайдений рій є коректним роєм реєстру Windows.

note: type: textblock
en: You can use L</hivex-open> to read or write to the hive.
uk: Ви можете скористатися командою L</hivex-open> для читання або запису рою.

note: type: verbatim
en:  inspect-get-windows-system-hive root
uk:  inspect-get-windows-system-hive корінь

note: type: textblock
en: This returns the path to the hive (binary Windows Registry file)  corresponding to HKLM\SYSTEM.
uk: Ця команда повертає шлях до рою (двійкового файла реєстру Windows), який відповідає HKLM\SYSTEM.

note: type: textblock
en: This call assumes that the guest is Windows and that the guest has a system hive file with the right name.  If this is not the case then an error is returned.  This call does not check that the hive is a valid Windows Registry hive.
uk: У цій команді припускається, що гостьовою системою є Windows і що у гостьовій системі є файл рою системи із відповідною назвою. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку. Ця команда не виконує перевірки того, що знайдений рій є коректним роєм реєстру Windows.

note: type: verbatim
en:  inspect-get-windows-systemroot root
uk:  inspect-get-windows-systemroot корінь

note: type: textblock
en: This returns the Windows systemroot of the inspected guest.  The systemroot is a directory path such as F</WINDOWS>.
uk: Ця команда повертає системний кореневий каталог інспектованої гостьової системи Windows. Системним кореневим каталогом є шлях, зокрема F</WINDOWS>.

note: type: textblock
en: This call assumes that the guest is Windows and that the systemroot could be determined by inspection.  If this is not the case then an error is returned.
uk: У цій команді припускається, що гостьовою системою є Windows і що її системний кореневий каталог можна визначити засобами інспектування. Якщо ці припущення не справджуються, команда поверне повідомлення про помилку.

note: type: verbatim
en:  inspect-is-live root
uk:  inspect-is-live корінь

note: type: textblock
en: This is deprecated and always returns C<false>.
uk: Ця команда є застарілою і завжди повертає C<false>.

note: type: verbatim
en:  inspect-is-multipart root
uk:  inspect-is-multipart корінь

note: type: verbatim
en:  inspect-is-netinst root
uk:  inspect-is-netinst корінь

note: type: verbatim
en:  inspect-list-applications root
uk:  inspect-list-applications кореневий_каталог

note: type: textblock
en: Return the list of applications installed in the operating system.
uk: Повертає список програм, встановлених у операційній системі.

note: type: textblock
en: I<Note:> This call works differently from other parts of the inspection API.  You have to call L</inspect-os>, then L</inspect-get-mountpoints>, then mount up the disks, before calling this.  Listing applications is a significantly more difficult operation which requires access to the full filesystem.  Also note that unlike the other L</inspect-get-*> calls which are just returning data cached in the libguestfs handle, this call actually reads parts of the mounted filesystems during the call.
uk: I<Зауваження:> ця команда працює інакше за інші частини програмного інтерфейсу інспектування. Вам слід викликати L</inspect-os>, потім L</inspect-get-mountpoints>, потім змонтувати диски, потім викликати цю команду. Побудова списку програм є значно складнішою операцією, яка потребує доступу до усієї файлової системи. Також зауважте, що на відміну від інших команд L</inspect-get-*>, які лише повертають дані, кешовані у дескрипторі libguestfs, ця команда справді читає частини змонтованої файлової системи під час виконання.

note: type: textblock
en: This returns an empty list if the inspection code was not able to determine the list of applications.
uk: Ця команда повертає порожній список, якщо засобу інспектування не вдасться визначити список програм.

note: type: textblock
en: The application structure contains the following fields:
uk: Структура application містить такі поля:

note: type: textblock
en: The name of the application.  For Linux guests, this is the package name.
uk: Назва програми. Для гостьових систем Linux це назва пакунка.

note: type: textblock
en: The display name of the application, sometimes localized to the install language of the guest operating system.
uk: Показана назва програми, іноді локалізована відповідно до мови встановлення гостьової операційної системи.

note: type: textblock
en: If unavailable this is returned as an empty string C<"">.  Callers needing to display something can use C<app_name> instead.
uk: Якщо дані недоступні, команда поверне порожній рядок C<"">. Там, де потрібно щось показати, можна скористатися замість цієї команди командою C<app_name>.

note: type: textblock
en: For package managers which use epochs, this contains the epoch of the package (an integer).  If unavailable, this is returned as C<0>.
uk: Для засобів керування пакунками, у яких використовуються епохи, це поле містить дані щодо епохи пакунка (ціле число). Якщо дані недоступні, буде повернуто значення C<0>.

note: type: textblock
en: The version string of the application or package.  If unavailable this is returned as an empty string C<"">.
uk: Рядок версії програми або пакунка. Якщо такого рядка не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: The release string of the application or package, for package managers that use this.  If unavailable this is returned as an empty string C<"">.
uk: Рядок випуску програми або пакунка у системах пакування, де передбачено підтримку відповідних даних. Якщо такого рядка не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: The installation path of the application (on operating systems such as Windows which use installation paths).  This path is in the format used by the guest operating system, it is not a libguestfs path.
uk: Шлях встановлення програми (у операційних системах, зокрема Windows, де використовуються шляхи встановлення). Цей шлях записується у форматі, який використовується гостьовою операційною системою, а не у форматі шляху libguestfs.

note: type: textblock
en: If unavailable this is returned as an empty string C<"">.
uk: Якщо не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: The install path translated into a libguestfs path.  If unavailable this is returned as an empty string C<"">.
uk: Шлях для встановлення, перетворений у шлях libguestfs. Якщо такого шляху не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: The name of the publisher of the application, for package managers that use this.  If unavailable this is returned as an empty string C<"">.
uk: Назва розповсюджувача програми у системах пакування, де передбачено підтримку відповідних даних. Якщо такої назви не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: The URL (eg. upstream URL) of the application.  If unavailable this is returned as an empty string C<"">.
uk: Адреса (сайта) програми. Якщо такої адреси не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: For packaging systems which support this, the name of the source package.  If unavailable this is returned as an empty string C<"">.
uk: Для систем пакування, де передбачено таку підтримку, назва пакунка із початковим кодом. Якщо такої назви не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: A short (usually one line) description of the application or package.  If unavailable this is returned as an empty string C<"">.
uk: Короткий (зазвичай, у один рядок) опис програми або пакунка. Якщо такого опису не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: A longer description of the application or package.  If unavailable this is returned as an empty string C<"">.
uk: Докладніший опис програми або пакунка. Якщо опис недоступний, замість нього буде повернуто порожній рядок C<"">.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</inspect-list-applications2> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</inspect-list-applications2>.

note: type: verbatim
en:  inspect-list-applications2 root
uk:  inspect-list-applications2 кореневий_каталог

note: type: textblock
en: If unavailable this is returned as an empty string C<"">.  Callers needing to display something can use C<app2_name> instead.
uk: Якщо дані недоступні, команда поверне порожній рядок C<"">. Там, де потрібно щось показати, можна скористатися замість цієї команди командою C<app2_name>.

note: type: textblock
en: The architecture string of the application or package, for package managers that use this.  If unavailable this is returned as an empty string C<"">.
uk: Рядок архітектури програми або пакунка у системах пакування, де передбачено підтримку відповідних даних. Якщо такого рядка не передбачено, буде повернуто порожній рядок C<"">.

note: type: textblock
en: This function uses other libguestfs functions and certain heuristics to inspect the disk(s) (usually disks belonging to a virtual machine), looking for operating systems.
uk: Ця функція використовує інші функції libguestfs та певну евристику для інспектування дисків (зазвичай, диски належать до віртуальної машини) під час пошуку операційних систем.

note: type: textblock
en: The list returned is empty if no operating systems were found.
uk: Список повернутих значень буде порожнім, якщо не буде знайдено жодної операційної системи.

note: type: textblock
en: If one operating system was found, then this returns a list with a single element, which is the name of the root filesystem of this operating system.  It is also possible for this function to return a list containing more than one element, indicating a dual-boot or multi-boot virtual machine, with each element being the root filesystem of one of the operating systems.
uk: Якщо буде знайдено одну операційну систему, команда поверне список із єдиним елементом, який буде назвою кореневої файлової системи цієї операційної системи. Крім того, ця функція може повертати список, що містить декілька елементів, позначаючи таким чином віртуальну машину із подвійним або кратним завантаженням. Кожен з елементів списку буде записом кореневої файлової системи однієї з операційних систем.

note: type: textblock
en: You can pass the root string(s) returned to other L</inspect-get-*> functions in order to query further information about each operating system, such as the name and version.
uk: Ви можете передати повернуті рядки кореневих каталогів іншим функціями L</inspect-get-*>, щоб отримати подальші відомості щодо усіх операційних систем, зокрема назву і версію.

note: type: textblock
en: This function uses other libguestfs features such as L</mount-ro> and L</umount-all> in order to mount and unmount filesystems and look at the contents.  This should be called with no disks currently mounted.  The function may also use Augeas, so any existing Augeas handle will be closed.
uk: Ця функція використовує інші можливості libguestfs, зокрема L</mount-ro> і L</umount-all>, щоб монтувати і демонтовувати файлові системи і переглядати їхній вміст. Її слід викликати до того, як буде змонтовано диски. Ця функція також може використовувати Augeas, отже усі наявні дескриптори Augeas буде закрито.

note: type: textblock
en: This function cannot decrypt encrypted disks.  The caller must do that first (supplying the necessary keys) if the disk is encrypted.
uk: Ця функція не може розшифровувати зашифровані диски. Якщо диск зашифровано, про його розшифровування має подбати (надати відповідні ключі) функція виклику.

note: type: textblock
en: See also L</list-filesystems>.
uk: Див. також L</list-filesystems>.

note: type: verbatim
en:  is-blockdev path [followsymlinks:true|false]
uk:  is-blockdev шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a block device with the given C<path> name.
uk: Повертає C<true> і лише тоді, якщо існує блоковий пристрій із вказаною назвою C<шлях>.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a block device also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується блоковим пристроєм.

note: type: textblock
en: This call only looks at files within the guest filesystem.  Libguestfs partitions and block devices (eg. F</dev/sda>) cannot be used as the C<path> parameter of this call.
uk: Ця команда лише шукає файли у файловій системі гостьової системи. У цій команді як параметр C<шлях> не можна використовувати розділи і блокові пристрої libguestfs (наприклад F</dev/sda>).

note: type: textblock
en: See also L</stat>.
uk: Див. також L</stat>.

note: type: verbatim
en:  is-chardev path [followsymlinks:true|false]
uk:  is-chardev шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a character device with the given C<path> name.
uk: Повертає C<true> і лише тоді, якщо існує символьний пристрій із вказаною назвою C<шлях>.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a chardev also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується символьним пристроєм.

note: type: textblock
en: This returns true iff this handle is being configured (in the C<CONFIG> state).
uk: Повертає true тоді і лише тоді, коли налаштовується цей дескриптор (у стані C<CONFIG>).

note: type: textblock
en: For more information on states, see L<guestfs(3)>.
uk: Докладніший опис станів наведено у підручнику з L<guestfs(3)>.

note: type: verbatim
en:  is-dir path [followsymlinks:true|false]
uk:  is-dir шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a directory with the given C<path> name.  Note that it returns false for other objects like files.
uk: Повертає C<true> і лише тоді, якщо існує каталог із вказаною назвою C<шлях>. Зауважте, що команда повертає false для усіх інших об'єктів, зокрема файлів.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a directory also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується каталогом.

note: type: verbatim
en:  is-fifo path [followsymlinks:true|false]
uk:  is-fifo шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a FIFO (named pipe)  with the given C<path> name.
uk: Повертає C<true> і лише тоді, якщо існує FIFO (іменований канал) із вказаною назвою C<шлях>.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a FIFO also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується FIFO.

note: type: verbatim
en:  is-file path [followsymlinks:true|false]
uk:  is-file шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a regular file with the given C<path> name.  Note that it returns false for other objects like directories.
uk: Повертає C<true> і лише тоді, якщо існує звичайний файл із вказаною назвою C<шлях>. Зауважте, що команда повертає false для усіх інших об'єктів, зокрема каталогів.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a file also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується файлом.

note: type: verbatim
en:  is-lv mountable
uk:  is-lv монтування

note: type: textblock
en: This command tests whether C<mountable> is a logical volume, and returns true iff this is the case.
uk: Ця команда перевіряє, чи є C<монтування> логічним томом, і повертає true тоді і лише тоді, коли це так.

note: type: verbatim
en:  is-socket path [followsymlinks:true|false]
uk:  is-socket шлях [followsymlinks:true|false]

note: type: textblock
en: This returns C<true> if and only if there is a Unix domain socket with the given C<path> name.
uk: Повертає C<true> і лише тоді, якщо існує сокет домену UNIX із вказаною назвою C<шлях>.

note: type: textblock
en: If the optional flag C<followsymlinks> is true, then a symlink (or chain of symlinks) that ends with a socket also causes the function to return true.
uk: Якщо додатковий прапорець C<followsymlinks> має значення true, функція поверне true, якщо існує символічне посилання (або ланцюжок символічних посилань), який завершується сокетом.

note: type: verbatim
en:  is-symlink path
uk:  is-symlink шлях

note: type: textblock
en: This returns C<true> if and only if there is a symbolic link with the given C<path> name.
uk: Повертає C<true> і лише тоді, якщо існує символічне посилання із вказаною назвою C<шлях>.

note: type: verbatim
en:  is-whole-device device
uk:  is-whole-device пристрій

note: type: textblock
en: This returns C<true> if and only if C<device> refers to a whole block device. That is, not a partition or a logical device.
uk: Ця команда повертає C<true> тоді і лише тоді, коли C<пристрій> стосується повного блокового пристрою, тобто не розділу і не логічного пристрою.

note: type: verbatim
en:  is-zero path
uk:  is-zero шлях

note: type: textblock
en: This returns true iff the file exists and the file is empty or it contains all zero bytes.
uk: Повертає true тоді і лише тоді, коли файл існує і є порожнім або містить лише нульові байти.

note: type: verbatim
en:  is-zero-device device
uk:  is-zero-device пристрій

note: type: textblock
en: This returns true iff the device exists and contains all zero bytes.
uk: Повертає true тоді і лише тоді, коли пристрій існує і містить лише нульові байти.

note: type: textblock
en: Note that for large devices this can take a long time to run.
uk: Зауважте, що на пристроях великого об'єму виконання цієї програми може бути досить тривалим.

note: type: verbatim
en:  isoinfo isofile
uk:  isoinfo файл_образу_iso

note: type: textblock
en: This is the same as L</isoinfo-device> except that it works for an ISO file located inside some other mounted filesystem.  Note that in the common case where you have added an ISO file as a libguestfs device, you would I<not> call this.  Instead you would call L</isoinfo-device>.
uk: Це те саме, що і L</isoinfo-device>, але працює для файла ISO, розташованого всередині якоїсь іншої змонтованої файлової системи. Зауважте, що у типовому випадку, коли ви додали файл ISO як пристрій libguestfs, вам I<не> слід викликати цю команду. Замість цього, слід викликати L</isoinfo-device>.

note: type: verbatim
en:  isoinfo-device device
uk:  isoinfo-device пристрій

note: type: textblock
en: C<device> is an ISO device.  This returns a struct of information read from the primary volume descriptor (the ISO equivalent of the superblock) of the device.
uk: C<пристрій> є пристроєм ISO. Ця команда повертає структуру даних, прочитану з дескриптора основного тому (еквівалента суперблоку у ISO) вказаного пристрою.

note: type: textblock
en: Usually it is more efficient to use the L<isoinfo(1)> command with the I<-d> option on the host to analyze ISO files, instead of going through libguestfs.
uk: Зазвичай, ефективніше скористатися командою L<isoinfo(1)> з параметром I<-d> у основній системі для аналізу файлів ISO, а не використовувати засоби libguestfs.

note: type: textblock
en: For information on the primary volume descriptor fields, see L<https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor>
uk: Відомості щодо полів дескриптора основного тому можна отримати тут: L<https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor>

note: type: textblock
en: Close the journal handle.
uk: Завершити роботу обробника журналу.

note: type: textblock
en: This command depends on the feature C<journal>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<journal>. Див. також L</feature-available>.

note: type: textblock
en: Read the current journal entry.  This returns all the fields in the journal as a set of C<(attrname, attrval)> pairs.  The C<attrname> is the field name (a string).
uk: Читає поточний запис журналу. Команда повертає усі поля у журналі як набір пар значень C<(назва_атрибута, значення_атрибута)>. Значенням C<назва_атрибута> є назва поля (рядок).

note: type: textblock
en: The C<attrval> is the field value (a binary blob, often but not always a string).  Please note that C<attrval> is a byte array, I<not> a \0-terminated C string.
uk: Значенням C<значення_атрибута> є значення поля (двійковий набір даних, часто, але не завжди, рядок). Будь ласка, зауважте, що C<значення_атрибута> є масивом байтів, а I<не> рядком C, який завершується символом \0.

note: type: textblock
en: The length of data may be truncated to the data threshold (see: L</journal-set-data-threshold>, L</journal-get-data-threshold>).
uk: Дані може бути обрізано за пороговою довжиною (див. L</journal-set-data-threshold>, L</journal-get-data-threshold>).

note: type: textblock
en: If you set the data threshold to unlimited (C<0>) then this call can read a journal entry of any size, ie. it is not limited by the libguestfs protocol.
uk: Якщо ви не обмежуєте порогове значення даних (C<0>), ця команда може прочитати запис журналу довільного розміру, тобто розмір не обмежуватиметься протоколом libguestfs.

note: type: textblock
en: Get the current data threshold for reading journal entries.  This is a hint to the journal that it may truncate data fields to this size when reading them (note also that it may not truncate them).  If this returns C<0>, then the threshold is unlimited.
uk: Отримує поточне значення порогу даних для читання записів журналу. Це значення є підказкою журналу щодо того, що засіб журналювання може обрізати поля даних до цього розміру під час читання (зауважте також, що засіб журналювання може і не обрізати їх). Якщо команда повертає C<0>, порогове обмеження не встановлено.

note: type: textblock
en: See also L</journal-set-data-threshold>.
uk: Див. також L</journal-set-data-threshold>.

note: type: textblock
en: Get the realtime (wallclock) timestamp of the current journal entry.
uk: Отримує поточну часову позначку (за годинником системи) поточного запису журналу.

note: type: textblock
en: Move to the next journal entry.  You have to call this at least once after opening the handle before you are able to read data.
uk: Переводить до наступного запису журналу. Вам слід викликати цю команду принаймні один раз, одразу після відкриття дескриптора, перш ніж ви зможете читати дані.

note: type: textblock
en: The returned boolean tells you if there are any more journal records to read.  C<true> means you can read the next record (eg. using L</journal-get>), and C<false> means you have reached the end of the journal.
uk: Ця команда повертає булеве значення, яке повідомляє вам, чи існують ще записи журналу для читання. Значення C<true> означає, що ви можете прочитати наступний запис (наприклад, за допомогою L</journal-get>), а значення C<false> означає, що досягнуто кінця журналу.

note: type: verbatim
en:  journal-open directory
uk:  journal-open каталог

note: type: textblock
en: Open the systemd journal located in F<directory>.  Any previously opened journal handle is closed.
uk: Відкриває журналу systemd, який зберігається у каталозі F<каталог>. Усі раніше відкриті дескриптори журналу при цьому буде закрито.

note: type: textblock
en: The contents of the journal can be read using L</journal-next> and L</journal-get>.
uk: Вміст журналу можна прочитати за допомогою L</journal-next> і L</journal-get>.

note: type: textblock
en: After you have finished using the journal, you should close the handle by calling L</journal-close>.
uk: Після завершення використання журналу вам слід закрити дескриптор викликом L</journal-close>.

note: type: verbatim
en:  journal-set-data-threshold threshold
uk:  journal-set-data-threshold порогове_значення

note: type: textblock
en: Set the data threshold for reading journal entries.  This is a hint to the journal that it may truncate data fields to this size when reading them (note also that it may not truncate them).  If you set this to C<0>, then the threshold is unlimited.
uk: Встановлює значення порогу даних для читання записів журналу. Це значення є підказкою журналу щодо того, що засіб журналювання може обрізати поля даних до цього розміру під час читання (зауважте також, що засіб журналювання може і не обрізати їх). Якщо ви встановите значення C<0>, порогове обмеження застосовано не буде.

note: type: textblock
en: See also L</journal-get-data-threshold>.
uk: Див. також L</journal-get-data-threshold>.

note: type: verbatim
en:  journal-skip skip
uk:  journal-skip пропуск

note: type: textblock
en: Skip forwards (C<skip E<ge> 0>) or backwards (C<skip E<lt> 0>) in the journal.
uk: Прокручування записів журналу вперед (C<пропуск E<ge> 0>) або назад (C<пропуск E<lt> 0>).

note: type: textblock
en: The number of entries actually skipped is returned (note S<C<rskip E<ge> 0>>).  If this is not the same as the absolute value of the skip parameter (C<|skip|>) you passed in then it means you have reached the end or the start of the journal.
uk: Команда повертає кількість записів, на яку насправді вдалося просунутися (зауважте, що S<C<rskip E<ge> 0>>). Якщо повернуте значення не дорівнює пропуску за модулем (C<|пропуск|>), ви досягли кінця або початку журналу.

note: type: textblock
en: This kills the hypervisor.
uk: Ця команда завершує роботу гіпервізору.

note: type: textblock
en: Do not call this.  See: L</shutdown> instead.
uk: Не виконуйте цього виклику, краще скористайтеся L</shutdown>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</shutdown> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</shutdown>.

note: type: textblock
en: You should call this after configuring the handle (eg. adding drives) but before performing any actions.
uk: Вам слід викликати цю команду після налаштовування дескриптора (наприклад, після додавання дисків), але перед виконанням із ним будь-яких інших дій.

note: type: textblock
en: Do not call L</launch> twice on the same handle.  Although it will not give an error (for historical reasons), the precise behaviour when you do this is not well defined.  Handles are very cheap to create, so create a new one for each launch.
uk: Не викликайте L</launch> двічі для одного і того самого дескриптора. Хоча такий виклик і не призведе до помилки (з історичних причин), точну поведінку бібліотеки у цьому випадку не визначено. Дескриптори є доволі невибагливими до ресурсів об'єктами, тому варто створювати окремий новий дескриптор для кожного запуску.

note: type: verbatim
en:  lchown owner group path
uk:  lchown власник група шлях

note: type: textblock
en: Change the file owner to C<owner> and group to C<group>.  This is like L</chown> but if C<path> is a symlink then the link itself is changed, not the target.
uk: Змінює власника файла на C<власник> і групу на C<група>. Команда подібна до L</chown>, але якщо C<шлях> є символічним посиланням, буде змінено параметри самого посилання, а не файла чи каталогу, на яке воно вказує.

note: type: textblock
en: This function scans all block devices looking for Windows dynamic disk volumes and partitions, and creates devices for any that were found.
uk: Ця функція сканує усі блокові пристрої, шукаючи динамічні томи дисків і розділи, а потім створює пристрої для усіх знайдених записів.

note: type: textblock
en: Call L</list-ldm-volumes> and L</list-ldm-partitions> to return all devices.
uk: Викликати L</list-ldm-volumes>і L</list-ldm-partitions> для повернення списку усіх пристроїв.

note: type: textblock
en: Note that you B<don't> normally need to call this explicitly, since it is done automatically at L</launch> time.  However you might want to call this function if you have hotplugged disks or have just created a Windows dynamic disk.
uk: Зауважте, що зазвичай вам B<не> потрібно викликати цю команду явним чином, оскільки вона виконується автоматично під час виконання L</launch>. Втім, може виникнути потреба у виклику цієї функції, якщо ви з'єднували диски у «гарячому» режимі або щойно створили динамічний диск Windows.

note: type: textblock
en: This command depends on the feature C<ldm>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<ldm>. Див. також L</feature-available>.

note: type: verbatim
en:  ldmtool-diskgroup-disks diskgroup
uk:  ldmtool-diskgroup-disks група_дисків

note: type: textblock
en: Return the disks in a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by L</ldmtool-scan>.
uk: Повертає диски у групі динамічних дисків Windows. Значенням параметра C<група_дисків> має бути GUID групи дисків, одним із елементів списку, який повертає L</ldmtool-scan>.

note: type: verbatim
en:  ldmtool-diskgroup-name diskgroup
uk:  ldmtool-diskgroup-name група_дисків

note: type: textblock
en: Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by L</ldmtool-scan>.
uk: Повертає назву групи динамічних дисків Windows. Значенням параметра C<група_дисків> має бути GUID групи дисків, одним із елементів списку, який повертає L</ldmtool-scan>.

note: type: verbatim
en:  ldmtool-diskgroup-volumes diskgroup
uk:  ldmtool-diskgroup-volumes група_дисків

note: type: textblock
en: Return the volumes in a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by L</ldmtool-scan>.
uk: Повертає томи у групі динамічних дисків Windows. Значенням параметра C<група_дисків> має бути GUID групи дисків, одним із елементів списку, який повертає L</ldmtool-scan>.

note: type: textblock
en: This is essentially the opposite of L</ldmtool-create-all>.  It removes the device mapper mappings for all Windows dynamic disk volumes
uk: Загалом, ця функція є оберненою до L</ldmtool-create-all>. Вона вилучає прив'язки пристроїв для усіх томів динамічних дисків Windows.

note: type: textblock
en: This function scans for Windows dynamic disks.  It returns a list of identifiers (GUIDs) for all disk groups that were found.  These identifiers can be passed to other L</ldmtool-*> functions.
uk: Ця функція шукає динамічні диски Windows. Вона повертає список ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці ідентифікатори можна передавати іншим функціям L</ldmtool-*>.

note: type: textblock
en: This function scans all block devices.  To scan a subset of block devices, call L</ldmtool-scan-devices> instead.
uk: Ця функція сканує усі блокові пристрої. Щоб виконати сканування якоїсь підмножини блокових пристроїв, скористайтеся функцією L</ldmtool-scan-devices>.

note: type: verbatim
en:  ldmtool-scan-devices 'devices ...'
uk:  ldmtool-scan-devices 'пристрої...'

note: type: textblock
en: The parameter C<devices> is a list of block devices which are scanned.  If this list is empty, all block devices are scanned.
uk: Параметр C<пристрої> є списком блокових пристроїв, на яких слід виконати пошук. Якщо список є порожнім, буде виконано сканування усіх блокових пристроїв.

note: type: verbatim
en:  ldmtool-volume-hint diskgroup volume
uk:  ldmtool-volume-hint група_дисків том

note: type: textblock
en: Return the hint field of the volume named C<volume> in the disk group with GUID C<diskgroup>.  This may not be defined, in which case the empty string is returned.  The hint field is often, though not always, the name of a Windows drive, eg. C<E:>.
uk: Повертає поле підказки для тому із назвою C<том> у групі дисків із GUID C<група_дисків>. Таку підказку може бути не визначено. Якщо підказку не визначено, команда поверне порожній рядок. У полі підказки часто, але не завжди, міститься назва диска у Windows, наприклад C<E:>.

note: type: verbatim
en:  ldmtool-volume-partitions diskgroup volume
uk:  ldmtool-volume-partitions група_дисків том

note: type: textblock
en: Return the list of partitions in the volume named C<volume> in the disk group with GUID C<diskgroup>.
uk: Повертає список розділів на томі із назвою C<том> у групі дисків із GUID C<група_дисків>.

note: type: verbatim
en:  ldmtool-volume-type diskgroup volume
uk:  ldmtool-volume-type група_дисків том

note: type: textblock
en: Return the type of the volume named C<volume> in the disk group with GUID C<diskgroup>.
uk: Повертає тип тому із назвою C<том> у групі дисків із GUID C<група_дисків>.

note: type: textblock
en: Possible volume types that can be returned here include: C<simple>, C<spanned>, C<striped>, C<mirrored>, C<raid5>.  Other types may also be returned.
uk: Можливими типами томів, які повертає ця команда є такі: C<simple>, C<spanned>, C<striped>, C<mirrored>, C<raid5>. Також може бути повернуто інші типи.

note: type: verbatim
en:  lgetxattr path name
uk:  lgetxattr шлях назва

note: type: textblock
en: Get a single extended attribute from file C<path> named C<name>.  If C<path> is a symlink, then this call returns an extended attribute from the symlink.
uk: Отримати окремий розширений атрибут з файла C<шлях> за назвою C<назва>. Якщо C<шлях> є символічним посиланням, ця команда поверне розширений атрибут з символічного посилання.

note: type: textblock
en: See also: L</lgetxattrs>, L</getxattr>, L<attr(5)>.
uk: Див. також L</lgetxattrs>, L</getxattr>, L<attr(5)>.

note: type: verbatim
en:  lgetxattrs path
uk:  lgetxattrs шлях

note: type: textblock
en: This is the same as L</getxattrs>, but if C<path> is a symbolic link, then it returns the extended attributes of the link itself.
uk: Те саме, що і L</getxattrs>, але якщо C<шлях> є символічним посиланням, повертає розширені атрибути самого символічного посилання.

note: type: textblock
en: List all 9p filesystems attached to the guest.  A list of mount tags is returned.
uk: Виводить список усіх файлових систем 9p, з'єднаних із гостьовою системою. Повертає список теґів монтування.

note: type: textblock
en: List all the block devices.
uk: Вивести список усіх блокових пристроїв.

note: type: textblock
en: The full block device names are returned, eg. F</dev/sda>.
uk: Буде повернуто повні назви блокових пристроїв, наприклад F</dev/sda>.

note: type: textblock
en: If you add drives using the optional C<label> parameter of L</add-drive-opts>, you can use this call to map between disk labels, and raw block device and partition names (like F</dev/sda> and F</dev/sda1>).
uk: Якщо ви додаєте диски з використанням необов'язкового параметра C<мітка> команди L</add-drive-opts>, ви можете скористатися цією командою для прив'язування міток до простих блокових пристроїв та назв розділів (наприклад F</dev/sda> та F</dev/sda1>).

note: type: textblock
en: This returns a hashtable, where keys are the disk labels (I<without> the F</dev/disk/guestfs> prefix), and the values are the full raw block device and partition names (eg. F</dev/sda> and F</dev/sda1>).
uk: Ця команда повертає таблицю хешів, у якій ключами є мітки дисків (I<без> префіксів F</dev/disk/guestfs>), а значеннями є повні назви простих блокових пристроїв та розділів (наприклад F</dev/sda> і F</dev/sda1>).

note: type: textblock
en: List all device mapper devices.
uk: Виводить список усіх пристроїв засобу прив'язування пристроїв.

note: type: textblock
en: The returned list contains F</dev/mapper/*> devices, eg. ones created by a previous call to L</luks-open>.
uk: У повернутому списку міститимуться пристрої F</dev/mapper/*>, наприклад, пристрої, створені попереднім викликом L</luks-open>.

note: type: textblock
en: Device mapper devices which correspond to logical volumes are I<not> returned in this list.  Call L</lvs> if you want to list logical volumes.
uk: Пристрої засобу прив'язування пристроїв, які відповідають логічним томам I<не> буде включено до повернутого списку. Якщо вам потрібен список логічних томів, скористайтеся командою L</lvs>.

note: type: textblock
en: This inspection command looks for filesystems on partitions, block devices and logical volumes, returning a list of C<mountables> containing filesystems and their type.
uk: Ця команда засобу інспектування шукає усі файлові системи на розділах, блокових пристроях та логічних томах і повертає список C<монтувань>, де містяться дані щодо файлових систем та їхнього типу.

note: type: textblock
en: The return value is a hash, where the keys are the devices containing filesystems, and the values are the filesystem types.  For example:
uk: Повернуте значення є хешем, де ключами є пристрої, на яких містяться файлові системи, а значеннями є типи файлових систем. Приклад:

note: type: textblock
en: The key is not necessarily a block device. It may also be an opaque ‘mountable’ string which can be passed to L</mount>.
uk: Ключем не обов'язково є блоковий пристрій. Ним також може бути не зовсім прозорий рядок «mountable», який можна передавати L</mount>.

note: type: textblock
en: The value can have the special value "unknown", meaning the content of the device is undetermined or empty.  "swap" means a Linux swap partition.
uk: Значенням може бути особливий рядок «unknown», який означає, що вміст пристрою не вдалося визначити або пристрій є порожнім. Рядок «swap» означає розділ резервної пам'яті Linux.

note: type: textblock
en: In libguestfs E<le> 1.36 this command ran other libguestfs commands, which might have included L</mount> and L</umount>, and therefore you had to use this soon after launch and only when nothing else was mounted.  This restriction is removed in libguestfs E<ge> 1.38.
uk: У libguestfs E<le> 1.36 ця команда запускає інші команди libguestfs, серед яких можуть бути команди L</mount> і L</umount>. Тому її слід віддавати поближче до launch і лише тоді, коли ще нічого не змонтовано. Це обмеження було усунено у libguestfs E<ge> 1.38.

note: type: textblock
en: Not all of the filesystems returned will be mountable.  In particular, swap partitions are returned in the list.  Also this command does not check that each filesystem found is valid and mountable, and some filesystems might be mountable but require special options.  Filesystems may not all belong to a single logical operating system (use L</inspect-os> to look for OSes).
uk: Не усі файлові системи із повернутого списку є придатними до монтування. Зокрема, у списку можуть бути розділи резервної пам'яті. Крім того, ця команда не перевіряє, чи є кожна зі знайдених файлових систем коректною і придатною до монтування. Деякі із систем можуть бути придатними до монтування, але потребувати спеціальних параметрів. Файлові системи можуть належати різним логічним операційними системами (для пошуку операційних систем скористайтеся командою L</inspect-os>).

note: type: textblock
en: This function returns all Windows dynamic disk partitions that were found at launch time.  It returns a list of device names.
uk: Ця функція повертає усі розділи динамічних дисків Windows, які було знайдено на час запуску. Повернутим значенням є список назв пристроїв.

note: type: textblock
en: This function returns all Windows dynamic disk volumes that were found at launch time.  It returns a list of device names.
uk: Ця функція повертає усі томи динамічних дисків Windows, які було знайдено на час запуску. Повернутим значенням є список назв пристроїв.

note: type: textblock
en: List all Linux md devices.
uk: Вивести список усіх пристроїв md у Linux.

note: type: textblock
en: List all the partitions detected on all block devices.
uk: Вивести усі розділи, визначені як блокові пристрої.

note: type: textblock
en: The full partition device names are returned, eg. F</dev/sda1>
uk: Буде повернуто назви пристроїв розділів повністю, наприклад F</dev/sda1>

note: type: textblock
en: This does not return logical volumes.  For that you will need to call L</lvs>.
uk: Не повертає логічних томів. Для логічних томів слід викликати L</lvs>.

note: type: verbatim
en:  ll directory
uk:  ll каталог

note: type: textblock
en: List the files in F<directory> (relative to the root directory, there is no cwd) in the format of C<ls -la>.
uk: Виводить список файлів у каталозі F<каталог> (відносно кореневого каталогу, немає поточного робочого каталогу) у форматі команди C<ls -la>.

note: type: textblock
en: This command is mostly useful for interactive sessions.  It is I<not> intended that you try to parse the output string.
uk: Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не> призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок.

note: type: verbatim
en:  llz directory
uk:  llz каталог

note: type: textblock
en: List the files in F<directory> in the format of C<ls -laZ>.
uk: Виводить список файлів у каталозі F<каталог> у форматі команди C<ls -laZ>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</lgetxattrs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</lgetxattrs>.

note: type: verbatim
en:  ln target linkname
uk:  ln призначення назва_посилання

note: type: textblock
en: This command creates a hard link.
uk: Ця команда створює жорстке посилання.

note: type: verbatim
en:  ln-f target linkname
uk:  ln-f призначення назва_посилання

note: type: textblock
en: This command creates a hard link, removing the link C<linkname> if it exists already.
uk: Ця команда створює жорстке посилання, вилучаючи посилання C<linkname>, якщо воно вже існує.

note: type: verbatim
en:  ln-s target linkname
uk:  ln-s призначення назва_посилання

note: type: textblock
en: This command creates a symbolic link using the C<ln -s> command.
uk: Ця команда створює символічне посилання за допомогою команди C<ln -s>.

note: type: verbatim
en:  ln-sf target linkname
uk:  ln-sf призначення назва_посилання

note: type: textblock
en: This command creates a symbolic link using the C<ln -sf> command, The I<-f> option removes the link (C<linkname>) if it exists already.
uk: Ця команда створює символічне посилання за допомогою команди C<ln -sf>. Наявність параметра I<-f> вилучає посилання (C<назва_посилання>), якщо таке вже існує.

note: type: verbatim
en:  lremovexattr xattr path
uk:  lremovexattr xattr шлях

note: type: textblock
en: This is the same as L</removexattr>, but if C<path> is a symbolic link, then it removes an extended attribute of the link itself.
uk: Те саме, що і L</removexattr>, але якщо C<шлях> є символічним посиланням, вилучає розширені атрибути самого символічного посилання.

note: type: verbatim
en:  ls directory
uk:  ls каталог

note: type: textblock
en: List the files in F<directory> (relative to the root directory, there is no cwd).  The C<.> and C<..> entries are not returned, but hidden files are shown.
uk: Виводить список файлів у каталозі F<каталог> (відносно кореневого каталогу, немає поточного робочого каталогу). Записи C<.> та C<..> повернуто не буде, але приховані файли буде показано.

note: type: verbatim
en:  ls0 dir (filenames|-)
uk:  ls0 каталог (назви файлів|-)

note: type: textblock
en: This specialized command is used to get a listing of the filenames in the directory C<dir>.  The list of filenames is written to the local file F<filenames> (on the host).
uk: Цю спеціалізовану команду використовують для отримання списку назв файлів у каталозі C<каталог>. Список назв файлів буде записано до локального файла F<назви_файлів> (у основній системі).

note: type: textblock
en: In the output file, the filenames are separated by C<\0> characters.
uk: У файлі результатів обробки назви файлів буде відокремлено символами C<\0>.

note: type: textblock
en: C<.> and C<..> are not returned.  The filenames are not sorted.
uk: Серед записів результатів не буде C<.> і C<..>. Назви файлів не упорядковуватимуться.

note: type: verbatim
en:  lsetxattr xattr val vallen path
uk:  lsetxattr розширений_атрибут значення довжина_значення шлях

note: type: textblock
en: This is the same as L</setxattr>, but if C<path> is a symbolic link, then it sets an extended attribute of the link itself.
uk: Те саме, що і L</setxattr>, але якщо C<шлях> є символічним посиланням, встановлює розширений атрибут самого символічного посилання.

note: type: verbatim
en:  lstat path
uk:  lstat шлях

note: type: textblock
en: Returns file information for the given C<path>.
uk: Повертає дані щодо файла за вказаним шляхом C<шлях>.

note: type: textblock
en: This is the same as L</stat> except that if C<path> is a symbolic link, then the link is stat-ed, not the file it refers to.
uk: Те саме, що і L</stat>, але якщо C<шлях> є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається.

note: type: textblock
en: This is the same as the L<lstat(2)> system call.
uk: Це те саме, що системний виклик L<lstat(2)>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</lstatns> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</lstatns>.

note: type: verbatim
en:  lstatlist path 'names ...'
uk:  lstatlist шлях 'назви ...'

note: type: textblock
en: This call allows you to perform the L</lstat> operation on multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу виконувати дію L</lstat> над декількома файлами, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список файлів у цьому каталозі.

note: type: textblock
en: On return you get a list of stat structs, with a one-to-one correspondence to the C<names> list.  If any name did not exist or could not be lstat'd, then the C<st_ino> field of that structure is set to C<-1>.
uk: Команда повертає список структур статистичних даних із однозначною відповідністю до списку C<назви>. Якщо якоїсь із назв не існує або для якоїсь із назв не вдасться зібрати статистичні дані, для поля C<st_ino> структури буде встановлено значення C<-1>.

note: type: textblock
en: This call is intended for programs that want to efficiently list a directory contents without making many round-trips.  See also L</lxattrlist> for a similarly efficient call for getting extended attributes.
uk: Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також L</lxattrlist>, якщо потрібний подібний ефективний підхід для отримання розширених атрибутів.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</lstatnslist> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</lstatnslist>.

note: type: verbatim
en:  lstatns path
uk:  lstatns шлях

note: type: textblock
en: This is the same as L</statns> except that if C<path> is a symbolic link, then the link is stat-ed, not the file it refers to.
uk: Те саме, що і L</statns>, але якщо C<шлях> є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається.

note: type: verbatim
en:  lstatnslist path 'names ...'
uk:  lstatnslist шлях 'назви ...'

note: type: textblock
en: This call allows you to perform the L</lstatns> operation on multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу виконувати дію L</lstatns> над декількома файлами, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список файлів у цьому каталозі.

note: type: verbatim
en:  luks-add-key device keyslot
uk:  luks-add-key пристрій слот_ключів

note: type: textblock
en: This command adds a new key on LUKS device C<device>.  C<key> is any existing key, and is used to access the device.  C<newkey> is the new key to add.  C<keyslot> is the key slot that will be replaced.
uk: Ця команда додає новий ключ на пристрій LUKS C<пристрій>. Ключем C<ключ> є будь-який наявний ключ, його буде використано для доступу до пристрою. Значенням параметра C<новий_ключ> є новий ключ, який слід додати. Значенням параметра C<слот_ключів> є слот ключів, який має бути замінено.

note: type: textblock
en: Note that if C<keyslot> already contains a key, then this command will fail.  You have to use L</luks-kill-slot> first to remove that key.
uk: Зауважте, що якщо у слоті C<слот_ключів> вже міститься ключ, успішно виконати цю команду не вдасться. Вам доведеться спочатку скористатися командою L</luks-kill-slot> для вилучення наявного ключа.

note: type: textblock
en: This command has one or more key or passphrase parameters.  Guestfish will prompt for these separately.
uk: Для виконання цієї команди потрібні будуть один або декілька параметрів ключів або паролів. Guestfish надсилатиме запит щодо цих параметрів окремо.

note: type: textblock
en: This command depends on the feature C<luks>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<luks>. Див. також L</feature-available>.

note: type: verbatim
en:  luks-close device
uk:  luks-close пристрій

note: type: textblock
en: This closes a LUKS device that was created earlier by L</luks-open> or L</luks-open-ro>.  The C<device> parameter must be the name of the LUKS mapping device (ie. F</dev/mapper/mapname>) and I<not> the name of the underlying block device.
uk: Ця команда закриває пристрій LUKS, який раніше було створено за допомогою L</luks-open> або L</luks-open-ro>. Значенням параметра C<пристрій> має бути назва пристрою прив'язки LUKS (тобто F</dev/mapper/назва_прив'язки>), а I<не> назва підлеглого блокового пристрою.

note: type: verbatim
en:  luks-format device keyslot
uk:  luks-format пристрій слот_ключів

note: type: textblock
en: This command erases existing data on C<device> and formats the device as a LUKS encrypted device.  C<key> is the initial key, which is added to key slot C<keyslot>.  (LUKS supports 8 key slots, numbered 0-7).
uk: Ця команда витирає наявні дані на пристрої C<пристрій> і форматує пристрій як зашифрований пристрій LUKS. Значенням параметра C<ключ> є початковий ключ, який додається до слоту ключів C<слот>. (У LUKS передбачено підтримку 8 слотів ключів, пронумерованих 0-7).

note: type: verbatim
en:  luks-format-cipher device keyslot cipher
uk:  luks-format-cipher пристрій слот_ключів шифрування

note: type: textblock
en: This command is the same as L</luks-format> but it also allows you to set the C<cipher> used.
uk: Ця команда виконує ті самі дії, що і L</luks-format>, але, крім того, надає вам змогу вказати використане C<шифрування>.

note: type: verbatim
en:  luks-kill-slot device keyslot
uk:  luks-kill-slot пристрій слот_ключів

note: type: textblock
en: This command deletes the key in key slot C<keyslot> from the encrypted LUKS device C<device>.  C<key> must be one of the I<other> keys.
uk: Ця команда вилучає ключ у слоті ключів C<слот_ключів> із зашифрованого пристрою LUKS C<пристрій>. Значенням параметра C<ключ> має бути один з I<інших> ключів.

note: type: verbatim
en:  luks-open device mapname
uk:  luks-open пристрій назва_прив'язки

note: type: textblock
en: This command opens a block device which has been encrypted according to the Linux Unified Key Setup (LUKS) standard.
uk: Ця команда відкриває блоковий пристрій, який було зашифровано відповідно до стандарту Linux Unified Key Setup (LUKS).

note: type: textblock
en: C<device> is the encrypted block device or partition.
uk: C<пристрій> — шифрований блоковий пристрій або розділ.

note: type: textblock
en: The caller must supply one of the keys associated with the LUKS block device, in the C<key> parameter.
uk: Засіб виклику має надати один з ключів, пов'язаних із блоковим пристроєм LUKS, у параметрі C<ключ>.

note: type: textblock
en: This creates a new block device called F</dev/mapper/mapname>.  Reads and writes to this block device are decrypted from and encrypted to the underlying C<device> respectively.
uk: Ця команда створює блоковий пристрій із назвою F</dev/mapper/назва_прив'язки>. Читання та запис на цій блоковий пристрій відбувається із розшифровуванням та шифруванням на підлеглому пристрої C<пристрій>.

note: type: textblock
en: If this block device contains LVM volume groups, then calling L</lvm-scan> with the C<activate> parameter C<true> will make them visible.
uk: Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх можна зробити за допомогою виклику L</lvm-scan> зі значенням параметра C<activate> рівним C<true>.

note: type: textblock
en: Use L</list-dm-devices> to list all device mapper devices.
uk: Скористайтеся командою L</list-dm-devices>, щоб отримати список усіх пристроїв засобу прив'язування пристроїв.

note: type: verbatim
en:  luks-open-ro device mapname
uk:  luks-open-ro пристрій назва_прив'язки

note: type: textblock
en: This is the same as L</luks-open> except that a read-only mapping is created.
uk: Виконує ті самі дії, що і L</luks-open>, але зі створенням прив'язки, яка придатна лише для читання даних.

note: type: verbatim
en:  luks-uuid device
uk:  luks-uuid пристрій

note: type: textblock
en: This returns the UUID of the LUKS device C<device>.
uk: Повертає UUID пристрою LUKS C<пристрій>.

note: type: verbatim
en:  lvcreate logvol volgroup mbytes
uk:  lvcreate логічний_том група_томів мегабайти

note: type: textblock
en: This creates an LVM logical volume called C<logvol> on the volume group C<volgroup>, with C<size> megabytes.
uk: Ця команда створює логічний том LVM із назвою C<логічний_том> у групі томів C<група_томів> із розміром C<мегабайти> мегабайтів.

note: type: textblock
en: This command depends on the feature C<lvm2>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<lvm2>. Див. також L</feature-available>.

note: type: verbatim
en:  lvcreate-free logvol volgroup percent
uk:  lvcreate-free логічний_том група_томів відсотки

note: type: textblock
en: Create an LVM logical volume called F</dev/volgroup/logvol>, using approximately C<percent> % of the free space remaining in the volume group.  Most usefully, when C<percent> is C<100> this will create the largest possible LV.
uk: Створює логічний том LVM із назвою F</dev/група_томів/логічний_том>, який використовуватиме приблизно C<відсоткиt> % залишкового вільного місця у групі томів. Найпоширенішим є використання значення C<відсотки> рівного C<100> для створення найбільшого можливого логічного тому.

note: type: verbatim
en:  lvm-canonical-lv-name lvname
uk:  lvm-canonical-lv-name назва_логічного_тому

note: type: textblock
en: This converts alternative naming schemes for LVs that you might find to the canonical name.  For example, F</dev/mapper/VG-LV> is converted to F</dev/VG/LV>.
uk: Ця команда перетворює альтернативні схеми найменування логічних томів, які можуть зустрітися на практиці, на канонічні назви. Приклад: F</dev/mapper/група_томів-логічний_том> буде перетворено на F</dev/група_томів/логічний_том>.

note: type: textblock
en: This command returns an error if the C<lvname> parameter does not refer to a logical volume.
uk: Ця команда повертає повідомлення про помилку, якщо параметр C<назва_логічного_тому> не є назвою наявного логічного тому.

note: type: textblock
en: See also L</is-lv>, L</canonical-device-name>.
uk: Див. також L</is-lv>, L</canonical-device-name>.

note: type: textblock
en: This undoes the effect of L</lvm-set-filter>.  LVM will be able to see every block device.
uk: Скасовує дію L</lvm-set-filter>. LVM зможе бачити усі блокові пристрої.

note: type: textblock
en: This command also clears the LVM cache and performs a volume group scan.
uk: Крім того, ця команда спорожняє кеш LVM і виконує сканування груп томів.

note: type: textblock
en: This command removes all LVM logical volumes, volume groups and physical volumes.
uk: Ця команда вилучає усі логічні томи, групи томів та фізичні томи LVM.

note: type: textblock
en: This scans all block devices and rebuilds the list of LVM physical volumes, volume groups and logical volumes.
uk: Ця команда виконує сканування усіх блокових пристроїв і повторно будує список фізичних томів, груп томів та логічних томів LVM.

note: type: textblock
en: If the C<activate> parameter is C<true> then newly found volume groups and logical volumes are activated, meaning the LV F</dev/VG/LV> devices become visible.
uk: Якщо параметр C<activate> має значення C<true>, новознайдені групи томів і логічні томи активуються, тобто пристрої LV F</dev/VG/LV> стають видимими.

note: type: textblock
en: When a libguestfs handle is launched it scans for existing devices, so you do not normally need to use this API.  However it is useful when you have added a new device or deleted an existing device (such as when the L</luks-open> API is used).
uk: Коли запускається обробник libguestfs, він шукає наявні пристрої, тому, зазвичай, потреби у використанні цього програмного інтерфейсу немає. Втім, він є корисним, якщо ви додали новий пристрій або вилучили наявний пристрій (так трапляється при використанні програмного інтерфейсу L</luks-open>).

note: type: verbatim
en:  lvm-set-filter 'devices ...'
uk:  lvm-set-filter 'пристрої...'

note: type: textblock
en: This sets the LVM device filter so that LVM will only be able to "see" the block devices in the list C<devices>, and will ignore all other attached block devices.
uk: Ця команда встановлює фільтр пристроїв LVM так, що LVM зможе «бачити» лише блокові пристрої зі списку C<пристрої> і ігноруватиме усі інші з'єднані блокові пристрої.

note: type: textblock
en: Where disk image(s) contain duplicate PVs or VGs, this command is useful to get LVM to ignore the duplicates, otherwise LVM can get confused.  Note also there are two types of duplication possible: either cloned PVs/VGs which have identical UUIDs; or VGs that are not cloned but just happen to have the same name.  In normal operation you cannot create this situation, but you can do it outside LVM, eg.  by cloning disk images or by bit twiddling inside the LVM metadata.
uk: Там, де образи дисків містять дублікати фізичних томів або груп томів, ця команда корисна для того, щоб LVM ігнорувала такі дублікати і уникала конфліктів. Слід також зауважити, що існує два типи дублювання: клоновані фізичні томи або групи томів, які мають однакові UUIDs; та групи томів, які не було клоновано, але які мають однакові назви. За звичайних умов, створення таких дублікатів неможливе, але їх може бути створено за межами LVM, наприклад, внаслідок клонування образів дисків або втручання до метаданих LVM.

note: type: textblock
en: You can filter whole block devices or individual partitions.
uk: Ви можете фільтрувати усі блокові пристрої або окремі розділи.

note: type: textblock
en: You cannot use this if any VG is currently in use (eg.  contains a mounted filesystem), even if you are not filtering out that VG.
uk: Цією командою не можна користуватися, якщо якась з груп томів використовується (наприклад, містить змонтовану файлову систему), навіть якщо ви не викидаєте за допомогою фільтрування цю групу томів.

note: type: verbatim
en:  lvremove device
uk:  lvremove пристрій

note: type: textblock
en: Remove an LVM logical volume C<device>, where C<device> is the path to the LV, such as F</dev/VG/LV>.
uk: Вилучає логічний том LVM C<пристрій>, де C<пристрій> — це шлях до логічного тому, наприклад F</dev/група_томів/логічний_том>.

note: type: textblock
en: You can also remove all LVs in a volume group by specifying the VG name, F</dev/VG>.
uk: Ви також можете вилучити усі логічні томи у групі томів, вказавши назву групи томів, F</dev/група_томів>.

note: type: verbatim
en:  lvrename logvol newlogvol
uk:  lvrename логічний_том новий_логічний_том

note: type: textblock
en: Rename a logical volume C<logvol> with the new name C<newlogvol>.
uk: Перейменувати логічний том C<логічний_том> на том із назвою C<новий_логічний_том>.

note: type: verbatim
en:  lvresize device mbytes
uk:  lvresize пристрій мегабайти

note: type: textblock
en: This resizes (expands or shrinks) an existing LVM logical volume to C<mbytes>.  When reducing, data in the reduced part is lost.
uk: Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM до розміру C<мегабайти>. Якщо розміри тому зменшуються, дані у відкинутій у результаті зменшення розмірів частині тому буде втрачено.

note: type: verbatim
en:  lvresize-free lv percent
uk:  lvresize-free логічний_том відсотки

note: type: textblock
en: This expands an existing logical volume C<lv> so that it fills C<pc> % of the remaining free space in the volume group.  Commonly you would call this with pc = 100 which expands the logical volume as much as possible, using all remaining free space in the volume group.
uk: Ця команда розширює наявний C<логічний_том> так, що він займатиме C<відсотки> % залишкового вільного місця у групі томів. Типово, ця команда викликається із значенням відсотки = 100 для розширення логічного тому на максимальний розмір, використовуючи усе вільне місце у групі томів.

note: type: textblock
en: List all the logical volumes detected.  This is the equivalent of the L<lvs(8)> command.
uk: Виводить список усіх виявлених логічних томів. Є еквівалентом команди L<lvs(8)>.

note: type: textblock
en: This returns a list of the logical volume device names (eg. F</dev/VolGroup00/LogVol00>).
uk: Ця команда повертає список назв пристроїв логічних томів (наприклад F</dev/VolGroup00/LogVol00>).

note: type: textblock
en: See also L</lvs-full>, L</list-filesystems>.
uk: Див. також L</lvs-full>, L</list-filesystems>.

note: type: textblock
en: List all the logical volumes detected.  This is the equivalent of the L<lvs(8)> command.  The "full" version includes all fields.
uk: Виводить список усіх виявлених логічних томів. Є еквівалентом команди L<lvs(8)>. «Повна» версія включає усі поля.

note: type: verbatim
en:  lvuuid device
uk:  lvuuid пристрій

note: type: textblock
en: This command returns the UUID of the LVM LV C<device>.
uk: Ця команда повертає UUID логічного тому LVM C<пристрій>.

note: type: verbatim
en:  lxattrlist path 'names ...'
uk:  lxattrlist шлях 'назви ...'

note: type: textblock
en: This call allows you to get the extended attributes of multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу отримувати розширені атрибути декількох файлів, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список файлів у цьому каталозі.

note: type: textblock
en: On return you get a flat list of xattr structs which must be interpreted sequentially.  The first xattr struct always has a zero-length C<attrname>.  C<attrval> in this struct is zero-length to indicate there was an error doing L</lgetxattr> for this file, I<or> is a C string which is a decimal number (the number of following attributes for this file, which could be C<"0">).  Then after the first xattr struct are the zero or more attributes for the first named file.  This repeats for the second and subsequent files.
uk: Повернуто буде плоский список структур xattr, який слід обробляти послідовно. Перша структура xattr завжди матиме C<attrname> нульової довжини. C<attrval> нульової довжини у цій структурі вказуватиме на те, що під час обробки цього файла за допомогою L<lgetxattr> сталася помилка. I<or> є рядком C, який містить десяткове число (кількість наступних атрибутів для цього файла, може бути C<"0">).  Далі, після першої структури xattr буде розташовано нуль або більше атрибутів першого іменованого файла. Далі, дані повторюватиметься для другого та наступних файлів.

note: type: textblock
en: This call is intended for programs that want to efficiently list a directory contents without making many round-trips.  See also L</lstatlist> for a similarly efficient call for getting standard stats.
uk: Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також L</lstatlist>, якщо потрібний подібний ефективний підхід для отримання стандартних статистичних даних.

note: type: textblock
en: Return the maximum number of disks that may be added to a handle (eg. by L</add-drive-opts> and similar calls).
uk: Повертає максимальну кількість дисків, які може бути додано до дескриптора (наприклад, за допомогою L</add-drive-opts> та подібних команд).

note: type: textblock
en: This function was added in libguestfs 1.19.7.  In previous versions of libguestfs the limit was 25.
uk: Цю функцію було додано у libguestfs 1.19.7. У попередніх версіях libguestfs діяло обмеження у 25.

note: type: textblock
en: See L<guestfs(3)/MAXIMUM NUMBER OF DISKS> for additional information on this topic.
uk: Див. L<guestfs(3)/МАКСИМАЛЬНА КІЛЬКІСТЬ ДИСКІВ>, щоб дізнатися більше про це.

note: type: verbatim
en:  md-create name 'devices ...' [missingbitmap:N] [nrdevices:N] [spare:N] [chunk:N] [level:..]
uk:  md-create назва 'пристрої...' [missingbitmap:N] [nrdevices:N] [spare:N] [chunk:N] [level:..]

note: type: textblock
en: Create a Linux md (RAID) device named C<name> on the devices in the list C<devices>.
uk: Створює пристрій md (RAID) Linux із назвою C<назва> на пристроях зі списку C<пристрої>.

note: type: textblock
en: A bitmap of missing devices.  If a bit is set it means that a missing device is added to the array.  The least significant bit corresponds to the first device in the array.
uk: Бітова карта пристроїв, яких не вистачає. Якщо біт встановлено, це означає, що до масиву додано пристрій, якого не вистачає. Найменший біт відповідає першому пристрої у масиві.

note: type: textblock
en: As examples:
uk: Приклади:

note: type: textblock
en: If C<devices = ["/dev/sda"]> and C<missingbitmap = 0x1> then the resulting array would be C<[E<lt>missingE<gt>, "/dev/sda"]>.
uk: Якщо C<пристрої = ["/dev/sda"]> і C<missingbitmap = 0x1>, масивом-результатом має бути C<[E<lt>missingE<gt>, "/dev/sda"]>.

note: type: textblock
en: If C<devices = ["/dev/sda"]> and C<missingbitmap = 0x2> then the resulting array would be C<["/dev/sda", E<lt>missingE<gt>]>.
uk: Якщо C<пристрої = ["/dev/sda"]> і C<missingbitmap = 0x2>, масивом-результатом має бути C<["/dev/sda", E<lt>missingE<gt>]>.

note: type: textblock
en: This defaults to C<0> (no missing devices).
uk: Типовим є значення C<0> (немає пристроїв, яких не вистачає).

note: type: textblock
en: The length of C<devices> + the number of bits set in C<missingbitmap> must equal C<nrdevices> + C<spare>.
uk: Довжина запису C<пристрої> + кількість бітів, встановлених у C<missingbitmap> має дорівнювати C<nrdevices> + C<spare>.

note: type: textblock
en: The number of active RAID devices.
uk: Кількість активних пристроїв RAID.

note: type: textblock
en: If not set, this defaults to the length of C<devices> plus the number of bits set in C<missingbitmap>.
uk: Якщо не встановлено, типовим значенням є довжина запису C<пристрої> плюс кількість бітів, які встановлено у C<missingbitmap>.

note: type: textblock
en: The number of spare devices.
uk: Кількість резервних пристроїв.

note: type: textblock
en: If not set, this defaults to C<0>.
uk: Якщо не встановлено, типовим значенням є C<0>.

note: type: textblock
en: The chunk size in bytes.
uk: Розмір фрагмента у байтах.

note: type: textblock
en: The RAID level, which can be one of: C<linear>, C<raid0>, C<0>, C<stripe>, C<raid1>, C<1>, C<mirror>, C<raid4>, C<4>, C<raid5>, C<5>, C<raid6>, C<6>, C<raid10>, C<10>.  Some of these are synonymous, and more levels may be added in future.
uk: Рівень RAID, одне з таких значень:  C<linear>, C<raid0>, C<0>, C<stripe>, C<raid1>, C<1>, C<mirror>, C<raid4>, C<4>, C<raid5>, C<5>, C<raid6>, C<6>, C<raid10>, C<10>. Деякі з цих значень є синонімами, інші рівні може бути додано у майбутніх версіях.

note: type: textblock
en: If not set, this defaults to C<raid1>.
uk: Якщо не встановлено, типовим значенням є C<raid1>.

note: type: textblock
en: This command depends on the feature C<mdadm>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<mdadm>. Див. також L</feature-available>.

note: type: textblock
en: This command exposes the output of C<mdadm -DY E<lt>mdE<gt>>.  The following fields are usually present in the returned hash.  Other fields may also be present.
uk: Ця команда розкриває виведені C<mdadm -DY E<lt>mdE<gt>> дані. У повернутому хеші, зазвичай, будуть вказані нижче поля. Також там можуть бути інші поля.

note: type: textblock
en: The raid level of the MD device.
uk: Рівень RAID пристрою MD.

note: type: textblock
en: The number of underlying devices in the MD device.
uk: Кількість підлеглих пристроїв у пристрої MD.

note: type: textblock
en: The metadata version used.
uk: Використана версія метаданих.

note: type: textblock
en: The UUID of the MD device.
uk: UUID пристрою MD.

note: type: textblock
en: The name of the MD device.
uk: Назва пристрою MD.

note: type: textblock
en: This call returns a list of the underlying devices which make up the single software RAID array device C<md>.
uk: Ця команда повертає список підлеглих пристроїв, з яких складається окремий програмний масив RAID пристрою C<md>.

note: type: textblock
en: To get a list of software RAID devices, call L</list-md-devices>.
uk: Щоб отримати список пристроїв програмних RAID, скористайтеся викликом L</list-md-devices>.

note: type: textblock
en: Each structure returned corresponds to one device along with additional status information:
uk: Кожна повернута структура відповідає одному пристрою із додатковими відомостями щодо стану:

note: type: textblock
en: The name of the underlying device.
uk: Назва підлеглого пристрою.

note: type: textblock
en: The index of this device within the array.
uk: Індекс цього пристрою у масиві.

note: type: textblock
en: Flags associated with this device.  This is a string containing (in no specific order) zero or more of the following flags:
uk: Прапорці, пов'язані із цим пристроєм. Ця рядок містить (неупорядкованими) нуль або більше таких прапорців:

note: type: textblock
en: device is faulty
uk: пристрій працює з помилками

note: type: textblock
en: device is a RAID spare
uk: пристрій є запасною частиною RAID

note: type: textblock
en: replacement
uk: заміна

note: type: textblock
en: This command deactivates the MD array named C<md>.  The device is stopped, but it is not destroyed or zeroed.
uk: Ця команда деактивує масив MD із назвою C<md>. Роботу пристрою буде припинено, але без знищення або занулення.

note: type: verbatim
en:  mkdir path
uk:  mkdir шлях

note: type: textblock
en: Create a directory named C<path>.
uk: Створює каталог із назвою C<шлях>.

note: type: verbatim
en:  mkdir-mode path mode
uk:  mkdir-mode шлях режим

note: type: textblock
en: This command creates a directory, setting the initial permissions of the directory to C<mode>.
uk: Ця команда створює каталог, встановлюючи початкові права доступу до нього у значення C<режим>.

note: type: textblock
en: For common Linux filesystems, the actual mode which is set will be C<mode & ~umask & 01777>.  Non-native-Linux filesystems may interpret the mode in other ways.
uk: Для типових файлових систем Linux справжній режим доступу, який встановлюється, визначається виразом C<режим & ~umask & 01777>. У файлових системах, які не є природними для Linux, цей режим може визначатися у інший спосіб.

note: type: textblock
en: See also L</mkdir>, L</umask>
uk: Див. також L</mkdir>, L</umask>

note: type: verbatim
en:  mkdir-p path
uk:  mkdir-p шлях

note: type: textblock
en: Create a directory named C<path>, creating any parent directories as necessary.  This is like the C<mkdir -p> shell command.
uk: Створює каталог із назвою C<шлях> зі створенням усіх потрібних проміжних каталогів. Результат подібний до результату дії команди оболонки C<mkdir -p>.

note: type: textblock
en: This command creates a temporary directory.  The C<tmpl> parameter should be a full pathname for the temporary directory name with the final six characters being "XXXXXX".
uk: Ця команда створює тимчасовий каталог. Значенням параметра C<tmpl> має бути повна назва шляху до тимчасового каталогу із завершальними шістьма символами «XXXXXX».

note: type: textblock
en: For example: "/tmp/myprogXXXXXX" or "/Temp/myprogXXXXXX", the second one being suitable for Windows filesystems.
uk: Приклади: «/tmp/myprogXXXXXX» або «/Temp/myprogXXXXXX». Другий варіант є придатним для файлових систем Windows.

note: type: textblock
en: The name of the temporary directory that was created is returned.
uk: Буде повернуто назву тимчасового каталогу, який було створено.

note: type: textblock
en: The temporary directory is created with mode 0700 and is owned by root.
uk: Тимчасовий каталог буде створено із режимом доступу 0700, його власником буде користувач root.

note: type: textblock
en: The caller is responsible for deleting the temporary directory and its contents after use.
uk: За вилучення тимчасового каталогу і його вмісту після використання відповідає функція виклику.

note: type: textblock
en: See also: L<mkdtemp(3)>
uk: Див. також L<mkdtemp(3)>

note: type: verbatim
en:  mke2fs device [blockscount:N] [blocksize:N] [fragsize:N] [blockspergroup:N] [numberofgroups:N] [bytesperinode:N] [inodesize:N] [journalsize:N] [numberofinodes:N] [stridesize:N] [stripewidth:N] [maxonlineresize:N] [reservedblockspercentage:N] [mmpupdateinterval:N] [journaldevice:..] [label:..] [lastmounteddir:..] [creatoros:..] [fstype:..] [usagetype:..] [uuid:..] [forcecreate:true|false] [writesbandgrouponly:true|false] [lazyitableinit:true|false] [lazyjournalinit:true|false] [testfs:true|false] [discard:true|false] [quotatype:true|false] [extent:true|false] [filetype:true|false] [flexbg:true|false] [hasjournal:true|false] [journaldev:true|false] [largefile:true|false] [quota:true|false] [resizeinode:true|false] [sparsesuper:true|false] [uninitbg:true|false]
uk:  mke2fs пристрій [blockscount:N] [blocksize:N] [fragsize:N] [blockspergroup:N] [numberofgroups:N] [bytesperinode:N] [inodesize:N] [journalsize:N] [numberofinodes:N] [stridesize:N] [stripewidth:N] [maxonlineresize:N] [reservedblockspercentage:N] [mmpupdateinterval:N] [journaldevice:..] [label:..] [lastmounteddir:..] [creatoros:..] [fstype:..] [usagetype:..] [uuid:..] [forcecreate:true|false] [writesbandgrouponly:true|false] [lazyitableinit:true|false] [lazyjournalinit:true|false] [testfs:true|false] [discard:true|false] [quotatype:true|false] [extent:true|false] [filetype:true|false] [flexbg:true|false] [hasjournal:true|false] [journaldev:true|false] [largefile:true|false] [quota:true|false] [resizeinode:true|false] [sparsesuper:true|false] [uninitbg:true|false]

note: type: textblock
en: C<mke2fs> is used to create an ext2, ext3, or ext4 filesystem on C<device>.
uk: C<mke2fs> використовується для створення файлових систем ext2, ext3 та ext4 на пристрої C<пристрій>.

note: type: textblock
en: The optional C<blockscount> is the size of the filesystem in blocks.  If omitted it defaults to the size of C<device>.  Note if the filesystem is too small to contain a journal, C<mke2fs> will silently create an ext2 filesystem instead.
uk: Необов'язковий параметр C<blockscount> визначає розмір файлової системи у блоках. Якщо його не вказано, типовим значенням буде розмір пристрою C<пристрій>. Зауважте, що якщо файлова система буде надто малою для того, щоб містити журнал, C<mke2fs> без додаткових повідомлень створить файлову систему ext2.

note: type: verbatim
en:  mke2fs-J fstype blocksize device journal
uk:  mke2fs-J тип_файлової_системи розмір_блоку пристрій журнал

note: type: textblock
en: This creates an ext2/3/4 filesystem on C<device> with an external journal on C<journal>.  It is equivalent to the command:
uk: Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із зовнішнім журналом на розділі C<журнал>. Вона еквівалентна до такої команди:

note: type: verbatim
en:  mke2fs -t fstype -b blocksize -J device=<journal> <device>
uk:  mke2fs -t тип_файлової_системи -b розмір_блоку -J device=<журнал> <пристрій>

note: type: textblock
en: See also L</mke2journal>.
uk: Див. також L</mke2journal>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</mke2fs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</mke2fs>.

note: type: verbatim
en:  mke2fs-JL fstype blocksize device label
uk:  mke2fs-JL тип_файлової_системи розмір_блоку пристрій мітка

note: type: textblock
en: This creates an ext2/3/4 filesystem on C<device> with an external journal on the journal labeled C<label>.
uk: Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із зовнішнім журналом на розділі із міткою C<мітка>.

note: type: textblock
en: See also L</mke2journal-L>.
uk: Див. також L</mke2journal-L>.

note: type: verbatim
en:  mke2fs-JU fstype blocksize device uuid
uk:  mke2fs-JU тип_файлової_системи розмір_блоку пристрій uuid

note: type: textblock
en: This creates an ext2/3/4 filesystem on C<device> with an external journal on the journal with UUID C<uuid>.
uk: Ця команда створює файлову систему ext2/3/4 на пристрої C<пристрій> із зовнішнім журналом на розділі із UUID C<uuid>.

note: type: textblock
en: See also L</mke2journal-U>.
uk: Див. також L</mke2journal-U>.

note: type: textblock
en: This command depends on the feature C<linuxfsuuid>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<linuxfsuuid>. Див. також L</feature-available>.

note: type: verbatim
en:  mke2journal blocksize device
uk:  mke2journal розмір_блоку пристрій

note: type: textblock
en: This creates an ext2 external journal on C<device>.  It is equivalent to the command:
uk: Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій>. Вона еквівалентна до такої команди:

note: type: verbatim
en:  mke2fs -O journal_dev -b blocksize device
uk:  mke2fs -O пристрій_журналу -b розмір_блоку пристрій

note: type: verbatim
en:  mke2journal-L blocksize label device
uk:  mke2journal-L розмір_блоку мітка пристрій

note: type: textblock
en: This creates an ext2 external journal on C<device> with label C<label>.
uk: Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій> з міткою C<мітка>.

note: type: verbatim
en:  mke2journal-U blocksize uuid device
uk:  mke2journal-U розмір_блоку uuid пристрій

note: type: textblock
en: This creates an ext2 external journal on C<device> with UUID C<uuid>.
uk: Ця команда створює зовнішній журнал ext2 на пристрої C<пристрій> із UUID C<uuid>.

note: type: verbatim
en:  mkfifo mode path
uk:  mkfifo режим шлях

note: type: textblock
en: This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It is just a convenient wrapper around L</mknod>.
uk: Ця команда створює FIFO (іменований канал даних) із назвою C<шлях> і режимом доступу C<режим>. Це просто зручна обгортка до L</mknod>.

note: type: textblock
en: Unlike with L</mknod>, C<mode> B<must> contain only permissions bits.
uk: На відміну від L</mknod>, параметр C<режим> B<має> містити лише біти прав доступу.

note: type: textblock
en: This command depends on the feature C<mknod>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<mknod>. Див. також L</feature-available>.

note: type: verbatim
en:  mkfs fstype device [blocksize:N] [features:..] [inode:N] [sectorsize:N] [label:..]
uk:  mkfs тип_файлової_системи пристрій [blocksize:N] [features:..] [inode:N] [sectorsize:N] [label:..]

note: type: textblock
en: This function creates a filesystem on C<device>.  The filesystem type is C<fstype>, for example C<ext3>.
uk: Ця функція створює файлову систему на пристрої C<пристрій>. Типом файлової системи буде C<тип_файлової_системи>, наприклад C<ext3>.

note: type: textblock
en: The filesystem block size.  Supported block sizes depend on the filesystem type, but typically they are C<1024>, C<2048> or C<4096> for Linux ext2/3 filesystems.
uk: Розмір блоку файлової системи. Підтримувані розміри блоків залежать від типу файлової системи, але типовими є  C<1024>, C<2048> і C<4096> для файлових систем ext2/3 Linux.

note: type: textblock
en: For VFAT and NTFS the C<blocksize> parameter is treated as the requested cluster size.
uk: Для VFAT і NTFS значення параметра C<розмір_блоку> обробляється як бажаний розмір кластера.

note: type: textblock
en: For UFS block sizes, please see L<mkfs.ufs(8)>.
uk: Дані щодо розмірів блоків UFS можна знайти у підручнику до L<mkfs.ufs(8)>.

note: type: textblock
en: This passes the I<-O> parameter to the external mkfs program.
uk: Передає параметр I<-O> зовнішній програмі mkfs.

note: type: textblock
en: For certain filesystem types, this allows extra filesystem features to be selected.  See L<mke2fs(8)> and L<mkfs.ufs(8)> for more details.
uk: Для деяких типів файлових систем це надає змогу вибрати додаткові можливості файлової системи. Щоб дізнатися більше, див. L<mke2fs(8)> та L<mkfs.ufs(8)>.

note: type: textblock
en: You cannot use this optional parameter with the C<gfs> or C<gfs2> filesystem type.
uk: Цей додатковий параметр не можна використовувати для типів файлових систем C<gfs> та C<gfs2>.

note: type: textblock
en: This passes the I<-I> parameter to the external L<mke2fs(8)> program which sets the inode size (only for ext2/3/4 filesystems at present).
uk: Передає параметр I<-I> зовнішній програмі L<mke2fs(8)>, тобто визначає розмір inode (у поточній версії лише для файлових систем ext2/3/4).

note: type: textblock
en: This passes the I<-S> parameter to external L<mkfs.ufs(8)> program, which sets sector size for ufs filesystem.
uk: Передає параметр I<-S> зовнішній програмі L<mkfs.ufs(8)>, тобто визначає розмір сектора для файлової системи ufs.

note: type: verbatim
en:  mkfs-b fstype blocksize device
uk:  mkfs-b тип_файлової_системи розмір_блоку пристрій

note: type: textblock
en: This call is similar to L</mkfs>, but it allows you to control the block size of the resulting filesystem.  Supported block sizes depend on the filesystem type, but typically they are C<1024>, C<2048> or C<4096> only.
uk: Ця команда подібна до L</mkfs>, але надає вам змогу контролювати розмір блоку отриманої файлової системи. Набір підтримуваних розмірів блоків залежить від типу файлової системи, але типовими є C<1024>, C<2048> та C<4096>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</mkfs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</mkfs>.

note: type: verbatim
en:  mkfs-btrfs 'devices ...' [allocstart:N] [bytecount:N] [datatype:..] [leafsize:N] [label:..] [metadata:..] [nodesize:N] [sectorsize:N]
uk:  mkfs-btrfs 'пристрої...' [allocstart:N] [bytecount:N] [datatype:..] [leafsize:N] [label:..] [metadata:..] [nodesize:N] [sectorsize:N]

note: type: textblock
en: Create a btrfs filesystem, allowing all configurables to be set.  For more information on the optional arguments, see L<mkfs.btrfs(8)>.
uk: Створює файлову систему btrfs із можливим встановленням усіх налаштувань. Щоб дізнатися більше про додаткові параметри, ознайомтеся зі сторінкою підручника L<mkfs.btrfs(8)>.

note: type: textblock
en: Since btrfs filesystems can span multiple devices, this takes a non-empty list of devices.
uk: Оскільки дані файлової системи btrfs може бути розподілено між декількома пристроями, команда приймає непорожній список пристроїв.

note: type: textblock
en: To create general filesystems, use L</mkfs>.
uk: Для створення типових файлових систем користуйтеся L</mkfs>.

note: type: verbatim
en:  mklost-and-found mountpoint
uk:  mklost-and-found точка_монтування

note: type: textblock
en: Make the C<lost+found> directory, normally in the root directory of an ext2/3/4 filesystem.  C<mountpoint> is the directory under which we try to create the C<lost+found> directory.
uk: Створює каталог C<lost+found>, зазвичай, у кореневому каталозі файлової системи ext2/3/4. C<точка_монтування> є каталогом, у якому ми спробуємо створити каталог C<lost+found>.

note: type: verbatim
en:  mkmountpoint exemptpath
uk:  mkmountpoint вільний_шлях

note: type: textblock
en: L</mkmountpoint> and L</rmmountpoint> are specialized calls that can be used to create extra mountpoints before mounting the first filesystem.
uk: L</mkmountpoint> і L</rmmountpoint> є спеціалізованими викликами, якими можна скористатися для створення додаткових точок монтування перед монтуванням першої файлової системи.

note: type: textblock
en: These calls are I<only> necessary in some very limited circumstances, mainly the case where you want to mount a mix of unrelated and/or read-only filesystems together.
uk: Ця виклики необхідні I<лише> у дуже обмежених випадках. Основним їхнім призначенням є випадок, коли ви хочете змонтувати суміш непов'язаних і/або придатних лише для читання файлових систем разом.

note: type: textblock
en: For example, live CDs often contain a "Russian doll" nest of filesystems, an ISO outer layer, with a squashfs image inside, with an ext2/3 image inside that.  You can unpack this as follows in guestfish:
uk: Наприклад, образи компакт-дисків портативних систем часто місять «матрьошку» з файлових систем: зовнішній шар ISO, образ squashfs всередині і вкладений у нього образ ext2/3. Розпакувати такий образ у guestfish можна таким чином:

note: type: textblock
en: The inner filesystem is now unpacked under the /ext3fs mountpoint.
uk: Внутрішню файлову систему тепер розпаковано до точки монтування /ext3fs.

note: type: textblock
en: L</mkmountpoint> is not compatible with L</umount-all>.  You may get unexpected errors if you try to mix these calls.  It is safest to manually unmount filesystems and remove mountpoints after use.
uk: L</mkmountpoint> є несумісною з L</umount-all>. Якщо ви спробуєте суміщати ці виклики, можуть статися неочікувані помилки. Найбезпечніше демонтувати файлові системи вручну, а потім вилучити точки монтування після використання.

note: type: textblock
en: L</umount-all> unmounts filesystems by sorting the paths longest first, so for this to work for manual mountpoints, you must ensure that the innermost mountpoints have the longest pathnames, as in the example code above.
uk: L</umount-all> демонтує файлові системи упорядковуючи шляхи так, щоб у списку найдовші шляхи були першими. Щоб ця команда могла працювати зі створеними вручну точками монтування, системи має бути змонтовано так, щоб точки монтування із найбільшим рівнем вкладеності мали найдовші назви шляхів, як у наведеному вище прикладі.

note: type: textblock
en: For more details see L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>
uk: Докладніше про це тут: L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>

note: type: textblock
en: Autosync [see L</set-autosync>, this is set by default on handles] can cause L</umount-all> to be called when the handle is closed which can also trigger these issues.
uk: Автоматична синхронізація [див. L</set-autosync>, встановлюється типово на дескрипторах] може спричиняти виклик L</umount-all>, коли дескриптор закривається, що теж може призвести до таких проблем.

note: type: verbatim
en:  mknod mode devmajor devminor path
uk:  mknod режим первинний_пристрій вторинний_пристрій шлях

note: type: textblock
en: This call creates block or character special devices, or named pipes (FIFOs).
uk: Створює спеціальні блокові або символьні пристрої або іменовані канали (FIFO).

note: type: textblock
en: The C<mode> parameter should be the mode, using the standard constants.  C<devmajor> and C<devminor> are the device major and minor numbers, only used when creating block and character special devices.
uk: Параметр C<режим> має визначати режим доступу з використанням стандартних сталих. Параметри C<первинний_пристрій> і C<вторинний_пристрій> є номерами первинного і вторинного пристроїв, які використовуються, лише під час створення спеціальних блокових та символьних пристроїв.

note: type: textblock
en: Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a regular file).  These constants are available in the standard Linux header files, or you can use L</mknod-b>, L</mknod-c> or L</mkfifo> which are wrappers around this command which bitwise OR in the appropriate constant for you.
uk: Зауважте, що, як і у L<mknod(2)>, значення режиму має бути результатом застосування бітового АБО до значень S_IFBLK, S_IFCHR, S_IFIFO та S_IFSOCK (інакше цей виклик просто створить звичайний файл). Ці сталі доступні у стандартних файлах заголовків Linux. Ви також можете скористатися L</mknod-b>, L</mknod-c> або L</mkfifo>, які є обгортками навколо цієї команди, які виконують бітове АБО і створюють відповідну сталу за вас.

note: type: verbatim
en:  mknod-b mode devmajor devminor path
uk:  mknod-b режим первинний_пристрій вторинний_пристрій шлях

note: type: textblock
en: This call creates a block device node called C<path> with mode C<mode> and device major/minor C<devmajor> and C<devminor>.  It is just a convenient wrapper around L</mknod>.
uk: Створює вузол блокового пристрою із назвою C<шлях> і режимом доступу C<режим> та первинний і вторинний пристрої C<первинний_пристрій> і C<вторинний пристрій>. Це лише зручна обгортка навколо L</mknod>.

note: type: verbatim
en:  mknod-c mode devmajor devminor path
uk:  mknod-c режим первинний_пристрій вторинний_пристрій шлях

note: type: textblock
en: This call creates a char device node called C<path> with mode C<mode> and device major/minor C<devmajor> and C<devminor>.  It is just a convenient wrapper around L</mknod>.
uk: Створює вузол символьного пристрою із назвою C<шлях> і режимом доступу C<режим> та первинний і вторинний пристрої C<первинний_пристрій> і C<вторинний пристрій>. Це лише зручна обгортка навколо L</mknod>.

note: type: verbatim
en:  mksquashfs path (filename|-) [compress:..] [excludes:..]
uk:  mksquashfs шлях (назва_файла|-) [compress:..] [excludes:..]

note: type: textblock
en: Create a squashfs filesystem for the specified C<path>.
uk: Створює файлову систему squashfs для вказаного шляху C<шлях>.

note: type: textblock
en: The optional C<compress> flag controls compression.  If not given, then the output compressed using C<gzip>.  Otherwise one of the following strings may be given to select the compression type of the squashfs: C<gzip>, C<lzma>, C<lzo>, C<lz4>, C<xz>.
uk: Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано, виведені дані буде стиснуто за допомогою C<gzip>. Ви також можете вказати такі рядки для вибору типу стискання squashfs: C<gzip>, C<lzma>, C<lzo>, C<lz4>, C<xz>.

note: type: textblock
en: The other optional arguments are:
uk: Іншими необов'язковими параметрами є такі:

note: type: textblock
en: A list of wildcards.  Files are excluded if they match any of the wildcards.
uk: Список шаблонів. Файли буде виключено, якщо вони відповідатимуть якомусь із вказаних шаблонів.

note: type: textblock
en: Please note that this API may fail when used to compress directories with large files, such as the resulting squashfs will be over 3GB big.
uk: Будь ласка, зауважте, що цей програмний інтерфейс може не спрацювати, якщо ним користуватися для стискання каталогів із великими файлами, зокрема такими, для яких отримана файлова система squashfs матиме об'єм понад 3 ГБ.

note: type: textblock
en: This command depends on the feature C<squashfs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<squashfs>. Див. також L</feature-available>.

note: type: verbatim
en:  mkswap device [label:..] [uuid:..]
uk:  mkswap пристрій [label:..] [uuid:..]

note: type: textblock
en: Create a Linux swap partition on C<device>.
uk: Створює розділ резервної пам'яті на диску (swap) Linux на пристрої C<пристрій>.

note: type: textblock
en: The option arguments C<label> and C<uuid> allow you to set the label and/or UUID of the new swap partition.
uk: За допомогою аргументів параметра C<мітка> і C<uuid> ви можете вказати мітку і/або UUID для нового розділу резервної пам'яті на диску.

note: type: verbatim
en:  mkswap-L label device
uk:  mkswap-L мітка пристрій

note: type: textblock
en: Create a swap partition on C<device> with label C<label>.
uk: Створює розділ резервної пам'яті на диску на пристрої C<пристрій> зі міткою C<мітка>.

note: type: textblock
en: Note that you cannot attach a swap label to a block device (eg. F</dev/sda>), just to a partition.  This appears to be a limitation of the kernel or swap tools.
uk: Зауважте, що не можна додавати мітку резервної пам'яті на диску (swap) до блокового пристрою (наприклад, до F</dev/sda>), лише до розділу. Здається, це є обмеженням ядра або інструментів для роботи із розділом резервної пам'яті на диску.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</mkswap> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</mkswap>.

note: type: verbatim
en:  mkswap-U uuid device
uk:  mkswap-U uuid пристрій

note: type: textblock
en: Create a swap partition on C<device> with UUID C<uuid>.
uk: Створює розділ резервної пам'яті на диску на пристрої C<пристрій> із UUID C<uuid>.

note: type: verbatim
en:  mkswap-file path
uk:  mkswap-file шлях

note: type: textblock
en: Create a swap file.
uk: Створити файл резервної пам’яті.

note: type: textblock
en: This command just writes a swap file signature to an existing file.  To create the file itself, use something like L</fallocate>.
uk: Ця команда просто записує підпис файла резервної пам'яті на диску до наявного файла. Для створення самого файла скористайтеся чимось подібним до L</fallocate>.

note: type: verbatim
en:  mktemp tmpl [suffix:..]
uk:  mktemp тимчасовий_файл [suffix:..]

note: type: textblock
en: This command creates a temporary file.  The C<tmpl> parameter should be a full pathname for the temporary directory name with the final six characters being "XXXXXX".
uk: Ця команда створює тимчасовий файл. Значенням параметра C<tmpl> має бути повна назва шляху до тимчасового каталогу із завершальними шістьма символами «XXXXXX».

note: type: textblock
en: The name of the temporary file that was created is returned.
uk: Буде повернуто назву тимчасового файла, який було створено.

note: type: textblock
en: The temporary file is created with mode 0600 and is owned by root.
uk: Тимчасовий файл буде створено із режимом доступу 0600, його власником буде користувач root.

note: type: textblock
en: The caller is responsible for deleting the temporary file after use.
uk: За вилучення тимчасового файла після використання відповідає функція виклику.

note: type: textblock
en: If the optional C<suffix> parameter is given, then the suffix (eg. C<.txt>) is appended to the temporary name.
uk: Якщо буде вказано необов'язковий параметр C<suffix>, до назви тимчасового файла буде додано вказаний суфікс (наприклад, C<.txt>).

note: type: textblock
en: See also: L</mkdtemp>.
uk: Див. також L</mkdtemp>.

note: type: verbatim
en:  modprobe modulename
uk:  modprobe назва_модуля

note: type: textblock
en: This loads a kernel module in the appliance.
uk: Завантажує модуль ядра у базовій системі.

note: type: textblock
en: This command depends on the feature C<linuxmodules>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<linuxmodules>. Див. також L</feature-available>.

note: type: verbatim
en:  mount mountable mountpoint
uk:  mount монтований_пристрій точка_монтування

note: type: textblock
en: Mount a guest disk at a position in the filesystem.  Block devices are named F</dev/sda>, F</dev/sdb> and so on, as they were added to the guest.  If those block devices contain partitions, they will have the usual names (eg. F</dev/sda1>).  Also LVM F</dev/VG/LV>-style names can be used, or ‘mountable’ strings returned by L</list-filesystems> or L</inspect-get-mountpoints>.
uk: Монтує диск гостьової системи до вказаного місця у файловій системі. Назви блокових пристроїв визначаються за схемою F</dev/sda>, F</dev/sdb> тощо за порядком, у якому їх було додано до гостьової системи. Якщо на цих блокових пристроях містяться розділи, вони матимуть звичні назви (наприклад F</dev/sda1>). Крім того, можна використовувати назви у стилі LVM F</dev/група_томів/логічний_том> або рядки «mountable», які повертають команди L</list-filesystems> та L</inspect-get-mountpoints>.

note: type: textblock
en: The rules are the same as for L<mount(2)>: A filesystem must first be mounted on F</> before others can be mounted.  Other filesystems can only be mounted on directories which already exist.
uk: Правила є тими самими, що і для L<mount(2)>: файлову систему має бути спочатку змонтовано до F</>, а вже потім мають монтуватися інші файлові системи. Інші файлові системи може бути змонтовано лише до каталогів, які вже створено у системі.

note: type: textblock
en: The mounted filesystem is writable, if we have sufficient permissions on the underlying device.
uk: Змонтована файлова система є придатною до запису, якщо є достатні права доступу до підлеглого пристрою.

note: type: textblock
en: Before libguestfs 1.13.16, this call implicitly added the options C<sync> and C<noatime>.  The C<sync> option greatly slowed writes and caused many problems for users.  If your program might need to work with older versions of libguestfs, use L</mount-options> instead (using an empty string for the first parameter if you don't want any options).
uk: До версії libguestfs 1.13.16 цей виклик неявним чином додавав параметри монтування C<sync> та C<noatime>. Використання параметра C<sync> значно уповільнювало запис і спричиняло значні проблеми для користувачів. Якщо ваша програма має працювати із застарілими версіями libguestfs, краще скористайтеся L</mount-options> (використовуючи порожній рядок як перший параметр, якщо ви не хочете визначати ніяких нетипових параметрів монтування).

note: type: verbatim
en:  mount-9p mounttag mountpoint [options:..]
uk:  mount-9p мітка_монтування точка_монтування [options:..]

note: type: textblock
en: Mount the virtio-9p filesystem with the tag C<mounttag> on the directory C<mountpoint>.
uk: Монтує файлову систему virtio-9p із міткою C<мітка_монтування> до каталогу C<точка_монтування>.

note: type: textblock
en: If required, C<trans=virtio> will be automatically added to the options.  Any other options required can be passed in the optional C<options> parameter.
uk: Якщо потрібно, до параметрів буде автоматично додано C<trans=virtio>. Усі інші потрібні параметри можна передати за допомогою необов'язкового параметра C<options>.

note: type: verbatim
en:  mount-local localmountpoint [readonly:true|false] [options:..] [cachetimeout:N] [debugcalls:true|false]
uk:  mount-local локальна_точка_монтування [readonly:true|false] [options:..] [cachetimeout:N] [debugcalls:true|false]

note: type: textblock
en: This call exports the libguestfs-accessible filesystem to a local mountpoint (directory) called C<localmountpoint>.  Ordinary reads and writes to files and directories under C<localmountpoint> are redirected through libguestfs.
uk: Цей виклик експортує доступну для libguestfs файлову систему до локальної точки монтування (каталогу) із назвою C<локальна_точка_монтування>. Звичайні запити щодо читання і запису до файлів і каталогів у каталозі C<локальна_точка_монтування> переспрямовуватимуться через libguestfs.

note: type: textblock
en: If the optional C<readonly> flag is set to true, then writes to the filesystem return error C<EROFS>.
uk: Якщо для необов'язкового прапорця C<readonly> встановлено значення true, спроби запису до файлової системи призводитимуть до помилки C<EROFS>.

note: type: textblock
en: C<options> is a comma-separated list of mount options.  See L<guestmount(1)> for some useful options.
uk: Аргументом C<options> має бути список параметрів монтування, відокремлених комами. Корисну інформацію щодо параметрів можна знайти на сторінці підручника щодо L<guestmount(1)>.

note: type: textblock
en: C<cachetimeout> sets the timeout (in seconds) for cached directory entries.  The default is 60 seconds.  See L<guestmount(1)> for further information.
uk: C<cachetimeout> встановлює час очікування у секундах на отримання записів каталогу кешування. Типовим значенням є 60 секунд. Див. L<guestmount(1)>, щоб дізнатися більше.

note: type: textblock
en: If C<debugcalls> is set to true, then additional debugging information is generated for every FUSE call.
uk: Якщо для параметра C<debugcalls> встановлено значення true, для кожного виклику FUSE створюються додаткові діагностичні дані.

note: type: textblock
en: When L</mount-local> returns, the filesystem is ready, but is not processing requests (access to it will block).  You have to call L</mount-local-run> to run the main loop.
uk: Коли L</mount-local> повертає керування, файлова система готова, але не обробляє запити (доступ до неї блокуватиметься). Вам слід викликати L</mount-local-run>, щоб запустити основний цикл обробки.

note: type: textblock
en: See L<guestfs(3)/MOUNT LOCAL> for full documentation.
uk: Із повною документацією можна ознайомитися у розділі L<guestfs(3)/ЛОКАЛЬНЕ МОНТУВАННЯ>.

note: type: textblock
en: Run the main loop which translates kernel calls to libguestfs calls.
uk: Виконує основний цикл обробки, який перетворює виклики ядра на виклики libguestfs.

note: type: textblock
en: This should only be called after L</mount-local> returns successfully.  The call will not return until the filesystem is unmounted.
uk: Цю команду слід викликати, лише якщо успішно виконано L</mount-local>. Виклик команди не поверне керування, доки файлову систему не буде змонтовано.

note: type: textblock
en: B<Note> you must I<not> make concurrent libguestfs calls on the same handle from another thread.
uk: B<Зауваження>: I<не> виконуйте конкурентні виклики libguestfs щодо одного дескриптора з різних потоків обробки.

note: type: textblock
en: You may call this from a different thread than the one which called L</mount-local>, subject to the usual rules for threads and libguestfs (see L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>).
uk: Ви можете викликати цю команду із іншого потоку обробки ніж той, з якого викликано L</mount-local>, виконуючи звичні правила щодо роботи з декількома потоками обробки і libguestfs (див. L<guestfs(3)/ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ>).

note: type: verbatim
en:  mount-loop file mountpoint
uk:  mount-loop файл точка_монтування

note: type: textblock
en: This command lets you mount F<file> (a filesystem image in a file) on a mount point.  It is entirely equivalent to the command C<mount -o loop file mountpoint>.
uk: За допомогою цієї команди ви можете змонтувати F<файл> (образ файлової системи у файлі) до точки монтування. Це точний еквівалент команди C<mount -o loop файл точка_монтування>.

note: type: verbatim
en:  mount-options options mountable mountpoint
uk:  mount-options параметри монтування точка_монтування

note: type: textblock
en: This is the same as the L</mount> command, but it allows you to set the mount options as for the L<mount(8)> I<-o> flag.
uk: Те саме, що і команда L</mount>, але надає вам змогу встановити параметри монтування, подібно до параметра команди L<mount(8)> I<-o>.

note: type: textblock
en: If the C<options> parameter is an empty string, then no options are passed (all options default to whatever the filesystem uses).
uk: Якщо значенням параметра C<параметри> є порожній рядок, параметри не передаватимуться (буде використано типовий набір параметрів для файлової системи).

note: type: verbatim
en:  mount-ro mountable mountpoint
uk:  mount-ro монтування точка_монтування

note: type: textblock
en: This is the same as the L</mount> command, but it mounts the filesystem with the read-only (I<-o ro>) flag.
uk: Те саме, що і команда L</mount>, але монтує файлову систему у режимі лише читання (використовує параметр I<-o ro>).

note: type: verbatim
en:  mount-vfs options vfstype mountable mountpoint
uk:  mount-vfs параметри тип_файлової_системи монтування точка_монтування

note: type: textblock
en: This is the same as the L</mount> command, but it allows you to set both the mount options and the vfstype as for the L<mount(8)> I<-o> and I<-t> flags.
uk: Те саме, що і команда L</mount>, але надає вам змогу встановити параметри монтування і тип файлової системи, подібно до параметрів команди L<mount(8)> I<-o> і I<-t>.

note: type: verbatim
en:  mountable-device mountable
uk:  mountable-device монтування

note: type: textblock
en: Returns the device name of a mountable. In quite a lot of cases, the mountable is the device name.
uk: Повертає назву пристрою для монтування. У переважній кількості випадків значенням параметра «монтування» є назва пристрою.

note: type: textblock
en: However this doesn't apply for btrfs subvolumes, where the mountable is a combination of both the device name and the subvolume path (see also L</mountable-subvolume> to extract the subvolume path of the mountable if any).
uk: Втім, це не стосується підтомів btrfs, де значенням параметра «монтування» є поєднання назви пристрою та шляху до підтому (див. також L</mountable-subvolume>, щоб дізнатися про те, як визначити шлях до підтому для монтування, якщо такий передбачено).

note: type: verbatim
en:  mountable-subvolume mountable
uk:  mountable-subvolume монтування

note: type: textblock
en: Returns the subvolume path of a mountable. Btrfs subvolumes mountables are a combination of both the device name and the subvolume path (see also L</mountable-device> to extract the device of the mountable).
uk: Повертає шлях до підтому для монтування. Монтування підтомів btrfs є поєднаннями назви пристрою і шляху до підтому (див. також L</mountable-device>, щоб дізнатися про те, як визначити назву пристрою для монтування).

note: type: textblock
en: If the mountable does not represent a btrfs subvolume, then this function fails and the C<errno> is set to C<EINVAL>.
uk: Якщо монтування є не підтомом btrfs, ця функція завершує роботу із помилкою і встановлює для C<errno> значення C<EINVAL>.

note: type: textblock
en: This call is similar to L</mounts>.  That call returns a list of devices.  This one returns a hash table (map) of device name to directory where the device is mounted.
uk: Цей виклик подібний до L</mounts>. Виклик повертає список пристроїв. Запис списку є таблицею хешів (картою) з назви пристрою і каталогу, до якого змонтовано пристрій.

note: type: textblock
en: This returns the list of currently mounted filesystems.  It returns the list of devices (eg. F</dev/sda1>, F</dev/VG/LV>).
uk: Повертає список поточних змонтованих файлових систем. Результатом виконання є список пристроїв (наприклад, F</dev/sda1>, F</dev/VG/LV>).

note: type: textblock
en: Some internal mounts are not shown.
uk: Деякі внутрішні монтування не буде включено до списку.

note: type: textblock
en: See also: L</mountpoints>
uk: Див. також L</mountpoints>

note: type: verbatim
en:  mv src dest
uk:  mv джерело призначення

note: type: textblock
en: This moves a file from C<src> to C<dest> where C<dest> is either a destination filename or destination directory.
uk: Пересуває файл з адреси C<джерело> до адреси C<призначення>, де значенням C<призначення> є або назва файла призначення, або назва каталогу призначення.

note: type: textblock
en: See also: L</rename>.
uk: Див. також L</rename>.

note: type: textblock
en: This returns the number of whole block devices that were added.  This is the same as the number of devices that would be returned if you called L</list-devices>.
uk: Повертає кількість усіх доданих блокових пристроїв. Це та сама кількість пристроїв, яку було б повернуто, якби ви викликали L</list-devices>.

note: type: textblock
en: To find out the maximum number of devices that could be added, call L</max-disks>.
uk: Щоб визначити максимальну кількість пристроїв, які може бути додано, викличте L</max-disks>.

note: type: verbatim
en:  ntfs-3g-probe true|false device
uk:  ntfs-3g-probe true|false пристрій

note: type: textblock
en: This command runs the L<ntfs-3g.probe(8)> command which probes an NTFS C<device> for mountability.  (Not all NTFS volumes can be mounted read-write, and some cannot be mounted at all).
uk: Ця команда запускає програму L<ntfs-3g.probe(8)>, яка зондує пристрій NTFS C<пристрій> на можливість монтування. (Не усі томи NTFS може бути змонтовано для читання і запису, а деякі не може бути змонтовано взагалі).

note: type: textblock
en: C<rw> is a boolean flag.  Set it to true if you want to test if the volume can be mounted read-write.  Set it to false if you want to test if the volume can be mounted read-only.
uk: C<rw> є булевим прапорцем. Встановіть значення true, якщо ви хочете перевірити, чи можна змонтувати том у режимі читання-запису. Встановіть значення false, якщо ви хочете перевірити, чи може бути змонтовано тому у режимі лише читання.

note: type: textblock
en: The return value is an integer which C<0> if the operation would succeed, or some non-zero value documented in the L<ntfs-3g.probe(8)> manual page.
uk: Повертає ціле значення рівне C<0>, якщо дію з монтування може бути виконано успішно, або рівне якомусь іншому значенню, документацію щодо якого можна знайти на сторінці підручника щодо L<ntfs-3g.probe(8)>.

note: type: textblock
en: This command depends on the feature C<ntfs3g>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<ntfs3g>. Див. також L</feature-available>.

note: type: verbatim
en:  ntfscat-i device inode (filename|-)
uk:  ntfscat-i пристрій inode (назва файла|-)

note: type: textblock
en: Download a file given its inode from a NTFS filesystem and save it as F<filename> on the local machine.
uk: Отримати файл, заданий за допомогою inode, з файлової системи NTFS і зберегти його з назвою F<назва файла> на локальній машині.

note: type: textblock
en: This allows to download some otherwise inaccessible files such as the ones within the C<$Extend> folder.
uk: Надає змогу отримувати недоступні у інший спосіб файли, зокрема файли з теки C<$Extend>.

note: type: textblock
en: The filesystem from which to extract the file must be unmounted, otherwise the call will fail.
uk: Файлову систему, звідки слід видобути файл, має бути демонтовано. Якщо цього не буде зроблено, виклик завершиться повідомленням про помилку.

note: type: verbatim
en:  ntfsclone-in (backupfile|-) device
uk:  ntfsclone-in (файл_резервної_копії|-) пристрій

note: type: textblock
en: Restore the C<backupfile> (from a previous call to L</ntfsclone-out>) to C<device>, overwriting any existing contents of this device.
uk: Відновити C<файл_резервної_копії> (створений попереднім викликом L</ntfsclone-out>) на пристрої C<пристрій> із перезаписом усього наявного вмісту пристрою.

note: type: verbatim
en:  ntfsclone-out device (backupfile|-) [metadataonly:true|false] [rescue:true|false] [ignorefscheck:true|false] [preservetimestamps:true|false] [force:true|false]
uk:  ntfsclone-out пристрій (backupfile|-) [metadataonly:true|false] [rescue:true|false] [ignorefscheck:true|false] [preservetimestamps:true|false] [force:true|false]

note: type: textblock
en: Stream the NTFS filesystem C<device> to the local file C<backupfile>.  The format used for the backup file is a special format used by the L<ntfsclone(8)> tool.
uk: Записати дані файлової системи NTFS з пристрою C<пристрій> до локального файла C<файл_резервної_копії>. Для файла резервної копії буде використано спеціальний формат, який використовується програмою L<ntfsclone(8)>.

note: type: textblock
en: If the optional C<metadataonly> flag is true, then I<only> the metadata is saved, losing all the user data (this is useful for diagnosing some filesystem problems).
uk: Якщо для необов'язкового прапорця C<metadataonly> встановлено значення true, збережено буде I<лише> метадані. Усі дані користувача буде втрачено (такий режим є корисним для діагностування проблем файлової системи).

note: type: textblock
en: The optional C<rescue>, C<ignorefscheck>, C<preservetimestamps> and C<force> flags have precise meanings detailed in the L<ntfsclone(8)> man page.
uk: Опис необов'язкових прапорців C<rescue>, C<ignorefscheck>, C<preservetimestamps> та C<force> можна знайти на сторінці підручника L<ntfsclone(8)>.

note: type: textblock
en: Use L</ntfsclone-in> to restore the file back to a libguestfs device.
uk: Використовує L</ntfsclone-in> для відновлення резервної копії у файлі на пристрої libguestfs.

note: type: verbatim
en:  ntfsfix device [clearbadsectors:true|false]
uk:  ntfsfix пристрій [clearbadsectors:true|false]

note: type: textblock
en: This command repairs some fundamental NTFS inconsistencies, resets the NTFS journal file, and schedules an NTFS consistency check for the first boot into Windows.
uk: Ця команда виправляє деякі фундаментальні проблеми NTFS, відновлює початковий стан журналу NTFS і додає заплановану перевірку коректності NTFS під час першого ж завантаження до Windows.

note: type: textblock
en: This is I<not> an equivalent of Windows C<chkdsk>.  It does I<not> scan the filesystem for inconsistencies.
uk: Ця команда I<не> є еквівалентом C<chkdsk> Windows. Вона I<не> виконує перевірки коректності файлової системи.

note: type: textblock
en: The optional C<clearbadsectors> flag clears the list of bad sectors.  This is useful after cloning a disk with bad sectors to a new disk.
uk: За допомогою необов'язкового прапорця C<clearbadsectors> можна спорожнити список помилкових секторів. Це корисно при клонуванні диска із помилковими секторами на новий диск.

note: type: verbatim
en:  ntfsresize device [size:N] [force:true|false]
uk:  ntfsresize пристрій [size:N] [force:true|false]

note: type: textblock
en: This command resizes an NTFS filesystem, expanding or shrinking it to the size of the underlying device.
uk: Ця команда змінює розмір файлової системи NTFS, розширюючи або стискаючи її до розміру підлеглого пристрою.

note: type: textblock
en: The new size (in bytes) of the filesystem.  If omitted, the filesystem is resized to fit the container (eg. partition).
uk: Новий розмір (у байтах) файлової системи. Якщо не вказано, розмір файлової системи буде змінено до розмірів контейнера (наприклад розділу).

note: type: textblock
en: If this option is true, then force the resize of the filesystem even if the filesystem is marked as requiring a consistency check.
uk: Якщо цей параметр має значення true, буде виконано примусову зміну розміру файлової системи, навіть якщо файлову систему позначено як таку, яка потребує перевірки на коректність.

note: type: textblock
en: After the resize operation, the filesystem is always marked as requiring a consistency check (for safety).  You have to boot into Windows to perform this check and clear this condition.  If you I<don't> set the C<force> option then it is not possible to call L</ntfsresize> multiple times on a single filesystem without booting into Windows between each resize.
uk: Після виконання дії зі зміни розміру файлову систему завжди буде позначено як таку, яка потребує перевірки на коректність (з міркувань безпеки). Вам слід завантажити Windows, щоб виконати перевірку і зняти позначення. Якщо ви I<не> встановлювали параметр C<force>, L</ntfsresize> не можна буде викликати декілька разів поспіль для однієї файлової системи без завантаження Windows між діями зі зміни розміру.

note: type: textblock
en: See also L<ntfsresize(8)>.
uk: Див. також L<ntfsresize(8)>.

note: type: textblock
en: This command depends on the feature C<ntfsprogs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<ntfsprogs>. Див. також L</feature-available>.

note: type: verbatim
en:  ntfsresize-size device size
uk:  ntfsresize-size пристрій розмір

note: type: textblock
en: This command is the same as L</ntfsresize> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і L</ntfsresize>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</ntfsresize> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</ntfsresize>.

note: type: textblock
en: Parse the program’s environment and set flags in the handle accordingly.  For example if C<LIBGUESTFS_DEBUG=1> then the ‘verbose’ flag is set in the handle.
uk: Виконує обробку середовища програми і встановлює прапорців у дескрипторі відповідним чином. Наприклад, якщо C<LIBGUESTFS_DEBUG=1>, у дескрипторі буде встановлено прапорець «verbose».

note: type: textblock
en: I<Most programs do not need to call this>.  It is done implicitly when you call L</create>.
uk: I<У більшості програм потреби у виконанні цієї дії немає>. Дія неявним чином виконується під час виклику L</create>.

note: type: textblock
en: See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables that can affect libguestfs handles.  See also L<guestfs(3)/guestfs_create_flags>, and L</parse-environment-list>.
uk: Див. L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>, де наведено список змінних середовища, які впливають на засоби обробки libguestfs. Див. також L<guestfs(3)/guestfs_create_flags> та L</parse-environment-list>.

note: type: verbatim
en:  parse-environment-list 'environment ...'
uk:  parse-environment-list 'середовище ...'

note: type: textblock
en: Parse the list of strings in the argument C<environment> and set flags in the handle accordingly.  For example if C<LIBGUESTFS_DEBUG=1> is a string in the list, then the ‘verbose’ flag is set in the handle.
uk: Обробляє список рядків у аргументі C<середовище> і встановлює відповідним чином прапорці у дескрипторі. Наприклад, якщо у списку є рядок C<LIBGUESTFS_DEBUG=1>, у дескрипторі буде встановлено прапорець «verbose».

note: type: textblock
en: This is the same as L</parse-environment> except that it parses an explicit list of strings instead of the program's environment.
uk: Те саме, що і L</parse-environment>, але обробляє явним список рядків, замість середовища програми.

note: type: verbatim
en:  part-add device prlogex startsect endsect
uk:  part-add пристрій prlogex початковий_сектор кінцевий_сектор

note: type: textblock
en: This command adds a partition to C<device>.  If there is no partition table on the device, call L</part-init> first.
uk: Ця команда додає розділ на C<пристрій>. Якщо на пристрої немає таблиці розділів, спочатку слід викликати L</part-init>.

note: type: textblock
en: The C<prlogex> parameter is the type of partition.  Normally you should pass C<p> or C<primary> here, but MBR partition tables also support C<l> (or C<logical>) and C<e> (or C<extended>) partition types.
uk: Значенням параметра C<prlogex> є тип розділу. Зазвичай, вам слід передати тип C<p> або C<primary>, але у таблицях розділів MBR також передбачено підтримку типів розділів C<l> (або C<logical>) і C<e> (або C<extended>).

note: type: textblock
en: C<startsect> and C<endsect> are the start and end of the partition in I<sectors>.  C<endsect> may be negative, which means it counts backwards from the end of the disk (C<-1> is the last sector).
uk: Значеннями параметрів C<початковий_сектор> і C<кінцевий_сектор> є початок і кінець розділу, вказані за номерами I<секторів>. Значенням параметра C<кінцевий_сектор> може бути від'ємне значення, що означає, що сектори слід лічити з кінця диска (C<-1> означає «останній сектор»).

note: type: textblock
en: Creating a partition which covers the whole disk is not so easy.  Use L</part-disk> to do that.
uk: Створення розділу, який займатиме увесь диск є непростою справою. Для виконання цього завдання скористайтеся L</part-disk>.

note: type: verbatim
en:  part-del device partnum
uk:  part-del пристрій номер_розділу

note: type: textblock
en: This command deletes the partition numbered C<partnum> on C<device>.
uk: Ця команда вилучає розділ із номером C<номер_розділу> на пристрої C<пристрій>.

note: type: textblock
en: Note that in the case of MBR partitioning, deleting an extended partition also deletes any logical partitions it contains.
uk: Зауважте, що у випадку розділів у MBR вилучення розширеного розділу призводить до вилучення усіх логічних розділів, які на ньому містяться.

note: type: verbatim
en:  part-disk device parttype
uk:  part-disk пристрій тип_розділу

note: type: textblock
en: This command is simply a combination of L</part-init> followed by L</part-add> to create a single primary partition covering the whole disk.
uk: Ця команда є простою комбінацією L</part-init> з наступною L</part-add> для створення єдиного основного розділу, який займатиме увесь диск.

note: type: textblock
en: C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other possible values are described in L</part-init>.
uk: Значенням параметра C<тип_розділу> є тип таблиці розділів, зазвичай, C<mbr> або C<gpt>, але можливі і інші значення, описані у довідці з L</part-init>.

note: type: verbatim
en:  part-expand-gpt device
uk:  part-expand-gpt пристрій

note: type: textblock
en: Move backup GPT data structures to the end of the disk.  This is useful in case of in-place image expand since disk space after backup GPT header is not usable.  This is equivalent to C<sgdisk -e>.
uk: Пересуває резервні копії структур даних GPT у кінець диска. Корисно у випадку розширення образу на місці, оскільки простір на диску після резервної копії заголовка GPT не можна використовувати. Еквівалент C<sgdisk -e>.

note: type: textblock
en: See also L<sgdisk(8)>.
uk: Див. також L<sgdisk(8)>.

note: type: textblock
en: This command depends on the feature C<gdisk>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<gdisk>. Див. також L</feature-available>.

note: type: verbatim
en:  part-get-bootable device partnum
uk:  part-get-bootable пристрій номер_розділу

note: type: textblock
en: This command returns true if the partition C<partnum> on C<device> has the bootable flag set.
uk: Ця команда повертає true, якщо для розділу C<номер_розділу> на пристрої C<пристрій> встановлено прапорець можливості завантаження.

note: type: textblock
en: See also L</part-set-bootable>.
uk: Див. також L</part-set-bootable>.

note: type: verbatim
en:  part-get-disk-guid device
uk:  part-get-disk-guid пристрій

note: type: textblock
en: Return the disk identifier (GUID) of a GPT-partitioned C<device>.  Behaviour is undefined for other partition types.
uk: Повертає ідентифікатор диска (GUID) пристрою C<пристрій> із таблицею розділів GPT. Для інших типів таблиць розділів поведінку команди не визначено.

note: type: verbatim
en:  part-get-gpt-attributes device partnum
uk:  part-get-gpt-attributes пристрій номер_розділу

note: type: textblock
en: Return the attribute flags of numbered GPT partition C<partnum>.  An error is returned for MBR partitions.
uk: Повертає прапорці атрибутів вказаного за номером розділу GPT C<номер_розділу>. Повертає помилку для розділів MBR.

note: type: verbatim
en:  part-get-gpt-guid device partnum
uk:  part-get-gpt-guid пристрій номер_розділу

note: type: textblock
en: Return the GUID of numbered GPT partition C<partnum>.
uk: Повертає GUID вказаного за номером розділу GPT C<номер_розділу>.

note: type: verbatim
en:  part-get-gpt-type device partnum
uk:  part-get-gpt-type пристрій номер_розділу

note: type: textblock
en: Return the type GUID of numbered GPT partition C<partnum>. For MBR partitions, return an appropriate GUID corresponding to the MBR type. Behaviour is undefined for other partition types.
uk: Повертає GUID типу вказаного за номером розділу GPT C<номер_розділу>. Для розділів MBR повертає відповідний GUID для типу MBR. Для інших типів розділів поведінку не визначено.

note: type: verbatim
en:  part-get-mbr-id device partnum
uk:  part-get-mbr-id пристрій номер_розділу

note: type: textblock
en: Returns the MBR type byte (also known as the ID byte) from the numbered partition C<partnum>.
uk: Повертає байт типу MBR (також відомий як байт ID) для вказаного за номером розділу C<номер_розділу>.

note: type: textblock
en: Note that only MBR (old DOS-style) partitions have type bytes.  You will get undefined results for other partition table types (see L</part-get-parttype>).
uk: Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів (див. L</part-get-parttype>).

note: type: verbatim
en:  part-get-mbr-part-type device partnum
uk:  part-get-mbr-part-type пристрій номер_розділу

note: type: textblock
en: This returns the partition type of an MBR partition numbered C<partnum> on device C<device>.
uk: Повертає тип розділу MBR, вказаного за номером C<номер_розділу>, на пристрої C<пристрій>.

note: type: textblock
en: It returns C<primary>, C<logical>, or C<extended>.
uk: Повертає C<primary>, C<logical> або C<extended>.

note: type: verbatim
en:  part-get-name device partnum
uk:  part-get-name пристрій номер_розділу

note: type: textblock
en: This gets the partition name on partition numbered C<partnum> on device C<device>.  Note that partitions are numbered from 1.
uk: Ця команда отримує назву розділу на вказаному за номером розділі C<номер розділу> на пристрої C<пристрій>. Зауважте, що нумерація розділів розпочинається з 1.

note: type: textblock
en: The partition name can only be read on certain types of partition table.  This works on C<gpt> but not on C<mbr> partitions.
uk: Назву розділу можна прочитати лише для певних типів таблиць розділів. Це працює для таблиць C<gpt>, але не для таблиць C<mbr>.

note: type: verbatim
en:  part-get-parttype device
uk:  part-get-parttype пристрій

note: type: textblock
en: This command examines the partition table on C<device> and returns the partition table type (format) being used.
uk: Ця команда виконує вивчення таблиці розділів на пристрої C<пристрій> і повертає тип таблиці розділів (формат), який на ньому використано.

note: type: textblock
en: Common return values include: C<msdos> (a DOS/Windows style MBR partition table), C<gpt> (a GPT/EFI-style partition table).  Other values are possible, although unusual.  See L</part-init> for a full list.
uk: Серед типових повернутих значень: C<msdos> (таблиця розділів MBR у стилі DOS/Windows), C<gpt> (таблиця розділів у стилі GPT/EFI). Можливі також інші значення, але вони є рідкісними. Повний список можна знайти у розділі щодо L</part-init>.

note: type: verbatim
en:  part-init device parttype
uk:  part-init пристрій тип_розділу

note: type: textblock
en: This creates an empty partition table on C<device> of one of the partition types listed below.  Usually C<parttype> should be either C<msdos> or C<gpt> (for large disks).
uk: Ця команда створює порожню таблицю розділів на пристрої C<пристрій>, використовуючи тип розділів із наведеного нижче списку. Зазвичай, значенням параметра C<тип_розділу> має бути C<msdos> або C<gpt> (для великих дисків).

note: type: textblock
en: Initially there are no partitions.  Following this, you should call L</part-add> for each partition required.
uk: Спочатку на пристрої немає розділів. Після цієї команди вам слід викликати L</part-add> для кожного потрібного вам розділу.

note: type: textblock
en: Possible values for C<parttype> are:
uk: Можливі значення для параметра C<тип_розділу>:

note: type: textblock
en: Intel EFI / GPT partition table.
uk: Таблиця розділів EFI / GPT Intel.

note: type: textblock
en: This is recommended for >= 2 TB partitions that will be accessed from Linux and Intel-based Mac OS X.  It also has limited backwards compatibility with the C<mbr> format.
uk: Цей варіант є рекомендованим для розділів із розміром >= 2 ТБ, доступ до яких здійснюватиметься з Linux та заснованої на архітектурі Intel Mac OS X. Крім того, цей варіант має обмежену зворотну сумісність із форматом C<mbr>.

note: type: textblock
en: The standard PC "Master Boot Record" (MBR) format used by MS-DOS and Windows.  This partition type will B<only> work for device sizes up to 2 TB.  For large disks we recommend using C<gpt>.
uk: Стандартний для ПК формат «Master Boot Record» (MBR), який використовувався MS-DOS і Windows. Цей тип розділу працюватиме B<лише> для пристроїв, розмір яких не перевищує 2 ТБ. Для дисків більшого розміру ми рекомендуємо скористатися C<gpt>.

note: type: textblock
en: Other partition table types that may work but are not supported include:
uk: Для інших типів таблиць розділів це теж може працювати, але їхньої підтримки не передбачено. Це зокрема:

note: type: textblock
en: AIX disk labels.
uk: Мітки дисків AIX.

note: type: textblock
en: Amiga "Rigid Disk Block" format.
uk: Формат "Rigid Disk Block" Amiga.

note: type: textblock
en: BSD disk labels.
uk: Мітки дисків BSD.

note: type: textblock
en: DASD, used on IBM mainframes.
uk: DASD, використовувалися у мейнфреймах IBM.

note: type: textblock
en: MIPS/SGI volumes.
uk: Томи MIPS/SGI.

note: type: textblock
en: Old Mac partition format.  Modern Macs use C<gpt>.
uk: Старий формат розділів Mac. Сучасні системи Mac використовують C<gpt>.

note: type: textblock
en: NEC PC-98 format, common in Japan apparently.
uk: Формат NEC PC-98, поширений у Японії.

note: type: textblock
en: Sun disk labels.
uk: Мітки дисків Sun.

note: type: textblock
en: This command parses the partition table on C<device> and returns the list of partitions found.
uk: Ця команда обробляє таблицю розділів пристрою C<пристрій> і повертає список знайдених розділів.

note: type: textblock
en: The fields in the returned structure are:
uk: Поля повернутої структури:

note: type: textblock
en: Partition number, counting from 1.
uk: Номер розділу, відлік від 1.

note: type: textblock
en: Start of the partition I<in bytes>.  To get sectors you have to divide by the device’s sector size, see L</blockdev-getss>.
uk: Позиція початку розділу I<у байтах>. Для отримання позиції у секторах вам слід поділити це значення на розмір сектора, див. L</blockdev-getss>.

note: type: textblock
en: End of the partition in bytes.
uk: Позиція завершення розділу у байтах.

note: type: textblock
en: Size of the partition in bytes.
uk: Розмір розділу у байтах.

note: type: verbatim
en:  part-resize device partnum endsect
uk:  part-resize пристрій номер_розділу кінцевий_сектор

note: type: textblock
en: This command resizes the partition numbered C<partnum> on C<device> by moving the end position.
uk: Ця команда змінює розмір розділу із номером C<номер_розділу> на пристрої C<пристрій>, посуваючи позицію кінця розділу.

note: type: textblock
en: Note that this does not modify any filesystem present in the partition.  If you wish to do this, you will need to use filesystem resizing commands like L</resize2fs>.
uk: Зауважте, що ця команда не вносить змін до файлових систем на розділі. Якщо вам потрібно змінити розмір файлової системи, вам слід скористатися командами зміни розмірів файлових систем, наприклад L</resize2fs>.

note: type: textblock
en: When growing a partition you will want to grow the filesystem afterwards, but when shrinking, you need to shrink the filesystem before the partition.
uk: Якщо ви збільшуєте розміри розділу, далі вам слід збільшити розміри файлової системи. Якщо ж ви зменшуєте розміри розділу, спочатку вам слід зменшити розміри файлової системи на ньому.

note: type: verbatim
en:  part-set-bootable device partnum true|false
uk:  part-set-bootable пристрій номер_розділу true|false

note: type: textblock
en: This sets the bootable flag on partition numbered C<partnum> on device C<device>.  Note that partitions are numbered from 1.
uk: Ця команда встановлює прапорець можливості завантаження на вказаному за номером розділі C<номер розділу> на пристрої C<пристрій>. Зауважте, що нумерація розділів розпочинається з 1.

note: type: textblock
en: The bootable flag is used by some operating systems (notably Windows) to determine which partition to boot from.  It is by no means universally recognized.
uk: Прапорець можливості завантаження використовується певними операційними системами (найпоширенішою з яких є Windows) для визначення розділу, з якого слід виконувати завантаження. Він ніяким чином не є універсальним.

note: type: verbatim
en:  part-set-disk-guid device guid
uk:  part-set-disk-guid пристрій guid

note: type: textblock
en: Set the disk identifier (GUID) of a GPT-partitioned C<device> to C<guid>.  Return an error if the partition table of C<device> isn't GPT, or if C<guid> is not a valid GUID.
uk: Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT C<пристрій> у значення C<guid>. Повертає помилку, якщо таблицею розділів пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

note: type: verbatim
en:  part-set-disk-guid-random device
uk:  part-set-disk-guid-random пристрій

note: type: textblock
en: Set the disk identifier (GUID) of a GPT-partitioned C<device> to a randomly generated value.  Return an error if the partition table of C<device> isn't GPT.
uk: Встановлює ідентифікатор диска (GUID) пристрою із таблицею розділів GPT C<пристрій> у створене випадковим чином значення. Повертає помилку, якщо таблицею розділів пристрою C<пристрій> не є GPT.

note: type: verbatim
en:  part-set-gpt-attributes device partnum attributes
uk:  part-set-gpt-attributes пристрій номер_розділу атрибути

note: type: textblock
en: Set the attribute flags of numbered GPT partition C<partnum> to C<attributes>. Return an error if the partition table of C<device> isn't GPT.
uk: Встановлює прапорці атрибутів вказаного за номером розділу GPT C<номер_розділу> у значення C<атрибути>. Повертає помилку, якщо таблицею розділів пристрою C<пристрій> не є GPT.

note: type: textblock
en: See L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries> for a useful list of partition attributes.
uk: Див. L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries>, де наведено корисний список атрибутів розділів.

note: type: verbatim
en:  part-set-gpt-guid device partnum guid
uk:  part-set-gpt-guid пристрій номер_розділу guid

note: type: textblock
en: Set the GUID of numbered GPT partition C<partnum> to C<guid>.  Return an error if the partition table of C<device> isn't GPT, or if C<guid> is not a valid GUID.
uk: Встановлює GUID вказаного за номером C<номер_розділу> пристрою із таблицею розділів GPT C<пристрій> у значення C<guid>. Повертає помилку, якщо таблицею розділів пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

note: type: verbatim
en:  part-set-gpt-type device partnum guid
uk:  part-set-gpt-type пристрій номер_розділу guid

note: type: textblock
en: Set the type GUID of numbered GPT partition C<partnum> to C<guid>. Return an error if the partition table of C<device> isn't GPT, or if C<guid> is not a valid GUID.
uk: Встановлює GUID типу пристрою вказаного за номером C<номер_розділу> пристрою із таблицею розділів GPT у значення C<guid>. Повертає помилку, якщо таблицею розділів пристрою C<пристрій> не є GPT або якщо C<guid> не є коректним GUID.

note: type: textblock
en: See L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs> for a useful list of type GUIDs.
uk: Див. <https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs>, де наведено корисний список GUID типів.

note: type: verbatim
en:  part-set-mbr-id device partnum idbyte
uk:  part-set-mbr-id пристрій_номер розділу ід_байт

note: type: textblock
en: Sets the MBR type byte (also known as the ID byte) of the numbered partition C<partnum> to C<idbyte>.  Note that the type bytes quoted in most documentation are in fact hexadecimal numbers, but usually documented without any leading "0x" which might be confusing.
uk: Встановлює байт типу MBR (також відомий як байт ID) для вказаного за номером розділу C<номер_розділу> у значення C<ід_байт>. Зауважте, що байти типів у більшій частині документації є насправді шістнадцятковими числами, але фігурують у тексті без початкового «0x», що може ввести читача в оману.

note: type: verbatim
en:  part-set-name device partnum name
uk:  part-set-name пристрій номер_розділу назва

note: type: textblock
en: This sets the partition name on partition numbered C<partnum> on device C<device>.  Note that partitions are numbered from 1.
uk: Ця команда встановлює назву розділу на вказаному за номером розділі C<номер розділу> на пристрої C<пристрій>. Зауважте, що нумерація розділів розпочинається з 1.

note: type: textblock
en: The partition name can only be set on certain types of partition table.  This works on C<gpt> but not on C<mbr> partitions.
uk: Назву розділу можна встановити лише для певних типів таблиць розділів. Це працює для таблиць C<gpt>, але не для таблиць C<mbr>.

note: type: verbatim
en:  part-to-dev partition
uk:  part-to-dev розділ

note: type: textblock
en: This function takes a partition name (eg. "/dev/sdb1") and removes the partition number, returning the device name (eg. "/dev/sdb").
uk: Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона вилучає номер розділу, повертаючи назву розділу (наприклад «/dev/sdb»).

note: type: textblock
en: The named partition must exist, for example as a string returned from L</list-partitions>.
uk: Іменований розділ має існувати, наприклад, як рядок, який повертає L</list-partitions>.

note: type: textblock
en: See also L</part-to-partnum>, L</device-index>.
uk: Див. також L</part-to-partnum>, L</device-index>.

note: type: verbatim
en:  part-to-partnum partition
uk:  part-to-partnum розділ

note: type: textblock
en: This function takes a partition name (eg. "/dev/sdb1") and returns the partition number (eg. C<1>).
uk: Цій функції передається назва розділу (наприклад «/dev/sdb1»), вона повертає номер розділу (наприклад C<1>).

note: type: textblock
en: See also L</part-to-dev>.
uk: Див. також L</part-to-dev>.

note: type: textblock
en: This is a test probe into the guestfs daemon running inside the libguestfs appliance.  Calling this function checks that the daemon responds to the ping message, without affecting the daemon or attached block device(s) in any other way.
uk: Це зонд для тестування фонової служби guestfs, запущеної у базовій системі libguestfs. Виклик цієї служби перевіряє, чи відповідає фонова служба на луна-повідомлення, ніяк інакше не впливаючи на роботу фонової служби або долучених блокових пристроїв.

note: type: verbatim
en:  pread path count offset
uk:  pread шлях кількість відступ

note: type: textblock
en: This command lets you read part of a file.  It reads C<count> bytes of the file, starting at C<offset>, from file C<path>.
uk: За допомогою цієї команди ви можете прочитати частину файла. Вона читає C<кількість> байтів з файла, починаючи з позиції C<відступ>. Файл задається записом C<шлях>.

note: type: textblock
en: This may read fewer bytes than requested.  For further details see the L<pread(2)> system call.
uk: Команда може прочитати менше байтів, ніж було вказано у параметрах команди. Щоб дізнатися більше про це, ознайомтеся зі сторінкою підручника щодо системного виклику L<pread(2)>.

note: type: textblock
en: See also L</pwrite>, L</pread-device>.
uk: Див. також L</pwrite>, L</pread-device>.

note: type: verbatim
en:  pread-device device count offset
uk:  pread-device пристрій кількість відступ

note: type: textblock
en: This command lets you read part of a block device.  It reads C<count> bytes of C<device>, starting at C<offset>.
uk: За допомогою цієї команди ви можете прочитати частину вмісту блокового пристрою. Вона читає C<кількість> байтів з пристрою C<пристрій>, починаючи з позиції C<відступ>.

note: type: textblock
en: See also L</pread>.
uk: Див. також L</pread>.

note: type: verbatim
en:  pvchange-uuid device
uk:  pvchange-uuid пристрій

note: type: textblock
en: Generate a new random UUID for the physical volume C<device>.
uk: Створити новий випадковий UUID для фізичного тому C<пристрій>.

note: type: textblock
en: Generate new random UUIDs for all physical volumes.
uk: Створити нові випадкові UUID для всіх фізичних томів.

note: type: verbatim
en:  pvcreate device
uk:  pvcreate пристрій

note: type: textblock
en: This creates an LVM physical volume on the named C<device>, where C<device> should usually be a partition name such as F</dev/sda1>.
uk: Ця команда створює фізичний том LVM із назвою C<пристрій>, де C<пристрій>, зазвичай, має бути назвою розділу, наприклад F</dev/sda1>.

note: type: verbatim
en:  pvremove device
uk:  pvremove пристрій

note: type: textblock
en: This wipes a physical volume C<device> so that LVM will no longer recognise it.
uk: Ця команда витирає вміст фізичного тому C<пристрій> так, що LVM більше його не розпізнає.

note: type: textblock
en: The implementation uses the L<pvremove(8)> command which refuses to wipe physical volumes that contain any volume groups, so you have to remove those first.
uk: У цій реалізації використано команду L<pvremove(8)>, яка забороняє витирати фізичні томи, які містять будь-які групи томів. Тому вам слід спочатку вилучити групи.

note: type: verbatim
en:  pvresize device
uk:  pvresize пристрій

note: type: textblock
en: This resizes (expands or shrinks) an existing LVM physical volume to match the new size of the underlying device.
uk: Ця команда змінює розмір (розширює або стискає) наявний логічний том LVM так, щоб він відповідав за розміром новому розміру базового пристрою.

note: type: verbatim
en:  pvresize-size device size
uk:  pvresize-size пристрій розмір

note: type: textblock
en: This command is the same as L</pvresize> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і L</pvresize>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: textblock
en: List all the physical volumes detected.  This is the equivalent of the L<pvs(8)> command.
uk: Виводить список усіх виявлених фізичних томів. Є еквівалентом команди L<pvs(8)>.

note: type: textblock
en: This returns a list of just the device names that contain PVs (eg. F</dev/sda2>).
uk: Ця команда повертає список назв лише тих пристроїв, на яких містяться фізичні томи (наприклад F</dev/sda2>).

note: type: textblock
en: See also L</pvs-full>.
uk: Див. також L</pvs-full>.

note: type: textblock
en: List all the physical volumes detected.  This is the equivalent of the L<pvs(8)> command.  The "full" version includes all fields.
uk: Виводить список усіх виявлених фізичних томів. Є еквівалентом команди L<pvs(8)>. «Повна» версія включає усі поля.

note: type: verbatim
en:  pvuuid device
uk:  pvuuid пристрій

note: type: textblock
en: This command returns the UUID of the LVM PV C<device>.
uk: Ця команда повертає UUID фізичного тому LVM C<пристрій>.

note: type: verbatim
en:  pwrite path content offset
uk:  pwrite шлях дані відступ

note: type: textblock
en: This command writes to part of a file.  It writes the data buffer C<content> to the file C<path> starting at offset C<offset>.
uk: Ця команда записує частину файла. Команда записує буфер даних C<дані> до файла C<шлях>, починаючи з відступу C<відступ>.

note: type: textblock
en: This command implements the L<pwrite(2)> system call, and like that system call it may not write the full data requested.  The return value is the number of bytes that were actually written to the file.  This could even be 0, although short writes are unlikely for regular files in ordinary circumstances.
uk: Ця команда реалізує системний виклик L<pwrite(2)> і, подібно до цього системного виклику, вона може не записати повністю вказані дані. Повернуте значення є кількістю байтів, які насправді було записано до файла. Цим значенням може бути навіть 0, хоча обрізані записи є малоймовірними для звичайних файлів у звичайних обставинах.

note: type: textblock
en: See also L</pread>, L</pwrite-device>.
uk: Див. також L</pread>, L</pwrite-device>.

note: type: verbatim
en:  pwrite-device device content offset
uk:  pwrite-device пристрій дані відступ

note: type: textblock
en: This command writes to part of a device.  It writes the data buffer C<content> to C<device> starting at offset C<offset>.
uk: Ця команда записує частину пристрою. Команда записує буфер даних C<дані> до пристрою C<пристрій>, починаючи з відступу C<відступ>.

note: type: textblock
en: This command implements the L<pwrite(2)> system call, and like that system call it may not write the full data requested (although short writes to disk devices and partitions are probably impossible with standard Linux kernels).
uk: Ця команда реалізує системний виклик L<pwrite(2)> і, подібно до цього системного виклику, вона може не записати повністю вказані дані (хоча обрізаний запис на дискові пристрої і розділи майже неможливий зі стандартними ядрами Linux).

note: type: textblock
en: See also L</pwrite>.
uk: Див. також L</pwrite>.

note: type: verbatim
en:  read-file path
uk:  read-file шлях

note: type: textblock
en: This calls returns the contents of the file C<path> as a buffer.
uk: Цей виклик повертає вміст файла C<шлях> як буфер даних.

note: type: textblock
en: Unlike L</cat>, this function can correctly handle files that contain embedded ASCII NUL characters.
uk: На відміну від L</cat>, ця функція може правильно обробляти файли, які містять вбудовані символи NUL ASCII.

note: type: verbatim
en:  read-lines path
uk:  read-lines шлях

note: type: textblock
en: The file contents are returned as a list of lines.  Trailing C<LF> and C<CRLF> character sequences are I<not> returned.
uk: Вміст файла повертається як список рядків. Послідовності символів C<LF> та C<CRLF> наприкінці рядків I<не> повертаються.

note: type: textblock
en: Note that this function cannot correctly handle binary files (specifically, files containing C<\0> character which is treated as end of string).  For those you need to use the L</read-file> function and split the buffer into lines yourself.
uk: Зауважте, що ця функція не може належним чином обробляти двійкові файли (особливо, файли, у яких містяться символи C<\0>, які вважаються символами кінця рядка). Для таких файлів слід використовувати функцію L</read-file> і ділити буфер на рядки власноруч.

note: type: verbatim
en:  readdir dir
uk:  readdir каталог

note: type: textblock
en: This returns the list of directory entries in directory C<dir>.
uk: Ця команда повертає список записів у каталозі C<каталог>.

note: type: textblock
en: All entries in the directory are returned, including C<.> and C<..>.  The entries are I<not> sorted, but returned in the same order as the underlying filesystem.
uk: Буде повернуто усі записи у каталозі, зокрема і записи C<.> та C<..>. Записи I<не> упорядковуватимуться, їх буде повернуто у тому самому порядку, у якому вони зберігаються у базовій файловій системі.

note: type: textblock
en: Also this call returns basic file type information about each file.  The C<ftyp> field will contain one of the following characters:
uk: Крім того, цей виклик повертає базові дані щодо типу файла для кожного з файлів. У полі C<ftyp> міститиметься один з таких символів:

note: type: textblock
en: The L<readdir(3)> call returned a C<d_type> field with an unexpected value
uk: Викликом L<readdir(3)> повернуто поле C<d_type> із неочікуваним значенням

note: type: textblock
en: This function is primarily intended for use by programs.  To get a simple list of names, use L</ls>.  To get a printable directory for human consumption, use L</ll>.
uk: Цю функцію створено, в основному, для використання у програмах. Щоб отримати простий список назв, скористайтеся L</ls>. Щоб отримати придатний для друку і сприйняття людиною список каталогу, скористайтеся L</ll>.

note: type: verbatim
en:  readlink path
uk:  readlink шлях

note: type: textblock
en: This command reads the target of a symbolic link.
uk: Ця команда читає файл, на який посилається символічне посилання.

note: type: verbatim
en:  readlinklist path 'names ...'
uk:  readlinklist шлях 'назви ...'

note: type: textblock
en: This call allows you to do a C<readlink> operation on multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу виконувати дію L</readlink> над декількома файлами, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список файлів у цьому каталозі.

note: type: textblock
en: On return you get a list of strings, with a one-to-one correspondence to the C<names> list.  Each string is the value of the symbolic link.
uk: Повернуто буде список рядків із однозначною відповідністю до списку C<назви>. У кожному рядку буде значення символічного посилання.

note: type: textblock
en: If the L<readlink(2)> operation fails on any name, then the corresponding result string is the empty string C<"">.  However the whole operation is completed even if there were L<readlink(2)> errors, and so you can call this function with names where you don't know if they are symbolic links already (albeit slightly less efficient).
uk: Якщо не вдається виконати дію L<readlink(2)> для якоїсь із назв, відповідним рядком-результатом буде порожній рядок C<"">.  Втім, обробку буде завершено, навіть якщо стануться якісь помилки у L<readlink(2)>, тому ви можете викликати цю функцію для назв, про які немає відомостей щодо того, чи є вони символічними посиланнями (хоча такі виклики і будуть дещо менш ефективними).

note: type: textblock
en: This call is intended for programs that want to efficiently list a directory contents without making many round-trips.
uk: Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів.

note: type: verbatim
en:  realpath path
uk:  realpath шлях

note: type: textblock
en: Return the canonicalized absolute pathname of C<path>.  The returned path has no C<.>, C<..> or symbolic link path elements.
uk: Повертає перетворену до канонічної форми абсолютну назву шляху C<шлях>. У повернутому шляху не буде елементів C<.>, C<..> або шляхів символічних посилань.

note: type: verbatim
en:  remount mountpoint [rw:true|false]
uk:  remount точка_монтування [rw:true|false]

note: type: textblock
en: This call allows you to change the C<rw> (readonly/read-write)  flag on an already mounted filesystem at C<mountpoint>, converting a readonly filesystem to be read-write, or vice-versa.
uk: За допомогою цього виклику ви можете змінити значення прапорця C<rw> (лише читання/читання і запис) на вже змонтованій до точки монтування C<точка_монтування> файловій системі, перетворивши придатну лише для читання файлову систему на систему із можливостями читання і запису, і навпаки.

note: type: textblock
en: Note that at the moment you must supply the "optional" C<rw> parameter.  In future we may allow other flags to be adjusted.
uk: Зауважте, що у поточній версії вам доведеться вказати «необов'язковий» параметр C<rw>. У майбутньому ми можемо уможливити зміну інших прапорців файлової системи.

note: type: verbatim
en:  remove-drive label
uk:  remove-drive мітка

note: type: textblock
en: This function is conceptually the opposite of L</add-drive-opts>.  It removes the drive that was previously added with label C<label>.
uk: Концептуально, ця функція є протилежністю L</add-drive-opts>. Вона вилучає диск, який раніше було додано з міткою C<мітка>.

note: type: textblock
en: Note that in order to remove drives, you have to add them with labels (see the optional C<label> argument to L</add-drive-opts>).  If you didn't use a label, then they cannot be removed.
uk: Зауважте, що для вилучення дисків за допомогою цієї команди вам слід додавати їх з мітками (див. необов'язковий аргумент C<label> у L</add-drive-opts>). Якщо ви не вказали мітку, вилучити диск за допомогою цієї команди не вдасться.

note: type: textblock
en: You can call this function before or after launching the handle.  If called after launch, if the backend supports it, we try to hot unplug the drive: see L<guestfs(3)/HOTPLUGGING>.  The disk B<must not> be in use (eg. mounted) when you do this.  We try to detect if the disk is in use and stop you from doing this.
uk: Цю функцію можна викликати до або після запуску дескриптора. Якщо її викликано після запуску і підтримку подібної операції передбачено у модулі обробки, буде виконано спробу від'єднання диска у «гарячому» режимі: див. L<guestfs(3)/З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>. Диск під час цієї операції вже B<не повинен> використовуватися (тобто бути змонтованим). Функція намагатиметься визначити, чи використовується диск, і запобігатиме від'єднанню використаних дисків.

note: type: verbatim
en:  removexattr xattr path
uk:  removexattr розширений_атрибут шлях

note: type: textblock
en: This call removes the extended attribute named C<xattr> of the file C<path>.
uk: Цей виклик вилучає розширений атрибут із назвою C<розширений_атрибут> з файла C<шлях>.

note: type: textblock
en: See also: L</lremovexattr>, L<attr(5)>.
uk: Див. також L</lremovexattr>, L<attr(5)>.

note: type: verbatim
en:  rename oldpath newpath
uk:  rename стара_адреса нова_адреса

note: type: textblock
en: Rename a file to a new place on the same filesystem.  This is the same as the Linux L<rename(2)> system call.  In most cases you are better to use L</mv> instead.
uk: Перейменовує файл, пересуваючи його до нового місця у файловій системі. Те саме, що системний виклик L<rename(2)>  у Linux. У більшості випадків варто замість цієї команди використовувати L</mv>.

note: type: verbatim
en:  resize2fs device
uk:  resize2fs пристрій

note: type: textblock
en: This resizes an ext2, ext3 or ext4 filesystem to match the size of the underlying device.
uk: Змінює розміри файлової системи ext2, ext3 або ext4 так, щоб її розмір збігався із розміром базового пристрою.

note: type: textblock
en: See also L<guestfs(3)/RESIZE2FS ERRORS>.
uk: Див. також L<guestfs(3)/RESIZE2FS ERRORS>.

note: type: verbatim
en:  resize2fs-M device
uk:  resize2fs-M пристрій

note: type: textblock
en: This command is the same as L</resize2fs>, but the filesystem is resized to its minimum size.  This works like the I<-M> option to the L<resize2fs(8)> command.
uk: Ця команда аналогічна до L</resize2fs>, але розмір файлової системи змінюється до найменшого. Це працює як параметр I<-M> команди L<resize2fs(8)>.

note: type: textblock
en: To get the resulting size of the filesystem you should call L</tune2fs-l> and read the C<Block size> and C<Block count> values.  These two numbers, multiplied together, give the resulting size of the minimal filesystem in bytes.
uk: Щоб отримати остаточний розмір файлової системи, вам слід викликати L</tune2fs-l> і прочитати значення C<Block size> та C<Block count>. Ці два числа, перемножені між собою, дадуть остаточний розмір файлової системи у байтах.

note: type: verbatim
en:  resize2fs-size device size
uk:  resize2fs-size пристрій розмір

note: type: textblock
en: This command is the same as L</resize2fs> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і L</resize2fs>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: verbatim
en:  rm path
uk:  rm шлях

note: type: textblock
en: Remove the single file C<path>.
uk: Вилучити одинарний файл C<шлях>.

note: type: verbatim
en:  rm-f path
uk:  rm-f шлях

note: type: textblock
en: Remove the file C<path>.
uk: Вилучити файл C<шлях>.

note: type: textblock
en: If the file doesn't exist, that error is ignored.  (Other errors, eg. I/O errors or bad paths, are not ignored)
uk: Якщо файла не існує, помилку буде проігноровано. (Інші помилки, наприклад помилки введення-виведення та помилки у шляхах, не ігноруватимуться.)

note: type: textblock
en: This call cannot remove directories.  Use L</rmdir> to remove an empty directory, or L</rm-rf> to remove directories recursively.
uk: Ця команда не може вилучати каталоги. Для вилучення порожнього каталогу скористайтеся командою L</rmdir>. Для рекурсивного вилучення каталогів слід використовувати L</rm-rf>.

note: type: verbatim
en:  rm-rf path
uk:  rm-rf шлях

note: type: textblock
en: Remove the file or directory C<path>, recursively removing the contents if its a directory.  This is like the C<rm -rf> shell command.
uk: Вилучає файл або каталог C<шлях>. Діє рекурсивно, якщо вказано каталог. Подібна до команди C<rm -rf>, відданої з командної оболонки.

note: type: verbatim
en:  rmdir path
uk:  rmdir шлях

note: type: textblock
en: Remove the single directory C<path>.
uk: Вилучає окремий каталог C<шлях>.

note: type: verbatim
en:  rmmountpoint exemptpath
uk:  rmmountpoint вільний_шлях

note: type: textblock
en: This call removes a mountpoint that was previously created with L</mkmountpoint>.  See L</mkmountpoint> for full details.
uk: Цей виклик вилучає точку монтування, яку перед цим було створено за допомогою команди L</mkmountpoint>. Щоб дізнатися більше, ознайомтеся із розділом щодо L</mkmountpoint>.

note: type: verbatim
en:  rsync src dest [archive:true|false] [deletedest:true|false]
uk:  rsync джерело призначення [archive:true|false] [deletedest:true|false]

note: type: textblock
en: This call may be used to copy or synchronize two directories under the same libguestfs handle.  This uses the L<rsync(1)> program which uses a fast algorithm that avoids copying files unnecessarily.
uk: Цим викликом можна скористатися для копіювання або синхронізування двох каталогів у одному дескрипторі libguestfs. Використовується програма L<rsync(1)>, у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів.

note: type: textblock
en: C<src> and C<dest> are the source and destination directories.  Files are copied from C<src> to C<dest>.
uk: Значеннями параметрів C<джерело> і C<призначення> є назви каталогу походження даних і кінцевого каталогу. Файли копіюються з каталогу C<джерело> до каталогу C<призначення>.

note: type: textblock
en: Turns on archive mode.  This is the same as passing the I<--archive> flag to C<rsync>.
uk: Вмикає режим архівування. Те саме, що передати параметр I<--archive> команді C<rsync>.

note: type: textblock
en: Delete files at the destination that do not exist at the source.
uk: Вилучити файли у каталозі призначення, яких немає у каталозі джерела.

note: type: textblock
en: This command depends on the feature C<rsync>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<rsync>. Див. також L</feature-available>.

note: type: verbatim
en:  rsync-in remote dest [archive:true|false] [deletedest:true|false]
uk:  rsync-in віддалений_комп'ютер призначення [archive:true|false] [deletedest:true|false]

note: type: textblock
en: This call may be used to copy or synchronize the filesystem on the host or on a remote computer with the filesystem within libguestfs.  This uses the L<rsync(1)> program which uses a fast algorithm that avoids copying files unnecessarily.
uk: Цим викликом можна скористатися для копіювання або синхронізування файлових систем у основній системі або на віддаленому комп'ютері із файловою системою у libguestfs. Використовується програма L<rsync(1)>, у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів.

note: type: textblock
en: This call only works if the network is enabled.  See L</set-network> or the I<--network> option to various tools like L<guestfish(1)>.
uk: Ця команда працюватиме, лише якщо увімкнено можливість роботи у мережі. Див. L</set-network> або параметр I<--network> різноманітних інструментів, зокрема L<guestfish(1)>.

note: type: textblock
en: Files are copied from the remote server and directory specified by C<remote> to the destination directory C<dest>.
uk: Файли копіюються з віддаленого сервера та каталогу, вказаного за допомогою параметра C<віддалений_комп'ютер>, до каталогу призначення C<призначення>.

note: type: textblock
en: The format of the remote server string is defined by L<rsync(1)>.  Note that there is no way to supply a password or passphrase so the target must be set up not to require one.
uk: Формат рядка віддаленого сервера визначається L<rsync(1)>. Зауважте, що не передбачено способу вказати пароль, отже призначення має бути налаштовано так, щоб пароль не потрібно було вказувати.

note: type: textblock
en: The optional arguments are the same as those of L</rsync>.
uk: Необов'язкові аргументи такі самі, як і у L</rsync>.

note: type: verbatim
en:  rsync-out src remote [archive:true|false] [deletedest:true|false]
uk:  rsync-out джерело віддалений_комп'ютер [archive:true|false] [deletedest:true|false]

note: type: textblock
en: This call may be used to copy or synchronize the filesystem within libguestfs with a filesystem on the host or on a remote computer.  This uses the L<rsync(1)> program which uses a fast algorithm that avoids copying files unnecessarily.
uk: Цим викликом можна скористатися для копіювання або синхронізування файлової системи у libguestfs із файловою системою у основній системі або на віддаленому комп'ютері. Використовується програма L<rsync(1)>, у якій реалізовано швидкий алгоритм для уникнення непотрібного копіювання файлів.

note: type: textblock
en: Files are copied from the source directory C<src> to the remote server and directory specified by C<remote>.
uk: Файли копіюються з каталогу джерела C<джерело> до віддаленого сервера та каталогу, вказаного за допомогою параметра C<віддалений_комп'ютер>.

note: type: textblock
en: Globbing does not happen on the C<src> parameter.  In programs which use the API directly you have to expand wildcards yourself (see L</glob-expand>).  In guestfish you can use the C<glob> command (see L<guestfish(1)/glob>), for example:
uk: У параметрі C<джерело> не виконується підставляння замість символів-замінників. У програмах, де програмний інтерфейс використовується безпосередньо, вам слід розгортати замінники власноруч (див. L</glob-expand>). У guestfish ви можете скористатися командою C<glob> (див. L<guestfish(1)/glob>). Приклад:

note: type: verbatim
en:  scrub-device device
uk:  scrub-device пристрій

note: type: textblock
en: This command writes patterns over C<device> to make data retrieval more difficult.
uk: Ця команда записує зразкові дані на C<пристрій> для утруднення відновлення даних на ньому.

note: type: textblock
en: It is an interface to the L<scrub(1)> program.  See that manual page for more details.
uk: Ця команда є інтерфейсом до програми L<scrub(1)>. Див. відповідну сторінку підручника, щоб дізнатися більше.

note: type: textblock
en: This command depends on the feature C<scrub>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<scrub>. Див. також L</feature-available>.

note: type: verbatim
en:  scrub-file file
uk:  scrub-file файл

note: type: textblock
en: This command writes patterns over a file to make data retrieval more difficult.
uk: Ця команда записує зразкові дані до файла для утруднення відновлення його даних після витирання.

note: type: textblock
en: The file is I<removed> after scrubbing.
uk: Після заповнення даними взірця файл буде I<вилучено>.

note: type: verbatim
en:  scrub-freespace dir
uk:  scrub-freespace каталог

note: type: textblock
en: This command creates the directory C<dir> and then fills it with files until the filesystem is full, and scrubs the files as for L</scrub-file>, and deletes them.  The intention is to scrub any free space on the partition containing C<dir>.
uk: Ця команда створює каталог C<каталог>, а потім заповнює його файлами, аж доки файлову систему не буде повністю заповнено, далі витирає файли, як у команді L</scrub-file>, і вилучає їх. Команду призначено для витирання усіх даних з вільного місця на розділі, де зберігається каталог C<каталог>.

note: type: verbatim
en:  selinux-relabel specfile path [force:true|false]
uk:  selinux-relabel файл_специфікацій шлях [force:true|false]

note: type: textblock
en: SELinux relabel parts of the filesystem.
uk: Повторне встановлення міток SELinux у файловій системі.

note: type: textblock
en: The C<specfile> parameter controls the policy spec file used.  You have to parse C</etc/selinux/config> to find the correct SELinux policy and then pass the spec file, usually: C</etc/selinux/> + I<selinuxtype> + C</contexts/files/file_contexts>.
uk: Параметр C<файл_специфікацій> визначає використаний файл специфікацій правил. Вам слід обробити C</etc/selinux/config>, щоб визначити належні правила SELinux, а потім передати файл специфікацій, зазвичай, так: C</etc/selinux/> + I<тип_selinux> + C</contexts/files/file_contexts>.

note: type: textblock
en: The required C<path> parameter is the top level directory where relabelling starts.  Normally you should pass C<path> as C</> to relabel the whole guest filesystem.
uk: Обов'язковий параметр C<шлях> визначає каталог верхнього рівня, з якого починається повторне встановлення міток.  Зазвичай, вам слід передати як C<шлях> значення C</>, щоб повторно встановити мітки для усієї гостьової файлової системи.

note: type: textblock
en: The optional C<force> boolean controls whether the context is reset for customizable files, and also whether the user, role and range parts of the file context is changed.
uk: Необов'язковий булевий параметр C<force> керує тим, чи буде скинуто контекст для налаштовуваних файлів, а також тим, чи буде змінено частини контексту файла, пов'язані із записами користувача, ролі та діапазону.

note: type: textblock
en: This command depends on the feature C<selinuxrelabel>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<selinuxrelabel>. Див. також L</feature-available>.

note: type: verbatim
en:  set-append append
uk:  set-append додаток

note: type: textblock
en: This function is used to add additional options to the libguestfs appliance kernel command line.
uk: Ця функція використовується для додавання параметрів до командного рядка елементарного ядра libguestfs.

note: type: textblock
en: The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> environment variable.
uk: Типовим значенням є C<NULL>, якщо його не перевизначено за допомогою змінної середовища C<LIBGUESTFS_APPEND>.

note: type: textblock
en: Setting C<append> to C<NULL> means I<no> additional options are passed (libguestfs always adds a few of its own).
uk: Встановлення для параметра C<append> значення C<NULL> означає, що ніяких додаткових параметрів I<не> передаватиметься (libguestfs завжди додає декілька параметрів автоматично).

note: type: verbatim
en:  set-attach-method backend
uk:  set-attach-method модуль

note: type: textblock
en: Set the method that libguestfs uses to connect to the backend guestfsd daemon.
uk: Встановлює спосіб, яким libguestfs користується для встановлення з'єднання із фоновою службою guestfsd модуля обробки.

note: type: textblock
en: See L<guestfs(3)/BACKEND>.
uk: Див. L<guestfs(3)/МОДУЛЬ>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</set-backend> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</set-backend>.

note: type: textblock
en: If C<autosync> is true, this enables autosync.  Libguestfs will make a best effort attempt to make filesystems consistent and synchronized when the handle is closed (also if the program exits without closing handles).
uk: Встановлення для C<autosync> значення вмикає автоматичну синхронізацію. Libguestfs з усіх сил намагатиметься підтримувати коректний і синхронізований стан файлових систем, коли ви закриватимете дескриптор (а також у ситуаціях, коли програма завершує роботу без закриття дескрипторів).

note: type: textblock
en: This is enabled by default (since libguestfs 1.5.24, previously it was disabled by default).
uk: Автоматичну синхронізацію типово увімкнено (з версії libguestfs 1.5.24, у попередніх версіях її було вимкнено).

note: type: =head2
en: backend
uk: модуль

note: type: verbatim
en:  set-backend backend
uk:  set-backend модуль

note: type: verbatim
en:  set-backend-setting name val
uk:  set-backend-setting назва значення

note: type: textblock
en: Append C<"name=value"> to the backend settings string list.  However if a string already exists matching C<"name"> or beginning with C<"name=">, then that setting is replaced.
uk: Дописує рядок C<"назва=значення"> до списку рядків параметрів модуля обробки. Втім, якщо у списку вже існує рядок C<"назва"> або рядок, що починається із запису C<"назва=">, його буде замінено на новий вказаний рядок.

note: type: verbatim
en:  set-backend-settings 'settings ...'
uk:  set-backend-settings 'параметри ...'

note: type: textblock
en: Set a list of zero or more settings which are passed through to the current backend.  Each setting is a string which is interpreted in a backend-specific way, or ignored if not understood by the backend.
uk: Встановлює список із нульової або довільної кількості параметрів, які передаються поточному модулю обробки. Кожен параметр визначається рядком, який обробляється у специфічний для модуля спосіб або ігнорується, якщо модуль обробки його не сприймає.

note: type: textblock
en: The default value is an empty list, unless the environment variable C<LIBGUESTFS_BACKEND_SETTINGS> was set when the handle was created.  This environment variable contains a colon-separated list of settings.
uk: Типовим значенням є порожній список, якщо на час створення дескриптора не було визначено змінну середовища C<LIBGUESTFS_BACKEND_SETTINGS>. У цій змінній середовища міститься список параметрів, відокремлених двокрапками.

note: type: textblock
en: This call replaces all backend settings.  If you want to replace a single backend setting, see L</set-backend-setting>.  If you want to clear a single backend setting, see L</clear-backend-setting>.
uk: Цей виклик замінює усі параметри модуля обробки. Якщо вам потрібно замінити лише один рядок параметра, скористайтеся L</set-backend-setting>. Якщо вам потрібно прибрати один рядок параметра, скористайтеся L</clear-backend-setting>.

note: type: =head2
en: cachedir
uk: каталог_кешування

note: type: verbatim
en:  set-cachedir cachedir
uk:  set-cachedir каталог_кешування

note: type: textblock
en: Set the directory used by the handle to store the appliance cache, when using a supermin appliance.  The appliance is cached and shared between all handles which have the same effective user ID.
uk: Встановити назву каталогу, який використовується дескриптором для зберігання кешу базової системи, якщо використовується базова система supermin. Базова система кешується і спільно використовується усіма дескрипторами, які мають однаковий ідентифікатор ефективного користувача.

note: type: textblock
en: The environment variables C<LIBGUESTFS_CACHEDIR> and C<TMPDIR> control the default value: If C<LIBGUESTFS_CACHEDIR> is set, then that is the default.  Else if C<TMPDIR> is set, then that is the default.  Else F</var/tmp> is the default.
uk: Змінні середовища C<LIBGUESTFS_CACHEDIR> і C<TMPDIR> керують типовим значенням: якщо встановлено значення C<LIBGUESTFS_CACHEDIR>, типовим буде саме це встановлене значення. Якщо ж це значення не встановлено і встановлено значення C<TMPDIR>, використовуватиметься це значення. Якщо ж жодну з цих змінних середовища не встановлено, типово використовуватиметься F</var/tmp>.

note: type: textblock
en: If the direct appliance mode flag is enabled, then stdin and stdout are passed directly through to the appliance once it is launched.
uk: Якщо увімкнено прапорець безпосереднього режиму базової системи, вміст stdin та stdout передаватиметься безпосередньо базовій системі одразу після її запуску.

note: type: textblock
en: One consequence of this is that log messages aren't caught by the library and handled by L</set-log-message-callback>, but go straight to stdout.
uk: Одним із наслідків цього є те, що повідомлення журналу не перехоплюватимуться бібліотекою і не оброблятимуться L</set-log-message-callback>, а передаватимуться безпосередньо до stdout.

note: type: textblock
en: You probably don't want to use this unless you know what you are doing.
uk: Ймовірно, вам не слід використовувати цю команду, якщо ви не впевнені щодо наслідків ваших дій.

note: type: textblock
en: The default is disabled.
uk: Типово вимкнено.

note: type: verbatim
en:  set-e2attrs file attrs [clear:true|false]
uk:  set-e2attrs файл атрибути [clear:true|false]

note: type: textblock
en: This sets or clears the file attributes C<attrs> associated with the inode F<file>.
uk: Ця команда встановлює або знімає атрибути C<атрибути> з inode із назвою F<файл>.

note: type: textblock
en: C<attrs> is a string of characters representing file attributes.  See L</get-e2attrs> for a list of possible attributes.  Not all attributes can be changed.
uk: Параметр C<атрибути> є рядком із символів, які визначають атрибути файла. Список можливих значень можна знайти у описі L</get-e2attrs>. Змінювати можна не усі атрибути.

note: type: textblock
en: If optional boolean C<clear> is not present or false, then the C<attrs> listed are set in the inode.
uk: Якщо не вказано необов'язковий булевий параметр C<clear> або вказано значення false, вказані C<атрибути> буде встановлено для inode.

note: type: textblock
en: If C<clear> is true, then the C<attrs> listed are cleared in the inode.
uk: Якщо встановлено значення C<clear> рівне true, вказані C<атрибути> буде знято з inode.

note: type: textblock
en: In both cases, other attributes not present in the C<attrs> string are left unchanged.
uk: У обох випадках інші атрибути, які не вказано у рядку C<атрибути>, змінено не буде.

note: type: verbatim
en:  set-e2generation file generation
uk:  set-e2generation файл стан_створення

note: type: textblock
en: This sets the ext2 file generation of a file.
uk: Ця команда встановлює стан створення для файла у ext2.

note: type: textblock
en: See L</get-e2generation>.
uk: Див. L</get-e2generation>.

note: type: verbatim
en:  set-e2label device label
uk:  set-e2label пристрій мітка

note: type: textblock
en: This sets the ext2/3/4 filesystem label of the filesystem on C<device> to C<label>.  Filesystem labels are limited to 16 characters.
uk: Ця команда встановлює мітку файлової системи ext2/3/4 для файлової системи на пристрої C<пристрій>. Довжину міток файлових систем обмежено 16 символами.

note: type: textblock
en: You can use either L</tune2fs-l> or L</get-e2label> to return the existing label on a filesystem.
uk: Ви можете скористатися L</tune2fs-l> або L</get-e2label> для отримання наявної мітки файлової системи.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</set-label> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</set-label>.

note: type: verbatim
en:  set-e2uuid device uuid
uk:  set-e2uuid пристрій uuid

note: type: textblock
en: This sets the ext2/3/4 filesystem UUID of the filesystem on C<device> to C<uuid>.  The format of the UUID and alternatives such as C<clear>, C<random> and C<time> are described in the L<tune2fs(8)> manpage.
uk: Ця команда встановлює UUID файлової системи ext2/3/4 для файлової системи на пристрої C<пристрій> у значення C<uuid>. Формат запису UUID та альтернативні варіанти, зокрема C<clear>, C<random> та C<time>, описано на сторінці підручника L<tune2fs(8)>.

note: type: textblock
en: You can use L</vfs-uuid> to return the existing UUID of a filesystem.
uk: Ви можете скористатися L</vfs-uuid> для отримання наявного UUID файлової системи.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</set-uuid> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</set-uuid>.

note: type: verbatim
en:  set-hv hv
uk:  set-hv гіпервізор

note: type: textblock
en: Set the hypervisor binary that we will use.  The hypervisor depends on the backend, but is usually the location of the qemu/KVM hypervisor.  For the uml backend, it is the location of the C<linux> or C<vmlinux> binary.
uk: Встановлює назву виконуваного файла гіпервізору, яким ми скористаємося. Назва гіпервізору залежить від використаного модуля обробки, але, зазвичай, це назва гіпервізору qemu/KVM. Для модуля обробки UML це розташування виконуваного файла C<linux> або C<vmlinux>.

note: type: textblock
en: The default is chosen when the library was compiled by the configure script.
uk: Типовий варіант визначається під час збирання бібліотеки за допомогою скрипту налаштовування збирання (configure).

note: type: textblock
en: You can also override this by setting the C<LIBGUESTFS_HV> environment variable.
uk: Крім того, ви можете перевизначити цей параметр за допомогою змінної середовища C<LIBGUESTFS_HV>.

note: type: textblock
en: Note that you should call this function as early as possible after creating the handle.  This is because some pre-launch operations depend on testing qemu features (by running C<qemu -help>).  If the qemu binary changes, we don't retest features, and so you might see inconsistent results.  Using the environment variable C<LIBGUESTFS_HV> is safest of all since that picks the qemu binary at the same time as the handle is created.
uk: Зауважте, що вам слід викликати цю функцію якомога ближче до команди створення дескриптора. Причиною є те, що деякі дії перед запуском системи залежать від результатів тестування можливостей qemu (шляхом виконання команди C<qemu -help>). Якщо виконуваний файл qemu буде змінено, бібліотека не виконуватиме повторного визначення можливостей, отже, може працювати некоректно. Використання змінної середовища C<LIBGUESTFS_HV> є найбезпечнішим способом надати потрібні бібліотеці дані, оскільки встановлення цієї змінної надає бібліотеці змогу дізнатися усе про виконуваний файл qemu одночасно зі створенням дескриптора.

note: type: =head2
en: identifier
uk: ідентифікатор

note: type: verbatim
en:  set-identifier identifier
uk:  set-identifier ідентифікатор

note: type: textblock
en: This is an informative string which the caller may optionally set in the handle.  It is printed in various places, allowing the current handle to be identified in debugging output.
uk: Це інформативний рядок, який функція виклику може, якщо потрібно, встановити у дескрипторі. Він виводиться у різних місцях, надаючи змогу ідентифікувати поточний дескриптор у діагностичних повідомленнях.

note: type: textblock
en: One important place is when tracing is enabled.  If the identifier string is not an empty string, then trace messages change from this:
uk: Одним із важливих є варіант, коли увімкнено трасування. Якщо рядок ідентифікатора є непорожнім, повідомлення трасування зміняться з таких:

note: type: textblock
en: to this:
uk: на такі:

note: type: textblock
en: where C<ID> is the identifier string set by this call.
uk: де C<ID> — рядок ідентифікатор, який було встановлено викликом цієї команди.

note: type: textblock
en: The identifier must only contain alphanumeric ASCII characters, underscore and minus sign.  The default is the empty string.
uk: Ідентифікатор має складатися із літер латинської абетки і цифр з ASCII, а також символів підкреслювання або дефісів. Типовим його значенням є порожній рядок.

note: type: textblock
en: See also L</set-program>, L</set-trace>, L</get-identifier>.
uk: Див. також L</set-program>, L</set-trace>, L</get-identifier>.

note: type: verbatim
en:  set-label mountable label
uk:  set-label монтування мітка

note: type: textblock
en: Set the filesystem label on C<mountable> to C<label>.
uk: Встановлює для файлової системи C<монтування> мітку C<мітка>.

note: type: textblock
en: Only some filesystem types support labels, and libguestfs supports setting labels on only a subset of these.
uk: Підтримку міток передбачено лише у деяких файлових системах, а у libguestfs передбачено підтримку встановлення міток лише для деякого набору таких систем.

note: type: textblock
en: Labels are limited to 16 bytes.
uk: Розмір міток обмежено 16 байтами.

note: type: textblock
en: Labels are limited to 128 unicode characters.
uk: Мітки обмежено 128 символами unicode.

note: type: textblock
en: The label is limited to 12 bytes.  The filesystem must not be mounted when trying to set the label.
uk: Цю мітку обмежено 12 байтами. Встановлювати мітку можна лише для незмонтованих файлових систем.

note: type: textblock
en: The label is limited to 255 bytes and some characters are not allowed.  Setting the label on a btrfs subvolume will set the label on its parent filesystem.  The filesystem must not be mounted when trying to set the label.
uk: Цю мітку обмежено 255 байтами, у ній не можна використовувати деякі символи. Встановлення мітки на підтомі btrfs призведе до встановлення мітки на його батьківській файловій системі. Встановлювати мітку можна лише для незмонтованих файлових систем.

note: type: textblock
en: The label is limited to 11 bytes.
uk: Цю мітку обмежено 11 байтами.

note: type: textblock
en: The label is limited to 16 bytes.
uk: Цю мітку обмежено 16 байтами.

note: type: textblock
en: If there is no support for changing the label for the type of the specified filesystem, set_label will fail and set errno as ENOTSUP.
uk: Якщо підтримки зміни мітки для типу вказаної файлової системи не передбачено, set_label завершить роботу із повідомленням про помилку і встановити для errno значення ENOTSUP.

note: type: textblock
en: To read the label on a filesystem, call L</vfs-label>.
uk: Для читання мітки файлової системи використовуйте C</vfs-label>.

note: type: verbatim
en:  set-libvirt-requested-credential index cred
uk:  set-libvirt-requested-credential індекс реєстраційні_дані

note: type: textblock
en: After requesting the C<index>'th credential from the user, call this function to pass the answer back to libvirt.
uk: Після запиту щодо реєстраційних даних із індексом C<індекс>, спрямованого користувачу, викличте цю функцію для передавання відповіді до libvirt.

note: type: verbatim
en:  set-libvirt-supported-credentials 'creds ...'
uk:  set-libvirt-supported-credentials 'реєстраційні_дані...'

note: type: textblock
en: Call this function before setting an event handler for C<GUESTFS_EVENT_LIBVIRT_AUTH>, to supply the list of credential types that the program knows how to process.
uk: Викличте цю функцію до встановлення обробника подій для C<GUESTFS_EVENT_LIBVIRT_AUTH> щоб надати список типів реєстраційних даних, які може обробляти програма.

note: type: textblock
en: The C<creds> list must be a non-empty list of strings.  Possible strings are:
uk: Список C<реєстраційні_дані> має бути непорожнім списком рядків. Можна використовувати такі рядки:

note: type: textblock
en: See libvirt documentation for the meaning of these credential types.
uk: Опис значення цих типів реєстраційних даних можна знайти у документації до libvirt.

note: type: =head2
en: memsize
uk: розмір_пам'яті

note: type: verbatim
en:  set-memsize memsize
uk:  set-memsize розмір_пам'яті

note: type: textblock
en: This sets the memory size in megabytes allocated to the hypervisor.  This only has any effect if called before L</launch>.
uk: Встановлює розмір у мегабайтах, яку має бути отримано для гіпервізору пам'яті. Працює, лише якщо викликано до L</launch>.

note: type: textblock
en: You can also change this by setting the environment variable C<LIBGUESTFS_MEMSIZE> before the handle is created.
uk: Ви також можете змінити значення цього параметра за допомогою встановлення змінної середовища C<LIBGUESTFS_MEMSIZE> до створення дескриптора.

note: type: textblock
en: If C<network> is true, then the network is enabled in the libguestfs appliance.  The default is false.
uk: Якщо встановлено значення true, у базовій системі libguestfs буде увімкнено роботу у мережі. Типовим значенням є false.

note: type: textblock
en: This affects whether commands are able to access the network (see L<guestfs(3)/RUNNING COMMANDS>).
uk: Визначає, чи надаватиметься програмам доступ до мережі (див. L<guestfs(3)/ЗАПУСК КОМАНД>).

note: type: textblock
en: You must call this before calling L</launch>, otherwise it has no effect.
uk: Цю функцію слід викликати до L</launch>, інакше вона не спрацює.

note: type: verbatim
en:  set-path searchpath
uk:  set-path шлях_для_пошуку

note: type: textblock
en: Set the path that libguestfs searches for kernel and initrd.img.
uk: Встановлює шлях, за яким libguestfs шукає ядро і initrd.img.

note: type: textblock
en: The default is C<$libdir/guestfs> unless overridden by setting C<LIBGUESTFS_PATH> environment variable.
uk: Типовим значенням є C<$libdir/guestfs>, якщо його не перевизначено за допомогою змінної середовища C<LIBGUESTFS_PATH>.

note: type: textblock
en: Setting C<path> to C<NULL> restores the default path.
uk: Встановлення для параметра C<шлях> значення C<NULL> відновлює типовий шлях.

note: type: textblock
en: If C<pgroup> is true, child processes are placed into their own process group.
uk: Якщо встановлено значення C<pgroup> рівне true, дочірні процеси буде розміщено у власній групі процесів.

note: type: textblock
en: The practical upshot of this is that signals like C<SIGINT> (from users pressing C<^C>) won't be received by the child process.
uk: Практичним наслідком цього є те, що сигнали, зокрема C<SIGINT> (наслідок натискання користувачем комбінації C<^C>), не буде отримано дочірнім процесом.

note: type: textblock
en: The default for this flag is false, because usually you want C<^C> to kill the subprocess.  Guestfish sets this flag to true when used interactively, so that C<^C> can cancel long-running commands gracefully (see L</user-cancel>).
uk: Типовим для цього прапорця є значення false, оскільки, зазвичай, C<^C> має вбивати підпроцеси. Guestfish встановлює для цього прапорця значення true, якщо програма використовується інтерактивно, щоб за допомогою C<^C> можна було належно скасувати дії, які виконуються надто довго (див. L</user-cancel>).

note: type: =head2
en: program
uk: програма

note: type: verbatim
en:  set-program program
uk:  set-program програма

note: type: textblock
en: Set the program name.  This is an informative string which the main program may optionally set in the handle.
uk: Встановлює назву програми. Це інформативний рядок, який основна програма може встановлювати у дескрипторі.

note: type: textblock
en: When the handle is created, the program name in the handle is set to the basename from C<argv[0]>.  The program name can never be C<NULL>.
uk: Під час створення дескриптора назва програми у дескрипторі встановлюється у значення basename з C<argv[0]>. Назвою програми ніколи не може бути C<NULL>.

note: type: verbatim
en:  set-qemu hv
uk:  set-qemu гіпервізор

note: type: textblock
en: Set the hypervisor binary (usually qemu) that we will use.
uk: Вказати виконуваний файл гіпервізору (зазвичай qemu), який буде використано.

note: type: textblock
en: Setting C<hv> to C<NULL> restores the default qemu binary.
uk: Встановлення для параметра C<гіпервізор> значення C<NULL> відновлює типовий виконуваний файл qemu.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</set-hv> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</set-hv>.

note: type: textblock
en: If this is called with the parameter C<false> then L</launch> does not create a recovery process.  The purpose of the recovery process is to stop runaway hypervisor processes in the case where the main program aborts abruptly.
uk: Якщо команда викликається із параметром C<false>, L</launch> не створюватиме процесу відновлення. Призначенням процесу відновлення є зупинення залишкових процесів гіпервізору, якщо основна програма несподівано завершує роботу.

note: type: textblock
en: This only has any effect if called before L</launch>, and the default is true.
uk: Працює, лише якщо викликано до L</launch>, а типовим значенням є true.

note: type: textblock
en: About the only time when you would want to disable this is if the main process will fork itself into the background ("daemonize" itself).  In this case the recovery process thinks that the main program has disappeared and so kills the hypervisor, which is not very helpful.
uk: Майже єдиним випадком, коли у вас може виникнути потреба вимкнути цю можливість, є випадок, коли основний процес відгалужує себе у фонову версію («демонізує» себе). У цьому випадку процес відновлення вважає, що основна програма зникла і вбиває процес гіпервізору, отже, псує усю справу.

note: type: textblock
en: This sets the selinux flag that is passed to the appliance at boot time.  The default is C<selinux=0> (disabled).
uk: Ця команда встановлює прапорець selinux, який передається базовій системі під час завантаження. Типовим є прапорець C<selinux=0> (вимкнено).

note: type: textblock
en: Note that if SELinux is enabled, it is always in Permissive mode (C<enforcing=0>).
uk: Зауважте, що якщо SELinux увімкнено, система завжди перебуває у дозвільному режимі (Permissive) (C<enforcing=0>).

note: type: textblock
en: Change the number of virtual CPUs assigned to the appliance.  The default is C<1>.  Increasing this may improve performance, though often it has no effect.
uk: Змінює кількість віртуальних процесорів, які буде призначено на обробку команд базової системи. Типовим є значення C<1>. Збільшення цього значення може підвищити швидкодію, але часто просто ні на що не впливає.

note: type: textblock
en: This function must be called before L</launch>.
uk: Цю функцію слід викликати до L</launch>.

note: type: =head2
en: tmpdir
uk: тимчасовий_каталог

note: type: verbatim
en:  set-tmpdir tmpdir
uk:  set-tmpdir тимчасовий_каталог

note: type: textblock
en: Set the directory used by the handle to store temporary files.
uk: Встановлює назву каталогу, який використовується дескриптором для зберігання тимчасових файлів.

note: type: textblock
en: The environment variables C<LIBGUESTFS_TMPDIR> and C<TMPDIR> control the default value: If C<LIBGUESTFS_TMPDIR> is set, then that is the default.  Else if C<TMPDIR> is set, then that is the default.  Else F</tmp> is the default.
uk: Змінні середовища C<LIBGUESTFS_TMPDIR> і C<TMPDIR> керують типовим значенням: якщо встановлено значення C<LIBGUESTFS_TMPDIR>, типовим буде саме це встановлене значення. Якщо ж це значення не встановлено і встановлено значення C<TMPDIR>, використовуватиметься це значення. Якщо ж жодну з цих змінних середовища не встановлено, типово використовуватиметься F</tmp>.

note: type: textblock
en: If the command trace flag is set to 1, then libguestfs calls, parameters and return values are traced.
uk: Якщо прапорець trace цієї команди встановлено у значення 1, буде виконуватися трасування викликів, параметрів та повернутих значень libguestfs.

note: type: textblock
en: If you want to trace C API calls into libguestfs (and other libraries) then possibly a better way is to use the external L<ltrace(1)> command.
uk: Якщо вам потрібно трасувати виклики програмного інтерфейсу мовою C у libguestfs (та інших бібліотеках), ймовірно, кращим способом буде використання зовнішньої команди L<ltrace(1)>.

note: type: textblock
en: Command traces are disabled unless the environment variable C<LIBGUESTFS_TRACE> is defined and set to C<1>.
uk: Трасування команд вимкнено, якщо змінну середовища C<LIBGUESTFS_TRACE> не визначено і не встановлено для неї значення C<1>.

note: type: textblock
en: Trace messages are normally sent to C<stderr>, unless you register a callback to send them somewhere else (see L</set-event-callback>).
uk: Повідомлення трасування зазвичай надсилаються до C<stderr>, якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. L</set-event-callback>).

note: type: verbatim
en:  set-uuid device uuid
uk:  set-uuid пристрій uuid

note: type: textblock
en: Set the filesystem UUID on C<device> to C<uuid>.  If this fails and the errno is ENOTSUP, means that there is no support for changing the UUID for the type of the specified filesystem.
uk: Встановлює для UUID файлової системи на пристрої C<пристрій> значення C<uuid>. Якщо встановити значення не вдасться, а errno матиме значення ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено підтримки зміни UUID.

note: type: textblock
en: Only some filesystem types support setting UUIDs.
uk: Підтримку встановлення UUID передбачено лише у деяких типах файлових систем.

note: type: textblock
en: To read the UUID on a filesystem, call L</vfs-uuid>.
uk: Для читання UUID файлової системи слід викликати L</vfs-uuid>.

note: type: verbatim
en:  set-uuid-random device
uk:  set-uuid-random пристрій

note: type: textblock
en: Set the filesystem UUID on C<device> to a random UUID.  If this fails and the errno is ENOTSUP, means that there is no support for changing the UUID for the type of the specified filesystem.
uk: Встановлює для UUID файлової системи на пристрої C<пристрій> у випадкове значення. Якщо встановити значення не вдасться, а errno матиме значення ENOTSUP, це означатиме, що для типу вказаної файлової системи не передбачено підтримки зміни UUID.

note: type: textblock
en: If C<verbose> is true, this turns on verbose messages.
uk: Якщо аргумент C<verbose> матиме значення true, буде увімкнено режим докладних повідомлень.

note: type: textblock
en: Verbose messages are disabled unless the environment variable C<LIBGUESTFS_DEBUG> is defined and set to C<1>.
uk: Докладні повідомлення вимкнено, якщо змінну середовища C<LIBGUESTFS_DEBUG> не визначено і не встановлено для неї значення C<1>.

note: type: textblock
en: Verbose messages are normally sent to C<stderr>, unless you register a callback to send them somewhere else (see L</set-event-callback>).
uk: Докладні повідомлення зазвичай надсилаються до C<stderr>, якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. L</set-event-callback>).

note: type: verbatim
en:  setcon context
uk:  setcon контекст

note: type: textblock
en: This sets the SELinux security context of the daemon to the string C<context>.
uk: Ця команда встановлює для контексту безпеки SELinux фонової служби значення C<контекст>.

note: type: textblock
en: See the documentation about SELINUX in L<guestfs(3)>.
uk: Див. документацію щодо SELINUX у підручнику з L<guestfs(3)>.

note: type: verbatim
en:  setxattr xattr val vallen path
uk:  setxattr розширений_атрибут значення довжина_значення шлях

note: type: textblock
en: This call sets the extended attribute named C<xattr> of the file C<path> to the value C<val> (of length C<vallen>).  The value is arbitrary 8 bit data.
uk: Ця команда встановлює розширений атрибут із назвою C<розширений_атрибут> для файла C<шлях> у значення C<значення> (довжини C<довжина_значення>). Значенням можуть бути довільні 8-бітові дані.

note: type: textblock
en: See also: L</lsetxattr>, L<attr(5)>.
uk: Див. також L</lsetxattr>, L<attr(5)>.

note: type: verbatim
en:  sfdisk device cyls heads sectors 'lines ...'
uk:  sfdisk пристрій циліндри головки сектори 'рядки ...'

note: type: textblock
en: This is a direct interface to the L<sfdisk(8)> program for creating partitions on block devices.
uk: Це безпосередній інтерфейс програми L<sfdisk(8)> для створення розділів на блокових пристроях.

note: type: textblock
en: C<device> should be a block device, for example F</dev/sda>.
uk: Значенням параметра C<пристрій> має бути назва блокового пристрою, наприклад F</dev/sda>.

note: type: textblock
en: C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads and sectors on the device, which are passed directly to L<sfdisk(8)> as the I<-C>, I<-H> and I<-S> parameters.  If you pass C<0> for any of these, then the corresponding parameter is omitted.  Usually for ‘large’ disks, you can just pass C<0> for these, but for small (floppy-sized) disks, L<sfdisk(8)> (or rather, the kernel) cannot work out the right geometry and you will need to tell it.
uk: Параметри C<циліндри>, C<голівки> та C<сектори> визначають кількості циліндрів, голівок та секторів на пристрої, які буде безпосередньо передано L<sfdisk(8)> як аргументи параметрів I<-C>, I<-H> і I<-S>. Якщо ви передаєте C<0> для якогось з цих параметрів, відповідний параметр буде пропущено. Зазвичай, для «великих» дисків ви можете просто передати C<0> для цих параметрів, але для малих дисків (дискет), L<sfdisk(8)> (або, скоріше, ядро) не може визначити належну геометрію диска — вам доведеться передати програмі належні значення параметрів.

note: type: textblock
en: C<lines> is a list of lines that we feed to L<sfdisk(8)>.  For more information refer to the L<sfdisk(8)> manpage.
uk: Параметр C<рядки> є списком рядків, які ми передаємо L<sfdisk(8)>. Щоб дізнатися більше, зверніться до сторінки підручника щодо L<sfdisk(8)>.

note: type: textblock
en: To create a single partition occupying the whole disk, you would pass C<lines> as a single element list, when the single element being the string C<,> (comma).
uk: Щоб створити єдиний розділ, який займатиме увесь диск, вам слід передати C<рядки> як список із одного елемента, коли єдиний елемент, який є рядком C<,> (комою).

note: type: textblock
en: See also: L</sfdisk-l>, L</sfdisk-N>, L</part-init>
uk: Див. також L</sfdisk-l>, L</sfdisk-N>, L</part-init>

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</part-add> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</part-add>.

note: type: verbatim
en:  sfdiskM device 'lines ...'
uk:  sfdiskM пристрій 'рядки ...'

note: type: textblock
en: This is a simplified interface to the L</sfdisk> command, where partition sizes are specified in megabytes only (rounded to the nearest cylinder) and you don't need to specify the cyls, heads and sectors parameters which were rarely if ever used anyway.
uk: Це спрощений інтерфейс команди L</sfdisk>, де розміри розділів вказується у лише у мегабайтах (округлений до найближчого циліндра), і вам не потрібно вказувати параметри циліндрів, голівок і секторів, використання яких все одно є рідкісним.

note: type: textblock
en: See also: L</sfdisk>, the L<sfdisk(8)> manpage and L</part-disk>
uk: Див також L</sfdisk>, сторінку довідки (man) L<sfdisk(8)> та L</part-disk>

note: type: verbatim
en:  sfdisk-N device partnum cyls heads sectors line
uk:  sfdisk-N пристрій номер_розділу циліндри головки сектори рядок

note: type: textblock
en: This runs L<sfdisk(8)> option to modify just the single partition C<n> (note: C<n> counts from 1).
uk: Ця команда додає для програми L<sfdisk(8)> параметр, який змінює лише окремий розділ C<n> (зауваження: відлік C<n> ведеться з 1).

note: type: textblock
en: For other parameters, see L</sfdisk>.  You should usually pass C<0> for the cyls/heads/sectors parameters.
uk: Опис інший параметрів можна знайти у довідці щодо L</sfdisk>. Зазвичай, вам варто передати C<0> для параметрів циліндрів, заголовків та секторів.

note: type: textblock
en: See also: L</part-add>
uk: Див. також L</part-add>

note: type: verbatim
en:  sfdisk-disk-geometry device
uk:  sfdisk-disk-geometry пристрій

note: type: textblock
en: This displays the disk geometry of C<device> read from the partition table.  Especially in the case where the underlying block device has been resized, this can be different from the kernel’s idea of the geometry (see L</sfdisk-kernel-geometry>).
uk: Ця команда показує геометрію диска пристрою C<пристрій>, прочитану з таблиці розділів. Ці дані можуть відрізнятися від даних щодо геометрії, які відомі ядру, особливо у випадку, якщо розмір базового пристрою було змінено (див. L</sfdisk-kernel-geometry>).

note: type: textblock
en: The result is in human-readable format, and not designed to be parsed.
uk: Результат буде виведено у зручному для читанні вигляді. Його не призначено для програмної обробки.

note: type: verbatim
en:  sfdisk-kernel-geometry device
uk:  sfdisk-kernel-geometry пристрій

note: type: textblock
en: This displays the kernel’s idea of the geometry of C<device>.
uk: Ця команда показує визначені ядром дані щодо геометрії пристрою C<пристрій>.

note: type: verbatim
en:  sfdisk-l device
uk:  sfdisk-l пристрій

note: type: textblock
en: This displays the partition table on C<device>, in the human-readable output of the L<sfdisk(8)> command.  It is not intended to be parsed.
uk: Ця команда виводить таблицю розділів на пристрої C<пристрій> у зручному для читання форматі даних, виведених командою L<sfdisk(8)>. Ці дані не призначено для програмної обробки.

note: type: textblock
en: See also: L</part-list>
uk: Див. також L</part-list>

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</part-list> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</part-list>.

note: type: verbatim
en:  sh command
uk:  sh команда

note: type: textblock
en: This call runs a command from the guest filesystem via the guest’s F</bin/sh>.
uk: Ця команда виконує програму з гостьової системи за допомогою F</bin/sh> гостьової системи.

note: type: textblock
en: This is like L</command>, but passes the command to:
uk: Подібна до L</command>, але передає команду так:

note: type: verbatim
en:  /bin/sh -c "command"
uk:  /bin/sh -c "команда"

note: type: textblock
en: Depending on the guest’s shell, this usually results in wildcards being expanded, shell expressions being interpolated and so on.
uk: Залежно від командної оболонки гостьової системи, зазвичай, це призводить до розгортання символів-замінників, обробки виразів командної оболонки тощо.

note: type: textblock
en: All the provisos about L</command> apply to this call.
uk: Усі зауваження щодо L</command> стосуються і цього виклику.

note: type: verbatim
en:  sh-lines command
uk:  sh-lines команда

note: type: textblock
en: This is the same as L</sh>, but splits the result into a list of lines.
uk: Те саме, що і L</sh>, але результат буде поділено на список рядків.

note: type: textblock
en: See also: L</command-lines>
uk: Див. також L</command-lines>

note: type: textblock
en: This is the opposite of L</launch>.  It performs an orderly shutdown of the backend process(es).  If the autosync flag is set (which is the default) then the disk image is synchronized.
uk: Протилежність команди L</launch>. Виконує упорядковане вимикання процесів модуля обробки. Якщо встановлено прапорець autosync (типова поведінка), буде синхронізовано образ диска.

note: type: textblock
en: If the subprocess exits with an error then this function will return an error, which should I<not> be ignored (it may indicate that the disk image could not be written out properly).
uk: Якщо підпроцес завершує роботу із помилкою, ця функція поверне повідомлення про помилку, яке I<не> слід ігнорувати (воно може свідчити про те, що належний запис до образу диска неможливий).

note: type: textblock
en: It is safe to call this multiple times.  Extra calls are ignored.
uk: Команду можна безпечно викликати довільну кількість разів. Усі зайві виклики буде просто проігноровано.

note: type: textblock
en: This call does I<not> close or free up the handle.  You still need to call L</close> afterwards.
uk: Ця команда I<не> закриває і не звільняє дескриптор. Вам слід викликати L</close> після її виконання.

note: type: textblock
en: L</close> will call this if you don't do it explicitly, but note that any errors are ignored in that case.
uk: L</close> викличе цю команду, якщо ви не зробите цього явно, але, слід зауважити, що усі помилки у цьому випадку буде проігноровано.

note: type: verbatim
en:  sleep secs
uk:  sleep час_у_секундах

note: type: textblock
en: Sleep for C<secs> seconds.
uk: Призупинити обробку на C<час_у_секундах>.

note: type: verbatim
en:  stat path
uk:  stat шлях

note: type: textblock
en: This is the same as the L<stat(2)> system call.
uk: Це те саме, що системний виклик L<stat(2)>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</statns> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</statns>.

note: type: verbatim
en:  statns path
uk:  statns шлях

note: type: verbatim
en:  statvfs path
uk:  statvfs шлях

note: type: textblock
en: Returns file system statistics for any mounted file system.  C<path> should be a file or directory in the mounted file system (typically it is the mount point itself, but it doesn't need to be).
uk: Повертає статистику файлової системи для будь-якої змонтованої файлової системи. Параметр C<шлях> має визначати файл або каталог у змонтованій файловій системі (типово, це сама точка монтування, але не обов'язково саме вона).

note: type: textblock
en: This is the same as the L<statvfs(2)> system call.
uk: Це те саме, що системний виклик L<statvfs(2)>.

note: type: verbatim
en:  strings path
uk:  strings шлях

note: type: textblock
en: This runs the L<strings(1)> command on a file and returns the list of printable strings found.
uk: Виконує програму L<strings(1)> для файла і повертає список знайдених у ньому придатних до друку рядків.

note: type: textblock
en: The C<strings> command has, in the past, had problems with parsing untrusted files.  These are mitigated in the current version of libguestfs, but see L<guestfs(3)/CVE-2014-8484>.
uk: У минулому у команди C<strings> були проблеми із обробкою файлів, отриманих від ненадійних джерел. Ці проблеми усунуто у поточній версії libguestfs, втім, див. L<guestfs(3)/CVE-2014-8484>.

note: type: verbatim
en:  strings-e encoding path
uk:  strings-e кодування шлях

note: type: textblock
en: This is like the L</strings> command, but allows you to specify the encoding of strings that are looked for in the source file C<path>.
uk: Ця команда подібна до команди L</strings>, але надає вам змогу вказати кодування рядків, які ви шукаєте у файлі даних C<шлях>.

note: type: textblock
en: Allowed encodings are:
uk: Можливими кодуваннями є:

note: type: textblock
en: Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of ISO-8859-X (this is what L</strings> uses).
uk: Одинарні 7-бітові символи, зокрема ASCII та сумісні із ASCII частини ISO-8859-X (це кодування використовує L</strings>).

note: type: textblock
en: Single 8-bit-byte characters.
uk: Окремі 8-бітові-байтові символи.

note: type: textblock
en: 16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE.
uk: 16-бітове зі зворотним порядком байтів, зокрема рядки у кодуваннях UTF-16BE та UCS-2BE.

note: type: =item
en: l (lower case letter L)
uk: l (мала літера L)

note: type: textblock
en: 16-bit little endian such as UTF-16LE and UCS-2LE.  This is useful for examining binaries in Windows guests.
uk: 16-бітове із прямим порядком байтів, зокрема UTF-16LE і UCS-2LE. Корисно для вивчення двійкових файлів у гостьових системах Windows.

note: type: textblock
en: 32-bit big endian such as UCS-4BE.
uk: 32-бітове зі зворотним порядком байтів, зокрема UCS-4LE.

note: type: textblock
en: 32-bit little endian such as UCS-4LE.
uk: 32-бітове із прямим порядком байтів, зокрема UCS-4LE.

note: type: textblock
en: The returned strings are transcoded to UTF-8.
uk: Повернуті рядки буде перекодовано до UTF-8.

note: type: verbatim
en:  swapoff-device device
uk:  swapoff-device пристрій

note: type: textblock
en: This command disables the libguestfs appliance swap device or partition named C<device>.  See L</swapon-device>.
uk: Ця команда вимикає резервну пам'ять на диску або розділ із назвою C<пристрій> у базовій системі libguestfs. Див. L</swapon-device>.

note: type: verbatim
en:  swapoff-file file
uk:  swapoff-file файл

note: type: textblock
en: This command disables the libguestfs appliance swap on file.
uk: Ця команда вимикає резервну пам'ять у файлі для базової системи libguestfs.

note: type: verbatim
en:  swapoff-label label
uk:  swapoff-label мітка

note: type: textblock
en: This command disables the libguestfs appliance swap on labeled swap partition.
uk: Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на вказаному за міткою розділі резервної пам'яті.

note: type: textblock
en: This command disables the libguestfs appliance swap partition with the given UUID.
uk: Ця команда вимикає резервну пам'ять на диску у базовій системі libguestfs на вказаному розділі із вказаним UUID.

note: type: verbatim
en:  swapon-device device
uk:  swapon-device пристрій

note: type: textblock
en: This command enables the libguestfs appliance to use the swap device or partition named C<device>.  The increased memory is made available for all commands, for example those run using L</command> or L</sh>.
uk: Ця команда вмикає резервну пам'ять на диску або розділ із назвою C<пристрій> у базовій системі libguestfs. Збільшений обсяг пам'яті стає доступним для усіх команд, зокрема тих, які запускаються за допомогою  L</command> або L</sh>.

note: type: textblock
en: Note that you should not swap to existing guest swap partitions unless you know what you are doing.  They may contain hibernation information, or other information that the guest doesn't want you to trash.  You also risk leaking information about the host to the guest this way.  Instead, attach a new host device to the guest and swap on that.
uk: Зауважте, що вам не варто створювати резервну пам'ять на наявних розділах резервної пам'яті гостьової системи, якщо ви не впевнені у правильності своїх дій. На цих розділах можуть міститися дані режиму присипляння системи або інші дані, які не варто втрачати. Також подібні дії можуть призвести до небажаного доступу до конфіденційних даних у гостьовій системі. Замість цього, долучіть до гостьової системи новий пристрій основної системи і організовуйте резервну пам'ять на ньому.

note: type: verbatim
en:  swapon-file file
uk:  swapon-file файл

note: type: textblock
en: This command enables swap to a file.  See L</swapon-device> for other notes.
uk: Ця команда вмикає резервну пам'ять у файлі. Зауваження щодо її використання є такими самими, що і для L</swapon-device>.

note: type: verbatim
en:  swapon-label label
uk:  swapon-label мітка

note: type: textblock
en: This command enables swap to a labeled swap partition.  See L</swapon-device> for other notes.
uk: Ця команда вмикає резервну пам'ять на вказаному за міткою розділі резервної пам'яті. Зауваження щодо її використання є такими самими, що і для L</swapon-device>.

note: type: textblock
en: This command enables swap to a swap partition with the given UUID.  See L</swapon-device> for other notes.
uk: Ця команда вмикає резервну пам'ять на розділі резервної пам'яті, вказаному за UUID. Зауваження щодо її використання є такими самими, що і для L</swapon-device>.

note: type: textblock
en: This syncs the disk, so that any writes are flushed through to the underlying disk image.
uk: Ця команда виконує синхронізацію диска. Усі буфери даних записуються на базовий образ диска.

note: type: textblock
en: You should always call this if you have modified a disk image, before closing the handle.
uk: Вам завжди слід викликати цю команду, якщо ви вносили зміни до образу диска, перед закриттям дескриптора.

note: type: verbatim
en:  syslinux device [directory:..]
uk:  syslinux пристрій [каталог:..]

note: type: textblock
en: Install the SYSLINUX bootloader on C<device>.
uk: Встановлює завантажувач SYSLINUX на C<пристрій>.

note: type: textblock
en: The device parameter must be either a whole disk formatted as a FAT filesystem, or a partition formatted as a FAT filesystem.  In the latter case, the partition should be marked as "active" (L</part-set-bootable>) and a Master Boot Record must be installed (eg. using L</pwrite-device>) on the first sector of the whole disk.  The SYSLINUX package comes with some suitable Master Boot Records.  See the L<syslinux(1)> man page for further information.
uk: Значенням параметра пристрою має бути або увесь диск, форматований у файлову систему FAT, або розділ диска, форматований у файлову систему FAT. У останньому випадку, розділ має бути позначено як «активний» (L</part-set-bootable>), а на перший сектор усього диска має бути встановлено MBR (наприклад, за допомогою L</pwrite-device>). До пакунка SYSLINUX включено деякі найпоширеніші варіанти MBR. Докладніший опис можна знайти на сторінці підручника щодо L<syslinux(1)>.

note: type: textblock
en: Install SYSLINUX in the named subdirectory, instead of in the root directory of the FAT filesystem.
uk: Встановити SYSLINUX до вказаного за назвою підкаталогу, замість кореневого каталогу файлової системи FAT.

note: type: textblock
en: Additional configuration can be supplied to SYSLINUX by placing a file called F<syslinux.cfg> on the FAT filesystem, either in the root directory, or under F<directory> if that optional argument is being used.  For further information about the contents of this file, see L<syslinux(1)>.
uk: Додатково налаштувати SYSLINUX можна за допомогою файла із назвою F<syslinux.cfg> на файловій системі FAT, у кореневому каталозі або у каталозі файлової системи F<каталог>, якщо використано необов'язковий аргумент команди. Докладніше про це та вміст файла можна дізнатися зі сторінки підручника L<syslinux(1)>.

note: type: textblock
en: See also L</extlinux>.
uk: Див. також L</extlinux>.

note: type: textblock
en: This command depends on the feature C<syslinux>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<syslinux>. Див. також L</feature-available>.

note: type: verbatim
en:  tail path
uk:  tail шлях

note: type: textblock
en: This command returns up to the last 10 lines of a file as a list of strings.
uk: Ця команда повертає останні 10 рядків файла у форматі списку рядків.

note: type: verbatim
en:  tail-n nrlines path
uk:  tail-n к-ть_рядків шлях

note: type: textblock
en: If the parameter C<nrlines> is a positive number, this returns the last C<nrlines> lines of the file C<path>.
uk: Якщо параметр C<к-ть_рядків> є додатним числом, повертає останні C<к-ть_рядків> рядків з файла C<шлях>.

note: type: textblock
en: If the parameter C<nrlines> is a negative number, this returns lines from the file C<path>, starting with the C<-nrlines>'th line.
uk: Якщо значенням параметра C<к-ть_рядків> є від'ємне число, команда повертає рядки з файла C<шлях>, починаючи з рядка C<-к-ть_рядків>.

note: type: verbatim
en:  tar-in (tarfile|-) directory [compress:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]
uk:  tar-in (файл_tar|-) каталог [compress:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]

note: type: textblock
en: This command uploads and unpacks local file C<tarfile> into F<directory>.
uk: Ця команда вивантажує і розпаковує локальний файл C<файл_tar> до каталогу F<каталог>.

note: type: textblock
en: The optional C<compress> flag controls compression.  If not given, then the input should be an uncompressed tar file.  Otherwise one of the following strings may be given to select the compression type of the input file: C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds of libguestfs will support all of these compression types).
uk: Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано, вхідні дані мають бути простим, нестисненим файлом tar. Ви також можете вказати такі рядки для вибору типу стискання: C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>. (Зауважте, що підтримку усіх цих типів стискання передбачено не в усіх зібраних пакунках libguestfs).

note: type: textblock
en: If set to true, extended attributes are restored from the tar file.
uk: Якщо встановлено значення true, розширені атрибути відновлюватимуться з файла tar.

note: type: textblock
en: If set to true, SELinux contexts are restored from the tar file.
uk: Якщо встановлено значення true, контекст SELinux відновлюватиметься з файла tar.

note: type: textblock
en: If set to true, POSIX ACLs are restored from the tar file.
uk: Якщо встановлено значення true, з файла tar відновлюватимуться ACL POSIX.

note: type: verbatim
en:  tar-out directory (tarfile|-) [compress:..] [numericowner:true|false] [excludes:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]
uk:  tar-out каталог (файл_tar|-) [compress:..] [numericowner:true|false] [excludes:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]

note: type: textblock
en: This command packs the contents of F<directory> and downloads it to local file C<tarfile>.
uk: Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла C<файл_tar>.

note: type: textblock
en: The optional C<compress> flag controls compression.  If not given, then the output will be an uncompressed tar file.  Otherwise one of the following strings may be given to select the compression type of the output file: C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds of libguestfs will support all of these compression types).
uk: Необов'язковий прапорець C<compress> керує стисканням. Якщо його не вказано, вихідні дані будуть простим, нестисненим файлом tar. Ви також можете вказати такі рядки для вибору типу стискання: C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>. (Зауважте, що підтримку усіх цих типів стискання передбачено не в усіх зібраних пакунках libguestfs).

note: type: textblock
en: If set to true, the output tar file will contain UID/GID numbers instead of user/group names.
uk: Якщо встановлено значення true, у виведеному файлі tar міститимуться номери UID/GID замість назв записів користувачів і груп.

note: type: textblock
en: If set to true, extended attributes are saved in the output tar.
uk: Якщо встановлено значення true, у виведеному файлі tar зберігатимуться розширені атрибути.

note: type: textblock
en: If set to true, SELinux contexts are saved in the output tar.
uk: Якщо встановлено значення true, у виведеному файлі tar зберігатимуться контексти SELinux.

note: type: textblock
en: If set to true, POSIX ACLs are saved in the output tar.
uk: Якщо встановлено значення true, у виведеному файлі tar зберігатимуться ACL POSIX.

note: type: verbatim
en:  tgz-in (tarball|-) directory
uk:  tgz-in (архів tar|-) каталог

note: type: textblock
en: This command uploads and unpacks local file C<tarball> (a I<gzip compressed> tar file) into F<directory>.
uk: Ця команда вивантажує і розпаковує локальний файл C<архів_tar> (I<стиснений gzip> файл tar) до каталогу F<каталог>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</tar-in> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</tar-in>.

note: type: verbatim
en:  tgz-out directory (tarball|-)
uk:  tgz-out каталог (архів tar|-)

note: type: textblock
en: This command packs the contents of F<directory> and downloads it to local file C<tarball>.
uk: Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла C<архів_tar>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</tar-out> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</tar-out>.

note: type: verbatim
en:  touch path
uk:  touch шлях

note: type: textblock
en: Touch acts like the L<touch(1)> command.  It can be used to update the timestamps on a file, or, if the file does not exist, to create a new zero-length file.
uk: Touch працює як команда L<touch(1)>. Цією командою можна скористатися для оновлення часових позначок файла або, якщо файла не існує, створення нового файла нульової довжини.

note: type: textblock
en: This command only works on regular files, and will fail on other file types such as directories, symbolic links, block special etc.
uk: Ця команда працює лише для звичайних файлів і завершує роботу повідомленням про помилку, якщо її використовують для інших об'єктів файлової системи, зокрема каталогів, символічних посилань, спеціальних блоків.

note: type: verbatim
en:  truncate path
uk:  truncate шлях

note: type: textblock
en: This command truncates C<path> to a zero-length file.  The file must exist already.
uk: Ця команда обрізає файл C<шлях> до нульової довжини. Для її успішного виконання файл має існувати.

note: type: verbatim
en:  truncate-size path size
uk:  truncate-size шлях розмір

note: type: textblock
en: This command truncates C<path> to size C<size> bytes.  The file must exist already.
uk: Ця команда обрізає файл C<шлях> до розміру у C<розмір> байтів. Для її успішного виконання файл має існувати.

note: type: textblock
en: If the current file size is less than C<size> then the file is extended to the required size with zero bytes.  This creates a sparse file (ie. disk blocks are not allocated for the file until you write to it).  To create a non-sparse file of zeroes, use L</fallocate64> instead.
uk: Якщо поточний розмір файла є меншим за C<розмір>, файл буде розширено до вказаного розміру доповненням його вмісту нульовими байтами. Команда створює розріджений файл (тобто блоки диска не розподіляються під файл, доки ви не виконаєте запис до нього). Для створення файла заповненого нулями, який не буде розрідженим, скористайтеся командою L</fallocate64>.

note: type: verbatim
en:  tune2fs device [force:true|false] [maxmountcount:N] [mountcount:N] [errorbehavior:..] [group:N] [intervalbetweenchecks:N] [reservedblockspercentage:N] [lastmounteddirectory:..] [reservedblockscount:N] [user:N]
uk:  tune2fs пристрій [force:true|false] [maxmountcount:N] [mountcount:N] [errorbehavior:..] [group:N] [intervalbetweenchecks:N] [reservedblockspercentage:N] [lastmounteddirectory:..] [reservedblockscount:N] [user:N]

note: type: textblock
en: This call allows you to adjust various filesystem parameters of an ext2/ext3/ext4 filesystem called C<device>.
uk: За допомогою цієї команди ви можете скоригувати різноманітні параметри файлової системи ext2/ext3/ext4 із назвою C<пристрій>.

note: type: textblock
en: Force tune2fs to complete the operation even in the face of errors.  This is the same as the L<tune2fs(8)> C<-f> option.
uk: Змусити tune2fs завершити виконання дії, навіть якщо буде виявлено помилки. Те саме, що і параметр C<-f> у L<tune2fs(8)>.

note: type: textblock
en: Set the number of mounts after which the filesystem is checked by L<e2fsck(8)>.  If this is C<0> then the number of mounts is disregarded.  This is the same as the L<tune2fs(8)> C<-c> option.
uk: Встановлює кількість монтувань, за досягнення якої файлова система перевіряється за допомогою L<e2fsck(8)>. Якщо встановлено значення C<0>, кількість монтувань не братиметься до уваги. Те саме, що і параметр C<-c> L<tune2fs(8)>.

note: type: textblock
en: Set the number of times the filesystem has been mounted.  This is the same as the L<tune2fs(8)> C<-C> option.
uk: Встановлює кількість монтувань файлової системи. Те саме, що і параметр C<-C> L<tune2fs(8)>.

note: type: textblock
en: Change the behavior of the kernel code when errors are detected.  Possible values currently are: C<continue>, C<remount-ro>, C<panic>.  In practice these options don't really make any difference, particularly for write errors.
uk: Змінює поведінку коду ядра, якщо стануться помилки. Можливі значення у поточній версії: C<continue>, C<remount-ro>, C<panic>. На практиці, відмінність між цими варіантами є незначною, зокрема при появі помилок запису.

note: type: textblock
en: This is the same as the L<tune2fs(8)> C<-e> option.
uk: Те саме, що і параметр C<-e> у L<tune2fs(8)>.

note: type: textblock
en: Set the group which can use reserved filesystem blocks.  This is the same as the L<tune2fs(8)> C<-g> option except that it can only be specified as a number.
uk: Встановлює групу, яка може використовувати зарезервовані блоки файлової системи. Те саме, що і параметр C<-g> L<tune2fs(8)>, але групу тут можна вказати лише за номером.

note: type: textblock
en: Adjust the maximal time between two filesystem checks (in seconds).  If the option is passed as C<0> then time-dependent checking is disabled.
uk: Коригує максимальний час між двома послідовними перевірками файлової системи (у секундах). Якщо буде передано значення C<0>, залежність перевірок від часу буде вимкнено.

note: type: textblock
en: This is the same as the L<tune2fs(8)> C<-i> option.
uk: Те саме, що і параметр C<-i> у L<tune2fs(8)>.

note: type: textblock
en: Set the percentage of the filesystem which may only be allocated by privileged processes.  This is the same as the L<tune2fs(8)> C<-m> option.
uk: Встановлює частку у відсотках файлової системи, яку може бути розподілено привілейованими процесами. Те саме, що і параметр C<-m> L<tune2fs(8)>.

note: type: textblock
en: Set the last mounted directory.  This is the same as the L<tune2fs(8)> C<-M> option.
uk: Встановлює останній змонтований каталог. Те саме, що і параметр C<-M> L<tune2fs(8)>.

note: type: =item
en: C<reservedblockscount> Set the number of reserved filesystem blocks.  This is the same as the L<tune2fs(8)> C<-r> option.
uk: C<reservedblockscount> Встановлює кількість зарезервованих блоків файлової системи. Те саме, що і параметр C<-r> L<tune2fs(8)>.

note: type: textblock
en: Set the user who can use the reserved filesystem blocks.  This is the same as the L<tune2fs(8)> C<-u> option except that it can only be specified as a number.
uk: Встановлює користувача, який може використовувати зарезервовані блоки файлової системи. Те саме, що і параметр C<-u> L<tune2fs(8)>, але користувача тут можна вказати лише за номером.

note: type: textblock
en: To get the current values of filesystem parameters, see L</tune2fs-l>.  For precise details of how tune2fs works, see the L<tune2fs(8)> man page.
uk: Якщо вам потрібно отримати поточні значення параметрів файлової системи, скористайтеся L</tune2fs-l>. Докладний опис роботи tune2fs наведено на сторінці підручника L<tune2fs(8)>.

note: type: verbatim
en:  tune2fs-l device
uk:  tune2fs-l пристрій

note: type: textblock
en: This returns the contents of the ext2, ext3 or ext4 filesystem superblock on C<device>.
uk: Ця команда повертає вміст суперблоку файлової системи ext2, ext3 або ext4 на пристрої C<пристрій>.

note: type: textblock
en: It is the same as running C<tune2fs -l device>.  See L<tune2fs(8)> manpage for more details.  The list of fields returned isn't clearly defined, and depends on both the version of C<tune2fs> that libguestfs was built against, and the filesystem itself.
uk: Результат буде таким самим як результат виконання команди C<tune2fs -l пристрій>. Див. сторінку підручника L<tune2fs(8)>, щоб дізнатися більше. Список повернутих полів не є точно визначеним і залежить від версії C<tune2fs>, з якою було зібрано libguestfs, та самої файлової системи.

note: type: verbatim
en:  txz-in (tarball|-) directory
uk:  txz-in (архів tar|-) каталог

note: type: textblock
en: This command uploads and unpacks local file C<tarball> (an I<xz compressed> tar file) into F<directory>.
uk: Ця команда вивантажує і розпаковує локальний файл C<архів_tar> (I<стиснений xz> файл tar) до каталогу F<каталог>.

note: type: textblock
en: This command depends on the feature C<xz>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<xz>. Див. також L</feature-available>.

note: type: verbatim
en:  txz-out directory (tarball|-)
uk:  txz-out каталог (архів tar|-)

note: type: textblock
en: This command packs the contents of F<directory> and downloads it to local file C<tarball> (as an xz compressed tar archive).
uk: Ця команда пакує вміст каталогу F<каталог> отримує його до локального файла C<архів_tar> (у форматі стисненого xz архіву tar).

note: type: verbatim
en:  umask mask
uk:  umask маска

note: type: textblock
en: This function sets the mask used for creating new files and device nodes to C<mask & 0777>.
uk: Ця функція встановлює маску, яка використовується для створення нових файлів і вузлів пристрою, у значення C<mask & 0777>.

note: type: textblock
en: Typical umask values would be C<022> which creates new files with permissions like "-rw-r--r--" or "-rwxr-xr-x", and C<002> which creates new files with permissions like "-rw-rw-r--" or "-rwxrwxr-x".
uk: Типовими значеннями umask мають бути C<022>, використання якої призводить до прав доступу «-rw-r--r--» або «-rwxr-xr-x», та C<002>, використання якої призводить до прав доступу «-rw-rw-r--» або «-rwxrwxr-x».

note: type: textblock
en: The default umask is C<022>.  This is important because it means that directories and device nodes will be created with C<0644> or C<0755> mode even if you specify C<0777>.
uk: Типовим значенням umask є C<022>. Це важливо, оскільки означає, що каталоги і вузли пристрою створюватимуться із правами доступу C<0644> або C<0755>, навіть якщо ви вкажете права доступу C<0777>.

note: type: textblock
en: See also L</get-umask>, L<umask(2)>, L</mknod>, L</mkdir>.
uk: Див. також L</get-umask>, L<umask(2)>, L</mknod>, L</mkdir>.

note: type: textblock
en: This call returns the previous umask.
uk: Цей виклик повертає попередню umask.

note: type: verbatim
en:  umount pathordevice [force:true|false] [lazyunmount:true|false]
uk:  umount шлях_або_пристрій [force:true|false] [lazyunmount:true|false]

note: type: textblock
en: This unmounts the given filesystem.  The filesystem may be specified either by its mountpoint (path) or the device which contains the filesystem.
uk: Ця команда демонтує вказану файлову систему. Файлову систему можна вказати або як точку монтування (шлях) або як пристрій, на якому міститься файлова система.

note: type: textblock
en: This unmounts all mounted filesystems.
uk: Демонтує усі змонтовані файлові системи.

note: type: textblock
en: Some internal mounts are not unmounted by this call.
uk: Деякі із внутрішніх монтувань не демонтуються цим викликом.

note: type: textblock
en: If libguestfs is exporting the filesystem on a local mountpoint, then this unmounts it.
uk: Якщо libguestfs експортує файлову систему на локальну точку монтування, цей виклик демонтує її.

note: type: verbatim
en:  upload (filename|-) remotefilename
uk:  upload (назва_файла|-) назва_віддаленого_файла

note: type: textblock
en: Upload local file F<filename> to F<remotefilename> on the filesystem.
uk: Вивантажує локальний файл F<назва_файла> до віддаленого файла F<назва_віддаленого_файла> у файловій системі.

note: type: textblock
en: See also L</download>.
uk: Див. також L</download>.

note: type: verbatim
en:  upload-offset (filename|-) remotefilename offset
uk:  upload-offset (назва_файла|-) назва_віддаленого_файла відступ

note: type: textblock
en: F<remotefilename> is overwritten starting at the byte C<offset> specified.  The intention is to overwrite parts of existing files or devices, although if a non-existent file is specified then it is created with a "hole" before C<offset>.  The size of the data written is implicit in the size of the source F<filename>.
uk: Віддалений файл F<назва_віддаленого_файла> буде перезаписано, починаючи з байта C<відступ>. Призначенням команди є перезапис частин наявних файлів або пристроїв, хоча, якщо буде задано файл, якого не існує, команда створить його із «діркою» до байта C<відступ>. Розмір записаних даних неявним чином визначається розміром файла-джерела F<назва_файла>.

note: type: textblock
en: Note that there is no limit on the amount of data that can be uploaded with this call, unlike with L</pwrite>, and this call always writes the full amount unless an error occurs.
uk: Зауважте, що немає обмеження на обсяг даних, які може бути вивантажено за допомогою цього виклику, на відміну від команди L</pwrite>, і цей виклик завжди записує дані до кінця, якщо не станеться помилки.

note: type: textblock
en: See also L</upload>, L</pwrite>.
uk: Див. також L</upload>, L</pwrite>.

note: type: textblock
en: This function cancels the current upload or download operation.
uk: За допомогою цієї функції можна скасувати поточну дію із отримання або вивантаження даних.

note: type: textblock
en: Unlike most other libguestfs calls, this function is signal safe and thread safe.  You can call it from a signal handler or from another thread, without needing to do any locking.
uk: На відміну від більшості інших викликів libguestfs, цю функцію захищено від сигналів та потоків обробки. Ви можете викликати її із обробника сигналів або іншого потоку обробки без потреби у блокуванні хоч чогось.

note: type: textblock
en: The transfer that was in progress (if there is one) will stop shortly afterwards, and will return an error.  The errno (see L</guestfs_last_errno>) is set to C<EINTR>, so you can test for this to find out if the operation was cancelled or failed because of another error.
uk: Передавання даних, яке не було завершено (якщо таке існує), буде зупинено невдовзі після виконання цієї команди, і буде повернуто повідомлення про помилку. Для errno (див. L</guestfs_last_errno>) буде встановлено значення C<EINTR>, отже ви можете просто перевірити це значення, щоб визначити дію, яку було скасовано або яка завершилася помилкою через інші причини.

note: type: textblock
en: No cleanup is performed: for example, if a file was being uploaded then after cancellation there may be a partially uploaded file.  It is the caller’s responsibility to clean up if necessary.
uk: Чищення після виконання команди не виконуватиметься. Наприклад, якщо на момент скасовування виконувалося вивантаження файла, результатом буде частково вивантажений файл. Про належне чищення має подбати функція, з якої було викликано команду.

note: type: textblock
en: There are two common places that you might call L</user-cancel>:
uk: Існує два типових місця, звідки ви варто викликати L</user-cancel>:

note: type: textblock
en: In an interactive text-based program, you might call it from a C<SIGINT> signal handler so that pressing C<^C> cancels the current operation.  (You also need to call L</set-pgroup> so that child processes don't receive the C<^C> signal).
uk: У інтерактивній текстовій програмі ви можете викликати функцію із обробника сигналу C<SIGINT>, щоб натискання комбінації клавіш C<^C> скасовувало поточну дію. (Вам також слід викликати L</set-pgroup>, щоб дочірні процеси не отримували сигналу C<^C>).

note: type: textblock
en: In a graphical program, when the main thread is displaying a progress bar with a cancel button, wire up the cancel button to call this function.
uk: У графічних програмах, якщо основний потік обробки даних показує смужку поступу із кнопкою скасовування дії, подію натискання кнопки скасовування дії слід пов'язувати із викликом цієї функції.

note: type: verbatim
en:  utimens path atsecs atnsecs mtsecs mtnsecs
uk:  utimens шлях atsecs atnsecs mtsecs mtnsecs

note: type: textblock
en: This command sets the timestamps of a file with nanosecond precision.
uk: Ця команда встановлює часову позначку для файла з точністю до наносекунди.

note: type: textblock
en: C<atsecs>, C<atnsecs> are the last access time (atime) in secs and nanoseconds from the epoch.
uk: C<atsecs>, C<atnsecs> — час останнього доступу (atime) у секундах та наносекундах від моменту початку епохи.

note: type: textblock
en: C<mtsecs>, C<mtnsecs> are the last modification time (mtime) in secs and nanoseconds from the epoch.
uk: C<mtsecs>, C<mtnsecs> — час останнього внесення змін (mtime) у секундах та наносекундах від моменту початку епохи.

note: type: textblock
en: If the C<*nsecs> field contains the special value C<-1> then the corresponding timestamp is set to the current time.  (The C<*secs> field is ignored in this case).
uk: Якщо якесь із полів C<*nsecs> містить спеціальне значення C<-1>, відповідну часову позначку буде встановлено у поточний момент часу. (У цьому випадку поле C<*secs> буде проігноровано.)

note: type: textblock
en: If the C<*nsecs> field contains the special value C<-2> then the corresponding timestamp is left unchanged.  (The C<*secs> field is ignored in this case).
uk: Якщо якесь із полів C<*nsecs> містить спеціальне значення C<-2>, відповідну часову позначку не буде змінено. (У цьому випадку поле C<*secs> буде проігноровано.)

note: type: textblock
en: This returns the kernel version of the appliance, where this is available.  This information is only useful for debugging.  Nothing in the returned structure is defined by the API.
uk: Ця команда повертає версію ядра базової системи, якщо таку версію можна встановити. Отримані дані корисні лише для діагностики. У повернутій структурі жодна з частин не визначається програмним інтерфейсом.

note: type: textblock
en: Return the libguestfs version number that the program is linked against.
uk: Повертає номер версії libguestfs, з якою скомпоновано програму.

note: type: textblock
en: Note that because of dynamic linking this is not necessarily the version of libguestfs that you compiled against.  You can compile the program, and then at runtime dynamically link against a completely different F<libguestfs.so> library.
uk: Зауважте, що через динамічне компонування, це може бути зовсім не та версія libguestfs, з якою виконувалося збирання. Ви можете зібрати програму, а потім у динамічному режимі скомпонувати її із зовсім іншою бібліотекою F<libguestfs.so>.

note: type: textblock
en: This call was added in version C<1.0.58>.  In previous versions of libguestfs there was no way to get the version number.  From C code you can use dynamic linker functions to find out if this symbol exists (if it doesn't, then it’s an earlier version).
uk: Цей виклик було додано у версії C<1.0.58>. У попередніх версіях libguestfs не було можливості отримати номер версії. З коду мовою C ви можете використовувати функції динамічного компонування для визначення того, чи існує символ (якщо символу не існує, це давня версія, до версії 1.0.58).

note: type: textblock
en: The call returns a structure with four elements.  The first three (C<major>, C<minor> and C<release>) are numbers and correspond to the usual version triplet.  The fourth element (C<extra>) is a string and is normally empty, but may be used for distro-specific information.
uk: Цей виклик повертає структуру із чотирьох елементів. Перші три (C<major>, C<minor> і C<release>) є числами, які відповідають звичній трійці частин версії. Четвертий елемент (C<extra>) є рядком, який зазвичай є порожнім, але його може бути використано для специфічної для дистрибутива інформації.

note: type: textblock
en: To construct the original version string: C<$major.$minor.$release$extra>
uk: Для побудови початкового рядка версії: C<$major.$minor.$release$extra>

note: type: textblock
en: See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>.
uk: Див також: L<guestfs(3)/НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS>.

note: type: textblock
en: I<Note:> Don't use this call to test for availability of features.  In enterprise distributions we backport features from later versions into earlier versions, making this an unreliable way to test for features.  Use L</available> or L</feature-available> instead.
uk: I<Зауваження:> не користуйтеся цим викликом для визначення доступності якихось можливостей. У промислових дистрибутивах ми виконуємо зворотне портування можливостей з пізніших версій на раніші. Це робить визначення за версією ненадійною справою. Замість цього, користуйтеся командами L</available> і L</feature-available>.

note: type: verbatim
en:  vfs-label mountable
uk:  vfs-label монтований_розділ

note: type: textblock
en: This returns the label of the filesystem on C<mountable>.
uk: Повертає мітку файлової системи на розділі C<монтований_розділ>.

note: type: textblock
en: If the filesystem is unlabeled, this returns the empty string.
uk: Якщо у файлової системи немає мітки, буде повернуто порожній рядок.

note: type: textblock
en: To find a filesystem from the label, use L</findfs-label>.
uk: Для визначення файлової системи на основі мітки скористайтеся L</findfs-label>.

note: type: verbatim
en:  vfs-minimum-size mountable
uk:  vfs-minimum-size монтування

note: type: textblock
en: Get the minimum size of filesystem in bytes.  This is the minimum possible size for filesystem shrinking.
uk: Отримати мінімальний розмір файлової системи у байтах. Це мінімальний можливий розмір файлової системи після стискання.

note: type: textblock
en: If getting minimum size of specified filesystem is not supported, this will fail and set errno as ENOTSUP.
uk: Якщо отримання мінімального розміру для файлової системи не передбачено, ця команда завершить роботи повідомленням про помилку, встановивши для errno значення ENOTSUP.

note: type: textblock
en: See also L<ntfsresize(8)>, L<resize2fs(8)>, L<btrfs(8)>, L<xfs_info(8)>.
uk: Див. також L<ntfsresize(8)>, L<resize2fs(8)>, L<btrfs(8)>, L<xfs_info(8)>.

note: type: verbatim
en:  vfs-type mountable
uk:  vfs-type монтування

note: type: textblock
en: This command gets the filesystem type corresponding to the filesystem on C<mountable>.
uk: Ця команда отримує тип файлової системи, відповідний до файлової системи у C<монтуванні>.

note: type: textblock
en: For most filesystems, the result is the name of the Linux VFS module which would be used to mount this filesystem if you mounted it without specifying the filesystem type.  For example a string such as C<ext3> or C<ntfs>.
uk: Для більшості файлових систем результатом виконання є назва модуля VFS Linux, який буде використано для монтування цієї системи, якщо ви змонтуєте її без явного задання типу файлової системи. Наприклад, може бути повернуто рядок C<ext3> або C<ntfs>.

note: type: verbatim
en:  vfs-uuid mountable
uk:  vfs-uuid монтування

note: type: textblock
en: This returns the filesystem UUID of the filesystem on C<mountable>.
uk: Ця команда повертає UUID файлової системи для файлової системи C<монтування>.

note: type: textblock
en: If the filesystem does not have a UUID, this returns the empty string.
uk: Якщо у файлової системи немає UUID, буде повернуто порожній рядок.

note: type: textblock
en: To find a filesystem from the UUID, use L</findfs-uuid>.
uk: Для визначення файлової системи за UUID скористайтеся L</findfs-uuid>.

note: type: verbatim
en:  vg-activate true|false 'volgroups ...'
uk:  vg-activate true|false 'групи_томів ...'

note: type: textblock
en: This command activates or (if C<activate> is false) deactivates all logical volumes in the listed volume groups C<volgroups>.
uk: Ця команда активує або (якщо параметром є false) деактивує усі логічні томи у вказаних групах томів C<групи_томів>.

note: type: textblock
en: This command is the same as running C<vgchange -a y|n volgroups...>
uk: Ця команда дає ті самі результати, що і C<vgchange -a y|n групи томів...>

note: type: textblock
en: Note that if C<volgroups> is an empty list then B<all> volume groups are activated or deactivated.
uk: Зауважте, що якщо C<групи_томів> є порожнім списком, буде активовано або деактивовано B<усі> групи томів.

note: type: textblock
en: This command activates or (if C<activate> is false) deactivates all logical volumes in all volume groups.
uk: Ця команда активує або (якщо параметром є false) деактивує усі логічні томи в усіх групах томів.

note: type: textblock
en: This command is the same as running C<vgchange -a y|n>
uk: Ця команда дає ті самі результати, що і C<vgchange -a y|n>

note: type: textblock
en: Generate a new random UUID for the volume group C<vg>.
uk: Створити новий випадковий UUID для групи томів C<vg>.

note: type: textblock
en: Generate new random UUIDs for all volume groups.
uk: Створити нові випадкові UUID для всіх груп томів.

note: type: verbatim
en:  vgcreate volgroup 'physvols ...'
uk:  vgcreate група_томів 'фізичні_томи ...'

note: type: textblock
en: This creates an LVM volume group called C<volgroup> from the non-empty list of physical volumes C<physvols>.
uk: Ця команда створює групу томів LVM із назвою C<група_томів> на основі непорожнього списку фізичних томів C<фізичні_томи>.

note: type: verbatim
en:  vglvuuids vgname
uk:  vglvuuids назва_vg

note: type: textblock
en: Given a VG called C<vgname>, this returns the UUIDs of all the logical volumes created in this volume group.
uk: За вказаною групою томів C<назва_vg> ця команда повертає UUID усіх логічних томів, створених у вказаній групі томів.

note: type: textblock
en: You can use this along with L</lvs> and L</lvuuid> calls to associate logical volumes and volume groups.
uk: Цією командою можна скористатися у поєднанні із командами L</lvs> і L</lvuuid> для пов'язування логічних томів і груп томів.

note: type: textblock
en: See also L</vgpvuuids>.
uk: Див. також L</vgpvuuids>.

note: type: verbatim
en:  vgmeta vgname
uk:  vgmeta назва_vg

note: type: textblock
en: C<vgname> is an LVM volume group.  This command examines the volume group and returns its metadata.
uk: Значенням параметра C<назва_vg> є назва групи томів LVM. Ця команда виконує вивчення групи томів і повертає її метадані.

note: type: textblock
en: Note that the metadata is an internal structure used by LVM, subject to change at any time, and is provided for information only.
uk: Зауважте, що метадані є внутрішньою структурою, яка використовується LVM і яку може бути будь-коли змінено. Її дані надаються лише з інформаційною метою.

note: type: verbatim
en:  vgpvuuids vgname
uk:  vgpvuuids назва_vg

note: type: textblock
en: Given a VG called C<vgname>, this returns the UUIDs of all the physical volumes that this volume group resides on.
uk: За вказаною групою томів C<назва_vg> ця команда повертає UUID усіх фізичних томів, на яких розміщено вказану групу томів.

note: type: textblock
en: You can use this along with L</pvs> and L</pvuuid> calls to associate physical volumes and volume groups.
uk: Цією командою можна скористатися у поєднанні із командами L</pvs> і L</pvuuid> для пов'язування фізичних томів і груп томів.

note: type: textblock
en: See also L</vglvuuids>.
uk: Див. також L</vglvuuids>.

note: type: verbatim
en:  vgremove vgname
uk:  vgremove назва_vg

note: type: textblock
en: Remove an LVM volume group C<vgname>, (for example C<VG>).
uk: Вилучає групу томів LVM C<назва_vg> (наприклад C<VG>).

note: type: textblock
en: This also forcibly removes all logical volumes in the volume group (if any).
uk: Крім того, ця команда у примусовому порядку вилучає усі логічні томи у групі томів (якщо такі існують).

note: type: verbatim
en:  vgrename volgroup newvolgroup
uk:  vgrename група_томів нова_група_томів

note: type: textblock
en: Rename a volume group C<volgroup> with the new name C<newvolgroup>.
uk: Перейменовує групу томів C<група_томів> на групу томів C<нова_група_томів>.

note: type: textblock
en: List all the volumes groups detected.  This is the equivalent of the L<vgs(8)> command.
uk: Виводить список усіх виявлених груп томів. Є еквівалентом команди L<vgs(8)>.

note: type: textblock
en: This returns a list of just the volume group names that were detected (eg. C<VolGroup00>).
uk: Ця команда повертає список лише тих груп томів, які вдасться виявити (наприклад C<VolGroup00>).

note: type: textblock
en: See also L</vgs-full>.
uk: Див. також L</vgs-full>.

note: type: textblock
en: List all the volumes groups detected.  This is the equivalent of the L<vgs(8)> command.  The "full" version includes all fields.
uk: Виводить список усіх виявлених груп томів. Є еквівалентом команди L<vgs(8)>. До «повної» версії включено усі поля.

note: type: textblock
en: This rescans all block devices and rebuilds the list of LVM physical volumes, volume groups and logical volumes.
uk: Ця команда виконує повторне сканування усіх блокових пристроїв і повторно будує список фізичних томів, груп томів та логічних томів LVM.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</lvm-scan> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</lvm-scan>.

note: type: verbatim
en:  vguuid vgname
uk:  vguuid назва_vg

note: type: textblock
en: This command returns the UUID of the LVM VG named C<vgname>.
uk: Ця команда повертає UUID групи томів LVM із назвою C<назва_vg>.

note: type: verbatim
en:  wc-c path
uk:  wc-c шлях

note: type: textblock
en: This command counts the characters in a file, using the C<wc -c> external command.
uk: Ця команда лічить символи у файлі за допомогою зовнішньої програми C<wc -c>.

note: type: verbatim
en:  wc-l path
uk:  wc-l шлях

note: type: textblock
en: This command counts the lines in a file, using the C<wc -l> external command.
uk: Ця команда лічить рядки у файлі за допомогою зовнішньої програми C<wc -l>.

note: type: verbatim
en:  wc-w path
uk:  wc-w шлях

note: type: textblock
en: This command counts the words in a file, using the C<wc -w> external command.
uk: Ця команда лічить слова у файлі за допомогою зовнішньої програми C<wc -w>.

note: type: verbatim
en:  wipefs device
uk:  wipefs пристрій

note: type: textblock
en: This command erases filesystem or RAID signatures from the specified C<device> to make the filesystem invisible to libblkid.
uk: Ця команда витирає файлову систему або підписи RAID з вказаного пристрою C<пристрій> з метою зробити файлову систему невидимою для libblkid.

note: type: textblock
en: This does not erase the filesystem itself nor any other data from the C<device>.
uk: Ця команда не витирає самої файлової системи або інших даних з пристрою C<пристрій>.

note: type: textblock
en: Compare with L</zero> which zeroes the first few blocks of a device.
uk: Порівняйте з командою L</zero>, яка заповнює нулями перші декілька блоків пристрою.

note: type: textblock
en: This command depends on the feature C<wipefs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<wipefs>. Див. також L</feature-available>.

note: type: verbatim
en:  write path content
uk:  write шлях дані

note: type: textblock
en: This call creates a file called C<path>.  The content of the file is the string C<content> (which can contain any 8 bit data).
uk: Цей виклик створює файл із назвою C<шлях>. Вмістом файла буде рядок C<дані> (який може складатися з будь-яких 8-бітовий даних).

note: type: textblock
en: See also L</write-append>.
uk: Див. також L</write-append>.

note: type: verbatim
en:  write-append path content
uk:  write-append шлях дані

note: type: textblock
en: This call appends C<content> to the end of file C<path>.  If C<path> does not exist, then a new file is created.
uk: Цей виклик дописує C<дані> наприкінці файла C<шлях>. Якщо файла C<шлях> не існує, його буде створено.

note: type: textblock
en: See also L</write>.
uk: Див. також L</write>.

note: type: verbatim
en:  write-file path content size
uk:  write-file шлях дані розмір

note: type: textblock
en: This call creates a file called C<path>.  The contents of the file is the string C<content> (which can contain any 8 bit data), with length C<size>.
uk: Цей виклик створює файл із назвою C<шлях>. Вмістом файла буде рядок C<дані> (який може складатися з будь-яких 8-бітовий даних), а розмір файла буде визначено значенням C<розмір>.

note: type: textblock
en: As a special case, if C<size> is C<0> then the length is calculated using C<strlen> (so in this case the content cannot contain embedded ASCII NULs).
uk: У особливому випадку, якщо C<розмір> дорівнює C<0>, довжину файла буде обчислено за допомогою C<strlen> (тому у цьому випадку «дані» не повинні містити вбудованих символів NUL ASCII).

note: type: textblock
en: I<NB.> Owing to a bug, writing content containing ASCII NUL characters does I<not> work, even if the length is specified.
uk: I<NB.> Через ваду запис даних, які містять символи NUL ASCII I<не> працює, навіть якщо явним чином вказати довжину.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</write> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</write>.

note: type: verbatim
en:  xfs-admin device [extunwritten:true|false] [imgfile:true|false] [v2log:true|false] [projid32bit:true|false] [lazycounter:true|false] [label:..] [uuid:..]
uk:  xfs-admin пристрій [extunwritten:true|false] [imgfile:true|false] [v2log:true|false] [projid32bit:true|false] [lazycounter:true|false] [label:..] [uuid:..]

note: type: textblock
en: Change the parameters of the XFS filesystem on C<device>.
uk: Змінює параметри файлової системи XFS на пристрої C<пристрій>.

note: type: textblock
en: Devices that are mounted cannot be modified.  Administrators must unmount filesystems before this call can modify parameters.
uk: До пристроїв, які змонтовано, внесення змін неможливе. Перед цим викликом для зміни параметрів адміністратор має демонтувати відповідні файлові системи.

note: type: textblock
en: Some of the parameters of a mounted filesystem can be examined and modified using the L</xfs-info> and L</xfs-growfs> calls.
uk: Деякі з параметрів змонтованих файлових систем можна визначати та вносити до них зміни за допомогою викликів L</xfs-info> і L</xfs-growfs>.

note: type: textblock
en: This command depends on the feature C<xfs>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<xfs>. Див. також L</feature-available>.

note: type: verbatim
en:  xfs-growfs path [datasec:true|false] [logsec:true|false] [rtsec:true|false] [datasize:N] [logsize:N] [rtsize:N] [rtextsize:N] [maxpct:N]
uk:  xfs-growfs шлях [datasec:true|false] [logsec:true|false] [rtsec:true|false] [datasize:N] [logsize:N] [rtsize:N] [rtextsize:N] [maxpct:N]

note: type: textblock
en: Grow the XFS filesystem mounted at C<path>.
uk: Збільшує файлову систему XFS, яку змонтовано як C<шлях>.

note: type: textblock
en: The returned struct contains geometry information.  Missing fields are returned as C<-1> (for numeric fields) or empty string.
uk: Повернута структура має містити дані щодо геометрії. Пропущені поля буде повернуто як C<-1> (для числових значень) або як порожні рядки.

note: type: verbatim
en:  xfs-info pathordevice
uk:  xfs-info шлях_або_пристрій

note: type: textblock
en: C<pathordevice> is a mounted XFS filesystem or a device containing an XFS filesystem.  This command returns the geometry of the filesystem.
uk: C<шлях_або_пристрій> — змонтована файлова система XFS або пристрій, на якому міститься файлова система XFS. Ця команда повертає дані щодо геометрії файлової системи.

note: type: verbatim
en:  xfs-repair device [forcelogzero:true|false] [nomodify:true|false] [noprefetch:true|false] [forcegeometry:true|false] [maxmem:N] [ihashsize:N] [bhashsize:N] [agstride:N] [logdev:..] [rtdev:..]
uk:  xfs-repair пристрій [forcelogzero:true|false] [nomodify:true|false] [noprefetch:true|false] [forcegeometry:true|false] [maxmem:N] [ihashsize:N] [bhashsize:N] [agstride:N] [logdev:..] [rtdev:..]

note: type: textblock
en: Repair corrupt or damaged XFS filesystem on C<device>.
uk: Відновлює пошкоджену файлову систему XFS на пристрої C<пристрій>.

note: type: textblock
en: The filesystem is specified using the C<device> argument which should be the device name of the disk partition or volume containing the filesystem.  If given the name of a block device, C<xfs_repair> will attempt to find the raw device associated with the specified block device and will use the raw device instead.
uk: Файлова система задається за допомогою аргументу C<пристрій>, який має бути або назвою пристрою розділу диска або томом, на якому міститься файлова система. Якщо вказано назву блокового пристрою, C<xfs_repair> спробує знайти простий пристрій, пов'язаний із вказаним блоковим пристроєм і скористається цим простим пристроєм.

note: type: textblock
en: Regardless, the filesystem to be repaired must be unmounted, otherwise, the resulting filesystem may be inconsistent or corrupt.
uk: За будь-яких умов, файлову систему, яку слід відновити, має бути демонтовано. Якщо цього не зробити, після обробки файлова система може виявитися некоректною або пошкодженою.

note: type: textblock
en: The returned status indicates whether filesystem corruption was detected (returns C<1>) or was not detected (returns C<0>).
uk: Повернуте значення стану вказує на те, було виявлено пошкодження файлової системи (повернуте значення C<1>) чи ні (повернуте значення C<0>).

note: type: textblock
en: Destroy previously loaded Yara rules in order to free libguestfs resources.
uk: Знищує попередньо завантажені правила Yara з метою звільнити ресурси libguestfs.

note: type: textblock
en: This command depends on the feature C<libyara>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<libyara>. Див. також L</feature-available>.

note: type: verbatim
en:  yara-load (filename|-)
uk:  yara-load (назва_файла|-)

note: type: textblock
en: Upload a set of Yara rules from local file F<filename>.
uk: Вивантажити набір правил Yara з локального файла F<назва_файла>.

note: type: textblock
en: Yara rules allow to categorize files based on textual or binary patterns within their content.  See L</yara-scan> to see how to scan files with the loaded rules.
uk: Правила Yara надають змогу категоризувати файли на основі текстових або двійкових взірців у даних цих файлів. Див. L</yara-scan>, щоб дізнатися про те, як виконати сканування файлів на основі завантажених правил.

note: type: textblock
en: Rules can be in binary format, as when compiled with yarac command, or in source code format. In the latter case, the rules will be first compiled and then loaded.
uk: Правила може бути вказано у двійковому форматі, створеному програмою yarac, або у форматі початкового коду. У останньому випадку правила має бути спочатку скомпільовано, а потім завантажено.

note: type: textblock
en: Rules in source code format cannot include external files. In such cases, it is recommended to compile them first.
uk: Правила у форматі початкового коду не можуть включати зовнішні файли. Якщо у вас є файли з такими включеннями, рекомендуємо їх спочатку скомпілювати.

note: type: textblock
en: Previously loaded rules will be destroyed.
uk: Раніше завантажені правила буде знищено.

note: type: verbatim
en:  yara-scan path
uk:  yara-scan шлях

note: type: textblock
en: Scan a file with the previously loaded Yara rules.
uk: Сканує файл на основі попереднього завантажених правил Yara.

note: type: textblock
en: For each matching rule, a C<yara_detection> structure is returned.
uk: Для кожного правила відповідності повертається окрема структура C<yara_detection>.

note: type: textblock
en: The C<yara_detection> structure contains the following fields.
uk: Структура C<yara_detection> містить вказані нижче поля.

note: type: textblock
en: Path of the file matching a Yara rule.
uk: Шлях до файла, який відповідає правилу Yara.

note: type: textblock
en: Identifier of the Yara rule which matched against the given file.
uk: Ідентифікатор правила Yara, відповідність якого було встановлено для заданого файла.

note: type: verbatim
en:  zegrep regex path
uk:  zegrep формальний_вираз шлях

note: type: textblock
en: This calls the external C<zegrep> program and returns the matching lines.
uk: Викликає зовнішню програму C<zegrep> і повертає рядки-відповідники.

note: type: verbatim
en:  zegrepi regex path
uk:  zegrepi формальний_вираз шлях

note: type: textblock
en: This calls the external C<zegrep -i> program and returns the matching lines.
uk: Ця функція викликає зовнішню програму C<zegrep -i> і повертає відповідні рядки.

note: type: verbatim
en:  zero device
uk:  zero пристрій

note: type: textblock
en: This command writes zeroes over the first few blocks of C<device>.
uk: Ця команда заповнює нулями перші декілька блоків пристрою C<пристрій>.

note: type: textblock
en: How many blocks are zeroed isn't specified (but it’s I<not> enough to securely wipe the device).  It should be sufficient to remove any partition tables, filesystem superblocks and so on.
uk: Кількість занулених блоків не вказується (але вона все одно I<не є достатньою> для гарантованого витирання вмісту пристрою). Для утруднення отримання вмісту пристрою достатньо вилучити таблиці розділів, суперблоки файлової системи тощо.

note: type: textblock
en: If blocks are already zero, then this command avoids writing zeroes.  This prevents the underlying device from becoming non-sparse or growing unnecessarily.
uk: Якщо у блоках вже містяться нулі, ця команда не перезаписуватиме їх нулями ще раз. Таким чином можна запобігти втраті стану розрідженості для базового пристрою, а також його непотрібному зростанню у розмірі.

note: type: textblock
en: See also: L</zero-device>, L</scrub-device>, L</is-zero-device>
uk: Див. також L</zero-device>, L</scrub-device>, L</is-zero-device>

note: type: verbatim
en:  zero-device device
uk:  zero-device пристрій

note: type: textblock
en: This command writes zeroes over the entire C<device>.  Compare with L</zero> which just zeroes the first few blocks of a device.
uk: Ця команда перезаписує нулями увесь пристрій C<пристрій>. Порівняйте її із командою L</zero>, яка перезаписує нулями перші декілька блоків пристрою.

note: type: verbatim
en:  zero-free-space directory
uk:  zero-free-space каталог

note: type: textblock
en: Zero the free space in the filesystem mounted on F<directory>.  The filesystem must be mounted read-write.
uk: Записує нулями вільне місце на файловій системі, змонтованій до точки монтування C<каталог>. Файлову систему має бути змонтовано для читання і запису.

note: type: textblock
en: The filesystem contents are not affected, but any free space in the filesystem is freed.
uk: Вміст файлової системи не буде змінено, але усе вільне місце у файловій системі буде звільнено.

note: type: textblock
en: Free space is not "trimmed".  You may want to call L</fstrim> either as an alternative to this, or after calling this, depending on your requirements.
uk: Вільне місце не буде «обрізано». Для обрізання вам слід викликати L</fstrim> або скористатися відповідною командою після цієї, залежно від ваших потреб.

note: type: verbatim
en:  zerofree device
uk:  zerofree пристрій

note: type: textblock
en: This runs the I<zerofree> program on C<device>.  This program claims to zero unused inodes and disk blocks on an ext2/3 filesystem, thus making it possible to compress the filesystem more effectively.
uk: Ця команда виконує програму I<zerofree> для пристрою C<пристрій>. Програма заповнює нулями невикористані inode та блоки диска на файловій системі ext2/3. Таке занулення уможливлює ефективніше стискання файлової системи.

note: type: textblock
en: You should B<not> run this program if the filesystem is mounted.
uk: B<Не> запускайте цю програму для обробки змонтованої файлової системи.

note: type: textblock
en: It is possible that using this program can damage the filesystem or data on the filesystem.
uk: Використання цієї програми може призвести до пошкодження файлової системи або даних на файловій системі.

note: type: textblock
en: This command depends on the feature C<zerofree>.  See also L</feature-available>.
uk: Працездатність цієї команди залежить від можливості C<zerofree>. Див. також L</feature-available>.

note: type: verbatim
en:  zfgrep pattern path
uk:  zfgrep шаблон шлях

note: type: textblock
en: This calls the external C<zfgrep> program and returns the matching lines.
uk: Викликає зовнішню програму C<zfgrep> і повертає рядки-відповідники.

note: type: verbatim
en:  zfgrepi pattern path
uk:  zfgrepi шаблон шлях

note: type: textblock
en: This calls the external C<zfgrep -i> program and returns the matching lines.
uk: Викликає зовнішню програму C<zfgrep -i> і повертає рядки-відповідники.

note: type: verbatim
en:  zfile meth path
uk:  zfile метод шлях

note: type: textblock
en: This command runs L<file(1)> after first decompressing C<path> using C<meth>.
uk: Ця команда запускає L<file(1)> після розпаковування шляху C<шлях> за допомогою методу C<метод>.

note: type: textblock
en: C<meth> must be one of C<gzip>, C<compress> or C<bzip2>.
uk: Значенням параметра C<метод> має бути C<gzip>, C<compress> або C<bzip2>.

note: type: textblock
en: Since 1.0.63, use L</file> instead which can now process compressed files.
uk: Починаючи з версії 1.0.63, можна використовувати замість цієї команди L</file>, оскільки у сучасних версіях ця команда може обробляти стиснені файли.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</file> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</file>.

note: type: verbatim
en:  zgrep regex path
uk:  zgrep формальний_вираз шлях

note: type: textblock
en: This calls the external L<zgrep(1)> program and returns the matching lines.
uk: Викликає зовнішню програму L<zgrep(1)> і повертає рядки-відповідники.

note: type: verbatim
en:  zgrepi regex path
uk:  zgrepi формальний_вираз шлях

note: type: textblock
en: This calls the external C<zgrep -i> program and returns the matching lines.
uk: Ця функція викликає зовнішню програму C<zgrep -i> і повертає відповідні рядки.

note: type: verbatim
en:  alloc filename size
uk:  alloc назва_файла розмір

note: type: textblock
en: This creates an empty (zeroed) file of the given size, and then adds so it can be further examined.
uk: Створити порожній (нульовий) файл вказаного розміру, а потім додати його для подальшого вивчення.

note: type: textblock
en: For more advanced image creation, see L</disk-create>.
uk: Щоб дізнатися про ширші можливості зі створення образів, див. L</disk-create>.

note: type: textblock
en: Size can be specified using standard suffixes, eg. C<1M>.
uk: Розмір можна вказати за допомогою стандартних суфіксів, наприклад C<1M>.

note: type: textblock
en: To create a sparse file, use L</sparse> instead.  To create a prepared disk image, see L</PREPARED DISK IMAGES>.
uk: Для створення розріджених файлів слід використовувати замість цієї команди L</sparse>. Опис створення приготованого диска наведено у розділі L</ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ>.

note: type: verbatim
en:  copy-in local [local ...] /remotedir
uk:  copy-in локальний [локальний ...] /віддалений_каталог

note: type: textblock
en: C<copy-in> copies local files or directories recursively into the disk image, placing them in the directory called F</remotedir> (which must exist).  This guestfish meta-command turns into a sequence of L</tar-in> and other commands as necessary.
uk: C<copy-in> копіює локальні файли або каталоги рекурсивно до образу диска, розташовуючи їх у каталозі із назвою F</віддалений_каталог> (цей каталог має існувати). Ця метакоманда guestfish перетворюється у послідовність L</tar-in> та інших команд, якщо це потрібно.

note: type: textblock
en: Multiple local files and directories can be specified, but the last parameter must always be a remote directory.  Wildcards cannot be used.
uk: Можна вказувати одразу декілька локальних файлів або каталогів, але останнім параметром обов'язково має бути віддалений каталог. Не можна використовувати символи-замінники.

note: type: verbatim
en:  copy-out remote [remote ...] localdir
uk:  copy-out віддалений [віддалений ...] локальний_каталог

note: type: textblock
en: C<copy-out> copies remote files or directories recursively out of the disk image, placing them on the host disk in a local directory called C<localdir> (which must exist).  This guestfish meta-command turns into a sequence of L</download>, L</tar-out> and other commands as necessary.
uk: C<copy-out> копіює віддалені файли або каталоги рекурсивно з образу диска, розташовуючи їх на диску основної системи у каталозі із назвою F</локальний_каталог> (цей каталог має існувати). Ця метакоманда guestfish перетворюється у послідовність L</download>, L</tar-out> та інших команд, якщо це потрібно.

note: type: textblock
en: Multiple remote files and directories can be specified, but the last parameter must always be a local directory.  To download to the current directory, use C<.> as in:
uk: Можна вказувати одразу декілька віддалених файлів або каталогів, але останнім параметром обов'язково має бути локальний каталог. Щоб отримати дані до поточного каталогу, скористайтеся записом C<.>, ось так:

note: type: textblock
en: Wildcards cannot be used in the ordinary command, but you can use them with the help of L</glob> like this:
uk: Символи-замінники не можна використовувати у звичайних командах, але ви можете скористатися ними за допомогою L</glob>, ось так:

note: type: verbatim
en:  delete-event name
uk:  delete-event назва

note: type: textblock
en: Delete the event handler which was previously registered as C<name>.  If multiple event handlers were registered with the same name, they are all deleted.
uk: Вилучає обробник подій, який раніше було зареєстровано як C<назва>. Якщо із тією самою назвою було зареєстровано декілька обробників подій, буде вилучено усі обробники.

note: type: textblock
en: See also the guestfish commands C<event> and C<list-events>.
uk: Див. також команди guestfish C<event> та C<list-events>.

note: type: verbatim
en:  display filename
uk:  display назва_файла

note: type: textblock
en: Use C<display> (a graphical display program) to display an image file.  It downloads the file, and runs C<display> on it.
uk: Скористатися C<display> (програмою для графічного показу) для показу файла зображення. Буде виконано отримання файла, а потім запущено C<display> для його показу.

note: type: textblock
en: To use an alternative program, set the C<GUESTFISH_DISPLAY_IMAGE> environment variable.  For example to use the GNOME display program:
uk: Щоб скористатися альтернативною програмою, встановіть значення для змінної середовища C<GUESTFISH_DISPLAY_IMAGE>.  Наприклад, щоб скористатися програмою для показу зображень GNOME, віддайте таку команду:

note: type: textblock
en: See also L<display(1)>.
uk: Див. також L<display(1)>.

note: type: verbatim
en:  echo [params ...]
uk:  echo [параметри...]

note: type: textblock
en: This echos the parameters to the terminal.
uk: Виводить параметри до термінала.

note: type: verbatim
en:  edit filename
uk:  edit назва_файла

note: type: textblock
en: This is used to edit a file.  It downloads the file, edits it locally using your editor, then uploads the result.
uk: Ця команда використовується для редагування файла. Файл буде отримано з образу, ви зможете локально внести до нього зміни, а результати внесення змін буде автоматично вивантажено на образ.

note: type: textblock
en: The editor is C<$EDITOR>.  However if you use the alternate commands C<vi> or C<emacs> you will get those corresponding editors.
uk: Редактор визначається змінною середовища C<$EDITOR>. Втім, якщо ви скористаєтеся альтернативними варіантами, C<vi> або C<emacs>, буде запущено відповідні редактори.

note: type: verbatim
en:  event name eventset "shell script ..."
uk:  event назва набір_подій "скрипт оболонки..."

note: type: textblock
en: Register a shell script fragment which is executed when an event is raised.  See L<guestfs(3)/guestfs_set_event_callback> for a discussion of the event API in libguestfs.
uk: Реєструє фрагмент скрипту оболонки, який буде виконано, якщо надійде повідомлення про подію. Див. опис L<guestfs(3)/guestfs_set_event_callback>, де наведено обговорення програмного інтерфейсу подій у libguestfs.

note: type: textblock
en: The C<name> parameter is a name that you give to this event handler.  It can be any string (even the empty string) and is simply there so you can delete the handler using the guestfish C<delete-event> command.
uk: Значенням параметра C<назва> є назва, яку ви хочете надати обробнику подій. Це може бути довільний рядок (навіть порожній). Його призначено для ідентифікації обробника для його вилучення за допомогою команди C<delete-event> guestfish.

note: type: textblock
en: The C<eventset> parameter is a comma-separated list of one or more events, for example C<close> or C<close,trace>.  The special value C<*> means all events.
uk: Значенням параметра C<набір_подій> є список відокремлених комами записів однієї або декількох подій. Приклади: C<close> або C<close,trace>. Спеціальне значення C<*> означає «усі події».

note: type: textblock
en: The third and final parameter is the shell script fragment (or any external command) that is executed when any of the events in the eventset occurs.  It is executed using C<$SHELL -c>, or if C<$SHELL> is not set then F</bin/sh -c>.
uk: Третім і останнім параметром команди є фрагмент скрипту оболонки (або будь-яка зовнішня програма), яку буде виконано, якщо станеться якась із подій із вказаного набору. Скрипт буде виконано за допомогою C<$SHELL -c> або, якщо C<$SHELL> не встановлено, за допомогою F</bin/sh -c>.

note: type: textblock
en: The shell script fragment receives callback parameters as arguments C<$1>, C<$2> etc.  The actual event that was called is available in the environment variable C<$EVENT>.
uk: Фрагмент скрипту оболонки отримує параметри зворотного виклику як аргументи C<$1>, C<$2> тощо. Справжня назва події, яку було викликано, доступна у змінній середовища C<$EVENT>.

note: type: textblock
en: See also the guestfish commands C<delete-event> and C<list-events>.
uk: Див. також команди guestfish C<delete-event> і C<list-events>.

note: type: verbatim
en:  glob command args...
uk:  glob команда параметри...

note: type: textblock
en: Expand wildcards in any paths in the args list, and run C<command> repeatedly on each matching path.
uk: Розгортає символи-замінники у будь-яких шляхах у списку аргументів і виконує команду C<команда> циклічно для усіх відповідних шляхів.

note: type: textblock
en: See L</WILDCARDS AND GLOBBING>.
uk: Див. L</WILDCARDS AND GLOBBING>.

note: type: verbatim
en:  hexedit <filename|device>
     hexedit <filename|device> <max>
     hexedit <filename|device> <start> <max>
uk:  hexedit <назва_файла|пристрій>
     hexedit <назва_файла|пристрій> <макс>
     hexedit <назва_файла|пристрій> <початок> <макс>

note: type: textblock
en: Use hexedit (a hex editor) to edit all or part of a binary file or block device.
uk: Використовує hexedit (шістнадцятковий редактор) для редагування усього або частини двійкового файла або блокового пристрою.

note: type: textblock
en: This command works by downloading potentially the whole file or device, editing it locally, then uploading it.  If the file or device is large, you have to specify which part you wish to edit by using C<max> and/or C<start> C<max> parameters.  C<start> and C<max> are specified in bytes, with the usual modifiers allowed such as C<1M> (1 megabyte).
uk: Ця команда працює шляхом отримання даних усього файла або пристрою, локального редагування та наступного вивантаження даних. Якщо об'єм даних файла або пристрою є надто великим, вам слід вказати частину, яку ви хочете редагувати, за допомогою параметрів C<макс> і/або C<початок> C<макс>. Значення C<початок> і C<макс> слід вказувати у байтах зі звичними доступними модифікаторами, наприклад, C<1M> (1 мегабайт).

note: type: textblock
en: For example to edit the first few sectors of a disk you might do:
uk: Приклад для редагування перших декількох секторів на диску:

note: type: textblock
en: which would allow you to edit anywhere within the first megabyte of the disk.
uk: Ви зможете редагувати будь-які дані у межах першого мегабайта даних на диску.

note: type: textblock
en: To edit the superblock of an ext2 filesystem on F</dev/sda1>, do:
uk: Щоб внести зміни до суперблоку файлової системи ext2 на F</dev/sda1>, віддайте таку команду:

note: type: textblock
en: (assuming the superblock is in the standard location).
uk: (тут ми припускаємо, що суперблок розташовано стандартно).

note: type: textblock
en: This command requires the external L<hexedit(1)> program.  You can specify another program to use by setting the C<HEXEDITOR> environment variable.
uk: Для виконання цієї команди потрібна зовнішня програма L<hexedit(1)>. Вказати нестандартну програму можна за допомогою змінної середовища C<HEXEDITOR>.

note: type: textblock
en: See also L</hexdump>.
uk: Див. також L</hexdump>.

note: type: verbatim
en:  lcd directory
uk:  lcd каталог

note: type: textblock
en: Change the local directory, ie. the current directory of guestfish itself.
uk: Змінює локальний каталог, тобто поточний каталог програми guestfish.

note: type: textblock
en: Note that C<!cd> won't do what you might expect.
uk: Зауважте, що команда C<!cd> не виконає тієї дії, якої ви від неї могли б сподіватися.

note: type: textblock
en: List the event handlers registered using the guestfish C<event> command.
uk: Виводить список обробників подій, зареєстрованих за допомогою команди C<event> guestfish.

note: type: =head2
en: manual
uk: підручник

note: type: textblock
en: Opens the manual page for guestfish.
uk: Відкриває сторінку підручника щодо guestfish.

note: type: verbatim
en:  more filename
uk:  more назва_файла

note: type: verbatim
en:  less filename
uk:  less назва_файла

note: type: textblock
en: This is used to view a file.
uk: Використовується для перегляду файла.

note: type: textblock
en: The default viewer is C<$PAGER>.  However if you use the alternate command C<less> you will get the C<less> command specifically.
uk: Типовим засобом для перегляду є C<$PAGER>. Втім, якщо ви скористаєтеся альтернативною командою C<less>, ви отримаєте саме команду C<less>.

note: type: textblock
en: Close and reopen the libguestfs handle.  It is not necessary to use this normally, because the handle is closed properly when guestfish exits.  However this is occasionally useful for testing.
uk: Закрити і повторно відкрити дескриптор libguestfs. Зазвичай, у цій команді немає потреби, оскільки дескриптор належним чином закривається під час виходу з guestfish. Втім, ця команда іноді корисна для тестування.

note: type: verbatim
en:   setenv VAR value
uk:   setenv ЗМІННА значення

note: type: textblock
en: Set the environment variable C<VAR> to the string C<value>.
uk: Встановити для змінної середовища C<ЗМІННА> рядкове значення C<значення>.

note: type: textblock
en: To print the value of an environment variable use a shell command such as:
uk: Щоб вивести значення змінної середовища, скористайтеся командною оболонкою, ось так:

note: type: verbatim
en:  !echo $VAR
uk:  !echo $ЗМІННА

note: type: verbatim
en:  sparse filename size
uk:  sparse назва_файла розмір

note: type: textblock
en: This creates an empty sparse file of the given size, and then adds so it can be further examined.
uk: Створити порожній розріджений файл вказаного розміру, а потім додати його для подальшого вивчення.

note: type: textblock
en: In all respects it works the same as the L</alloc> command, except that the image file is allocated sparsely, which means that disk blocks are not assigned to the file until they are needed.  Sparse disk files only use space when written to, but they are slower and there is a danger you could run out of real disk space during a write operation.
uk: В усіх аспектах команда працює так само як команда L</alloc>, окрім того, що файл образу розміщається із розрідженням, що означає, що блоки диска не пов'язується із файлом до того, як це стане потрібно. Розріджені файли на диску використовують місце на диску, лише якщо до них виконується запис, але працюють повільніше, і існує небезпека вичерпання  доступного місця на диску під час дії із запису.

note: type: textblock
en: See also the guestfish L</scratch> command.
uk: Див. також команду guestfish L</scratch>.

note: type: textblock
en: This command returns a list of the optional groups known to the daemon, and indicates which ones are supported by this build of the libguestfs appliance.
uk: Ця команда повертає список усіх додаткових груп, які відомі файловій службі, і позначає ті служби, підтримку яких передбачено у поточній збірці базової системи libguestfs.

note: type: textblock
en: See also L<guestfs(3)/AVAILABILITY>.
uk: Див. також L<guestfs(3)/AVAILABILITY>.

note: type: verbatim
en:  time command args...
uk:  time команда аргументи...

note: type: textblock
en: Run the command as usual, but print the elapsed time afterwards.  This can be useful for benchmarking operations.
uk: Виконати команду у звичайному режимі, але після виконання вивести дані щодо витраченого часу. Корисна для вимірювання швидкодії.

note: type: verbatim
en:   unsetenv VAR
uk:   unsetenv ЗМІННА

note: type: textblock
en: Remove C<VAR> from the environment.
uk: Вилучити змінну C<ЗМІННА> з середовища.

note: type: =head2
en: B<-N disk> - create a blank disk
uk: B<-N disk> — створити порожній диск

note: type: textblock
en: C<guestfish -N [I<filename>=]disk[:I<size>]>
uk: C<guestfish -N [I<назва_файла>=]disk[:I<розмір>]>

note: type: textblock
en: Create a blank disk, size 1G (by default).
uk: Створити порожній диск розміром 1 ГБ (типове значення).

note: type: textblock
en: The default size can be changed by supplying an optional parameter.
uk: Типовий розмір можна змінити, надавши необов'язковий параметр.

note: type: verbatim
en:  Name          Default value
     size          1G            the size of the disk image
uk:  Назва         Типове значення
     size          1G          розмір образу диска

note: type: =head2
en: B<-N part> - create a partitioned disk
uk: B<-N part> — створити диск, поділений на розділи

note: type: textblock
en: C<guestfish -N [I<filename>=]part[:I<size>[:I<partition>]]>
uk: C<guestfish -N [I<назва_файла>=]part[:I<розмір>[:I<розділ>]]>

note: type: textblock
en: Create a disk with a single partition.  By default the size of the disk is 1G (the available space in the partition will be a tiny bit smaller)  and the partition table will be MBR (old DOS-style).
uk: Створює диск із єдиним розділом. Типовим розміром диска є 1 ГБ (доступне місце на розділі буде трошечки меншим), типовою таблицею розділів — MBR (старий стиль DOS).

note: type: textblock
en: These defaults can be changed by supplying optional parameters.
uk: Ці типові значення можна змінити за допомогою додаткових параметрів.

note: type: verbatim
en:  Name          Default value
     size          1G            the size of the disk image
     partition     mbr           partition table type
uk:  Назва         Типове значення
     size          1G            розмір образу диска
     partition     mbr           тип таблиці розділів

note: type: =head2
en: B<-N fs> - create a filesystem
uk: B<-N фс> — створити файлову систему

note: type: textblock
en: C<guestfish -N [I<filename>=]fs[:I<filesystem>[:I<size>[:I<partition>]]]>
uk: C<guestfish -N [I<назва_файла>=]фс[:I<файлова_система>[:I<розмір>[:I<розділ>]]]>

note: type: textblock
en: Create a disk with a single partition, with the partition containing an empty filesystem.  This defaults to creating a 1G disk (the available space in the filesystem will be a tiny bit smaller) with an MBR (old DOS-style) partition table and an ext2 filesystem.
uk: Створює диск із єдиним розділом, який містить порожню файлову систему. Типово буде створено диск розміром 1 ГБ (доступне місце на диску буде трошечки меншим) із таблицею розділів MBR (старий стиль DOS) та файловою системою ext2.

note: type: verbatim
en:  Name          Default value
     filesystem    ext2          the type of filesystem to use
     size          1G            the size of the disk image
     partition     mbr           partition table type
uk:  Назва         Типове значення
     filesystem    ext2          тип використаної файлової системи
     size          1G            розмір образу диска
     partition     mbr           тип таблиці розділів

note: type: =head2
en: B<-N lv> - create a disk with logical volume
uk: B<-N lv> — створити диск із логічним томом

note: type: textblock
en: C<guestfish -N [I<filename>=]lv[:I<name>[:I<size>[:I<partition>]]]>
uk: C<guestfish -N [I<назва_файла>=]lv[:I<назва>[:I<розмір>[:I<розділ>]]]>

note: type: textblock
en: Create a disk with a single partition, set up the partition as an LVM2 physical volume, and place a volume group and logical volume on there.  This defaults to creating a 1G disk with the VG and LV called C</dev/VG/LV>.  You can change the name of the VG and LV by supplying an alternate name as the first optional parameter.
uk: Створює диск із єдиним розділом, налаштовує розділ як фізичний том LVM2 і розташовує там групу томів і логічний том. Типово створюється диск розміром 1 ГБ із групою томів і логічним томом із назвою C</dev/VG/LV>. Ви можете змінити назву групи томів і логічного тому, вказавши альтернативну назву як перший необов'язковий параметр.

note: type: textblock
en: Note this does not create a filesystem.  Use 'lvfs' to do that.
uk: Зауважте, що ця команда не створює файлової системи. Для створення файлової системи скористайтеся командою «lvfs».

note: type: verbatim
en:  Name          Default value
     name          /dev/VG/LV    the name of the VG and LV to use
     size          1G            the size of the disk image
     partition     mbr           partition table type
uk:  Назва         Типове значення
     name          /dev/VG/LV    назва віртуальної групи або логічного тому
     size          1G            розмір образу диска
     partition     mbr           тип таблиці розділів

note: type: =head2
en: B<-N lvfs> - create a disk with logical volume and filesystem
uk: B<-N lvfs> — створити диск із логічним томом і файловою системою

note: type: textblock
en: C<guestfish -N [I<filename>=]lvfs[:I<name>[:I<filesystem>[:I<size>[:I<partition>]]]]>
uk: C<guestfish -N [I<назва_файла>=]lvfs[:I<назва>[:I<файлова_система>[:I<розмір>[:I<розділ>]]]]>

note: type: textblock
en: Create a disk with a single partition, set up the partition as an LVM2 physical volume, and place a volume group and logical volume on there.  Then format the LV with a filesystem.  This defaults to creating a 1G disk with the VG and LV called C</dev/VG/LV>, with an ext2 filesystem.
uk: Створює диск із єдиним розділом, налаштовує розділ як фізичний том LVM2 і розташовує там групу томів і логічний том. Далі, форматує логічний том файловою системою. Типово створюється диск розміром 1 ГБ із групою томів і логічним томом із назвою C</dev/VG/LV> та файловою системою ext2.

note: type: verbatim
en:  Name          Default value
     name          /dev/VG/LV    the name of the VG and LV to use
     filesystem    ext2          the type of filesystem to use
     size          1G            the size of the disk image
     partition     mbr           partition table type
uk:  Назва         Типове значення
     name          /dev/VG/LV    назва віртуальної групи і логічного тому
     filesystem    ext2          тип файлової системи
     size          1G            розмір образу диска
     partition     mbr           тип таблиці розділів

note: type: =head2
en: B<-N bootroot> - create a boot and root filesystem
uk: B<-N bootroot> — створити файлову систему для завантаження та кореневу файлову систему

note: type: textblock
en: C<guestfish -N [I<filename>=]bootroot[:I<bootfs>[:I<rootfs>[:I<size>[:I<bootsize>[:I<partition>]]]]]>
uk: C<guestfish -N [I<назва_файла>=]bootroot[:I<файлова_система_для_завантаження>[:I<коренева_файлова_система>[:I<розмір>[:I<розмір_boot>[:I<розділ>]]]]]>

note: type: textblock
en: Create a disk with two partitions, for boot and root filesystem.  Format the two filesystems independently.  There are several optional parameters which control the exact layout and filesystem types.
uk: Створює диск із двома розділами для завантаження і з кореневою файловою системою. Форматує дві файлові системи незалежно. Існує декілька необов'язкових параметрів, які контролюють точне компонування та типи файлових систем.

note: type: verbatim
en:  Name          Default value
     bootfs        ext2          the type of filesystem to use for boot
     rootfs        ext2          the type of filesystem to use for root
     size          1G            the size of the disk image
     bootsize      128M          the size of the boot filesystem
     partition     mbr           partition table type
uk:  Назва         Типове значення
     bootfs        ext2          тип файлової системи для розділу boot
     rootfs        ext2          тип файлової системи для кореневого розділу
     size          1G            розмір образу диска
     bootsize      128M          розмір файлової системи boot
     partition     mbr           тип таблиці розділів

note: type: =head2
en: B<-N bootrootlv> - create a boot and root filesystem using LVM
uk: B<-N bootrootv> — створити файлову систему для завантаження та кореневу файлову систему за допомогою LVM

note: type: textblock
en: C<guestfish -N [I<filename>=]bootrootlv[:I<name>[:I<bootfs>[:I<rootfs>[:I<size>[:I<bootsize>[:I<partition>]]]]]]>
uk: C<guestfish -N [I<назва_файла>=]bootrootlv[:I<назва>[:I<фс_boot>[:I<коренева_фс>[:I<розмір>[:I<розмір_boot>[:I<розділ>]]]]]]>

note: type: textblock
en: This is the same as C<bootroot> but the root filesystem (only) is placed on a logical volume, named by default C</dev/VG/LV>.  There are several optional parameters which control the exact layout.
uk: Те саме, що і C<bootroot>, але коренева файлова система (і лише вона) розташовується на логічному томі із типовою назвою C</dev/VG/LV>. Передбачено декілька необов'язкових параметрів для уточнення розташування і розміру розділів.

note: type: verbatim
en:  Name          Default value
     name          /dev/VG/LV    the name of the VG and LV for root
     bootfs        ext2          the type of filesystem to use for boot
     rootfs        ext2          the type of filesystem to use for root
     size          1G            the size of the disk image
     bootsize      128M          the size of the boot filesystem
     partition     mbr           partition table type
uk:  Назва         Типове значення
     name          /dev/VG/LV    назва віртуальної групи і логічного тому для кореня
     bootfs        ext2          тип файлової системи для розділу завантаження
     rootfs        ext2          тип файлової системи для кореня
     size          1G            розмір образу диска
     bootsize      128M          розмір файлової системи для завантаження
     partition     mbr           тип таблиці розділів

note: type: textblock
en: guestfish - the guest filesystem shell
uk: guestfish — командна оболонка файлової системи гостьової операційної системи

note: type: verbatim
en:  guestfish [--options] [commands]
uk:  guestfish [--параметри] [команди]

note: type: verbatim
en:  guestfish [--ro|--rw] -a disk.img
uk:  guestfish [--ro|--rw] -a диск.img

note: type: verbatim
en:  guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]
uk:  guestfish [--ro|--rw] -a диск.img -m пристрій[:точка_монтування]

note: type: verbatim
en:  guestfish -d libvirt-domain
uk:  guestfish -d домен-libvirt

note: type: verbatim
en:  guestfish [--ro|--rw] -a disk.img -i
uk:  guestfish [--ro|--rw] -a диск.img -i

note: type: verbatim
en:  guestfish -d libvirt-domain -i
uk:  guestfish -d домен-libvirt -i

note: type: textblock
en: Guestfish is a shell and command-line tool for examining and modifying virtual machine filesystems.  It uses libguestfs and exposes all of the functionality of the guestfs API, see L<guestfs(3)>.
uk: Guestfish — командна оболонка та засіб командного рядка для вивчення і внесення змін до файлових систем віртуальних машин. У програмі використовується libguestfs і надається доступ до усіх функціональних можливостей програмного інтерфейсу guestfs, див. L<guestfs(3)>.

note: type: textblock
en: Guestfish gives you structured access to the libguestfs API, from shell scripts or the command line or interactively.  If you want to rescue a broken virtual machine image, you should look at the L<virt-rescue(1)> command.
uk: Guestfish надає вам структурований доступ до програмного інтерфейсу libguestfs зі скриптів оболонки, командного рядка або інтерактивно. Якщо ви хочете відновити пошкоджений образ віртуальної машини, вам слід скористатися командою L<virt-rescue(1)>.

note: type: =head2
en: As an interactive shell
uk: Як інтерактивну оболонку

note: type: verbatim
en:  Welcome to guestfish, the guest filesystem shell for
     editing virtual machine filesystems.
uk: Ласкаво просимо до guestfish, оболонки файлової гостьової системи для
    редагування файлових систем віртуальних машин та образів дисків.

note: type: verbatim
en:  Type: 'help' for a list of commands
           'man' to read the manual
           'quit' to quit the shell
uk:  Введіть: «help» для отримання списку команд
           «man» для читання підручника
           «quit», щоб вийти з оболонки

note: type: verbatim
en:  ><fs> add-ro disk.img
     ><fs> run
     ><fs> list-filesystems
     /dev/sda1: ext4
     /dev/vg_guest/lv_root: ext4
     /dev/vg_guest/lv_swap: swap
     ><fs> mount /dev/vg_guest/lv_root /
     ><fs> cat /etc/fstab
     # /etc/fstab
     # Created by anaconda
     [...]
     ><fs> exit
uk:  ><fs> add-ro диск.img
     ><fs> run
     ><fs> list-filesystems
     /dev/sda1: ext4
     /dev/vg_guest/lv_root: ext4
     /dev/vg_guest/lv_swap: swap
     ><fs> mount /dev/vg_guest/lv_root /
     ><fs> cat /etc/fstab
     # /etc/fstab
     # Created by anaconda
     [...]
     ><fs> exit

note: type: =head2
en: From shell scripts
uk: Зі скриптів оболонки

note: type: textblock
en: Create a new F</etc/motd> file in a guest or disk image:
uk: Створення файла F</etc/motd> у гостьовій системі або на образі диска:

note: type: textblock
en: List the LVM logical volumes in a disk image:
uk: Виведення списку логічних томів LVM на образі диска:

note: type: verbatim
en:  guestfish -a disk.img --ro <<_EOF_
     run
     lvs
     _EOF_
uk:  guestfish -a диск.img --ro <<_EOF_
     run
     lvs
     _EOF_

note: type: textblock
en: List all the filesystems in a disk image:
uk: Виведення списку усіх файлових систем на образі диска:

note: type: verbatim
en:  guestfish -a disk.img --ro <<_EOF_
     run
     list-filesystems
     _EOF_
uk:  guestfish -a диск.img --ro <<_EOF_
     run
     list-filesystems
     _EOF_

note: type: =head2
en: On one command line
uk: У одному рядку команди

note: type: textblock
en: Update F</etc/resolv.conf> in a guest:
uk: Оновлення F</etc/resolv.conf> у гостьовій системі:

note: type: textblock
en: Edit F</boot/grub/grub.conf> interactively:
uk: Інтерактивне редагування F</boot/grub/grub.conf>:

note: type: =head2
en: Mount disks automatically
uk: Автоматичне монтування дисків

note: type: textblock
en: Use the I<-i> option to automatically mount the disks from a virtual machine:
uk: Скористайтеся параметром I<-i> для автоматичного монтування дисків з віртуальної машини:

note: type: textblock
en: Another way to edit F</boot/grub/grub.conf> interactively is:
uk: Іншим способом редагування F</boot/grub/grub.conf> інтерактивно є такий:

note: type: =head2
en: As a script interpreter
uk: Як інтерпретатор скриптів

note: type: textblock
en: Create a 100MB disk containing an ext2-formatted partition:
uk: Створити диск у 100 МБ, що міститиме розділ у форматі ext2:

note: type: =head2
en: Start with a prepared disk
uk: Розпочати з приготованого диска

note: type: textblock
en: Create a 1G disk called F<test1.img> containing a single ext2-formatted partition:
uk: Створити диск розміром 1 ГБ з назвою F<test1.img>, який міститиме один форматований у ext2 розділ:

note: type: textblock
en: To list what is available do:
uk: Щоб отримати список доступних варіантів, віддайте таку команду:

note: type: =head2
en: Remote drives
uk: Віддалені диски

note: type: textblock
en: Access a remote disk using ssh:
uk: Доступ до віддаленого диска за допомогою ssh:

note: type: =head2
en: Remote control
uk: Дистанційне керування

note: type: textblock
en: Displays general help on options.
uk: Вивести загальну довідку щодо параметрів.

note: type: textblock
en: Lists all available guestfish commands.
uk: Вивести список усіх доступних команд guestfish.

note: type: =item
en: B<-h> CMD
uk: B<-h> КОМАНДА

note: type: =item
en: B<--cmd-help> CMD
uk: B<--cmd-help> КОМАНДА

note: type: textblock
en: Displays detailed help on a single command C<cmd>.
uk: Показати докладну довідку щодо певної команди.

note: type: =item
en: B<-a> IMAGE
uk: B<-a> ОБРАЗ

note: type: =item
en: B<--add> IMAGE
uk: B<--add> ОБРАЗ

note: type: textblock
en: Add a block device or virtual machine image to the shell.
uk: Додати блоковий пристрій або образ віртуальної машини до командної оболонки.

note: type: textblock
en: Using this flag is mostly equivalent to using the C<add> command, with C<readonly:true> if the I<--ro> flag was given, and with C<format:...> if the I<--format=...> flag was given.
uk: Використання цього прапорця еквівалентне використанню команди C<add> з C<readonly:true>, якщо вказано прапорець I<--ro>, і з C<format:...>, якщо вказано прапорець I<--format=...>.

note: type: textblock
en: Add a remote disk.  See L</ADDING REMOTE STORAGE>.
uk: Додати віддалений диск. Див. L</ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>.

note: type: textblock
en: When used in conjunction with the I<-d> option, this specifies the libvirt URI to use.  The default is to use the default libvirt connection.
uk: Якщо використано у поєднанні із параметром I<-d>, визначає адресу libvirt, якою слід скористатися. Типово, використовується типове з'єднання libvirt.

note: type: textblock
en: If using the I<--listen> option and a csh-like shell, use this option.  See section L</REMOTE CONTROL AND CSH> below.
uk: Якщо використовується параметр I<--listen> і csh-подібна команда оболонка, скористайтеся цим параметром.  Див. розділі L</ВІДДАЛЕНЕ КЕРУВАННЯ І CSH> нижче.

note: type: =item
en: B<-d> LIBVIRT-DOMAIN
uk: B<-d> ДОМЕН_LIBVIRT

note: type: =item
en: B<--domain> LIBVIRT-DOMAIN
uk: B<--domain> ДОМЕН_LIBVIRT

note: type: textblock
en: Add disks from the named libvirt domain.  If the I<--ro> option is also used, then any libvirt domain can be used.  However in write mode, only libvirt domains which are shut down can be named here.
uk: Додати диски із названого домену libvirt. Якщо також використано параметр I<--ro>, може бути використано будь-який домен libvirt. Втім, у режимі запису тут можна вказати лише домени libvirt, які вимкнено.

note: type: textblock
en: Domain UUIDs can be used instead of names.
uk: Замість назв можна використовувати UUID доменів.

note: type: textblock
en: Using this flag is mostly equivalent to using the C<add-domain> command, with C<readonly:true> if the I<--ro> flag was given, and with C<format:...> if the I<--format=...> flag was given.
uk: Використання цього прапорця, здебільшого, еквівалентне використанню команди C<add-domain> із C<readonly:true>, якщо вказано прапорець I<--ro>, і з C<format:...>, якщо вказано прапорець I<--format=...>.

note: type: textblock
en: When prompting for keys and passphrases, guestfish normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо guestfish попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: =item
en: B<-f> FILE
uk: B<-f> ФАЙЛ

note: type: =item
en: B<--file> FILE
uk: B<--file> ФАЙЛ

note: type: textblock
en: Read commands from C<FILE>.  To write pure guestfish scripts, use:
uk: Прочитати команди з файла C<ФАЙЛ>. Для написання суто скриптів guestfish скористайтеся таким вступом:

note: type: textblock
en: If you have untrusted raw-format guest disk images, you should use this option to specify the disk format.  This avoids a possible security problem with malicious guests (CVE-2010-3851).  See also L</add>.
uk: Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851). Див. також L</add>.

note: type: textblock
en: Using L<virt-inspector(1)> code, inspect the disks looking for an operating system and mount filesystems as they would be mounted on the real virtual machine.
uk: Використовуючи код L<virt-inspector(1)>, виконати інспектування дисків, шукаючи операційну систему і монтуючи файлові системи так, як їх мало б бути змонтовано у справжній віртуальній машині.

note: type: textblock
en: Typical usage is either:
uk: Типові варіанти використання:

note: type: textblock
en: (for an inactive libvirt domain called I<myguest>), or:
uk: (для неактивного домену libvirt із назвою I<myguest>) або:

note: type: textblock
en: (for active domains, readonly), or specify the block device directly:
uk: (для активних доменів, лише читання), або вказати блоковий пристрій безпосередньо:

note: type: textblock
en: Note that the command line syntax changed slightly over older versions of guestfish.  You can still use the old syntax:
uk: Зауважте, що синтаксис рядка команди було дещо змінено з часу старіших версій guestfish. Але ви все ще можете використовувати застарілий синтаксис:

note: type: verbatim
en:  guestfish [--ro] -i disk.img
uk:  guestfish [--ro] -i диск.img

note: type: verbatim
en:  guestfish [--ro] -i libvirt-domain
uk:  guestfish [--ro] -i домен-libvirt

note: type: textblock
en: Using this flag is mostly equivalent to using the C<inspect-os> command and then using other commands to mount the filesystems that were found.
uk: Використання цього прапорця, здебільшого, еквівалентне до використання команди C<inspect-os> із наступним використанням інших команд для монтування файлових систем, які було знайдено.

note: type: textblock
en: Fork into the background and listen for remote commands.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below.
uk: Відгалузити процес у фоновий і очікувати на віддалені команди. Див. розділ L</ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ> нижче.

note: type: textblock
en: Connect to a live virtual machine.  (Experimental, see L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>).
uk: З'єднатися із запущеною віртуальною машиною. (Експериментальна можливість, див. L<guestfs(3)/ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ>).

note: type: textblock
en: You have to mount something on F</> before most commands will work.
uk: Вам слід змонтувати щось до F</>, перш ніж ви зможете скористатися більшістю команд.

note: type: textblock
en: If any I<-m> or I<--mount> options are given, the guest is automatically launched.
uk: Якщо вказано якісь параметри I<-m> або I<--mount>, буде автоматично запущено гостьову систему.

note: type: textblock
en: Enable QEMU user networking in the guest.
uk: Уможливити для користувача QEMU роботу у мережі у гостьовій системі.

note: type: =item
en: B<-N> [FILENAME=]TYPE
uk: B<-N> [НАЗВА_ФАЙЛА=]ТИП

note: type: =item
en: B<--new> [FILENAME=]TYPE
uk: B<--new> [НАЗВА_ФАЙЛА=]ТИП

note: type: textblock
en: Prepare a fresh disk image formatted as C<TYPE>.  This is an alternative to the I<-a> option: whereas I<-a> adds an existing disk, I<-N> creates a preformatted disk with a filesystem and adds it.  See L</PREPARED DISK IMAGES> below.
uk: Приготувати свіжий образ диска у форматі C<ТИП>. Це альтернатива параметру I<-a>: I<-a> додає наявний диск, а I<-N> створює попередньо форматований диск із файловою системою і додає його.  Див. L</ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ> нижче.

note: type: textblock
en: Disable autosync.  This is enabled by default.  See the discussion of autosync in the L<guestfs(3)> manpage.
uk: Вимкнути автоматичну синхронізацію. Типово, синхронізацію увімкнено. Див. обговорення автоматичної синхронізації на сторінці підручника L<guestfs(3)>.

note: type: textblock
en: Don’t tab-complete paths on the guest filesystem.  It is useful to be able to hit the tab key to complete paths on the guest filesystem, but this causes extra "hidden" guestfs calls to be made, so this option is here to allow this feature to be disabled.
uk: Не виконувати доповнення за Tab у гостьовій файловій системі. Корисно мати можливість натискати клавішу Tab для доповнення шляхів у гостьовій файловій системі, але це може призвести до зайвих «прихованих» викликів guestfs. Отже, цей параметр надає вам змогу вимкнути цю можливість.

note: type: textblock
en: If writes fail to pipe commands (see L</PIPES> below), then the command returns an error.
uk: Якщо запису не вдасться передати команди каналами (див. L</КАНАЛИ>), ця команда поверне повідомлення про помилку.

note: type: textblock
en: The default (also for historical reasons) is to ignore such errors so that:
uk: Типово (також із історичних причин) такі помилки ігноруватимуться, отже, наприклад:

note: type: verbatim
en:  ><fs> command_with_lots_of_output | head
uk:  ><fs> команда_яка_багато_чого_виводить | head

note: type: textblock
en: doesn't give an error.
uk: не призводитиме до помилки.

note: type: textblock
en: Enable progress bars, even when guestfish is used non-interactively.
uk: Увімкнути смужки поступу, навіть якщо guestfish використовується не у інтерактивному режимі.

note: type: textblock
en: Progress bars are enabled by default when guestfish is used as an interactive shell.
uk: Якщо guestfish використовується як інтерактивна командна оболонка, смужки поступу буде типово увімкнено.

note: type: textblock
en: Disable progress bars.
uk: Вимкнути смужки поступу.

note: type: textblock
en: Send remote commands to C<$GUESTFISH_PID> or C<pid>.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below.
uk: Надіслати віддалені команди до C<$GUESTFISH_PID> або C<pid>. Див. розділ L</ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ> нижче.

note: type: textblock
en: This changes the I<-a>, I<-d> and I<-m> options so that disks are added and mounts are done read-only.
uk: Змінює значення параметрів I<-a>, I<-d> і I<-m> так, що диски додаються і монтуються у режимі лише читання.

note: type: textblock
en: The option must always be used if the disk image or virtual machine might be running, and is generally recommended in cases where you don't need write access to the disk.
uk: Цей параметр слід завжди використовувати, якщо образ диска або віртуальна машина може працювати. Загалом, рекомендуємо використовувати його у випадках, коли вам не потрібен доступ на запис до диска.

note: type: textblock
en: Note that prepared disk images created with I<-N> are not affected by this option.  Also commands like C<add> are not affected - you have to specify the C<readonly:true> option explicitly if you need it.
uk: Зауважте, що цей параметр не стосується приготованих образів дисків, створених за допомогою I<-N>. Крім того, це не стосується команд, подібних до C<add> — вам слід вказати параметр C<readonly:true> явним чином, якщо вам це потрібно.

note: type: textblock
en: See also L</OPENING DISKS FOR READ AND WRITE> below.
uk: Див. також L</ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ> нижче.

note: type: textblock
en: This option is provided for backwards compatibility and does nothing.
uk: Цей параметр призначено для забезпечення зворотної сумісності, його використання не матиме жодних наслідків.

note: type: textblock
en: Enable very verbose messages.  This is particularly useful if you find a bug.
uk: Увімкнути виведення дуже докладних повідомлень. Корисно, якщо ви намагаєтеся усунути якусь ваду.

note: type: textblock
en: Display the guestfish / libguestfs version number and exit.
uk: Вивести дані щодо версії guestfish / libguestfs і завершити роботу.

note: type: textblock
en: This changes the I<-a>, I<-d> and I<-m> options so that disks are added and mounts are done read-write.
uk: Змінює дію параметрів I<-a>, I<-d> і I<-m> таким чином, що диски додаються і монтуються у режимі читання і запису.

note: type: textblock
en: See L</OPENING DISKS FOR READ AND WRITE> below.
uk: Див. L</ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ> нижче.

note: type: textblock
en: Echo each command before executing it.
uk: Виводити усі команди перед виконанням.

note: type: =head1
en: COMMANDS ON COMMAND LINE
uk: КОМАНДИ У КОМАНДНОМУ РЯДКУ

note: type: textblock
en: Any additional (non-option) arguments are treated as commands to execute.
uk: Усі додаткові аргументи (не пов’язані із параметрами команди) вважатимуться командами, які слід виконати.

note: type: textblock
en: Commands to execute should be separated by a colon (C<:>), where the colon is a separate parameter.  Thus:
uk: Команди, які слід виконати, слід відокремлювати двокрапками (C<:>), де двокрапка є окремим параметром. Отже:

note: type: verbatim
en:  guestfish cmd [args...] : cmd [args...] : cmd [args...] ...
uk:  guestfish команда [аргументи...] : команда [аргументи...] : команда [аргументи...] ...

note: type: textblock
en: If there are no additional arguments, then we enter a shell, either an interactive shell with a prompt (if the input is a terminal) or a non-interactive shell.
uk: Якщо додаткових аргументів не буде, ми увійдемо до оболонки, інтерактивної із запитом щодо команди (якщо вхідні дані надходять з термінала) або неінтерактивної.

note: type: textblock
en: In either command line mode or non-interactive shell, the first command that gives an error causes the whole shell to exit.  In interactive mode (with a prompt) if a command fails, you can continue to enter commands.
uk: Якщо у режимі командного рядка, так і у режимі неінтерактивної командної оболонки, перша ж команда, яка призводить до помилки, має наслідком вихід із командної оболонки. У інтерактивному режимі (із запитом щодо команди), якщо стається помилка команди, ви можете продовжити вводити команди.

note: type: textblock
en: Note that arguments of the commands will be considered as guestfish options if they start with a dash (C<->): you can always separate the guestfish options and the rest of the commands (with their arguments)  using a double dash (C<-->).  For example:
uk: Зауважте, що аргументи команд вважатимуться параметрами guestfish, якщо вони починаються з дефіса (C<->). Ви завжди можете відокремити параметри guestfish і решту команд (із їхніми аргументами) за допомогою подвійного дефіса (C<-->). Приклад:

note: type: =head1
en: USING launch (OR run)
uk: КОРИСТУВАННЯ launch (АБО run)

note: type: textblock
en: As with L<guestfs(3)>, you must first configure your guest by adding disks, then launch it, then mount any disks you need, and finally issue actions/commands.  So the general order of the day is:
uk: Як і для L<guestfs(3)>, вам слід спочатку налаштувати вашу гостьову систему додаванням дисків, потім запустити її, потім змонтувати потрібні диски і, нарешті, виконати з нею якісь дії або віддати команди. Отже, звичний порядок дій є таким:

note: type: textblock
en: add or -a/--add
uk: add або -a/--add

note: type: textblock
en: launch (aka run)
uk: launch (або run)

note: type: textblock
en: mount or -m/--mount
uk: mount або -m/--mount

note: type: textblock
en: any other commands
uk: будь-які інші команди

note: type: textblock
en: C<run> is a synonym for C<launch>.  You must C<launch> (or C<run>)  your guest before mounting or performing any other commands.
uk: C<run> є синонімом C<launch>. Вам слід виконати C<launch> (або C<run>) для вашої гостьової системи, перш ніж щось у ній монтувати або віддавати якісь інші команди.

note: type: textblock
en: The only exception is that if any of the I<-i>, I<-m>, I<--mount>, I<-N> or I<--new> options were given then C<run> is done automatically, simply because guestfish can't perform the action you asked for without doing this.
uk: Єдиним виключенням є команди з параметрами I<-i>, I<-m>, I<--mount>, I<-N> або I<--new>. Якщо вказано таку команду, C<run> виконується автоматично, просто тому, що guestfish без цієї команди не зможе виконати потрібної вам дії.

note: type: =head1
en: OPENING DISKS FOR READ AND WRITE
uk: ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ ТА ЗАПИСУ

note: type: textblock
en: The guestfish, L<guestmount(1)> and L<virt-rescue(1)> options I<--ro> and I<--rw> affect whether the other command line options I<-a>, I<-c>, I<-d>, I<-i> and I<-m> open disk images read-only or for writing.
uk: Параметри I<--ro> та I<--rw> guestfish, L<guestmount(1)> і L<virt-rescue(1)> стосуються інших параметрів командного рядка I<-a>, I<-c>, I<-d>, I<-i> і I<-m> щодо відкриття у режимі лише читання чи режимі із записом.

note: type: textblock
en: In libguestfs E<le> 1.10, guestfish, guestmount and virt-rescue defaulted to opening disk images supplied on the command line for write.  To open a disk image read-only you have to do I<-a image --ro>.
uk: У libguestfs E<le> 1.10, guestfish, guestmount та virt-rescue типово відкривали вказані у командному рядку образи дисків на запис. Щоб відкрити образ диска лише для читання, слід було вказати I<-a образ --ro>.

note: type: textblock
en: This matters: If you accidentally open a live VM disk image writable then you will cause irreversible disk corruption.
uk: Це означає ось що: якщо ви випадково відкрили запущений образ диска віртуальної машини для запису, вміст диска буде незворотним чином пошкоджено.

note: type: textblock
en: In a future libguestfs we intend to change the default the other way.  Disk images will be opened read-only.  You will have to either specify I<guestfish --rw>, I<guestmount --rw>, I<virt-rescue --rw>, or change the configuration file in order to get write access for disk images specified by those other command line options.
uk: У майбутніх версіях libguestfs ми маємо намір змінити типову поведінку. Образи дисків відкриватимуться у режимі лише читання. Вам слід вказати I<guestfish --rw>, I<guestmount --rw>, I<virt-rescue --rw> або змінити файл налаштувань, щоб отримати доступ до запису на образи дисків, вказані за допомогою інших параметрів командного рядка.

note: type: textblock
en: This version of guestfish, guestmount and virt-rescue has a I<--rw> option which does nothing (it is already the default).  However it is highly recommended that you use this option to indicate that you need write access, and prepare your scripts for the day when this option will be required for write access.
uk: Ця версія guestfish, guestmount і virt-rescue має параметр I<--rw>, який нічого не робить (відповідна поведінка вже є типовою). Втім, наполегливо рекомендуємо вам використовувати цей параметр для позначення того, що вам потрібен доступ до запису, і готувати ваші скрипти до дня, коли для отримання доступу до запису вам знадобиться цей параметр.

note: type: textblock
en: B<Note:> This does I<not> affect commands like L</add> and L</mount>, or any other libguestfs program apart from guestfish and guestmount.
uk: B<Зауваження:> це I<не> стосується команд, подібних L</add> і L</mount>, або усіх інших програм libguestfs поза guestfish і guestmount.

note: type: =head1
en: QUOTING
uk: ЛАПКИ

note: type: textblock
en: You can quote ordinary parameters using either single or double quotes.  For example:
uk: Звичайні параметри можна ізолювати одинарними або подвійними лапками. Приклад:

note: type: verbatim
en:  add "file with a space.img"
uk:  add "файл із пробілами у назві.img"

note: type: verbatim
en:  rm '/file name'
uk:  rm '/назва файла'

note: type: textblock
en: A few commands require a list of strings to be passed.  For these, use a whitespace-separated list, enclosed in quotes.  Strings containing whitespace to be passed through must be enclosed in single quotes.  A literal single quote must be escaped with a backslash.
uk: Деяким командам потрібно передавати список рядків. Для передавання таких списків слід користуватися записами, відокремлених пробілами рядків, взятих у лапки. Рядки, які містять пробіли, слід передавати у одинарних лапках. Сам символ одинарної лапки слід екранувати символом зворотної похилої риски.

note: type: verbatim
en:  vgcreate VG "/dev/sda1 /dev/sdb1"
     command "/bin/echo 'foo      bar'"
     command "/bin/echo \'foo\'"
uk:  vgcreate VG "/dev/sda1 /dev/sdb1"
     command "/bin/echo 'щось      десь'"
     command "/bin/echo \'щось\'"

note: type: =head2
en: ESCAPE SEQUENCES IN DOUBLE QUOTED ARGUMENTS
uk: ЕКРАНОВАНІ ПОСЛІДОВНОСТІ У АРГУМЕНТАХ У ПОДВІЙНИХ ЛАПКАХ

note: type: textblock
en: In double-quoted arguments (only) use backslash to insert special characters:
uk: У аргументах, які взято у подвійні лапки, (і лише у них) використовуйте символ зворотної похилої риски для вставляння спеціальних символів:

note: type: textblock
en: Alert (bell) character.
uk: Символ гудка (дзвінка).

note: type: textblock
en: Backspace character.
uk: Символ «зворотній хід» (Backspace).

note: type: textblock
en: Form feed character.
uk: Символ заповнення форми.

note: type: textblock
en: Newline character.
uk: Символ нового рядка.

note: type: textblock
en: Carriage return character.
uk: Символ повернення каретки.

note: type: textblock
en: Horizontal tab character.
uk: Символ горизонтальної табуляції.

note: type: textblock
en: Vertical tab character.
uk: Символ вертикальної табуляції.

note: type: textblock
en: A literal double quote character.
uk: Сам символ подвійних лапок.

note: type: textblock
en: A character with octal value I<ooo>.  There must be precisely 3 octal digits (unlike C).
uk: Символ із вісімковим значенням I<ooo>. Має бути вказано точно три вісімкові цифри (на відміну від C).

note: type: textblock
en: A character with hex value I<hh>.  There must be precisely 2 hex digits.
uk: Символ із шістнадцятковим значенням I<hh>. Має бути вказано точно дві шістнадцяткові цифри.

note: type: textblock
en: In the current implementation C<\000> and C<\x00> cannot be used in strings.
uk: У поточній реалізації не можна використовувати у рядках C<\000> і C<\x00>.

note: type: textblock
en: A literal backslash character.
uk: Сам символ зворотної похилої риски.

note: type: =head2
en: OPTIONAL ARGUMENTS
uk: НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ

note: type: textblock
en: Some commands take optional arguments.  These arguments appear in this documentation as C<[argname:..]>.  You can use them as in these examples:
uk: Деяким командам передаються необов'язкові аргументи. Ці аргументи вказано у цій документації як C<[назва_аргументу:..]>.  Ви можете скористатися ними так, як у цих прикладах:

note: type: verbatim
en:  add filename
uk:  add назва_файла

note: type: verbatim
en:  add filename readonly:true
uk:  add назва_файла readonly:true

note: type: verbatim
en:  add filename format:qcow2 readonly:false
uk:  add назва_файла format:qcow2 readonly:false

note: type: textblock
en: Each optional argument can appear at most once.  All optional arguments must appear after the required ones.
uk: Кожен необов'язковий аргумент можна вказувати лише один раз. Усі необов'язкові аргументи має бути вказано після обов'язкових.

note: type: =head1
en: NUMBERS
uk: ЧИСЛА

note: type: textblock
en: This section applies to all commands which can take integers as parameters.
uk: Цей розділ стосується усіх команд, яким як параметри передаються цілі числа.

note: type: =head2
en: SIZE SUFFIX
uk: СУФІКС РОЗМІРУ

note: type: textblock
en: When the command takes a parameter measured in bytes, you can use one of the following suffixes to specify kilobytes, megabytes and larger sizes:
uk: Якщо команда отримує параметр, який вимірюється у байтах, ви можете скористатися одним із вказаних нижче суфіксів, щоб вказати кілобайти, мегабайти або інші обсяги даних:

note: type: =item
en: B<k> or B<K> or B<KiB>
uk: B<k>, B<K> або B<KiB>

note: type: textblock
en: The size in kilobytes (multiplied by 1024).
uk: Розмір у кілобайтах (у одному кілобайті 1024 байтів).

note: type: textblock
en: The size in SI 1000 byte units.
uk: Розмір у одиницях СІ: 1000 байтів.

note: type: =item
en: B<M> or B<MiB>
uk: B<M> або B<MiB>

note: type: textblock
en: The size in megabytes (multiplied by 1048576).
uk: Розмір у мегабайтах (у одному мегабайті 1048576 байтів).

note: type: textblock
en: The size in SI 1000000 byte units.
uk: Розмір у одиницях СІ: 1000000 байтів.

note: type: =item
en: B<G> or B<GiB>
uk: B<G> або B<GiB>

note: type: textblock
en: The size in gigabytes (multiplied by 2**30).
uk: Розмір у гігабайтах (з множником 2**30).

note: type: textblock
en: The size in SI 10**9 byte units.
uk: Розмір у одиницях СІ: 10**9 байтів.

note: type: =item
en: B<T> or B<TiB>
uk: B<T> або B<TiB>

note: type: textblock
en: The size in terabytes (multiplied by 2**40).
uk: Розмір у терабайтах (з множником 2**40).

note: type: textblock
en: The size in SI 10**12 byte units.
uk: Розмір у одиницях СІ: 10**12 байтів.

note: type: =item
en: B<P> or B<PiB>
uk: B<P> або B<PiB>

note: type: textblock
en: The size in petabytes (multiplied by 2**50).
uk: Розмір у петабайтах (у одному петабайті 2**50 байтів).

note: type: textblock
en: The size in SI 10**15 byte units.
uk: Розмір у одиницях СІ: 10**15 байтів.

note: type: =item
en: B<E> or B<EiB>
uk: B<E> або B<EiB>

note: type: textblock
en: The size in exabytes (multiplied by 2**60).
uk: Розмір у ексабайтах (у одному ексабайті 2**60 байтів).

note: type: textblock
en: The size in SI 10**18 byte units.
uk: Розмір у одиницях СІ: 10**18 байтів.

note: type: =item
en: B<Z> or B<ZiB>
uk: B<Z> або B<ZiB>

note: type: textblock
en: The size in zettabytes (multiplied by 2**70).
uk: Розмір у зетабайтах (у одному зетабайті 2**70 байтів).

note: type: textblock
en: The size in SI 10**21 byte units.
uk: Розмір у одиницях СІ: 10**21 байтів.

note: type: =item
en: B<Y> or B<YiB>
uk: B<Y> або B<YiB>

note: type: textblock
en: The size in yottabytes (multiplied by 2**80).
uk: Розмір у йотабайтах (у одному йотабайті 2**80 байтів).

note: type: textblock
en: The size in SI 10**24 byte units.
uk: Розмір у одиницях СІ: 10**24 байтів.

note: type: verbatim
en:  truncate-size /file 1G
uk:  truncate-size /файл 1G

note: type: textblock
en: would truncate the file to 1 gigabyte.
uk: обріже файл до об'єму у 1 ГБ.

note: type: textblock
en: Be careful because a few commands take sizes in kilobytes or megabytes (eg. the parameter to L</memsize> is specified in megabytes already).  Adding a suffix will probably not do what you expect.
uk: Будьте обережні, оскільки деяким командам передаються розміри у кілобайтах або мегабайтах (наприклад, параметр L</memsize> уже вказується у мегабайтах). Додавання суфікса у таких командах може призвести до небажаних наслідків.

note: type: =head2
en: OCTAL AND HEXADECIMAL NUMBERS
uk: ВІСІМКОВІ І ШІСТНАДЦЯТКОВІ ЧИСЛА

note: type: textblock
en: For specifying the radix (base) use the C convention: C<0> to prefix an octal number or C<0x> to prefix a hexadecimal number.  For example:
uk: Щоб вказати основу числення, скористайтеся форматом C: C<0> як префіксом для вісімкових чисел або C<0x> як префіксом для шістнадцяткових чисел. Приклад:

note: type: verbatim
en:  1234      decimal number 1234
     02322     octal number, equivalent to decimal 1234
     0x4d2     hexadecimal number, equivalent to decimal 1234
uk:  1234      десяткове число 1234
     02322     вісімкове число, яке дорівнює десятковому числу 1234
     0x4d2     шістнадцяткове число, яке дорівнює десятковому числу 1234

note: type: textblock
en: When using the C<chmod> command, you almost always want to specify an octal number for the mode, and you must prefix it with C<0> (unlike the Unix L<chmod(1)> program):
uk: Якщо ви користуєтеся командою C<chmod>, вам майже завжди зручно буде вказувати режим доступу у форматі вісімкового числа, отже вам слід додавати до числа префікс C<0> (не так, як у програмі L<chmod(1)> UNIX):

note: type: verbatim
en:  chmod 0777 /public  # OK
     chmod 777 /public   # WRONG! This is mode 777 decimal = 01411 octal.
uk:  chmod 0777 /public  # ПРАВИЛЬНО
     chmod 777 /public   # НЕПРАВИЛЬНО! Вказано десятковий режим 777 = вісімковому 01411.

note: type: textblock
en: Commands that return numbers usually print them in decimal, but some commands print numbers in other radices (eg. C<umask> prints the mode in octal, preceded by C<0>).
uk: Команди, які повертають числові дані, зазвичай, виводять їх у десятковій формі, але деякі команди виводять числа у інших основах числення (наприклад, C<umask> виводить режим доступу у вісімковій формі із префіксом C<0>).

note: type: =head1
en: WILDCARDS AND GLOBBING
uk: СИМВОЛИ-ЗАМІННИКИ І ЗАМІНИ

note: type: textblock
en: Neither guestfish nor the underlying guestfs API performs wildcard expansion (globbing) by default.  So for example the following will not do what you expect:
uk: Ні у guestfish, ні у базовому програмному інтерфейсі guestfs типово не виконується розгортання символів-замінників (заміни).  Отже, наприклад, вказана нижче команда не буде виконана так, як ви б того сподівалися:

note: type: textblock
en: Assuming you don’t have a directory called literally F</home/*> then the above command will return an error.
uk: Якщо у вашій системі немає каталогу, який називається буквально F</home/*>, у результаті виконання вказаної вище команди ви побачите повідомлення про помилку.

note: type: textblock
en: To perform wildcard expansion, use the C<glob> command.
uk: Для виконання розгортання символів-замінників скористайтеся командою C<glob>.

note: type: textblock
en: runs C<rm-rf> on each path that matches (ie. potentially running the command many times), equivalent to:
uk: виконує C<rm-rf> для кожного відповідного каталогу (тобто потенційно запустити команду багато разів). Еквівалент такого:

note: type: textblock
en: C<glob> only works on simple guest paths and not on device names.
uk: C<glob> працює лише для простих шляхів у гостьовій системі, а не для назв пристроїв.

note: type: textblock
en: If you have several parameters, each containing a wildcard, then glob will perform a Cartesian product.
uk: Якщо параметрів декілька, кожен з яких містить символ-замінник, glob виконає рекурсивне розгортання.

note: type: =head1
en: COMMENTS
uk: КОМЕНТАРІ

note: type: textblock
en: Any line which starts with a I<#> character is treated as a comment and ignored.  The I<#> can optionally be preceded by whitespace, but B<not> by a command.  For example:
uk: Будь-який рядок, який розпочинається з символу I<#>, вважатиметься коментарем і ігноруватиметься. Якщо потрібно, перед I<#> може бути використано пробіл, але цього B<не можна> робити для команд. Приклад:

note: type: verbatim
en:  # this is a comment
             # this is a comment
     foo # NOT a comment
uk:  # коментар
             # коментар
     foo # НЕ коментар

note: type: textblock
en: Blank lines are also ignored.
uk: Крім того, ігноруються порожні рядки.

note: type: =head1
en: RUNNING COMMANDS LOCALLY
uk: ЛОКАЛЬНИЙ ЗАПУСК КОМАНД

note: type: textblock
en: Any line which starts with a I<!> character is treated as a command sent to the local shell (F</bin/sh> or whatever L<system(3)> uses).  For example:
uk: Будь-який рядок, який починається з символу I<!>, вважається командою, надісланою до локальної командної оболонки (F</bin/sh> або будь-якої іншої, яку використовує L<system(3)>). Приклад:

note: type: textblock
en: will create a directory C<local> on the host, and then export the contents of F</remote> on the mounted filesystem to F<local/remote-data.tar.gz>.  (See C<tgz-out>).
uk: створить каталог C<local> у основній системі, а потім експортує вміст F</remote> на змонтованій файловій системі до F<local/remote-data.tar.gz>.  (Див. C<tgz-out>.)

note: type: textblock
en: To change the local directory, use the C<lcd> command.  C<!cd> will have no effect, due to the way that subprocesses work in Unix.
uk: Щоб змінити локальний каталог, скористайтеся командою C<lcd>. C<!cd> не спрацює через спосіб, у який працюють підпроцеси у Unix.

note: type: =head2
en: LOCAL COMMANDS WITH INLINE EXECUTION
uk: ЛОКАЛЬНІ КОМАНДИ ІЗ ВБУДОВАНИМ ВИКОНАННЯМ

note: type: textblock
en: If a line starts with I<E<lt>!> then the shell command is executed (as for I<!>), but subsequently any output (stdout) of the shell command is parsed and executed as guestfish commands.
uk: Якщо рядок починається із I<E<lt>!>, виконується команда оболонки (як для I<!>), але далі усі виведені дані (stdout) команди оболонки обробляються і виконуються як команди guestfish.

note: type: textblock
en: Thus you can use shell script to construct arbitrary guestfish commands which are then parsed by guestfish.
uk: Таким чином, ви можете використовувати скрипт командної оболонки для побудови довільних команд guestfish, виведення яких далі буде оброблено guestfish.

note: type: textblock
en: For example it is tedious to create a sequence of files (eg. F</foo.1> through F</foo.100>) using guestfish commands alone.  However this is simple if we use a shell script to create the guestfish commands for us:
uk: Наприклад, створення послідовності файлів (наприклад, від F</foo.1> до F</foo.100>) за допомогою самих лише команд guestfish є марудною справою. Втім, зробити це доволі просто, якщо ми скористаємося скриптом оболонки для створення команд guestfish:

note: type: textblock
en: or with names like F</foo.001>:
uk: або з назвами, які подібні до F</foo.001>:

note: type: textblock
en: When using guestfish interactively it can be helpful to just run the shell script first (ie. remove the initial C<E<lt>> character so it is just an ordinary I<!> local command), see what guestfish commands it would run, and when you are happy with those prepend the C<E<lt>> character to run the guestfish commands for real.
uk: При інтерактивному використанні guestfish може бути корисним спочатку запустити скрипт оболонки (тобто вилучити початковий символ C<E<lt>>, щоб зробити команду простою локальною командою із I<!>), подивитися, які команди guestfish вона запустить, а потім, якщо усе працює як слід, додати символ C<E<lt>>, щоб справді запустити команди guestfish.

note: type: =head1
en: PIPES
uk: КАНАЛИ

note: type: textblock
en: Use C<command E<lt>spaceE<gt> | command> to pipe the output of the first command (a guestfish command) to the second command (any host command).  For example:
uk: Скористайтеся конструкцією C<команда E<lt>пробілE<gt> | команда>, щоб передати каналом дані, виведені першою командою (командою guestfish) другій команді (будь-якій команді основної системи). Приклад:

note: type: textblock
en: (where C<cat> is the guestfish cat command, but C<awk> is the host awk program).  The above command would list all accounts in the guest filesystem which have UID 0, ie. root accounts including backdoors.  Other examples:
uk: (де C<cat> є командою cat guestfish, а C<awk> є програмою awk основної системи). Наведена вище команда має вивести список усіх облікових записів у файловій системі гостьової операційної системи, у яких UID 0, тобто адміністративних облікових записів, які містять входи для сторонніх осіб. Інші приклади:

note: type: textblock
en: The space before the pipe symbol is required, any space after the pipe symbol is optional.  Everything after the pipe symbol is just passed straight to the host shell, so it can contain redirections, globs and anything else that makes sense on the host side.
uk: Пробіл перед символом «|» є обов'язковим, а пробіл після цього символу — необов'язковим. Усе після символу «|» просто передається командній оболонці основної системи, отже, там можуть міститися переспрямування, символи-замінники і усе, що має сенс для інтерпретатора командної оболонки у основній системі.

note: type: textblock
en: To use a literal argument which begins with a pipe symbol, you have to quote it, eg:
uk: Якщо потрібно використати буквальний аргумент із символом «|», його доведеться взяти у лапки. Ось так:

note: type: =head1
en: HOME DIRECTORIES
uk: ДОМАШНІ КАТАЛОГИ

note: type: textblock
en: If a parameter starts with the character C<~> then the tilde may be expanded as a home directory path (either C<~> for the current user's home directory, or C<~user> for another user).
uk: Якщо параметр починається із символу C<~>, тильду буде розгорнуто до назви домашнього каталогу (C<~> для домашнього каталогу поточного користувача або C<~user> для іншого користувача).

note: type: textblock
en: Note that home directory expansion happens for users known I<on the host>, not in the guest filesystem.
uk: Зауважте, що розгортання домашнього каталогу виконується для користувачів, які відомі I<у основній системі>, а не у гостьовій файловій системі.

note: type: textblock
en: To use a literal argument which begins with a tilde, you have to quote it, eg:
uk: Якщо потрібно використати буквальний аргумент із символом тильди, його доведеться взяти у лапки. Ось так:

note: type: =head2
en: ENCRYPTED DISKS
uk: ЗАШИФРОВАНІ ДИСКИ

note: type: textblock
en: Libguestfs has some support for Linux guests encrypted according to the Linux Unified Key Setup (LUKS) standard, which includes nearly all whole disk encryption systems used by modern Linux guests.  Currently only LVM-on-LUKS is supported.
uk: Libguestfs має певну підтримку гостьових систем Linux, які зашифровано відповідно до стандарту Linux Unified Key Setup (LUKS), що включає майже усі системи шифрування усього диска, які використовуються сучасними гостьовими системами Linux. У поточній версії передбачено лише підтримку LVM-на-LUKS.

note: type: textblock
en: Identify encrypted block devices and partitions using L</vfs-type>:
uk: Знайдіть шифровані блокові пристрої та розділи за допомогою L</vfs-type>:

note: type: textblock
en: Then open those devices using L</luks-open>.  This creates a device-mapper device called F</dev/mapper/luksdev>.
uk: Далі, відкрийте ці пристрої за допомогою L</luks-open>. У результаті буде створено пристрій прив'язки до пристрою із назвою F</dev/mapper/luksdev>.

note: type: verbatim
en:  ><fs> luks-open /dev/sda2 luksdev
     Enter key or passphrase ("key"): <enter the passphrase>
uk:  ><fs> luks-open /dev/sda2 luksdev
     Enter key or passphrase ("key"): <введіть пароль>

note: type: textblock
en: Finally you have to tell LVM to scan for volume groups on the newly created mapper device:
uk: Нарешті, вам слід наказати LVM виконати сканування груп томів на новоствореному пристрої прив'язки:

note: type: textblock
en: The logical volume(s) can now be mounted in the usual way.
uk: Тепер логічні томи можна змонтувати у звичний спосіб.

note: type: textblock
en: Before closing a LUKS device you must unmount any logical volumes on it and deactivate the volume groups by calling C<vg-activate false VG> on each one.  Then you can close the mapper device:
uk: До закриття пристрою LUKS вам слід демонтувати усі логічні томи на ньому і деактивувати групи томів викликом C<vg-activate false VG> для кожної. Далі, ви можете закрити пристрій прив'язки:

note: type: textblock
en: If a path is prefixed with C<win:> then you can use Windows-style drive letters and paths (with some limitations).  The following commands are equivalent:
uk: Якщо до шляху додано префікс C<win:>, ви зможете скористатися літерами дисків і шляхами у стилі Windows (з певними обмеженнями). Наведені нижче команди є еквівалентними:

note: type: textblock
en: The parameter is rewritten "behind the scenes" by looking up the position where the drive is mounted, prepending that to the path, changing all backslash characters to forward slash, then resolving the result using L</case-sensitive-path>.  For example if the E: drive was mounted on F</e> then the parameter might be rewritten like this:
uk: Параметр перезаписується «за лаштунками» шляхом пошуку місця, до якого змонтовано диск, дописування його перед шляхом, заміною усіх символів зворотної похилої риски на символ прямої похилої риски, а потім обробкою результату за допомогою L</case-sensitive-path>. Наприклад, якщо диск E: було змонтовано до F</e>, параметр може бути перезаписано так:

note: type: textblock
en: This only works in argument positions that expect a path.
uk: Це працює лише у позиціях аргументів, де має бути вказано шлях.

note: type: =head1
en: UPLOADING AND DOWNLOADING FILES
uk: ВИВАНТАЖЕННЯ ТА ОТРИМАННЯ ФАЙЛІВ

note: type: textblock
en: For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and others which upload from or download to a local file, you can use the special filename C<-> to mean "from stdin" or "to stdout".  For example:
uk: Для команд, які подібні до C<upload>, C<download>, C<tar-in>, C<tar-out>, та інших, які вивантажують дані до образу або отримують дані до локального файла, ви можете скористатися спеціальною назвою файла C<->, яка означає «зі stdin» або «до stdout». Приклад:

note: type: textblock
en: reads stdin and creates from that a file F</foo> in the disk image, and:
uk: читає дані з stdin і створює на їхній основі файл F</foo> у образі диска, а така команда:

note: type: textblock
en: writes the tarball to stdout and then pipes that into the external "tar" command (see L</PIPES>).
uk: записує архів tar до stdout, а потім передає каналом дані до зовнішньої програми «tar» (див. L</КАНАЛИ>).

note: type: textblock
en: When using C<-> to read from stdin, the input is read up to the end of stdin.  You can also use a special "heredoc"-like syntax to read up to some arbitrary end marker:
uk: Якщо використовується C<-> для читання зі stdin, дані читатимуться до кінця stdin. Ви також можете скористатися спеціальним синтаксисом «heredoc» для читання до певної довільної позначки кінця:

note: type: verbatim
en:  upload -<<END /foo
     input line 1
     input line 2
     input line 3
     END
uk:  upload -<<END /foo
     рядок 1
     рядок 2
     рядок 3
     END

note: type: textblock
en: Any string of characters can be used instead of C<END>.  The end marker must appear on a line of its own, without any preceding or following characters (not even spaces).
uk: Замість C<END> можна скористатися будь-яким іншим рядком символів. Позначка кінця має бути окремим рядком без будь-яких символів перед ним або після нього (навіть без пробілів).

note: type: textblock
en: Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to upload local files (so-called "FileIn" parameters in the generator).
uk: Зауважте, що синтаксис C<-E<lt>E<lt>> застосовується лише для параметрів, які використовуються для вивантаження локальних файлів (так званих параметрів «FileIn» у генераторі).

note: type: =head1
en: EXIT ON ERROR BEHAVIOUR
uk: ВИХІД ПРИ ПОМИЛЦІ

note: type: textblock
en: By default, guestfish will ignore any errors when in interactive mode (ie. taking commands from a human over a tty), and will exit on the first error in non-interactive mode (scripts, commands given on the command line).
uk: Типово, у інтерактивному режимі (тобто при отримання команд від людини за допомогою tty) guestfish ігноруватиме будь-які помилки і завершуватиме роботу при першій же помилці у неінтерактивному режимі (скрипти, команди із командного рядка).

note: type: textblock
en: If you prefix a command with a I<-> character, then that command will not cause guestfish to exit, even if that (one) command returns an error.
uk: Якщо ви додасте до команди префікс I<->, ця команда не спричинятиме завершення роботи guestfish, навіть якщо ця (одна) команда поверне повідомлення про помилку.

note: type: =head1
en: REMOTE CONTROL GUESTFISH OVER A SOCKET
uk: ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ

note: type: textblock
en: Guestfish can be remote-controlled over a socket.  This is useful particularly in shell scripts where you want to make several different changes to a filesystem, but you don't want the overhead of starting up a guestfish process each time.
uk: Guestfish можна віддалено керувати за допомогою сокета. Це, зокрема, корисно у скриптах командної оболонки, де вам потрібно внести декілька різних змін до файлової системи, але ви не хочете отримати пенальті через запуск процесу guestfish для кожної окремо взятої зміни.

note: type: textblock
en: Start a guestfish server process using:
uk: Запустіть процес сервера guestfish такою командою:

note: type: textblock
en: and then send it commands by doing:
uk: а потім надішліть команди ось так:

note: type: verbatim
en:  guestfish --remote cmd [...]
uk:  guestfish --remote команда [...]

note: type: textblock
en: To cause the server to exit, send it the exit command:
uk: Щоб наказати серверу завершити роботу (вийти), надішліть йому команду виходу:

note: type: textblock
en: Note that the server will normally exit if there is an error in a command.  You can change this in the usual way.  See section L</EXIT ON ERROR BEHAVIOUR>.
uk: Зауважте, що за звичних умов сервер завершує роботу, якщо під час виконання команди станеться помилка. Ви можете змінити цю поведінку у звичний спосіб. Див. розділ L</ВИХІД ПРИ ПОМИЛЦІ>.

note: type: =head2
en: CONTROLLING MULTIPLE GUESTFISH PROCESSES
uk: КЕРУВАННЯ ДЕКІЛЬКОМА ПРОЦЕСАМИ GUESTFISH

note: type: textblock
en: The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which is how the I<--remote> option knows where to send the commands.  You can have several guestfish listener processes running using:
uk: Інструкція C<eval> встановлює змінну середовища C<$GUESTFISH_PID>, саме так команда із параметром I<--remote> визначає, куди слід надсилати команди. Ви можете користуватися декількома процесами guestfish, які очікуватимуть на команди, ось так:

note: type: =head2
en: REMOTE CONTROL AND CSH
uk: ВІДДАЛЕНЕ КЕРУВАННЯ І CSH

note: type: textblock
en: When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> option:
uk: Якщо ви користуєтеся csh-подібними оболонками (csh, tcsh тощо), вам слід додати параметр I<--csh>:

note: type: =head2
en: REMOTE CONTROL DETAILS
uk: ПОДРОБИЦІ ЩОДО ВІДДАЛЕНОГО КЕРУВАННЯ

note: type: textblock
en: Remote control happens over a Unix domain socket called F</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID of the process, and C<$PID> is the process ID of the server.
uk: Віддалене керування відбувається за допомогою сокетів домену Unix, які мають назви F</tmp/.guestfish-$UID/socket-$PID>, де C<$UID> — ідентифікатор ефективного користувача для процесу, а C<$PID> — ідентифікатор процесу сервера.

note: type: textblock
en: Guestfish client and server versions must match exactly.
uk: Версії клієнта і сервера guestfish мають бути абсолютно однаковими.

note: type: textblock
en: Older versions of guestfish were vulnerable to CVE-2013-4419 (see L<guestfs(3)/CVE-2013-4419>).  This is fixed in the current version.
uk: Застарілі версії guestfish були вразливими до CVE-2013-4419 (див. L<guestfs(3)/CVE-2013-4419>). Вразливість виправлено у поточній версії.

note: type: =head2
en: USING REMOTE CONTROL ROBUSTLY FROM SHELL SCRIPTS
uk: НАДІЙНЕ ВИКОРИСТАННЯ ВІДДАЛЕНОГО КЕРУВАННЯ У СКРИПТАХ ОБОЛОНКИ

note: type: textblock
en: From Bash, you can use the following code which creates a guestfish instance, correctly quotes the command line, handles failure to start, and cleans up guestfish when the script exits:
uk: У Bash ви можете використовувати наведений нижче код, який створює екземпляр guestfish, правильно використовує лапки у командному рядку, обробляє помилки при запуску та чистить дані guestfish, коли скрипт завершує роботу:

note: type: =head2
en: REMOTE CONTROL DOES NOT WORK WITH I<-a> ETC. OPTIONS
uk: ВІДДАЛЕНЕ КЕРУВАННЯ НЕ ПРАЦЮЄ ІЗ ПАРАМЕТРАМИ, ПОДІБНИМИ ДО I<-a>

note: type: textblock
en: Options such as I<-a>, I<--add>, I<-N>, I<--new> etc don’t interact properly with remote support.  They are processed locally, and not sent through to the remote guestfish.  In particular this won't do what you expect:
uk: Параметри, які подібні до I<-a>, I<--add>, I<-N>, I<--new>, не можуть належним чином працювати із підтримкою віддаленого керування. Вони обробляються локально і не надсилаються до віддаленого екземпляра guestfish. Зокрема, ось таке не працюватиме так, як ви б того сподівалися:

note: type: verbatim
en:  guestfish --remote --add disk.img
uk:  guestfish --remote --add диск.img

note: type: textblock
en: Don’t use these options.  Use the equivalent commands instead, eg:
uk: Не використовуйте ці параметри. Замість них, використовуйте еквівалентні команди. Приклад:

note: type: verbatim
en:  guestfish --remote add-drive disk.img
uk:  guestfish --remote add-drive диск.img

note: type: verbatim
en:  guestfish --remote
     ><fs> add disk.img
uk:  guestfish --remote
     ><fs> add диск.img

note: type: =head2
en: REMOTE CONTROL RUN COMMAND HANGING
uk: ЗАВИСАННЯ ЗАПУЩЕНОЇ ЗА ДОПОМОГОЮ ВІДДАЛЕНОГО КЕРУВАННЯ КОМАНДИ

note: type: textblock
en: Using the C<run> (or C<launch>) command remotely in a command substitution context hangs, ie. don't do (note the backquotes):
uk: Використання команди C<run> (або C<launch>) віддалено у контексті підстановки команд призводить до повисання. Тобто, не слід робити так (зверніть увагу на зворотні лапки):

note: type: textblock
en: Since the C<run> command produces no output on stdout, this is not useful anyway.  For further information see L<https://bugzilla.redhat.com/show_bug.cgi?id=592910>.
uk: Оскільки команда C<run> нічого не виводить до stdout, це все одно не має сенсу. Докладніший опис наведено тут: L<https://bugzilla.redhat.com/show_bug.cgi?id=592910>.

note: type: =head1
en: PREPARED DISK IMAGES
uk: ОБРАЗИ ПРИГОТОВАНИХ ДИСКІВ

note: type: textblock
en: Use the I<-N [filename=]type> or I<--new [filename=]type> parameter to select one of a set of preformatted disk images that guestfish can make for you to save typing.  This is particularly useful for testing purposes.  This option is used instead of the I<-a> option, and like I<-a> can appear multiple times (and can be mixed with I<-a>).
uk: Скористайтеся параметром I<-N [назва_файла=]тип> або I<--new [назва_файла=]тип> для вибору одного з набору попередньо форматованих образів дисків, які може створити guestfish, щоб заощадити час на введення назв вручну. Це, зокрема, корисно для тестування. Цей параметр використовується замість параметра I<-a> і,  як I<-a>, його можна використовувати декілька разів (і поєднувати з I<-a>).

note: type: textblock
en: The new disk is called F<test1.img> for the first I<-N>, F<test2.img> for the second and so on.  Existing files in the current directory are I<overwritten>.  You can use a different filename by specifying C<filename=> before the type (see examples below).
uk: Новий диск буде названо F<test1.img> для першого I<-N>, F<test2.img> — для другого, тощо. Наявні файли у поточному каталозі буде I<перезаписано>. Ви можете скористатися іншою назвою файла, якщо вкажете рядок C<назва_файла=> до типу (див. наведені нижче приклади).

note: type: textblock
en: The type briefly describes how the disk should be sized, partitioned, how filesystem(s) should be created, and how content should be added.  Optionally the type can be followed by extra parameters, separated by C<:> (colon) characters.  For example, I<-N fs> creates a default 1G, sparsely-allocated disk, containing a single partition, with the partition formatted as ext2.  I<-N fs:ext4:2G> is the same, but for an ext4 filesystem on a 2GB disk instead.
uk: Тип коротко описує як слід визначати розмір диска, ділити його на розділи, як створювати файлові системи та як додавати дані. Крім того, за типом можна вказати додаткові параметри, відокремлені символами C<:> (двокрапкою). Наприклад, I<-N fs> створює типовий диск у 1ГБ із розрідженим розподілом, який містить єдиний розділ, який форматовано з використанням ext2. I<-N fs:ext4:2G> робить те саме, але для файлової системи ext4 на диску у 2 ГБ.

note: type: textblock
en: Note that the prepared filesystem is not mounted.  You would usually have to use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option.
uk: Зауважте, що приготовану файлову систему не змонтовано. Вам, зазвичай, слід скористатися командою C<mount /dev/sda1 />  або додати параметр I<-m /dev/sda1>.

note: type: textblock
en: If any I<-N> or I<--new> options are given, the libguestfs appliance is automatically launched.
uk: Якщо вказано якісь параметри I<-N> або I<--new>, буде автоматично запущено базову систему libguestfs.

note: type: textblock
en: Create a 1G disk with an ext4-formatted partition, called F<test1.img> in the current directory:
uk: Створити диск у 1 ГБ, що міститиме розділ у форматі ext4, із назвою F<test1.img> у поточному каталозі:

note: type: textblock
en: Create a 32MB disk with a VFAT-formatted partition, and mount it:
uk: Створити диск у 32 МБ із форматованим у VFAT розділом і змонтувати його:

note: type: textblock
en: Create a blank 200MB disk:
uk: Створення порожнього диска розміром у 200 МБ:

note: type: textblock
en: Create a blank 200MB disk called F<blankdisk.img> (instead of F<test1.img>):
uk: Створити порожній диск у 200 МБ із назвою F<blankdisk.img> (замість F<test1.img>):

note: type: =head1
en: ADDING REMOTE STORAGE
uk: ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА

note: type: textblock
en: I<For API-level documentation on this topic, see L<guestfs(3)/guestfs_add_drive_opts> and L<guestfs(3)/REMOTE STORAGE>>.
uk: I<Документацію рівня програмного інтерфейсу щодо цього питання наведено у розділах L<guestfs(3)/guestfs_add_drive_opts> і L<guestfs(3)/ВІДДАЛЕНЕ СХОВИЩЕ>>.

note: type: textblock
en: On the command line, you can use the I<-a> option to add network block devices using a URI-style format, for example:
uk: У командному рядку ви можете скористатися параметром I<-a> для додавання мережевих блокових пристроїв за допомогою формату у стилі адрес. Приклад:

note: type: verbatim
en:  guestfish -a ssh://root@example.com/disk.img
uk:  guestfish -a ssh://root@example.com/диск.img

note: type: textblock
en: URIs I<cannot> be used with the L</add> command.  The equivalent command using the API directly is:
uk: Адреси I<не можна> використовувати разом із командою L</add>. Еквівалентною командою у безпосередньому використанні програмному інтерфейсі є:

note: type: textblock
en: The possible I<-a URI> formats are described below.
uk: Можливі формати I<-a адреса> описано нижче.

note: type: =head2
en: B<-a file:///path/to/disk.img>
uk: B<-a file:///шлях/на/диску.img>

note: type: textblock
en: Add the local disk image (or device) called F<disk.img>.
uk: Додати локальний образ диска (або пристрою) із назвою F<disk.img>.

note: type: =head2
en: B<-a ftps://[user@]example.com[:port]/disk.img>
uk: B<-a ftps://[user@]example.com[:порт]/disk.img>

note: type: =head2
en: B<-a http://[user@]example.com[:port]/disk.img>
uk: B<-a http://[user@]example.com[:порт]/disk.img>

note: type: =head2
en: B<-a https://[user@]example.com[:port]/disk.img>
uk: B<-a https://[user@]example.com[:порт]/disk.img>

note: type: =head2
en: B<-a tftp://[user@]example.com[:port]/disk.img>
uk: B<-a tftp://[user@]example.com[:порт]/disk.img>

note: type: textblock
en: Add a disk located on a remote FTP, HTTP or TFTP server.
uk: Додати диск на віддаленому сервері FTP, HTTP або TFTP.

note: type: textblock
en: The equivalent API command would be:
uk: Еквівалентною командою із програмного інтерфейсу є така:

note: type: verbatim
en:  ><fs> add /disk.img protocol:(ftp|...) server:tcp:example.com
uk:  ><fs> add /disk.img protocol:(ftp|...) server:tcp:example.com username:root

note: type: =head2
en: B<-a gluster://example.com[:port]/volname/image>
uk: B<-a gluster://example.com[:порт]/назва_тому/образ>

note: type: textblock
en: Add a disk image located on GlusterFS storage.
uk: Додати образ диска, розташований у сховищі даних GlusterFS.

note: type: textblock
en: The server is the one running C<glusterd>, and may be C<localhost>.
uk: Сервером є комп'ютер, на якому запущено C<glusterd>, ним може бути C<localhost>.

note: type: =head2
en: B<-a iscsi://example.com[:port]/target-iqn-name[/lun]>
uk: B<-a iscsi://example.com[:порт]/назваt-iqn-призначення[/lun]>

note: type: textblock
en: Add a disk located on an iSCSI server.
uk: Додати диск з сервера iSCSI.

note: type: =head2
en: B<-a nbd://example.com[:port]>
uk: B<-a nbd://example.com[:порт]>

note: type: =head2
en: B<-a nbd://example.com[:port]/exportname>
uk: B<-a nbd://example.com[:порт]/назва_для_експортування>

note: type: =head2
en: B<-a nbd://?socket=/socket>
uk: B<-a nbd://?socket=/сокет>

note: type: textblock
en: Add a disk located on Network Block Device (nbd) storage.
uk: Додати образ диска, розташований у сховищі даних Network Block Device (nbd).

note: type: textblock
en: The I</exportname> part of the URI specifies an NBD export name, but is usually left empty.
uk: Частина I</exportname> адреси вказує назву експортування NBD, але, зазвичай, її лишають порожньою.

note: type: textblock
en: The optional I<?socket> parameter can be used to specify a Unix domain socket that we talk to the NBD server over.  Note that you cannot mix server name (ie. TCP/IP) and socket path.
uk: Необов'язковим параметром I<?socket> може бути використано для визначення сокета домену Unix, крізь який можна обмінюватися даними із сервером NBD. Зауважте, що не можна поєднувати назву сервера (тобто TCP/IP) і шлях до сокета.

note: type: textblock
en: The equivalent API command would be (no export name):
uk: Еквівалентною командою із програмного інтерфейсу є така (без назви експортування):

note: type: verbatim
en:  ><fs> add "" protocol:nbd server:[tcp:example.com|unix:/socket]
uk:  ><fs> add "" protocol:nbd server:[tcp:example.com|unix:/сокет]

note: type: =head2
en: B<-a rbd:///pool/disk>
uk: B<-a rbd:///буфер/диск>

note: type: =head2
en: B<-a rbd://example.com[:port]/pool/disk>
uk: B<-a rbd://example.com[:порт]/буфер/диск>

note: type: textblock
en: Add a disk image located on a Ceph (RBD/librbd) storage volume.
uk: Додати образ диска, розташований на томі сховища Ceph (RBD/librbd).

note: type: textblock
en: Although libguestfs and Ceph supports multiple servers, only a single server can be specified when using this URI syntax.
uk: Хоча у libguestfs та Ceph передбачено підтримку декількох серверів, при використанні цього синтаксису адреси можна вказати лише один сервер.

note: type: verbatim
en:  ><fs> add pool/disk protocol:rbd server:tcp:example.com:port
uk:  ><fs> add pool/disk protocol:rbd server:tcp:example.com:порт

note: type: =head2
en: B<-a sheepdog://[example.com[:port]]/volume/image>
uk: B<-a sheepdog://[example.com[:порт]]/том/образ>

note: type: textblock
en: Add a disk image located on a Sheepdog volume.
uk: Додати образ диска, розташований на томі Sheepdog.

note: type: textblock
en: The server name is optional.  Although libguestfs and Sheepdog supports multiple servers, only at most one server can be specified when using this URI syntax.
uk: Назва сервера є необов'язковою. Хоча у libguestfs та Sheepdog передбачено підтримку декількох серверів, при використанні цього синтаксису адреси можна вказати не більше одного сервера.

note: type: =head2
en: B<-a ssh://[user@]example.com[:port]/disk.img>
uk: B<-a ssh://[користувач@]example.com[:порт]/диск.img>

note: type: textblock
en: Add a disk image located on a remote server, accessed using the Secure Shell (ssh) SFTP protocol.  SFTP is supported out of the box by all major SSH servers.
uk: Додати образ диска, розташований на віддаленому сервері, доступ до якого здійснюється за допомогою протоколу Secure Shell (ssh) SFTP. Підтримку SFTP передбачено від початку в усіх основних серверах SSH.

note: type: textblock
en: Note that the URIs follow the syntax of L<RFC 3986|https://tools.ietf.org/html/rfc3986>: in particular, there are restrictions on the allowed characters for the various components of the URI.  Characters such as C<:>, C<@>, and C</> B<must> be percent-encoded:
uk: Зауважте, що для адрес використовується синтаксис L<RFC 3986|https://tools.ietf.org/html/rfc3986>: зокрема, існують обмеження на дозволені символи для різних компонентів адреси. Деякі символи, зокрема C<:>, C<@> і C</> B<має> бути закодовано з використанням символу відсотків:

note: type: verbatim
en:  $ guestfish -a ssh://user:pass%40word@example.com/disk.img
uk:  $ guestfish -a ssh://користувач:пароль%40word@example.com/диск.img

note: type: textblock
en: In this case, the password is C<pass@word>.
uk: У цьому випадку паролем є C<pass@word>.

note: type: =head1
en: PROGRESS BARS
uk: СМУЖКИ ПОСТУПУ

note: type: textblock
en: Some (not all) long-running commands send progress notification messages as they are running.  Guestfish turns these messages into progress bars.
uk: Деякі (не усі) команди, які виконуються довго, надсилають сповіщення щодо поступу під час виконання. Guestfish перетворює такі повідомлення на смужки поступу.

note: type: textblock
en: When a command that supports progress bars takes longer than two seconds to run, and if progress bars are enabled, then you will see one appearing below the command:
uk: Якщо виконання команди, де передбачено смужки поступу, триває понад 2 секунди і увімкнено смужки поступу, ви побачите таку смужку під рядком команди:

note: type: verbatim
en:  ><fs> copy-size /large-file /another-file 2048M
     / 10% [#####-----------------------------------------] 00:30
uk:  ><fs> copy-size /великий-файл /інший-файл 2048M
     / 10% [#####-----------------------------------------] 00:30

note: type: textblock
en: The spinner on the left hand side moves round once for every progress notification received from the backend.  This is a (reasonably) golden assurance that the command is "doing something" even if the progress bar is not moving, because the command is able to send the progress notifications.  When the bar reaches 100% and the command finishes, the spinner disappears.
uk: Символ ліворуч прокручуватиметься у відповідь на кожне отримане сповіщення щодо поступу від модуля обробки. Це доволі добра гарантія того, що команда «щось робить», навіть якщо смужка поступу не рухається, оскільки команда здатна надсилати сповіщення щодо поступу. Коли на смужці поступу буде досягнуто рівня 100% і команда завершить роботу, символ автоматично зникне.

note: type: textblock
en: Progress bars are enabled by default when guestfish is used interactively.  You can enable them even for non-interactive modes using I<--progress-bars>, and you can disable them completely using I<--no-progress-bars>.
uk: Якщо guestfish використовується як інтерактивна командна оболонка, смужки поступу буде типово увімкнено. Ви можете увімкнути їх навіть у неінтерактивному режимі за допомогою параметра I<--progress-bars> або повністю вимкнути їх за допомогою параметра I<--no-progress-bars>.

note: type: =head1
en: PROMPT
uk: ЗАПИТ

note: type: textblock
en: You can change or add colours to the default prompt (C<E<gt>E<lt>fsE<gt>>) by setting the C<GUESTFISH_PS1> environment variable.  A second string (C<GUESTFISH_OUTPUT>) is printed after the command has been entered and before the output, allowing you to control the colour of the output.  A third string (C<GUESTFISH_INIT>)  is printed before the welcome message, allowing you to control the colour of that message.  A fourth string (C<GUESTFISH_RESTORE>) is printed before guestfish exits.
uk: Ви можете змінити або додати кольори до типового запиту щодо команди (C<E<gt>E<lt>fsE<gt>>), встановивши відповідне значення змінної середовища C<GUESTFISH_PS1>. Другий рядок (C<GUESTFISH_OUTPUT>) буде виведено після введення команди і перед її виведенням. Він надає вам змогу керувати розфарбовуванням виведених даних. Третій рядок (C<GUESTFISH_INIT>) виводиться перед повідомленням вітання і надає вам змогу розфарбувати це повідомлення. Четвертий рядок (C<GUESTFISH_RESTORE>) виводиться перед завершенням роботи guestfish.

note: type: textblock
en: A simple prompt can be set by setting C<GUESTFISH_PS1> to an alternate string:
uk: Простий запит можна встановити за допомогою визначення для C<GUESTFISH_PS1> якогось альтернативного рядка:

note: type: verbatim
en:  $ GUESTFISH_PS1='(type a command) '
     $ export GUESTFISH_PS1
     $ guestfish
     [...]
     (type a command) ▂
uk:  $ GUESTFISH_PS1='(введіть команду) '
     $ export GUESTFISH_PS1
     $ guestfish
     [...]
     (введіть команду) ▂

note: type: textblock
en: You can also use special escape sequences, as described in the table below:
uk: Ви також можете використовувати послідовності спеціальних символів, які описано у наведеній нижче таблиці:

note: type: textblock
en: (These should only be used in C<GUESTFISH_PS1>.)
uk: (Ці послідовності має бути використано лише у C<GUESTFISH_PS1>.)

note: type: textblock
en: Place non-printing characters (eg. terminal control codes for colours)  between C<\[...\]>.  What this does it to tell the L<readline(3)> library that it should treat this subsequence as zero-width, so that command-line redisplay, editing etc works.
uk: Розташовуйте непридатні до виведення символи (наприклад, коди термінала для кольорів) між C<\[...\]>. Це вкаже бібліотеці L<readline(3)>, що їй слід вважати таку підпослідовність символом нульової ширини. Це уможливить повторний показ, редагування та інші операції.

note: type: textblock
en: A bell character.
uk: Символ гудка.

note: type: textblock
en: An ASCII ESC (escape) character.
uk: Символ ESC ASCII.

note: type: textblock
en: A newline.
uk: Символ розриву рядка.

note: type: textblock
en: A carriage return.
uk: Повернення каретки.

note: type: textblock
en: The ASCII character whose code is the octal value NNN.
uk: Символ ASCII, кодом якого є вісімкове значення NNN.

note: type: textblock
en: The ASCII character whose code is the hex value NN.
uk: Символ ASCII, кодом якого є шістнадцяткове значення NN.

note: type: =head2
en: EXAMPLES OF PROMPTS
uk: ПРИКЛАДИ ЗАПИТІВ

note: type: textblock
en: Note that these examples require a terminal that supports ANSI escape codes.
uk: Зауважте, що для користування цими прикладами вам знадобиться термінал, у якому передбачено коди екранування ANSI.

note: type: textblock
en: A bold black version of the ordinary prompt.
uk: Жирна чорна версія звичайного запиту.

note: type: textblock
en: Blue welcome text, green prompt, red commands, black command output.
uk: Синій текст вітання, зелений запит, червоні команди, чорне виведення команд.

note: type: textblock
en: Windows 8 "fast startup" can prevent guestfish from mounting NTFS partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>.
uk: «Швидкий запуск» Windows 8 може заважати монтуванню у guestfish розділів NTFS. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS  ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

note: type: =head1
en: GUESTFISH COMMANDS
uk: КОМАНДИ GUESTFISH

note: type: textblock
en: The commands in this section are guestfish convenience commands, in other words, they are not part of the L<guestfs(3)> API.
uk: Команди у цьому розділі є допоміжними командами guestfish. Інакше кажучи, вони не є частиною програмного інтерфейсу L<guestfs(3)>.

note: type: verbatim
en:  help
     help cmd
     help -l|--list
uk:  help
     help команда
     help -l|--list

note: type: textblock
en: Without any parameter, this provides general help.
uk: Без параметра показує загальну довідкову інформацію.

note: type: textblock
en: With a C<cmd> parameter, this displays detailed help for that command.
uk: Якщо вказано із параметром C<команда>, ця команда показує довідку щодо заданої команди.

note: type: textblock
en: With I<-l> or I<--list>, this list all commands.
uk: Якщо вказано параметр I<-l> або I<--list>, буде показано список усіх команд.

note: type: textblock
en: This exits guestfish.  You can also use C<^D> key.
uk: Завершує роботу guestfish. Ви також можете скористатися комбінацією клавіш C<^D>.

note: type: =head1
en: COMMANDS
uk: КОМАНДИ

note: type: textblock
en: guestfish returns 0 if the commands completed without error, or 1 if there was an error.
uk: guestfish повертає 0, якщо команди виконано без помилок, або 1, якщо сталася помилка.

note: type: =item
en: EDITOR
uk: РЕДАКТОР

note: type: textblock
en: The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses C<vi>.
uk: Для редагування у команді C<edit> використовується редактор, вказаний за допомогою змінної середовища C<$EDITOR>. Якщо значення цієї змінної не встановлено, використовується C<vi>.

note: type: textblock
en: The C<display> command uses C<$GUESTFISH_DISPLAY_IMAGE> to display images.  If not set, it uses L<display(1)>.
uk: Для показу зображень команда C<display> використовує програму, вказану за допомогою змінної середовища C<$GUESTFISH_DISPLAY_IMAGE>. Якщо значення цієї змінної не встановлено, буде використано L<display(1)>.

note: type: textblock
en: Printed when guestfish starts.  See L</PROMPT>.
uk: Виводиться під час запуску guestfish. Див. L</ЗАПИТ>.

note: type: textblock
en: Printed before guestfish output.  See L</PROMPT>.
uk: Виводиться перед виведенням даних guestfish. Див. L</ЗАПИТ>.

note: type: textblock
en: Used with the I<--remote> option to specify the remote guestfish process to control.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>.
uk: Використовується разом із параметром I<--remote> для задання віддаленого процесу guestfish для керування. Див. розділ L</ВІДДАЛЕНЕ КЕРУВАННЯ GUESTFISH КРІЗЬ СОКЕТ>.

note: type: textblock
en: Set the command prompt.  See L</PROMPT>.
uk: Встановити запит щодо команд. Див. L</ЗАПИТ>.

note: type: textblock
en: Printed before guestfish exits.  See L</PROMPT>.
uk: Виводиться перед виходом із guestfish. Див. L</ЗАПИТ>.

note: type: textblock
en: The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor.  If not specified, the external L<hexedit(1)> program is used.
uk: Команда L</hexedit> використовує програму, вказану за допомогою змінної середовища C<$HEXEDITOR>, як зовнішній шістнадцятковий редактор. Якщо значення цієї змінної середовища не встановлено, використовується зовнішня програма L<hexedit(1)>.

note: type: =item
en: HOME
uk: ДОМІВКА

note: type: textblock
en: If compiled with GNU readline support, various files in the home directory can be used.  See L</FILES>.
uk: Якщо програму зібрано із підтримкою GNU readline, можна використовувати різноманітні файли у домашньому каталозі. Див. L</ФАЙЛИ>.

note: type: textblock
en: Pass additional options to the guest kernel.
uk: Передати додаткові параметри ядру гостьової системи.

note: type: textblock
en: This is the old way to set C<LIBGUESTFS_BACKEND>.
uk: Це старий спосіб визначити C<LIBGUESTFS_BACKEND>.

note: type: textblock
en: Choose the default way to create the appliance.  See L<guestfs(3)/guestfs_set_backend>.
uk: Вибрати типовий спосіб створення базової системи. Див. L<guestfs(3)/guestfs_set_backend>.

note: type: textblock
en: A colon-separated list of backend-specific settings.  See L<guestfs(3)/BACKEND>, L<guestfs(3)/BACKEND SETTINGS>.
uk: Список відокремлених двокрапками параметрів, специфічних для модуля обробки. Див. L<guestfs(3)/МОДУЛЬ>, L<guestfs(3)/ПАРАМЕТРИ МОДУЛЯ>.

note: type: textblock
en: The location where libguestfs will cache its appliance, when using a supermin appliance.  The appliance is cached and shared between all handles which have the same effective user ID.
uk: Місце, де зберігатиметься кеш базової системи libguestfs, якщо використовується базова система supermin. Базова система кешується і спільно використовується усіма дескрипторами, які мають однаковий ідентифікатор ефективного користувача.

note: type: textblock
en: If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used.  If C<TMPDIR> is not set, then F</var/tmp> is used.
uk: Якщо значення C<LIBGUESTFS_CACHEDIR> не встановлено, буде використано C<TMPDIR>. Якщо не встановлено значення C<TMPDIR>, буде використано F</var/tmp>.

note: type: textblock
en: See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>.
uk: Див. також L</LIBGUESTFS_TMPDIR>, L</set-cachedir>.

note: type: textblock
en: Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same effect as using the B<-v> option.
uk: Встановіть значення C<LIBGUESTFS_DEBUG=1>, щоб увімкнути режим докладних повідомлень. Ця змінна має той самий ефект, що і параметр B<-v>.

note: type: textblock
en: Set the default hypervisor (usually qemu) binary that libguestfs uses.  If not set, then the qemu which was found at compile time by the configure script is used.
uk: Встановити типовий виконуваний файл гіпервізору (зазвичай, qemu), яким користуватиметься libguestfs. Якщо не встановлено, буде використано qemu, знайдений скриптом налаштовування під час збирання.

note: type: textblock
en: Set the memory allocated to the qemu process, in megabytes.  For example:
uk: Встановлює обсяг пам'яті, який надається процесу qemu, у мегабайтах. Приклад:

note: type: textblock
en: Set the path that guestfish uses to search for kernel and initrd.img.  See the discussion of paths in L<guestfs(3)>.
uk: Встановити шлях, який guestfish використовує для пошуку ядра та initrd.img. Див. обговорення шляхів у L<guestfs(3)>.

note: type: textblock
en: This is the old way to set C<LIBGUESTFS_HV>.
uk: Це застарілий спосіб встановлення C<LIBGUESTFS_HV>.

note: type: textblock
en: The location where libguestfs will store temporary files used by each handle.
uk: Місце, де libguestfs зберігатиме тимчасові файли, які використовуються кожним з дескрипторів.

note: type: textblock
en: If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used.  If C<TMPDIR> is not set, then F</tmp> is used.
uk: Якщо значення C<LIBGUESTFS_TMPDIR> не встановлено, буде використано C<TMPDIR>. Якщо не встановлено значення C<TMPDIR>, буде використано F</tmp>.

note: type: textblock
en: See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>.
uk: Див. також L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>.

note: type: textblock
en: Set C<LIBGUESTFS_TRACE=1> to enable command traces.
uk: Встановіть значення C<LIBGUESTFS_TRACE=1>, щоб увімкнути трасування команд.

note: type: =item
en: PAGER
uk: РОЗБИТТЯ НА СТОРІНКИ

note: type: textblock
en: The C<more> command uses C<$PAGER> as the pager.  If not set, it uses C<more>.
uk: Для редагування у команді C<more> використовується пейджер, вказаний за допомогою змінної середовища C<$PAGER>. Якщо значення цієї змінної не встановлено, використовується C<more>.

note: type: =item
en: PATH
uk: ШЛЯХ

note: type: textblock
en: Libguestfs and guestfish may run some external programs, and rely on C<$PATH> being set to a reasonable value.  If using the libvirt backend, libvirt will not work at all unless C<$PATH> contains the path of qemu/KVM.
uk: Libguestfs можуть запускати деякі зовнішні програми і вважати, що для C<$PATH> встановлено якесь правильне значення. Якщо використовується модуль обробки libvirt, libvirt не працюватиме взагалі, якщо у C<$PATH> не міститься шляху до qemu/KVM.

note: type: textblock
en: These three environment variables allow the kernel that libguestfs uses in the appliance to be selected.  If C<$SUPERMIN_KERNEL> is not set, then the most recent host kernel is chosen.  For more information about kernel selection, see L<supermin(1)>.
uk: За допомогою цих трьох змінних середовища можна вибрати ядро, яке libguestfs використовуватиме у базовій системі. Якщо не встановлено C<$SUPERMIN_KERNEL>, буде вибрано найсвіжіше з ядер основної системи. Докладніший опис вибору ядра можна знайти на сторінці підручника щодо L<supermin(1)>.

note: type: =item
en: TMPDIR
uk: ТИМЧАСОВИЙ КАТАЛОГ

note: type: textblock
en: See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>.
uk: Див. L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>.

note: type: textblock
en: This directory represents a user-specific directory for storing non-essential runtime files.
uk: Цей каталог є специфічним каталогом користувача, який призначено для зберігання неважливих файлів під час роботи.

note: type: textblock
en: If it is set, then is used to store temporary sockets.  Otherwise, F</tmp> is used.
uk: Якщо встановлено, використовується для зберігання тимчасових сокетів. Якщо не встановлено, використовується F</tmp>.

note: type: textblock
en: See also L</get-sockdir>, L<http://www.freedesktop.org/wiki/Specifications/basedir-spec/>.
uk: Див. також L</get-sockdir>, L<http://www.freedesktop.org/wiki/Specifications/basedir-spec/>.

note: type: textblock
en: This configuration file controls the default read-only or read-write mode (I<--ro> or I<--rw>).
uk: Цей файл налаштувань керує типовим режимом — лише читання чи читання і запис (I<--ro> або I<--rw>).

note: type: textblock
en: See L<libguestfs-tools.conf(5)>.
uk: Див. L<libguestfs-tools.conf(5)>.

note: type: textblock
en: If compiled with GNU readline support, then the command history is saved in this file.
uk: Якщо програму зібрано із підтримкою GNU readline, до цього файла зберігатиметься журнал команд.

note: type: textblock
en: If compiled with GNU readline support, then these files can be used to configure readline.  For further information, please see L<readline(3)/INITIALIZATION FILE>.
uk: Якщо програму зібрано із підтримкою GNU readline, цими файлами можна скористатися для налаштовування readline. Докладніший опис можна знайти на сторінці підручника L<readline(3)/INITIALIZATION FILE>.

note: type: textblock
en: To write rules which only apply to guestfish, use:
uk: Для створення правил, які застосовуватимуться лише до guestfish, скористайтеся таким:

note: type: textblock
en: Variables that you can set in inputrc that change the behaviour of guestfish in useful ways include:
uk: Серед змінних, які ви можете встановити у inputrc для внесення змін до поведінки guestfish, такі:

note: type: =item
en: completion-ignore-case (default: on)
uk: completion-ignore-case (типово: on)

note: type: textblock
en: By default, guestfish will ignore case when tab-completing paths on the disk.  Use:
uk: Типово, guestfish ігноруватиме регістр символів під час автоматичного доповнення шляхів на диску у відповідь на натискання клавіші Tab. Скористайтеся таким:

note: type: textblock
en: to make guestfish case sensitive.
uk: щоб наказати guestfish враховувати регістр символів.

note: type: =item
en: test2.img (etc)
uk: test2.img (тощо)

note: type: textblock
en: When using the I<-N> or I<--new> option, the prepared disk or filesystem will be created in the file F<test1.img> in the current directory.  The second use of I<-N> will use F<test2.img> and so on.  Any existing file with the same name will be overwritten.  You can use a different filename by using the C<filename=> prefix.
uk: При використанні параметра I<-N> або I<--new> приготований диск або файлову систему буде створено у файлі F<test1.img> у поточному каталозі. Друге використання I<-N> призведе до використання F<test2.img> тощо. Усі наявні файли із такими самими назвами буде перезаписано. Ви можете скористатися іншими назвами файлів за допомогою вказаного префікса C<filename=>.

note: type: textblock
en: libguestfs-tools.conf - configuration file for guestfish, guestmount, virt-rescue
uk: libguestfs-tools.conf — файл налаштувань для guestfish, guestmount, virt-rescue

note: type: textblock
en: F<libguestfs-tools.conf> (or F<$HOME/.libguestfs-tools.rc>) changes the defaults for the following programs only:
uk: F<libguestfs-tools.conf> (або F<$HOME/.libguestfs-tools.rc>) змінює типові параметри роботи лише таких програм:

note: type: textblock
en: There is currently only one setting which is controlled by this file.  Adding (or uncommenting):
uk: Цим файлом у поточній версії керується лише один параметр. Додавання або зняття коментаря з:

note: type: textblock
en: changes these programs so they act as if the I<--ro> flag was given on the command line.  You can use this to make the programs safe against accidental modification of a live guest (users would have to explicitly add the I<--rw> flag to modify guests).  This is not the default because it is not backwards compatible.  See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
uk: змінює поведінку цих програм так, що вони працюють так, неначе у рядку команди було вказано параметр I<--ro>. Ви можете скористатися цим, щоб убезпечити запущену гостьову систему від випадкових змін, внесених програмами (для внесення змін користувачам доведеться явним чином вказати параметр I<--rw>). Така поведінка програм не є типовою з міркувань зворотної сумісності. Див. також L<guestfish(1)/ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ І ЗАПИСУ>.

note: type: textblock
en: Note that B<the semicolon is required>.
uk: Зауважте, що B<крапка з комою є обов'язковою>.

note: type: textblock
en: This file is parsed by the libconfig library.  For more information about the format, see: L<http://www.hyperrealm.com/libconfig/libconfig_manual.html>
uk: Цей файл обробляється бібліотекою libconfig. Щоб дізнатися більше про формат, див. L<http://www.hyperrealm.com/libconfig/libconfig_manual.html>

note: type: =head1
en: FILE LOCATION
uk: АДРЕСА ФАЙЛА

note: type: textblock
en: The order of the configuration files being read is, by importance:
uk: Ось список файлів налаштувань, які читає програма, за рівнем важливості:

note: type: textblock
en: $XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf (C<$XDG_CONFIG_HOME> is F<$HOME/.config> if not set).
uk: $XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf (C<$XDG_CONFIG_HOME> має значення F<$HOME/.config>, якщо не встановлено).

note: type: textblock
en: $XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf (where C<$XDG_CONFIG_DIRS> means any of the directories in that environment variable, or just F</etc/xdg> if not set)
uk: $XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf (де C<$XDG_CONFIG_DIRS> означає будь-які каталоги у відповідній змінній середовища або просто F</etc/xdg>, якщо значення змінної середовища не визначено)

note: type: textblock
en: This means local users can override the system configuration by copying the configuration file (or creating it anew) into F<$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf>.
uk: Це означає, що локальні користувачі можуть перевизначати налаштування системи копіюванням файла налаштувань до F<$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf> (або створенням його).

note: type: textblock
en: F</etc/libguestfs-tools.conf> and F<$HOME/.libguestfs-tools.rc> are the old non-XDG paths which are read for compatibility.
uk: F</etc/libguestfs-tools.conf> і F<$HOME/.libguestfs-tools.rc> є застарілими шляхами, які не відповідають XDG і які програма читає лише з міркувань сумісності.

note: type: textblock
en: L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>, L<guestmount(1)>, L<virt-rescue(1)>, L<http://libguestfs.org/>, L<http://standards.freedesktop.org/basedir-spec/latest/>.
uk: L<guestfish(1)/ВІДКРИТТЯ ДИСКІВ ДЛЯ ЧИТАННЯ І ЗАПИСУ>, L<guestmount(1)>, L<virt-rescue(1)>, L<http://libguestfs.org/>, L<http://standards.freedesktop.org/basedir-spec/latest/>.

note: type: textblock
en: virt-copy-in - Copy files and directories into a virtual machine disk image.
uk: virt-copy-in — копіювання файлів та каталогів до образу диска віртуальної машини.

note: type: verbatim
en:  virt-copy-in -a disk.img file|dir [file|dir ...] /destination
uk:  virt-copy-in -a диск.img файл|каталог [файл|каталог ...] /призначення

note: type: verbatim
en:  virt-copy-in -d domain file|dir [file|dir ...] /destination
uk:  virt-copy-in -d домен файл|каталог [файл|каталог ...] /призначення

note: type: textblock
en: C<virt-copy-in> copies files and directories from the local disk into a virtual machine disk image or named libvirt domain.
uk: C<virt-copy-in> копіює файли та каталоги з локального диска до образу диска віртуальної машини або іменованого домену libvirt.

note: type: textblock
en: You can give one or more filenames and directories on the command line.  Directories are copied in recursively.  The final parameter must be the destination directory in the disk image which must be an absolute path starting with a F</> character.
uk: У рядку команди можна вказати одну або декілька назв файлів або каталогів. Каталоги буде скопійовано рекурсивно. Останнім параметром має бути каталог призначення на образі диску, який має бути вказано як абсолютний шлях, що починається із символу F</>.

note: type: textblock
en: Upload a home directory to a guest:
uk: Вивантаження домашнього каталогу до гостьової системи:

note: type: =head1
en: JUST A SHELL SCRIPT WRAPPER AROUND GUESTFISH
uk: ПРОСТО СКРИПТ КОМАНДНОЇ ОБОЛОНКИ, ОБГОРТКА НАВКОЛО GUESTFISH

note: type: textblock
en: This command is just a simple shell script wrapper around the L<guestfish(1)> C<copy-in> command.  For anything more complex than a trivial copy, you are probably better off using guestfish directly.
uk: Ця програма є простим скриптом командної оболонки, обгорткою навколо команди C<copy-in> L<guestfish(1)>. Якщо вам потрібно виконати якесь завдання, складніше за звичайне копіювання, ймовірно, варто скористатися guestfish безпосередньо.

note: type: textblock
en: Since the shell script just passes options straight to guestfish, read L<guestfish(1)> to see the full list of options.
uk: Оскільки скрипт командної оболонки лише передає параметри безпосередньо до guestfish, ознайомтеся зі сторінкою підручника для L<guestfish(1)>, щоб дізнатися більше про повний набір параметрів.

note: type: textblock
en: virt-copy-out - Copy files and directories out of a virtual machine disk image.
uk: virt-copy-out — копіювання файлів і каталогів з образу диска віртуальної машини.

note: type: verbatim
en:  virt-copy-out -a disk.img /file|dir [/file|dir ...] localdir
uk:  virt-copy-out -a диск.img /файл|каталог [/файл|каталог ...] локальний_каталог

note: type: verbatim
en:  virt-copy-out -d domain /file|dir [/file|dir ...] localdir
uk:  virt-copy-out -d домен /файл|каталог [/файл|каталог ...] локальний_каталог

note: type: textblock
en: C<virt-copy-out> copies files and directories out of a virtual machine disk image or named libvirt domain.
uk: C<virt-copy-out> копіює файли та каталоги з образу диска віртуальної машини або іменованого домену libvirt.

note: type: textblock
en: You can give one or more filenames and directories on the command line.  Directories are copied out recursively.
uk: У рядку команди можна вказати одну або декілька назв файлів або каталогів. Каталоги буде скопійовано рекурсивно.

note: type: textblock
en: Download the home directories from a virtual machine:
uk: Отримання домашніх каталогів з віртуальної машини:

note: type: textblock
en: This command is just a simple shell script wrapper around the L<guestfish(1)> C<copy-out> command.  For anything more complex than a trivial copy, you are probably better off using guestfish directly.
uk: Ця програма є простим скриптом командної оболонки, обгорткою навколо команди C<copy-out> L<guestfish(1)>. Якщо вам потрібно виконати якесь завдання, складніше за звичайне копіювання, ймовірно, варто скористатися guestfish безпосередньо.

note: type: textblock
en: virt-tar-in - Unpack a tarball into a virtual machine disk image.
uk: virt-tar-in — розпаковування архіву tar до образу диска віртуальної машини.

note: type: verbatim
en:  virt-tar-in -a disk.img data.tar /destination
uk:  virt-tar-in -a диск.img дані.tar /призначення

note: type: verbatim
en:  virt-tar-in -d domain data.tar /destination
uk:  virt-tar-in -d домен дані.tar /призначення

note: type: verbatim
en:  zcat data.tar.gz | virt-tar-in -d domain - /destination
uk:  zcat дані.tar.gz | virt-tar-in -d домен - /призначення

note: type: textblock
en: C<virt-tar-in> unpacks an uncompressed tarball into a virtual machine disk image or named libvirt domain.
uk: C<virt-tar-in> розпаковує нестиснений архів tar до образу диска віртуальної машини або вказаного за назвою домену libvirt.

note: type: textblock
en: The first parameter is the tar file.  Use C<-> to read the tar file from standard input.  The second parameter is the absolute target directory to unpack into.
uk: Першим параметром є файл tar. Скористайтеся записом C<->, якщо файл слід прочитати зі стандартного джерела вхідних даних. Другим параметром є абсолютний шлях до каталогу призначення, до якого слід розпакувати дані.

note: type: textblock
en: This command is just a simple shell script wrapper around the L<guestfish(1)> C<tar-in> command.  For anything more complex than a trivial copy, you are probably better off using guestfish directly.
uk: Ця програма є простим скриптом командної оболонки, обгорткою навколо команди C<tar-in> L<guestfish(1)>. Якщо вам потрібно виконати якесь завдання, складніше за звичайне копіювання, ймовірно, варто скористатися guestfish безпосередньо.

note: type: textblock
en: virt-tar-out - Pack a virtual machine disk image directory into a tarball.
uk: virt-tar-out — пакування каталогу на образі диска віртуальної машини до архіву tar.

note: type: verbatim
en:  virt-tar-out -a disk.img /dir files.tar
uk:  virt-tar-out -a диск.img /каталог файли.tar

note: type: verbatim
en:  virt-tar-out -d domain /dir files.tar
uk:  virt-tar-out -d домен /каталог файли.tar

note: type: verbatim
en:  virt-tar-out -d domain /dir - | gzip --best > files.tar.gz
uk:  virt-tar-out -d домен /каталог - | gzip --best > файли.tar.gz

note: type: textblock
en: C<virt-tar-out> packs a virtual machine disk image directory into a tarball.
uk: C<virt-tar-out> пакує каталог на образі диска віртуальної машини до архіву tar.

note: type: textblock
en: The first parameter is the absolute path of the virtual machine directory.  The second parameter is the tar file to write.  Use C<-> to write to standard output.
uk: Першим параметром є абсолютний шлях до каталогу у віртуальній машині. Другим параметром є файл архіву tar, до якого слід записати дані. Скористайтеся параметром C<->, щоб вивести дані до стандартного виведення.

note: type: textblock
en: Download the home directories from a guest:
uk: Отримати домашні каталоги користувачів з гостьової операційної системи:

note: type: textblock
en: This command is just a simple shell script wrapper around the L<guestfish(1)> C<tar-out> command.  For anything more complex than a trivial copy, you are probably better off using guestfish directly.
uk: Ця програма є простим скриптом командної оболонки, обгорткою навколо команди C<tar-out> L<guestfish(1)>. Якщо вам потрібно виконати якесь завдання, складніше за звичайне копіювання, ймовірно, варто скористатися guestfish безпосередньо.

note: type: textblock
en: virt-format - Erase and make a blank disk
uk: virt-format — витирання і створення порожнього диска

note: type: verbatim
en:  virt-format [--options] -a disk.img [-a disk.img ...]
uk:  virt-format [--параметри] -a диск.img [-a диск.img ...]

note: type: textblock
en: Virt-format takes an existing disk file (or it can be a host partition, LV etc), B<erases all data on it>, and formats it as a blank disk.  It can optionally create partition tables, empty filesystems, logical volumes and more.
uk: Virt-format отримує назву наявного файла на диску (або розділу, логічного тому основної системи), B<витирає з нього усі дані> і форматує його як порожній диск. Якщо потрібно, програма може створити таблиці розділів, порожні файлові системи, логічні томи тощо.

note: type: textblock
en: To create a disk containing data, you may be better to use L<virt-make-fs(1)>.  If you are creating a blank disk to use in L<guestfish(1)>, you should instead use the guestfish I<-N> option.
uk: Для створення диска, що містить дані, краще скористатися L<virt-make-fs(1)>. Якщо ви створюєте порожній диск для використання у L<guestfish(1)>, вам слід скористатися для цього параметром I<-N> guestfish.

note: type: textblock
en: Normal usage would be something like this:
uk: Зазвичай, програмою слід користуватися десь так:

note: type: verbatim
en:  virt-format -a disk.qcow
uk:  virt-format -a диск.qcow

note: type: textblock
en: or this:
uk: або так:

note: type: textblock
en: F<disk.qcow> or F</dev/VG/LV> must exist already.  B<Any data on these disks will be erased by these commands>.  These commands will create a single empty partition covering the whole disk, with no filesystem inside it.
uk: F<disk.qcow> або F</dev/VG/LV> має вже існувати. B<У результаті виконання команд усі дані на вказаних дисках буде витерто>. Ці команди створять єдиний порожній розділ, який займатиме увесь диск, без файлових систем на ньому.

note: type: textblock
en: Additional parameters can be used to control the creation of partitions, filesystems, etc.  The most commonly used options are:
uk: Додатковими параметрами команди можна скористатися для керування створенням розділів, файлових систем тощо. Найрозповсюдженішим є використання таких параметрів:

note: type: textblock
en: Create an empty filesystem (C<ext3>, C<ntfs> etc) inside the partition.
uk: Створити на розділі порожню файлову систему (C<ext3>, C<ntfs> тощо).

note: type: textblock
en: Create a Linux LVM2 logical volume on the disk.  When used with I<--filesystem>, the filesystem is created inside the LV.
uk: Створити логічний том Linux LVM2 на диску. Якщо використовується разом із I<--filesystem>, на логічному томі створюється файлова система.

note: type: textblock
en: For more information about these and other options, see L</OPTIONS> below.
uk: Щоб дізнатися більше про ці та інші параметри, ознайомтеся із розділом L</ПАРАМЕТРИ> нижче.

note: type: textblock
en: The format of the disk is normally auto-detected, but you can also force it by using the I<--format> option (q.v.).  In situations where you do not trust the existing content of the disk, then it is advisable to use this option to avoid possible exploits.
uk: Зазвичай, формат диска визначається автоматично, але ви також можете вказати його за допомогою параметра I<--format>. У випадках, коли ви вважаєте ненадійним наявний вміст диска, радимо скористатися цим параметром для знищення можливого коду зловмисників.

note: type: textblock
en: Add I<file>, a disk image, host partition, LV, external USB disk, etc.
uk: Додати I<файл>, який має бути образом диска, розділом основної системи, логічним томом, зовнішнім диском USB тощо.

note: type: textblock
en: B<Any existing data on the disk is erased.>
uk: B<Всі поточні дані на диску буде витерто.>

note: type: textblock
en: Create an empty filesystem of the specified type.  Many filesystem types are supported by libguestfs.
uk: Створити порожню файлову систему вказаного типу. У libguestfs передбачено підтримку багатьох файлових систем.

note: type: textblock
en: Create no filesystem.  This is the default.
uk: Не створювати файлової системи. Типова поведінка.

note: type: verbatim
en:  virt-format --format=raw -a disk.img
uk:  virt-format --format=raw -a диск.img

note: type: verbatim
en:  virt-format --format=raw -a disk.img --format -a another.img
uk:  virt-format --format=raw -a диск.img --format -a ще_один_диск.img

note: type: =item
en: B<--label=>LABEL
uk: B<--label=>МІТКА

note: type: textblock
en: Set the filesystem label.
uk: Встановити мітку файлової системи.

note: type: textblock
en: Create a Linux LVM2 logical volume called F</dev/I<VG>/I<LV>>.  You can change the name of the volume group and logical volume.
uk: Створити логічний том LVM2 Linux із назвою F</dev/I<VG>/I<LV>>. Ви можете змінити назву групи томів і логічного тому.

note: type: textblock
en: Create a Linux LVM2 logical volume with the default name (F</dev/VG/LV>).
uk: Створити логічний том Linux LVM2 на із типовою назвою (F</dev/VG/LV>).

note: type: textblock
en: Create no logical volume.  This is the default.
uk: Не створювати логічного тому. Типове поведінка.

note: type: textblock
en: Create either an MBR or GPT partition covering the whole disk.  MBR is chosen if the disk size is E<lt> 2 TB, GPT if E<ge> 2 TB.
uk: Створити розділ MBR або GPT для усього диска. MBR буде вибрано, якщо розмір диска E<lt> 2 ТБ, GPT — якщо E<ge> 2 ТБ.

note: type: textblock
en: Create a GPT partition.
uk: Створити розділ GPT.

note: type: textblock
en: Create an MBR partition.
uk: Створити розділ MBR.

note: type: textblock
en: Create no partition table.  Note that Windows may not be able to see these disks.
uk: Не створювати таблиці розділів. Зауважте, що такі диски можуть бути невидимими для Windows.

note: type: textblock
en: Normally virt-format does not wipe data from the disk (because that takes a long time).  Thus if there is data on the disk, it is only hidden and partially overwritten by virt-format, and it might be recovered by disk editing tools.
uk: У поточній версії virt-format не витирає дані з диска (оскільки ця дія є надто тривалою). Тому, якщо на диску є дані, їх буде лише приховано і частково перезаписано virt-format. Ймовірно, такі дані можна відновити за допомогою інструментів для редагування дисків.

note: type: textblock
en: If you use this option, virt-format writes zeroes over the whole disk so that previous data is not recoverable.
uk: Якщо ви скористаєтеся цим параметром, virt-format перезапише нулями увесь диск, щоб попередньо записані дані не можна було відновити.

note: type: textblock
en: This program returns C<0> on success, or C<1> on failure.
uk: Ця програма повертає C<0>, якщо роботу виконано успішно, і C<1>, якщо сталися помилки.

note: type: textblock
en: Copyright (C) 2012 Red Hat Inc.
uk: © Red Hat Inc., 2012

note: type: textblock
en: guestmount - Mount a guest filesystem on the host using FUSE and libguestfs
uk: guestmount — монтування файлової системи гостьової операційної системи у основній системі за допомогою FUSE і libguestfs

note: type: verbatim
en:  guestmount [--options] -a disk.img -m device [--ro] mountpoint
uk:  guestmount [--параметри] -a диск.img -m пристрій [--ro] точка монтування

note: type: verbatim
en:  guestmount [--options] -a disk.img -i [--ro] mountpoint
uk:  guestmount [--параметри] -a диск.img -i [--ro] точка_монтування

note: type: verbatim
en:  guestmount [--options] -d Guest -i [--ro] mountpoint
uk:  guestmount [--параметри] -d Гостьова_система -i [--ro] точка_монтування

note: type: textblock
en: The guestmount program can be used to mount virtual machine filesystems and other disk images on the host.  It uses libguestfs for access to the guest filesystem, and FUSE (the "filesystem in userspace") to make it appear as a mountable device.
uk: Програмою guestmount можна скористатися для монтування файлових систем віртуальної машини та інших образів дисків у основній системі. Програма використовує libguestfs для доступу до гостьової файлової системи і FUSE («файлову систему у просторі користувача») так, що змонтована система з'являється у основній системі як додатковий змонтований пристрій.

note: type: textblock
en: Along with other options, you have to give at least one device (I<-a> option) or libvirt domain (I<-d> option), and at least one mountpoint (I<-m> option) or use the I<-i> inspection option or the I<--live> option.  How this works is better explained in the L<guestfish(1)> manual page, or by looking at the examples below.
uk: Разом із іншими параметрами вам слід надати принаймні один пристрій (параметр I<-a>) або домен libvirt (параметр I<-d>) і принаймні одну точку монтування (параметр I<-m>) або скористатися параметром інспектування I<-i> чи параметром I<--live>. Кращий опис того, як це працює, наведено на сторінці підручника щодо L<guestfish(1)>. Також можна скористатися наведеними нижче прикладами.

note: type: textblock
en: FUSE lets you mount filesystems as non-root.  The mountpoint must be owned by you.  The filesystem will not be visible to any other users unless you make configuration changes, see L</NOTES> below.
uk: FUSE надає вам змогу монтувати файлові системи від імені звичайного користувача. Власником точки монтування має бути ваш користувач. Файлова система лишатиметься невидимою для усіх інших користувачів, якщо ви не внесете змін до налаштувань. Див. L</ПРИМІТКИ> нижче.

note: type: textblock
en: To unmount the filesystem, use the L<guestunmount(1)> command.
uk: Для демонтування файлової системи скористайтеся програмою L<guestunmount(1)>.

note: type: textblock
en: For a typical Windows guest which has its main filesystem on the first partition:
uk: Для типової гостьової системи Windows, основна файлова система якої розміщується на першому розділі:

note: type: textblock
en: For a typical Linux guest which has a /boot filesystem on the first partition, and the root filesystem on a logical volume:
uk: Для типової гостьової системи Linux із файловою системою /boot на першому розділі і кореневою файловою системою на логічному томі:

note: type: textblock
en: To get libguestfs to detect guest mountpoints for you:
uk: Щоб libguestfs виявила точки монтування гостьової системи:

note: type: textblock
en: For a libvirt guest called "Guest" you could do:
uk: Для гостьової системи libvirt із назвою «Guest» можна віддати таку команду:

note: type: textblock
en: If you don’t know what filesystems are contained in a guest or disk image, use L<virt-filesystems(1)> first:
uk: Якщо ви не знаєте, які файлові системи містяться у гостьовій операційній системі або на образі диска, скористайтеся спочатку L<virt-filesystems(1)>:

note: type: textblock
en: If you want to trace the libguestfs calls but without excessive debugging information, we recommend:
uk: Якщо вам потрібно трасувати виклики libguestfs, але без надмірних діагностичних даних, рекомендуємо зробити так:

note: type: textblock
en: If you want to debug the program, we recommend:
uk: Якщо ви хочете виконати діагностику роботи програми, рекомендуємо таке:

note: type: textblock
en: To unmount the filesystem after using it:
uk: Щоб демонтувати файлову систему після її використання:

note: type: =head1
en: NOTES
uk: ПРИМІТКИ

note: type: =head2
en: Other users cannot see the filesystem by default
uk: Інші користувачі, типово, не можуть бачити файлову систему

note: type: textblock
en: If you mount a filesystem as one user (eg. root), then other users will not be able to see it by default.  The fix is to add the FUSE C<allow_other> option when mounting:
uk: Якщо ви змонтуєте файлову систему від імені одного користувача (наприклад, root), інші користувачі типово не зможуть її бачити. Щоб виправити цей недолік, додайте під час монтування параметр C<allow_other> FUSE:

note: type: textblock
en: B<and> to enable this option in F</etc/fuse.conf>.
uk: B<та> для вмикання цього параметра у F</etc/fuse.conf>.

note: type: =head2
en: Enabling FUSE
uk: Вмикання FUSE

note: type: textblock
en: On some distros, you may need to add yourself to a special group (eg. C<fuse>) before you can use any FUSE filesystem.  This is necessary on Debian and derivatives.
uk: У деяких дистрибутивах користувача потрібно додати до спеціальної групи (наприклад C<fuse>), перш ніж він зможе користуватися файловими системами FUSE. Так, зокрема, влаштовано систему доступу у Debian та похідних від нього дистрибутивах.

note: type: textblock
en: On other distros, no special group is required.  It is not necessary on Fedora or Red Hat Enterprise Linux.
uk: У інших дистрибутивах, зокрема Fedora та Red Hat Enterprise Linux, членство у групі не є обов'язковим.

note: type: =head2
en: fusermount error: "Device or resource busy"
uk: Помилка fusermount: «Device or resource busy»

note: type: textblock
en: You can see this error when another process on the system jumps into the mountpoint you have just created, holding it open and preventing you from unmounting it.  The usual culprits are various GUI "indexing" programs.
uk: Ви можете побачити це повідомлення про помилку, коли інший процес у системі починає використовувати щойно створену вами точку монтування, утримуючи її відкритою і заважаючи вам її демонтувати. Звичними «винуватцями» таких проблем є різноманітні програми для індексування даних.

note: type: textblock
en: The popular workaround for this problem is to retry the C<fusermount -u> command a few times until it works (L<guestunmount(1)> does this for you).  Unfortunately this isn't a reliable fix if (for example)  the mounted filesystem is particularly large and the intruding program particularly persistent.
uk: Популярним способом обійти цю проблему є повторні спроби виконати C<fusermount -u> декілька разів, аж доки потрібну дію не буде виконано (L<guestunmount(1)> робити це за вас). На жаль, цей спосіб не є універсальним. Він не спрацює, якщо, наприклад, змонтована файлова система є доволі великою Unfortunately this isn't a reliable fix if (for example)  the mounted filesystem is particularly large and the intruding program particularly persistent.

note: type: textblock
en: A proper fix is to use a private mountpoint by creating a new mount namespace using the Linux-specific L<clone(2)>/L<unshare(2)> flag C<CLONE_NEWNS>.  Unfortunately at the moment this requires root and we would also probably need to add it as a feature to guestmount.
uk: Належним вирішенням є використання приватної точки монтування шляхом створення простору назв монтування за допомогою специфічного для Linux прапорця L<clone(2)>/L<unshare(2)> C<CLONE_NEWNS>. На жаль, у поточній версії це потребує прав доступу root. Крім того, нам, ймовірно, потрібно буде додати цю можливість до guestmount.

note: type: =head2
en: Race conditions possible when shutting down the connection
uk: Під час розірвання з'єднання можливий конфлікт через конкуренцію потоків обробки

note: type: textblock
en: When L<guestunmount(1)>/L<fusermount(1)> exits, guestmount may still be running and cleaning up the mountpoint.  The disk image will not be fully finalized.
uk: Коли L<guestunmount(1)>/L<fusermount(1)> завершує роботу, guestmount усе ще може працювати над вилученням точки монтування. Образ диска у такому випадку може вийти незавершеним.

note: type: textblock
en: This means that scripts like the following have a nasty race condition:
uk: Це означає, що скрипти, подібні до наведеного нижче, містять небезпечний потенційний конфлікт потоків обробки через конкуренцію:

note: type: verbatim
en:  guestmount -a disk.img -i /mnt
     # copy things into /mnt
     guestunmount /mnt
     # immediately try to use 'disk.img' ** UNSAFE **
uk:  guestmount -a disk.img -i /mnt
     # скопіювати дані до /mnt
     guestunmount /mnt
     # негайно спробувати використати 'disk.img' ** НЕБЕЗПЕЧНО **

note: type: textblock
en: The solution is to use the I<--pid-file> option to write the guestmount PID to a file, then after guestunmount spin waiting for this PID to exit.
uk: Рішенням є використання параметра I<--pid-file> для запису PID guestmount до файла, а потім, після guestunmount, очікування на завершення роботи цього PID.

note: type: verbatim
en:  # Save the PID of guestmount *before* calling guestunmount.
     pid="$(cat guestmount.pid)"
uk:  # Зберегти PID guestmount *до* виклику guestunmount.
     pid="$(cat guestmount.pid)"

note: type: verbatim
en:  # Unmount the filesystem.
     guestunmount /mnt
uk:  # Демонтувати файлову систему.
     guestunmount /mnt

note: type: verbatim
en:  # Now it is safe to use the disk image.
uk:  # Тепер можна безпечно користуватися образом диска.

note: type: textblock
en: Note that if you use the C<guestfs_mount_local> API directly (see L<guestfs(3)/MOUNT LOCAL>) then it is much easier to write a safe, race-free program.
uk: Зауважте, що якщо ви використовуєте програмний інтерфейс C<guestfs_mount_local> безпосередньо (див. L<guestfs(3)/ЛОКАЛЬНЕ МОНТУВАННЯ>), набагато простіше буде написати безпечну, позбавлену конфліктів програму.

note: type: textblock
en: Add a block device or virtual machine image.
uk: Додати блоковий пристрій або образ віртуальної машини.

note: type: textblock
en: Set the readdir cache timeout to I<N> seconds, the default being 60 seconds.  The readdir cache [actually, there are several semi-independent caches] is populated after a readdir(2) call with the stat and extended attributes of the files in the directory, in anticipation that they will be requested soon after.
uk: Встановити час застарівання кешу readdir у значення I<N> секунд. Типовим значенням є 60 секунд. Кеш readdir [насправді, існує декілька напівнезалежних кешів] заповнюється після виклику readdir(2) статистикою і розширеними атрибутами файлів у каталозі у сподіванні, що вони невдовзі знову знадобляться.

note: type: textblock
en: There is also a different attribute cache implemented by FUSE (see the FUSE option I<-o attr_timeout>), but the FUSE cache does not anticipate future requests, only cache existing ones.
uk: Існує також інший кеш атрибутів, реалізований за допомогою FUSE (див. параметр FUSE I<-o attr_timeout>), але кеш FUSE не розрахований на наступні виклики — його призначено лише для кешування наявних.

note: type: =item
en: B<--fd=>FD
uk: B<--fd=>ДФ

note: type: textblock
en: Specify a pipe or eventfd file descriptor.  When the mountpoint is ready to be used, guestmount writes a single byte to this file descriptor.  This can be used in conjunction with I<--no-fork> in order to run guestmount captive under another process.
uk: Вказати канал або дескриптор файла eventfd. Коли точка монтування буде готова до використання, guestmount запише один байт до цього дескриптора файла. Цим можна скористатися, у поєднанні із I<--no-fork>, щоб запустити guestmount у межах іншого процесу.

note: type: textblock
en: If you have untrusted raw-format guest disk images, you should use this option to specify the disk format.  This avoids a possible security problem with malicious guests (CVE-2010-3851).  See also L<guestfs(3)/guestfs_add_drive_opts>.
uk: Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851). Див. також <guestfs(3)/guestfs_add_drive_opts>.

note: type: textblock
en: Display help on special FUSE options (see I<-o> below).
uk: Вивести довідку щодо спеціальних параметрів FUSE (див. I<-o> нижче).

note: type: textblock
en: Display brief help and exit.
uk: Показати короткі довідкові дані і завершити роботу.

note: type: =item
en: B<-m> dev[:mountpoint[:options[:fstype]]
uk: B<-m> пристрій[:точка_монтування[:параметри[:тип_файлової_системи]]]

note: type: textblock
en: Mount the named partition or logical volume on the given mountpoint B<in the guest> (this has nothing to do with mountpoints in the host).
uk: Змонтувати вказаний за назвою розділ або логічний том до вказаної точки монтування B<у гостьовій системі> (немає нічого спільного із точками монтування у основній системі).

note: type: textblock
en: If the mountpoint is omitted, it defaults to F</>.  You have to mount something on F</>.
uk: Якщо точку монтування не вказано, типовим значенням є F</>. Вам слід змонтувати щось до F</>.

note: type: textblock
en: Don’t daemonize (or fork into the background).
uk: Не створювати фонової служби (або відгалуження у фоновий режим).

note: type: textblock
en: By default, we attempt to sync the guest disk when the FUSE mountpoint is unmounted.  If you specify this option, then we don't attempt to sync the disk.  See the discussion of autosync in the L<guestfs(3)> manpage.
uk: Типово, під час демонтування точки монтування FUSE буде виконано спробу синхронізувати диск гостьової операційної системи. Якщо ви вкажете цей параметр, спроби синхронізуватися не виконуватиметься. Див. обговорення автоматичної синхронізації на сторінці підручника L<guestfs(3)>.

note: type: =item
en: B<-o> OPTION
uk: B<-o> ПАРАМЕТР

note: type: =item
en: B<--option> OPTION
uk: B<--option> ПАРАМЕТР

note: type: textblock
en: Pass extra options to FUSE.
uk: Передати додаткові параметри FUSE.

note: type: textblock
en: To get a list of all the extra options supported by FUSE, use the command below.  Note that only the FUSE I<-o> options can be passed, and only some of them are a good idea.
uk: Щоб отримати список усіх додаткових параметрів, підтримку яких передбачено у FUSE, скористайтеся наведеною нижче командою. Зауважте, що можна передавати лише параметри FUSE I<-o> і що лише деякі з них варто насправді передавати.

note: type: textblock
en: Some potentially useful FUSE options:
uk: Деякі з потенційно корисних параметрів FUSE:

note: type: textblock
en: Allow other users to see the filesystem.  This option has no effect unless you enable it globally in F</etc/fuse.conf>.
uk: Дозволити іншим користувачам бачити файлову систему. Цей параметр не працюватиме, якщо подібне спільне використання не передбачено на загальному рівні у F</etc/fuse.conf>.

note: type: textblock
en: Enable attribute caching by FUSE, and set the timeout to I<N> seconds.
uk: Увімкнути кешування атрибутів у FUSE і встановити час застарівання у I<N> секунд.

note: type: textblock
en: Allow the kernel to cache files (reduces the number of reads that have to go through the L<guestfs(3)> API).  This is generally a good idea if you can afford the extra memory usage.
uk: Дозволити ядру кешувати файли (зменшує кількість читань, які мають пройти через програмний інтерфейс L<guestfs(3)>). Зазвичай, корисно дозволяти певне додаткове використання пам'яті.

note: type: textblock
en: Use these options to map all UIDs and GIDs inside the guest filesystem to the chosen values.
uk: Скористайтеся цими параметрами для прив'язки усіх UID та GID у гостьовій файловій системі до вибраних значень.

note: type: textblock
en: Preserve inode numbers from the underlying filesystem.
uk: Зберігати номери inode із базової файлової системи.

note: type: textblock
en: Without this option, FUSE makes up its own inode numbers.  The inode numbers you see in L<stat(2)>, C<ls -i> etc aren't the inode numbers of the underlying filesystem.
uk: Якщо цей параметр не вказано, FUSE створюватиме власні номери inode. Номери inode, які ви зазвичай бачите у L<stat(2)>, C<ls -i> тощо, не є номерами inode у базовій файловій системі.

note: type: textblock
en: B<Note> this option is potentially dangerous if the underlying filesystem consists of multiple mountpoints, as you may see duplicate inode numbers appearing through FUSE.  Use of this option can confuse some software.
uk: B<Зауваження>: використання цього параметра є потенційно небезпечним, якщо у базова файлова система складається з декількох точок монтування, оскільки у такому випадку можливе дублювання номерів inode через FUSE. Використання цього параметра може призвести до неналежної роботи частини програм.

note: type: =item
en: B<--pid-file> FILENAME
uk: B<--pid-file> НАЗВА_ФАЙЛА

note: type: textblock
en: Write the PID of the guestmount worker process to C<filename>.
uk: Записати PID робочого процесу guestmount до файла C<назва_файла>.

note: type: textblock
en: Add devices and mount everything read-only.  Also disallow writes and make the disk appear read-only to FUSE.
uk: Додавати пристрої і монтування лише у режимі читання. Це заборонить запис, а диск у FUSE буде показано як придатний лише до читання.

note: type: textblock
en: This is highly recommended if you are not going to edit the guest disk.  If the guest is running and this option is I<not> supplied, then there is a strong risk of disk corruption in the guest.  We try to prevent this from happening, but it is not always possible.
uk: Наполегливо рекомендуємо скористатися цим параметром, якщо ви не маєте намірів щодо редагування диска гостьової системи. Якщо гостьова система працює, а цей параметр I<не> вказано, існує дуже висока ймовірність пошкодити дані на диску. Ми намагаємося запобігати такому пошкодженню, але це не завжди можливо.

note: type: textblock
en: See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
uk: Див. також L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.

note: type: textblock
en: Enable verbose messages from underlying libguestfs.
uk: Уможливити докладні повідомлення від підлеглої частини libguestfs.

note: type: textblock
en: Display the program version and exit.
uk: Показати дані щодо версії програми, потім вийти.

note: type: textblock
en: See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.
uk: Див. L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>.

note: type: textblock
en: Trace libguestfs calls and entry into each FUSE function.
uk: Трасувати виклики libguestfs і заходити до кожної функції FUSE.

note: type: textblock
en: This also stops the daemon from forking into the background (see I<--no-fork>).
uk: Це також забороняє фоновій службі створювати відгалуження у фоновому режимі (див. I<--no-fork>).

note: type: textblock
en: L<guestunmount(1)>, L<fusermount(1)>, L<guestfish(1)>, L<virt-inspector(1)>, L<virt-cat(1)>, L<virt-edit(1)>, L<virt-tar(1)>, L<libguestfs-tools.conf(5)>, L<guestfs(3)/MOUNT LOCAL>, L<http://libguestfs.org/>, L<http://fuse.sf.net/>.
uk: L<guestunmount(1)>, L<fusermount(1)>, L<guestfish(1)>, L<virt-inspector(1)>, L<virt-cat(1)>, L<virt-edit(1)>, L<virt-tar(1)>, L<libguestfs-tools.conf(5)>, L<guestfs(3)/ЛОКАЛЬНЕ МОНТУВАННЯ>, L<http://libguestfs.org/>, L<http://fuse.sf.net/>.

note: type: textblock
en: guestunmount - Unmount a guestmounted filesystem
uk: guestunmount — демонтування змонтованої за допомогою guestmount файлової системи

note: type: verbatim
en:  guestunmount mountpoint
uk:  guestunmount точка_монтування

note: type: verbatim
en:  guestunmount --fd=<FD> mountpoint
uk:  guestunmount --fd=<дескрипто_файла> точка монтування

note: type: textblock
en: guestunmount is a utility to clean up mounted filesystems automatically.  L<guestmount(1)> mounts filesystems using libguestfs.  This program unmounts the filesystem when a program or script has finished with it.
uk: guestunmount — програма для автоматичного вилучення змонтованих файлових систем. L<guestmount(1)> монтує файлові системи за допомогою libguestfs. Ця програма демонтує файлову систему, коли програма або скрипт завершує роботу з нею.

note: type: textblock
en: guestunmount is a wrapper around the FUSE L<fusermount(1)> program, which must exist on the current C<PATH>.
uk: guestunmount є обгорткою навколо програми FUSE L<fusermount(1)>, яка має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної C<PATH>.

note: type: textblock
en: There are two ways to use guestunmount.  When called as:
uk: Існує два способи використання guestunmount. Якщо програму викликано так:

note: type: textblock
en: it unmounts C<mountpoint> immediately.
uk: вона демонтує точку монтування C<точка_монтування> негайно.

note: type: textblock
en: When called as:
uk: Якщо ж програму викликано так:

note: type: verbatim
en:  guestunmount --fd=FD mountpoint
uk:  guestunmount --fd=FD точка_монтування

note: type: textblock
en: it waits until the pipe C<FD> is closed.  This can be used to monitor another process and clean up its mountpoint when that process exits, as described below.
uk: програма чекатиме, аж доки не буде закрито дескриптор файла C<FD> каналу. Цим можна скористатися для спостереження за іншим процесом і вилучення точки монтування після завершення роботи процесу, як це описано нижче.

note: type: =head2
en: FROM PROGRAMS
uk: З ПРОГРАМ

note: type: textblock
en: You can just call C<guestunmount mountpoint> from the program, but a more sophisticated way to use guestunmount is to have it monitor your program so it can clean up the mount point if your program exits unexpectedly.
uk: Ви можете просто викликати C<guestunmount точка_монтування> з програми, але розумніше було б скористатися guestunmount так, щоб ця програма спостерігала за вашою програмою і вилучала точку монтування, якщо програма неочікувано завершить роботу.

note: type: textblock
en: In the program, create a pipe (eg. by calling L<pipe(2)>).  Let C<FD> be the file descriptor number of the read side of the pipe (ie. C<pipefd[0]>).
uk: У програмі створіть канал обробки (наприклад, за допомогою виклику L<pipe(2)>). Нехай C<FD> є номером дескриптора файла з боку читання у каналі (тобто C<pipefd[0]>).

note: type: textblock
en: After mounting the filesystem with L<guestmount(1)> (on C<mountpoint>), fork and run guestunmount like this:
uk: Після монтування файлової системи за допомогою L<guestmount(1)> (до точки монтування C<точка_монтування>) виконайте відгалуження (fork) і запустіть guestunmount ось так:

note: type: textblock
en: Close the read side of the pipe in the parent process.
uk: Закрийте бік читання у каналі обробки у батьківському процесі.

note: type: textblock
en: Now, when the write side of the pipe (ie. C<pipefd[1]>) is closed for any reason, either explicitly or because the parent process exits, guestunmount notices and unmounts the mountpoint.
uk: Тепер, коли з якоїсь причини буде закрито бік запису у каналі (тобто C<pipefd[1]>), явно або у результаті завершення роботи батьківського процесу, guestunmount зауважить це і демонтує точку монтування.

note: type: textblock
en: If your operating system supports it, you should set the C<FD_CLOEXEC> flag on the write side of the pipe.  This is so that other child processes don't inherit the file descriptor and keep it open.
uk: Якщо у вашій операційній системі передбачено підтримку цього, вам слід встановити прапорець C<FD_CLOEXEC> на боці запису у каналі. Таким чином ви забороните іншим дочірнім процесам успадковувати дескриптор файла і тримати його відкритим.

note: type: textblock
en: Guestunmount never daemonizes itself.
uk: Guestunmount ніколи не перетворюється на фонову службу.

note: type: =head2
en: FROM SHELL SCRIPTS
uk: ЗІ СКРИПТІВ ОБОЛОНКИ

note: type: textblock
en: Since bash doesn't provide a way to create an unnamed pipe, use a trap to call guestunmount on exit like this:
uk: Оскільки у bash не передбачено способу створення неіменованого каналу обробки, скористайтеся trap для виклику guestunmount при виході, ось так:

note: type: verbatim
en:  trap "guestunmount mountpoint" EXIT INT QUIT TERM
uk:  trap "guestunmount точка_монтування" EXIT INT QUIT TERM

note: type: textblock
en: Specify the pipe file descriptor to monitor, and delay cleanup until that pipe is closed.
uk: Вкажіть дескриптор файла каналу для спостереження і відкладіть вилучення до закриття каналу.

note: type: textblock
en: Don’t display error messages from fusermount.  The return status is still set (see L</EXIT STATUS> below).
uk: Не показувати повідомлень про помилки від fusermount. Стан повернення все одно буде встановлено (див. L</СТАН ВИХОДУ> нижче).

note: type: textblock
en: By default, guestunmount will retry the fusermount operation up to S<5 times> (that is, it will run it up to S<6 times> = S<1 try> + S<5 retries>).
uk: Типово, guestunmount виконуватиме повторні спроби fusermount аж до S<5 разів> (тобто загалом буде виконано S<6 спроб> = S<1 перша спроба> + S<5 повторних спроб>).

note: type: textblock
en: Use I<--no-retry> to make guestunmount run fusermount only once.
uk: Скористайтеся параметром I<--no-retry>, щоб наказати guestunmount запускати fusermount лише один раз.

note: type: textblock
en: Use I<--retry=N> to make guestunmount retry C<N> times instead of 5.
uk: Скористайтеся параметром I<--retry=N>, щоб наказати guestunmount виконувати C<N> повторних спроб замість 5.

note: type: textblock
en: guestunmount performs an exponential back-off between retries, waiting S<1 second>, S<2 seconds>, S<4 seconds>, etc before each retry.
uk: guestunmount збільшує час між спробами експоненційно, очікуючи S<1 секунду>, S<2 секунди>, S<4 секунди> тощо перед кожною повторною спробою.

note: type: textblock
en: The L<fusermount(1)> program (supplied by FUSE) must be available on the current C<PATH>.
uk: Програма L<fusermount(1)> (є частиною комплекту FUSE) має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної C<PATH>.

note: type: textblock
en: This program returns 0 if successful, or one of the following error codes:
uk: Ця програма повертає значення 0 у разі успішного завершення або один із таких кодів помилок:

note: type: textblock
en: Program error, eg. could not allocate memory, could not run fusermount.  See the error message printed for more information.
uk: Помилка програми, наприклад, не вдалося отримати достатній обсяг пам'яті, не вдалося запустити fusermount.  Щоб дізнатися більше, ознайомтеся із виведеним повідомленням про помилку.

note: type: textblock
en: The mount point could not be unmounted even after retrying.  See the error message printed for the underlying fusermount error.
uk: Не вдалося демонтувати точку монтування навіть після повторних спроб. Дані щодо базової помилки fusermount буде показано у виведеному повідомленні про помилку.

note: type: textblock
en: The mount point is not mounted.
uk: Точку монтування не змонтовано.

note: type: textblock
en: L<guestmount(1)>, L<fusermount(1)>, L<pipe(2)>, L<guestfs(3)/MOUNT LOCAL>, L<http://libguestfs.org/>, L<http://fuse.sf.net/>.
uk: L<guestmount(1)>, L<fusermount(1)>, L<pipe(2)>, L<guestfs(3)/ЛОКАЛЬНЕ МОНТУВАННЯ>, L<http://libguestfs.org/>, L<http://fuse.sf.net/>.

note: type: textblock
en: virt-get-kernel - Extract kernel and ramdisk from guests
uk: virt-get-kernel — видобування ядра і диска в пам'яті з гостьових систем

note: type: verbatim
en:  virt-get-kernel [--options] -d domname
uk:  virt-get-kernel [--параметри] -d назва_домену

note: type: verbatim
en:  virt-get-kernel [--options] -a disk.img
uk:  virt-get-kernel [--параметри] -a диск.img

note: type: textblock
en: This option extracts the kernel and initramfs from a guest.
uk: За допомогою цього параметра можна видобути ядро та initramfs з гостьової системи.

note: type: textblock
en: In the case where the guest contains multiple kernels, the one with the highest version number is chosen.  To extract arbitrary kernels from the disk image, see L<guestfish(1)>.  To extract the entire C</boot> directory of a guest, see L<virt-copy-out(1)>.
uk: Якщо у гостьовій системі декілька ядер, буде вибрано ядро із найбільшим номером. Щоб видобути із образу диска ядро з певним номером версії, скористайтеся L<guestfish(1)>. Щоб видобути із гостьової системи увесь вміст каталогу C</boot>, скористайтеся L<virt-copy-out(1)>.

note: type: textblock
en: This parameter sets the sector size of the disk image added with I<-a> option and is ignored for libvirt guest added with I<-d> option.  See also L<guestfs(3)/guestfs_add_drive_opts>.
uk: Цей параметр встановлює розмір сектора на образі диску, доданого за допомогою параметра I<-a>. Його буде проігноровано для гостьових систем libvirt, які додано за допомогою параметра I<-d>. Див. також L<guestfs(3)/guestfs_add_drive_opts>.

note: type: textblock
en: When prompting for keys and passphrases, virt-get-kernel normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-get-kernel попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: The default for the I<-a> option is to auto-detect the format of the disk image.  Using this forces the disk format for the I<-a> option on the command line.
uk: Типовим значенням для параметра I<-a> є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів I<-a> формату диска у рядку команди.

note: type: =item
en: B<-o> directory
uk: B<-o> каталог

note: type: =item
en: B<--output> directory
uk: B<--output> каталог

note: type: textblock
en: This option specifies the output directory where kernel and initramfs from the guest are written.
uk: Цей параметр визначає каталог виведення, куди буде записано ядро і initramfs з гостьової системи.

note: type: textblock
en: If not specified, the default output is the current directory.
uk: Якщо не вказано, типово, дані буде виведено до поточного каталогу.

note: type: =item
en: B<--prefix> prefix
uk: B<--prefix> префікс

note: type: textblock
en: This option specifies a prefix for the extracted files.
uk: За допомогою цього параметра можна вказати префікс для видобутих файлів.

note: type: textblock
en: If a prefix is specified, then there will be a dash (C<->) after the prefix and before the rest of the file name; for example, a kernel in the guest like C<vmlinuz-3.19.0-20-generic> is saved as C<mydistro-vmlinuz-3.19.0-20-generic> when the prefix is C<mydistro>.
uk: Якщо вказано префікс, програма додасть дефіс (C<->) після префікса і перед рештою назви файла. Наприклад, якщо у гостьовій системі ядро називалося C<vmlinuz-3.19.0-20-generic>, його буде збережено як C<mydistro-vmlinuz-3.19.0-20-generic>, якщо було вказано префікс C<mydistro>.

note: type: textblock
en: See also I<--unversioned-names>.
uk: Див. також I<--unversioned-names>.

note: type: textblock
en: This option affects the destination file name of extracted files.
uk: Цей параметр впливає на назву файла призначення для видобутих файлів.

note: type: textblock
en: If enabled, files will be saved locally just with the base name; for example, kernel and ramdisk in the guest like C<vmlinuz-3.19.0-20-generic> and C<initrd.img-3.19.0-20-generic> are saved respectively as C<vmlinuz> and C<initrd.img>.
uk: Якщо увімкнено, файли буде збережено локально лише з базовою назвою. Наприклад, якщо ядро та диск у пам'яті у гостьовій системі називалися C<vmlinuz-3.19.0-20-generic> та C<initrd.img-3.19.0-20-generic>, їх буде збережено, відповідно, як C<vmlinuz> та C<initrd.img>.

note: type: textblock
en: See also I<--prefix>.
uk: Див. також I<--prefix>.

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-get-kernel from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-get-kernel з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: Use the option on its own to query the capabilities of the virt-get-kernel binary.  Typical output looks like this:
uk: Скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-get-kernel. Типово виведені дані виглядатимуть якось так:

note: type: textblock
en: Copyright (C) 2013-2020 Red Hat Inc.
uk: © Red Hat Inc. 2013–2020

note: type: textblock
en: guestfs-gobject - How to use libguestfs with the GObject bindings
uk: guestfs-gobject — як використовувати libguestfs за допомогою прив'язок GObject

note: type: textblock
en: From Javascript using gjs:
uk: З Javascript за допомогою gjs:

note: type: textblock
en: This manual page documents how to call libguestfs using GObject bindings, especially from Javascript.
uk: Цю сторінку підручника присвячено опису того, як викликати libguestfs за допомогою прив'язок до GObject, особливо з Javascript.

note: type: textblock
en: Note that the GObject bindings have problems handling 64 bit values.  You should not use the GObject bindings if there are native bindings for your language.  For example, to use libguestfs from Python you are strongly advised to use the Python native bindings instead (see L<guestfs-python(3)>).
uk: Зауважте, що у прив'язок до GObject є певні проблеми із обробкою 64-бітових значень. Вам не слід використовувати прив'язки до GObject, якщо існують безпосередні прив'язки до потрібної вам мови програмування. Наприклад, щоб скористатися libguestfs у коді мовою Python, ми наполегливо рекомендуємо вам використовувати природні прив'язки до Python (див. L<guestfs-python(3)>).

note: type: textblock
en: This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: textblock
en: Using gjs, you can write a C<.js> file containing:
uk: За допомогою gjs ви можете записати файл C<.js>, який міститиме:

note: type: textblock
en: and then run it using:
uk: а потім запустити його такою командою:

note: type: verbatim
en:  gjs program.js
uk:  gjs програма.js

note: type: textblock
en: guestfs-golang - How to use libguestfs from Go
uk: guestfs-golang — як використовувати libguestfs з Go

note: type: textblock
en: This manual page documents how to call libguestfs from the Go programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Go. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head2
en: IMPORTING THE MODULE
uk: ІМПОРТУВАННЯ МОДУЛЯ

note: type: textblock
en: The module is called C<guestfs>.  The full package name to import is C<libguestfs.org/guestfs>.
uk: Модуль називається C<guestfs>. Повна назва пакунка для імпортування — C<libguestfs.org/guestfs>.

note: type: =head2
en: CREATING AND CLOSING THE HANDLE
uk: СТВОРЕННЯ І ЗАКРИТТЯ ДЕСКРИПТОРА

note: type: textblock
en: Use either C<guestfs.Create> or C<guestfs.Create_flags> to create the handle.  The handle is closed implicitly if it is garbage collected.  However it is probably a good idea to close it explicitly, either by calling S<C<g.Close ()>> or by deferring the same.
uk: Скористайтеся C<guestfs.Create> або C<guestfs.Create_flags> для створення дескриптора. Дескриптор буде закрито неявним чином під час збирання сміття. Втім, ймовірно, непогано було б закривати його явним чином шляхом виклику S<C<g.Close ()>> або відклавши ту саму команду.

note: type: =head2
en: ERRORS
uk: ПОМИЛКИ

note: type: textblock
en: C<guestfs.Create> and C<guestfs.Create_flags> return a simple C<*error>, which is really just a C C<errno> wrapped up in the appropriate golang struct.
uk: C<guestfs.Create> і C<guestfs.Create_flags> повертають простий C<*error>, який насправді є простим C<errno> з C, загорнутим у відповідну структуру golang.

note: type: textblock
en: All other calls return a C<*GuestfsError> which (if non-nil) is a richer struct that contains the error string from libguestfs, the errno (if available) and the operation which failed.  This can also be converted to a string for display.
uk: Усі інші виклики повертають C<*GuestfsError>, яка є (якщо вона непорожня) ширшою структурою, яка містить рядок помилки від libguestfs, номер помилки (якщо доступний) та дані щодо дії, яка призвела до помилки. Ці дані також можна перетворити на рядок для показу.

note: type: =head2
en: LIMITATIONS
uk: ОБМЕЖЕННЯ

note: type: textblock
en: No support for events (see L<guestfs(3)/EVENTS>).
uk: Немає підтримки подій (див. L<guestfs(3)/ПОДІЇ>).

note: type: textblock
en: UUIDs are not returned in structures.
uk: UUID не повертаються у структурах.

note: type: textblock
en: virt-inspector - Display operating system version and other information about a virtual machine
uk: virt-inspector — показ версії операційної системи та інших даних щодо віртуальної машини

note: type: verbatim
en:  virt-inspector [--options] -d domname
uk:  virt-inspector [--параметри] -d назва_домену

note: type: verbatim
en:  virt-inspector [--options] -a disk.img [-a disk.img ...]
uk:  virt-inspector [--параметри] -a диск.img [-a диск.img ...]

note: type: verbatim
en:  virt-inspector domname
uk:  virt-inspector назва_домену

note: type: verbatim
en:  virt-inspector disk.img [disk.img ...]
uk:  virt-inspector диск.img [диск.img ...]

note: type: textblock
en: B<virt-inspector> examines a virtual machine or disk image and tries to determine the version of the operating system and other information about the virtual machine.
uk: B<virt-inspector> виконує вивчення віртуальної машини або образу диска і намагається визначити версію операційної системи та інші дані щодо віртуальної машини.

note: type: textblock
en: Virt-inspector produces XML output for feeding into other programs.
uk: Virt-inspector виводить дані XML для обробки у інших програмах.

note: type: textblock
en: In the normal usage, use C<virt-inspector -d domname> where C<domname> is the libvirt domain (see: C<virsh list --all>).
uk: У звичайному режимі користуйтеся командою C<virt-inspector -d назва_домену>, де C<назва_домену> — назва домену libvirt (див. C<virsh list --all>).

note: type: textblock
en: You can also run virt-inspector directly on disk images from a single virtual machine.  Use C<virt-inspector -a disk.img>.  In rare cases a domain has several block devices, in which case you should list several I<-a> options one after another, with the first corresponding to the guest’s F</dev/sda>, the second to the guest’s F</dev/sdb> and so on.
uk: Ви також можете запускати virt-inspector безпосередньо для образів дисків з однієї віртуальної машини. Для цього слід використовувати команду C<virt-inspector -a образ.диска>. У рідкісних випадках у домені може бути декілька блокових пристроїв. У цьому випадку вам слід вказати список із декількох параметрів I<-a>, один за одним. Перший має відповідати пристрою F</dev/sda> гостьової системи, другий — пристрою F</dev/sdb> гостьової системи тощо.

note: type: textblock
en: You can also run virt-inspector on install disks, live CDs, bootable USB keys and similar.
uk: Ви також можете запускати virt-inspector для дисків для встановлення системи, образів компакт-дисків для портативних систем, призначених для завантаження образів флешок USB тощо.

note: type: textblock
en: Virt-inspector can only inspect and report upon I<one domain at a time>.  To inspect several virtual machines, you have to run virt-inspector several times (for example, from a shell script for-loop).
uk: Virt-inspector може одночасно інспектувати і створювати звіт лише для I<одного домену>. Для інспектування декількох віртуальних машин вам доведеться запускати virt-inspector декілька разів (наприклад, із циклу for скрипту оболонки).

note: type: textblock
en: Because virt-inspector needs direct access to guest images, it won’t normally work over remote libvirt connections.
uk: Оскільки virt-inspector потрібен безпосередній доступ до образів гостьової системи, програма, зазвичай, не працюватиме, якщо використовується віддалене з'єднання із libvirt.

note: type: textblock
en: All of the information available from virt-inspector is also available through the core libguestfs inspection API (see L<guestfs(3)/INSPECTION>).  The same information can also be fetched using guestfish or via libguestfs bindings in many programming languages (see L</GETTING INSPECTION DATA FROM THE LIBGUESTFS API>).
uk: Усі дані, які доступні за допомогою virt-inspector, також доступні і з основного програмного інтерфейсу інспектування libguestfs (див. L<guestfs(3)/ІНСПЕКТУВАННЯ>). Ті самі дані можна також отримати за допомогою guestfish або прив'язок до libguestfs багатьма мовами програмування (див. L</ОТРИМАННЯ ДАНИХ ІНСПЕКТУВАННЯ ЗА ДОПОМОГОЮ ПРОГРАМНОГО ІНТЕРФЕЙСУ LIBGUESTFS>).

note: type: textblock
en: Libvirt is only used if you specify a C<domname> on the command line.  If you specify guest block devices directly (I<-a>), then libvirt is not used at all.
uk: Libvirt використовуватиметься, лише якщо ви вкажете C<назву домену> у рядку команди. Якщо вказати блокові пристрої гостьових систем безпосередньо (I<-a>), libvirt не буде використовуватися взагалі.

note: type: textblock
en: When prompting for keys and passphrases, virt-inspector normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-inspector попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: Specify the format of disk images given on the command line.  If this is omitted then the format is autodetected from the content of the disk image.
uk: Визначає формат образу диска, назву якого вказано у рядку команди. Якщо формат не вказано, його буде визначено автоматично на основі вмісту образу диска.

note: type: textblock
en: If disk images are requested from libvirt, then this program asks libvirt for this information.  In this case, the value of the format parameter is ignored.
uk: Якщо вказаний диск походить з libvirt, ця програма надішле запит щодо даних до libvirt. У цьому випадку вказане значення параметра формату буде проігноровано.

note: type: textblock
en: By default the output of virt-inspector includes the list of all the applications installed in the guest, if available.
uk: Типово, виведені virt-inspector дані містять список програм, які встановлено у гостьовій системі, якщо такий список доступний.

note: type: textblock
en: Specify this option to disable this part of the resulting XML.
uk: Вкажіть цей параметр, щоб вимкнути частину XML результату.

note: type: textblock
en: By default the output of virt-inspector includes the icon of the guest, if available (see L</icon>).
uk: Типово, виведені virt-inspector дані містять список програм, які встановлено у гостьовій системі, якщо такий список доступний (див. L</icon>).

note: type: =item
en: B<--xpath> query
uk: B<--xpath> запит

note: type: textblock
en: Perform an XPath query on the XML on stdin, and print the result on stdout.  In this mode virt-inspector simply runs an XPath query; all other inspection functions are disabled.  See L</XPATH QUERIES> below for some examples.
uk: Виконати запит XPath до XML у stdin і вивести результат до stdout. У цьому режимі virt-inspector просто виконує запит XPath; усі інші функції інспектування буде вимкнено. Приклади запитів наведено у розділі L</ЗАПИТИ XPATH> нижче.

note: type: textblock
en: Previous versions of virt-inspector allowed you to write either:
uk: У попередніх версіях virt-inspector можна було використовувати або

note: type: verbatim
en:  virt-inspector guestname
uk:  virt-inspector назва_гостьової_системи

note: type: =head1
en: XML FORMAT
uk: ФОРМАТ XML

note: type: textblock
en: The virt-inspector XML is described precisely in a RELAX NG schema file F<virt-inspector.rng> which is supplied with libguestfs.  This section is just an overview.
uk: Точний опис XML virt-inspector наведено у файлі схеми RELAX NG F<virt-inspector.rng>, який постачається разом із libguestfs. Цей розділ містить лише поверхневий огляд.

note: type: textblock
en: The top-level element is E<lt>operatingsystemsE<gt>, and it contains one or more E<lt>operatingsystemE<gt> elements.  You would only see more than one E<lt>operatingsystemE<gt> element if the virtual machine is multi-boot, which is vanishingly rare in real world VMs.
uk: Елементом верхнього рівня є E<lt>operatingsystemsE<gt>. Він містить один або декілька елементів E<lt>operatingsystemE<gt>. Елементів E<lt>operatingsystemE<gt> буде декілька, лише якщо у віртуальній машині передбачено декілька варіантів завантаження. Такі випадки є дуже рідкісними у світі віртуальних машин.

note: type: textblock
en: In the E<lt>operatingsystemE<gt> tag are various optional fields that describe the operating system, its architecture, the descriptive "product name" string, the type of OS and so on, as in this example:
uk: Всередині теґу E<lt>operatingsystemE<gt> містяться різноманітні необов'язкові поля, які описують операційну систему, її архітектуру, містять описовий рядок «назва продукту», тип операційної системи тощо. Ось приклад:

note: type: textblock
en: In brief, E<lt>nameE<gt> is the class of operating system (something like C<linux> or C<windows>), E<lt>distroE<gt> is the distribution (eg. C<fedora> but many other distros are recognized) and E<lt>archE<gt> is the guest architecture.  The other fields are fairly self-explanatory, but because these fields are taken directly from the libguestfs inspection API you can find precise information from L<guestfs(3)/INSPECTION>.
uk: Якщо коротко, E<lt>nameE<gt> — клас операційної системи (щось подібне до C<linux> або C<windows>), E<lt>distroE<gt> — дистрибутив (наприклад, C<fedora>, але передбачено розпізнавання багатьох інших дистрибутивів), а E<lt>archE<gt> — архітектура гостьової системи. Інші поля мають доволі зрозуміле призначення, але оскільки ці поля взято безпосередньо з програмного інтерфейсу інспектування libguestfs, їхній повний опис можна знайти у розділі L<guestfs(3)/ІНСПЕКТУВАННЯ>.

note: type: textblock
en: The E<lt>rootE<gt> element is the root filesystem device, but from the point of view of libguestfs (block devices may have completely different names inside the VM itself).
uk: Елемент E<lt>rootE<gt> є пристроєм кореневої файлової системи, але з точки зору libguestfs (блокові пристрої можуть мати зовсім інші назви у самій віртуальній машині).

note: type: textblock
en: Un*x-like guests typically have multiple filesystems which are mounted at various mountpoints, and these are described in the E<lt>mountpointsE<gt> element which looks like this:
uk: У Un*x-подібних гостьових системах типово міститься декілька файлових систем, які монтуються як різні точки монтування. Ці файлові системи описано у елементі E<lt>mountpointsE<gt>, який виглядає ось так:

note: type: textblock
en: As with E<lt>rootE<gt>, devices are from the point of view of libguestfs, and may have completely different names inside the guest.  Only mountable filesystems appear in this list, not things like swap devices.
uk: Як і з E<lt>rootE<gt>, пристрої подано з точки зору libguestfs, отже вони можуть мати зовсім інші назви у гостьовій системі. У списку буде наведено лише монтовані файлові системи, а не щось подібне до пристроїв резервної пам'яті на диску.

note: type: textblock
en: E<lt>filesystemsE<gt> is like E<lt>mountpointsE<gt> but covers I<all> filesystems belonging to the guest, including swap and empty partitions.  (In the rare case of a multi-boot guest, it covers filesystems belonging to this OS or shared with this OS and other OSes).
uk: Елемент E<lt>filesystemsE<gt> подібний до E<lt>mountpointsE<gt>, але стосується файлових I<усіх> файлових систем, що належать гостьовій операційній системі, зокрема розділів резервної пам'яті на диску та порожніх розділів. (У рідкісних випадках гостьової системи із варіантами завантаження, цей елемент стосується файлових систем, що належать цій операційній системі або є спільними для цієї операційної системи та інших операційних систем.)

note: type: textblock
en: You might see something like this:
uk: Ви побачите щось таке:

note: type: textblock
en: The optional elements within E<lt>filesystemE<gt> are the filesystem type, the label, and the UUID.
uk: Необов'язкові елементи у E<lt>filesystemE<gt> стосуються типу, мітки та UUID файлової системи.

note: type: textblock
en: The related elements E<lt>package_formatE<gt>, E<lt>package_managementE<gt> and E<lt>applicationsE<gt> describe applications installed in the virtual machine.
uk: Пов'язані елементи E<lt>package_formatE<gt>, E<lt>package_managementE<gt> та E<lt>applicationsE<gt> описують програми, які встановлено у віртуальній машині.

note: type: textblock
en: E<lt>package_formatE<gt>, if present, describes the packaging system used.  Typical values would be C<rpm> and C<deb>.
uk: Елемент E<lt>package_formatE<gt>, якщо він є, описує використану систему пакунків. Типовими значеннями цього елемента є C<rpm> та C<deb>.

note: type: textblock
en: E<lt>package_managementE<gt>, if present, describes the package manager.  Typical values include C<yum>, C<up2date> and C<apt>
uk: Елемент E<lt>package_managementE<gt>, якщо такий є, описує засіб для керування пакунками. Серед типових значень елемента є C<yum>, C<up2date> та C<apt>.

note: type: textblock
en: E<lt>applicationsE<gt> lists the packages or applications installed.
uk: E<lt>applicationsE<gt> містить список пакунків або встановлених програм.

note: type: textblock
en: The version and release fields may not be available for some types guests.  Other fields are possible, see L<guestfs(3)/guestfs_inspect_list_applications>.
uk: Для деяких типів гостьових системи дані полів версії і випуску можуть бути недоступними. Можлива поява інших полів, див. L<guestfs(3)/guestfs_inspect_list_applications>.

note: type: textblock
en: For operating systems like Windows which use drive letters, virt-inspector is able to find out how drive letters map to filesystems.
uk: Для операційних систем, подібних до Windows, де для позначення дисків використовуються літери, virt-inspector може визначати прив'язки літер дисків до файлових систем.

note: type: textblock
en: In the example above, drive C maps to the filesystem on the second partition on the first disk, and drive E maps to the filesystem on the first partition on the second disk.
uk: У наведеному вище прикладі диск C пов'язано із файловою системою на другому розділі першого диска, диск E — із файловою системою на першому розділі другого диска.

note: type: textblock
en: Note that this only covers permanent local filesystem mappings, not things like network shares.  Furthermore NTFS volume mount points may not be listed here.
uk: Зауважте, що це стосується лише постійних прив'язок дисків, а не прив'язок, які подібні до прив'язок до спільних ресурсів у мережі. Крім того, до цього списку може бути не включено точки монтування томів NTFS.

note: type: textblock
en: Virt-inspector is sometimes able to extract an icon or logo for the guest.  The icon is returned as base64-encoded PNG data.  Note that the icon can be very large and high quality.
uk: Іноді virt-inspector може видобути піктограму або логотип гостьової системи. Піктограму буде повернуто у форматі даних PNG у кодуванні base64. Зауважте, що піктограма може бути доволі великою і дуже якісною.

note: type: verbatim
en:  <operatingsystems>
       <operatingsystem>
         ...
         <icon>
           iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]
           [... many lines of base64 data ...]
         </icon>
uk:  <operatingsystems>
       <operatingsystem>
         ...
         <icon>
           iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]
           [... багато рядків даних base64 ...]
         </icon>

note: type: textblock
en: To display the icon, you have to extract it and convert the base64 data back to a binary file.  Use an XPath query or simply an editor to extract the data, then use the coreutils L<base64(1)> program to do the conversion back to a PNG file:
uk: Для показу піктограми вам слід видобути ї і перетворити дані у кодуванні base64 знову у двійковий файл. Скористайтеся запитом XPath або простим редактором для видобування даних, а потім програмою L<base64(1)> з coreutils для перетворення цих даних на файл PNG:

note: type: verbatim
en:  base64 -i -d < icon.data > icon.png
uk:  base64 -i -d < дані.піктограми > icon.png

note: type: =head1
en: XPATH QUERIES
uk: ЗАПИТИ XPATH

note: type: textblock
en: Virt-inspector includes built in support for running XPath queries.  The reason for including XPath support directly in virt-inspector is simply that there are no good and widely available command line programs that can do XPath queries.  The only good one is L<xmlstarlet(1)> and that is not available on Red Hat Enterprise Linux.
uk: У virt-inspector передбачено вбудовану підтримку виконання запитів XPath. Причиною включення підтримкиXPath  безпосередньо до virt-inspector є те, що не існує добрих і широкодоступних засобів командного рядка, які можуть виконувати запити XPath. Єдиним добрим засобом є L<xmlstarlet(1)>, але ця програма недоступна у Red Hat Enterprise Linux.

note: type: textblock
en: To perform an XPath query, use the I<--xpath> option.  Note that in this mode, virt-inspector simply reads XML from stdin and outputs the query result on stdout.  All other inspection features are disabled in this mode.
uk: Для виконання запиту XPath скористайтеся параметром I<--xpath>. Зауважте, що у цьому режимі virt-inspector просто читає XML зі stdin і виводить результат запиту до stdout. Усі інші можливості інспектування у цьому режимі вимкнено.

note: type: verbatim
en:  $ virt-inspector -d Guest | \
         virt-inspector --xpath 'string(//icon)' | base64 -i -d | display -
     [displays the guest icon, if there is one]
uk:  $ virt-inspector -d Guest | \
         virt-inspector --xpath 'string(//icon)' | base64 -i -d | display -
     [показує піктограму гостьової системи, якщо така існує]

note: type: =head1
en: GETTING INSPECTION DATA FROM THE LIBGUESTFS API
uk: ОТРИМАННЯ ДАНИХ ІНСПЕКТУВАННЯ ЗА ДОПОМОГОЮ ПРОГРАМНОГО ІНТЕРФЕЙСУ LIBGUESTFS

note: type: textblock
en: In early versions of libguestfs, virt-inspector was a large Perl script that contained many heuristics for inspecting guests.  This had several problems: in order to do inspection from other tools (like guestfish) we had to call out to this Perl script; and it privileged Perl over other languages that libguestfs supports.
uk: У ранніх версіях libguestfs virt-inspector був великим скриптом Perl, до якого було включено багато евристики для інспектування гостьових систем. Цей підхід мав декілька проблем: для виконання інспектування з інших інструментів (зокрема guestfish) нам доводилося викликати цей скрипт Perl; він ставив у пріоритетне становище Perl над іншими мовами програмування, підтримку яких передбачено у libguestfs.

note: type: textblock
en: By libguestfs 1.8 we had rewritten the Perl code in C, and incorporated it all into the core libguestfs API (L<guestfs(3)>).  Now virt-inspector is simply a thin C program over the core C API.  All of the inspection information is available from all programming languages that libguestfs supports, and from guestfish.
uk: До libguestfs 1.8 ми переписали код Perl на C і включили його до програмного інтерфейсу основи libguestfs (L<guestfs(3)>). Тепер virt-inspector є простим тонким прошарком C над основним програмним інтерфейсом мовою C. Усі дані інспектування доступні з усіх мов програмування, підтримку яких передбачено у libguestfs, і з guestfish.

note: type: textblock
en: For a description of the C inspection API, read L<guestfs(3)/INSPECTION>.
uk: Опис програмного інтерфейсу інспектування мовою C наведено у розділі L<guestfs(3)/ІНСПЕКТУВАННЯ>.

note: type: textblock
en: For example code using the C inspection API, look for F<inspect-vm.c> which ships with libguestfs.
uk: Приклад коду, де використовується програмний інтерфейс інспектування мовою C, наведено у файлі F<inspect-vm.c>, який постачається разом із libguestfs.

note: type: textblock
en: F<inspect-vm.c> has also been translated into other languages.  For example, F<inspect_vm.pl> is the Perl translation, and there are other translations for OCaml, Python, etc.  See L<guestfs(3)/USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES> for a list of man pages which contain this example code.
uk: Крім того, F<inspect-vm.c> трансльовано іншими мовами програмування. Наприклад, F<inspect_vm.pl> є трансляцією на Perl. Також передбачено інші трансляції на OCaml, Python тощо. Див. L<guestfs(3)/ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ>, де наведено список сторінок підручника, де містяться приклади коду.

note: type: =head2
en: GETTING INSPECTION DATA FROM GUESTFISH
uk: ОТРИМАННЯ ДАНИХ ІНСПЕКТУВАННЯ ВІД GUESTFISH

note: type: textblock
en: If you use the guestfish I<-i> option, then the main C inspection API L<guestfs(3)/guestfs_inspect_os> is called.  This is equivalent to the guestfish command C<inspect-os>.  You can also call this guestfish command by hand.
uk: Якщо ви використовуєте параметр guestfish I<-i>, викликається основний програмний інтерфейс інспектування L<guestfs(3)/guestfs_inspect_os> мовою C. Це еквівалент команди guestfish C<inspect-os>. Ви також можете викликати цю команду guestfish вручну.

note: type: textblock
en: C<inspect-os> performs inspection on the current disk image, returning the list of operating systems found.  Each OS is represented by its root filesystem device.  In the majority of cases, this command prints nothing (no OSes found), or a single root device, but beware that it can print multiple lines if there are multiple OSes or if there is an install CD attached to the guest.
uk: C<inspect-os> виконує інспектування поточного образу диска, повертаючи список знайдених операційних систем. Кожну операційну систему представлено її пристроєм кореневої файлової системи. У більшості випадків ця команда не виводить ніяких даних (не знайдено жодної операційної системи) або виводить єдиний кореневий пристрій, але ви маєте зважати на те, що ця команда може вивести декілька рядків, якщо у образі декілька операційних систем або із гостьовою системою з'єднано компакт-диск для встановлення.

note: type: textblock
en: Using the root device, you can fetch further information about the guest:
uk: За допомогою кореневого пристрою ви можете отримати подальшу інформацію щодо гостьової системи:

note: type: textblock
en: Limitations of guestfish make it hard to assign the root device to a variable (since guestfish doesn't have variables), so if you want to do this reproducibly you are better off writing a script using one of the other languages that the libguestfs API supports.
uk: Обмеження guestfish ускладнюють прив'язку кореневого пристрою до змінної (оскільки у guestfish немає змінних), отже, якщо вам потрібно робити це декілька разів, варто написати скрипт якоюсь іншою мовою програмування, підтримку якої передбачено програмним інтерфейсом libguestfs.

note: type: textblock
en: To list applications, you have to first mount up the disks:
uk: Для отримання списку програм вам спочатку слід змонтувати диски:

note: type: textblock
en: and then call the inspect-list-applications API:
uk: а далі викличте програмний інтерфейс inspect-list-applications:

note: type: textblock
en: To display an icon for the guest, note that filesystems must also be mounted as above.  You can then do:
uk: Зауважте, що для показу піктограми гостьової системи файлові системи має бути змонтовано у означений вище спосіб. Далі, ви можете зробити так:

note: type: =head1
en: OLD VERSIONS OF VIRT-INSPECTOR
uk: ПОПЕРЕДНІ ВЕРСІЇ VIRT-INSPECTOR

note: type: textblock
en: As described above, early versions of libguestfs shipped with a different virt-inspector program written in Perl (the current version is written in C).  The XML output of the Perl virt-inspector was different and it could also output in other formats like text.
uk: Як ми вже вказували вище, ранні версії libguestfs постачалися із іншою програмою virt-inspector, написаною на Perl (поточну версію написано на C). Виведені дані XML virt-inspector на Perl були іншими, програма також могла виводити дані у інших форматах, зокрема текстовому.

note: type: textblock
en: The old virt-inspector is no longer supported or shipped with libguestfs.
uk: Підтримку застарілої версії virt-inspector припинено, вона більше не постачається з libguestfs.

note: type: textblock
en: To confuse matters further, in Red Hat Enterprise Linux 6 we ship two versions of virt-inspector with different names:
uk: Крім того, до непорозумінь може призвести і те, що разом із Red Hat Enterprise Linux 6 ми постачаємо дві версії virt-inspector із різними назвами:

note: type: verbatim
en:  virt-inspector     Old Perl version.
     virt-inspector2    New C version.
uk:  virt-inspector     Стара версія на Perl.
     virt-inspector2    Нова версія на C.

note: type: textblock
en: guestfs-java - How to use libguestfs from Java
uk: guestfs-java — як користуватися libguestfs з коду на Java

note: type: textblock
en: This manual page documents how to call libguestfs from the Java programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Java. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head2
en: CLOSING THE HANDLE
uk: ЗАКРИТТЯ ДЕСКРИПТОРА

note: type: textblock
en: The handle is closed when it is reaped by the garbage collector.  Because libguestfs handles include a lot of state, it is also possible to close (and hence free) them explicitly by calling the C<close> method.
uk: Дескриптор закривається, коли його вилучає засіб збирання сміття у системі. Оскільки дескриптори libguestfs у значній мірі керуються станами, можна закрити (і отже, звільнити) дескриптор явним чином, викликавши метод C<close>.

note: type: =head2
en: EXCEPTIONS
uk: ВИНЯТКИ

note: type: textblock
en: Errors from libguestfs functions are mapped into the C<LibGuestFSException> exception.  This has a single parameter which is the error message (a C<String>).
uk: Помилки функцій libguestfs пов'язуються із виключенням C<LibGuestFSException>. Виключення містить єдиний параметр, яким є повідомлення про помилку (параметр C<String>).

note: type: textblock
en: Calling any method on a closed handle raises the same exception.
uk: Спроба викликати будь-який метод для закритого дескриптора призведе до надсилання однакового виключення.

note: type: textblock
en: If L<malloc(3)> or some other allocation fails inside the bindings, the C<LibGuestFSOutOfMemory> exception is thrown.
uk: Якщо у прив'язках станеться помилка L<malloc(3)> або якоїсь іншої функції отримання пам'яті, буде надіслано виключення C<LibGuestFSOutOfMemory>.

note: type: =head2
en: EVENTS
uk: ПОДІЇ

note: type: textblock
en: The L<libguestfs event API|guestfs(3)/EVENTS> is fully supported from Java.  Create a class which implements the C<EventCallback> interface, create an instance of this class, and then call the C<GuestFS#set_event_callback> method to register this instance.  The C<event> method of the class is called when libguestfs generates an event.
uk: З боку Java реалізовано повну підтримку L<програмного інтерфейсу подій libguestfs|guestfs(3)/ПОДІЇ>. Створіть клас, який реалізує інтерфейс C<EventCallback>, створіть екземпляр цього класу, а потім викличте метод C<GuestFS#set_event_callback> для реєстрації цього екземпляра. Метод C<event> класу викликається, коли libguestfs створює повідомлення про подію.

note: type: textblock
en: For example, this will print all trace events:
uk: Наприклад, такий код виводить усі події трасування:

note: type: verbatim
en:  GuestFS g = new GuestFS ();
     g.set_trace (true);
     g.set_event_callback (
       new EventCallback () {
         public void event (long event, int eh,
                            String buffer, long[] array) {
           System.out.println (GuestFS.eventToString (event) +
                               ": " + buffer);
         }
       },
       GuestFS.EVENT_TRACE);
     g.add_drive_ro ("disk.img");
     // etc.
uk:  GuestFS g = new GuestFS ();
     g.set_trace (true);
     g.set_event_callback (
       new EventCallback () {
         public void event (long event, int eh,
                            String buffer, long[] array) {
           System.out.println (GuestFS.eventToString (event) +
                               ": " + buffer);
         }
       },
       GuestFS.EVENT_TRACE);
     g.add_drive_ro ("disk.img");
     // тощо

note: type: textblock
en: The output looks similar to this:
uk: Виведені дані будуть подібними до таких:

note: type: verbatim
en:  EVENT_TRACE: add_drive_ro "disk.img"
     EVENT_TRACE: add_drive_ro = 0
     // etc.
uk:  EVENT_TRACE: add_drive_ro "disk.img"
     EVENT_TRACE: add_drive_ro = 0
     // тощо

note: type: textblock
en: Some methods take an optional map of optional parameters.  An example of this is C<g.add_drive> which can be called in one of two ways:
uk: Деяким методам передається необов'язкова карта додаткових параметрів. Прикладом таких методів є метод C<g.add_drive>, який можна викликати в один з двох способів:

note: type: textblock
en: or with optional arguments:
uk: або за допомогою додаткових аргументів:

note: type: textblock
en: For more information on this topic, see L<guestfs(3)/CALLS WITH OPTIONAL ARGUMENTS>.
uk: Щоб дізнатися більше про цю тему, див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

note: type: =head3
en: Optional handle parameters
uk: Необов'язкові параметри дескриптора

note: type: textblock
en: When creating the handle you can also pass a map of optional parameters:
uk: При створенні дескриптора ви також можете передати карту необов'язкових параметрів:

note: type: textblock
en: For more information, see L<guestfs(3)/guestfs_create_flags>.
uk: Докладніший опис можна знайти тут: L<guestfs(3)/guestfs_create_flags>.

note: type: =head1
en: COMPILING AND RUNNING
uk: ЗБИРАННЯ І ЗАПУСК

note: type: textblock
en: Libguestfs for Java is a Java Native Interface (JNI) extension, supplied in three parts:
uk: Libguestfs для Java є розширенням Java Native Interface (JNI), яке поділено на три частини:

note: type: =item
en: F<libguestfs-I<VERSION>.jar>
uk: F<libguestfs-I<ВЕРСІЯ>.jar>

note: type: textblock
en: The pure Java JAR file which contains several classes, the primary one being C<com.redhat.et.libguestfs.GuestFS>.  Upstream, the JAR file contains a version number in the filename, but some Linux distros may rename it without the version number.
uk: Файл JAR з кодом суто Java, який містить декілька класів, основним з яких є C<com.redhat.et.libguestfs.GuestFS>. У основній гілці розробки назва файла JAR містить номер версії, але у деяких дистрибутивах Linux файл перейменовують так, щоб у назві не було номера версії.

note: type: textblock
en: The JNI code (written in C).  This contains private native functions that interface between Java code and the regular libguestfs C library.  You should B<not> call these directly.
uk: Код JNI (написаний на C). Ця частина містить приватні функції інтерфейсу між кодом Java і звичайною бібліотекою libguestfs, яку написано на C. Вам B<не слід> викликати ці функції безпосередньо.

note: type: textblock
en: The regular libguestfs C library.
uk: Типова бібліотека C libguestfs.

note: type: textblock
en: To compile your Java program, you need to locate the JAR file and add it to the class path.  For example:
uk: Для збирання вашої програми мовою Java вам слід встановити розташування файла JAR і додати його до шляху до класів. Приклад:

note: type: textblock
en: To run your Java program, you also need to ensure that the JAR file is on the class path, as well as the path of your program.  For example:
uk: Для запуску вашої програми Java вам також потрібно впевнитися, що файл JAR перебуває у каталозі зі шляху до класів, а також є частиною вашої програми. Приклад:

note: type: textblock
en: This function returns 0 on success or -1 on error.
uk: Ця функція повертає 0 у разі успіху і -1 у разі помилки.

note: type: textblock
en: This function depends on the feature C<acl>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<acl>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.19.63)
uk: (Додано у 1.19.63)

note: type: textblock
en: This function returns a string, or NULL on error.  I<The caller must free the returned string after use>.
uk: Ця функція повертає рядок або NULL, якщо станеться помилка. I<Після використання функція, яка викликає цю функцію, має звільнити повернутий рядок>.

note: type: textblock
en: You should use numeric UIDs and GIDs.  To map usernames and groupnames to the correct numeric ID in the context of the guest, use the Augeas functions (see C<guestfs_aug_init>).
uk: Вам слід використовувати числові значення UID і GID. Щоб пов'язати імена користувачів та назви груп із правильними значенням ідентифікаторів у контексті гостьової системи, скористайтеся функціями Augeas (див. C<guestfs_aug_init>).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_add_drive_ro> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_add_drive_ro>.

note: type: textblock
en: The image is added as read-only drive, so this function is equivalent of C<guestfs_add_drive_ro>.
uk: Образ додається як придатний лише для читання диск, отже ця функція еквівалентна до C<guestfs_add_drive_ro>.

note: type: textblock
en: (Added in 0.3)
uk: (Додано у 0.3)

note: type: textblock
en: You may supply a list of optional arguments to this call.  Use zero or more of the following pairs of parameters, and terminate the list with C<-1> on its own.  See L</CALLS WITH OPTIONAL ARGUMENTS>.
uk: У цьому виклику можна вказати список необов'язкових аргументів. Ви можете не використати жодного або використати декілька з вказаних нижче пар параметрів і завершити список за допомогою C<-1>. Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

note: type: textblock
en: This function adds the disk(s) attached to the named libvirt domain C<dom>.  It works by connecting to libvirt, requesting the domain and domain XML from libvirt, parsing it for disks, and calling C<guestfs_add_drive_opts> on each one.
uk: Ця функція додає диски, долучені до вказаного за назвою домену libvirt C<dom>. Вона працює шляхом з'єднання із libvirt, 
     надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих даних для дисків і виклику C<guestfs_add_drive_opts> для кожного з дисків.

note: type: textblock
en: If present, the value of C<logical_block_size> attribute of E<lt>blockio/E<gt> tag in libvirt XML will be passed as C<blocksize> parameter to C<guestfs_add_drive_opts>.
uk: Якщо наявне, значення атрибута C<logical_block_size> теґу E<lt>blockio/E<gt> tag у XML libvirt буде передано як параметр C<blocksize> до C<guestfs_add_drive_opts>.

note: type: textblock
en: The other optional parameters are passed directly through to C<guestfs_add_drive_opts>.
uk: Інші необов'язкові параметри передаються безпосередньо до C<guestfs_add_drive_opts>.

note: type: textblock
en: On error this function returns -1.
uk: У разі помилки цією функцією буде повернуто -1.

note: type: textblock
en: (Added in 1.7.4)
uk: (Додано у 1.7.4)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_add_domain>.
uk: Це «варіант з va_list» L</guestfs_add_domain>.

note: type: textblock
en: See L</CALLS WITH OPTIONAL ARGUMENTS>.
uk: Див. L</ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_add_domain>.
uk: Це «варіант з argv» L</guestfs_add_domain>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_add_drive_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_add_drive_opts> без додаткових аргументів.

note: type: textblock
en: When this function is called before C<guestfs_launch> (the usual case) then the first time you call this function, the disk appears in the API as F</dev/sda>, the second time as F</dev/sdb>, and so on.
uk: Якщо цю функцію викликають до C<guestfs_launch> (типовий випадок), тоді, коли ви вперше викликаєте цю функцію, диск з'являється у програмному інтерфейсі як F</dev/sda>, другого разу — F</dev/sdb>, тощо.

note: type: textblock
en: This forces the image format.  If you omit this (or use C<guestfs_add_drive> or C<guestfs_add_drive_ro>) then the format is automatically detected.  Possible formats include C<raw> and C<qcow2>.
uk: Примусово встановлює формат образу. Якщо ви не вкажете його (або скористаєтеся C<guestfs_add_drive> чи C<guestfs_add_drive_ro>), формат визначатиметься автоматично. Серед можливих форматів C<raw> і C<qcow2>.

note: type: textblock
en: This rarely-used option lets you emulate the behaviour of the deprecated C<guestfs_add_drive_with_if> call (q.v.)
uk: Цей рідкісний параметр надає вам змогу емулювати поведінку застарілого виклику C<guestfs_add_drive_with_if> (q.v.)

note: type: textblock
en: Enable or disable discard (a.k.a. trim or unmap) support on this drive.  If enabled, operations such as C<guestfs_fstrim> will be able to discard / make thin / punch holes in the underlying host file or device.
uk: Увімкнути або вимкнути підтримку відкидання (або обрізання чи скасовування прив'язки) для цього диска. Якщо увімкнено, дії, подібні до C<guestfs_fstrim> зможуть відкидати / утоншувати / пробивати дірки у підлеглому файлі або пристрої основної системи.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_add_drive_opts>.
uk: Це «варіант з va_list» L</guestfs_add_drive_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_add_drive_opts>.
uk: Це «варіант з argv» L</guestfs_add_drive_opts>.

note: type: textblock
en: This function is the equivalent of calling C<guestfs_add_drive_opts> with the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the disk is added read-only, with the format being detected automatically.
uk: Ця функція є еквівалентом виклику C<guestfs_add_drive_opts> із додатковим параметром C<GUESTFS_ADD_DRIVE_OPTS_READONLY>, який встановлено у значення 1, отже диск додається лише для читання, а формат визначається автоматично.

note: type: textblock
en: (Added in 1.0.38)
uk: (Додано у 1.0.38)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_add_drive> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_add_drive>.

note: type: textblock
en: This is the same as C<guestfs_add_drive_ro> but it allows you to specify the QEMU interface emulation to use at run time.
uk: Те саме, що і C<guestfs_add_drive_ro>, але надає вам змогу вказати емуляцію інтерфейсу QEMU, яку буде використано під час роботи.

note: type: textblock
en: (Added in 1.0.84)
uk: (Додано у 1.0.84)

note: type: textblock
en: The optional arguments C<name>, C<label> and C<blocksize> are passed through to C<guestfs_add_drive_opts>.
uk: Додаткові аргументи C<name>, C<label> і C<blocksize> передаються до C<guestfs_add_drive_opts>.

note: type: textblock
en: (Added in 1.23.10)
uk: (Додано у 1.23.10)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_add_drive_scratch>.
uk: Це «варіант з va_list» L</guestfs_add_drive_scratch>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_add_drive_scratch>.
uk: Це «варіант з argv» L</guestfs_add_drive_scratch>.

note: type: textblock
en: This is the same as C<guestfs_add_drive> but it allows you to specify the QEMU interface emulation to use at run time.
uk: Те саме, що і C<guestfs_add_drive>, але надає вам змогу вказати емуляцію інтерфейсу QEMU, яку буде використано під час роботи.

note: type: textblock
en: This function adds the disk(s) attached to the libvirt domain C<dom>.  It works by requesting the domain XML from libvirt, parsing it for disks, and calling C<guestfs_add_drive_opts> on each one.
uk: Ця функція додає диски, долучені до вказаного за назвою домену libvirt C<dom>. Вона працює шляхом з'єднання із libvirt, 
     надсилання запиту щодо домену і XML домену до libvirt, обробки отриманих даних для дисків і виклику C<guestfs_add_drive_opts> для кожного з дисків.

note: type: textblock
en: In the C API we declare C<void *dom>, but really it has type C<virDomainPtr dom>.  This is so we don't need E<lt>libvirt.hE<gt>.
uk: У програмному інтерфейсі мовою C ми оголошуємо C<void *dom>, але насправді типом змінної є C<virDomainPtr dom>. Так зроблено, щоб нам не потрібна була E<lt>libvirt.hE<gt>.

note: type: textblock
en: The optional C<readonlydisk> parameter controls what we do for disks which are marked E<lt>readonly/E<gt> in the libvirt XML.  See C<guestfs_add_domain> for possible values.
uk: Необов'язковий параметр C<readonlydisk> керує тим, що ми робимо із дисками, які позначено як E<lt>readonly/E<gt> у XML libvirt. Можливі значення описано у довідці щодо C<guestfs_add_domain>.

note: type: textblock
en: (Added in 1.29.14)
uk: (Додано у 1.29.14)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_add_libvirt_dom>.
uk: Це «варіант з va_list» L</guestfs_add_libvirt_dom>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_add_libvirt_dom>.
uk: Це «варіант з argv» L</guestfs_add_libvirt_dom>.

note: type: textblock
en: (Added in 1.3.4)
uk: (Додано у 1.3.4)

note: type: textblock
en: Close the current Augeas handle and free up any resources used by it.  After calling this, you have to call C<guestfs_aug_init> again before you can use any other Augeas functions.
uk: Закрити поточний дескриптор Augeas і вивільнити усі ресурси, які ним використовуються. Після виклику слід викликати C<guestfs_aug_init> ще раз, перш ніж ви зможете скористатися будь-якими іншими функціями Augeas.

note: type: textblock
en: (Added in 0.7)
uk: (Додано у 0.7)

note: type: textblock
en: If C<expr> evaluates to an empty nodeset, a node is created, equivalent to calling C<guestfs_aug_set> C<expr>, C<val>.  C<name> will be the nodeset containing that single node.
uk: Якщо використання виразу C<вираз> дає порожній набір вузлів, створюється вузол. Еквівалент виклику C<guestfs_aug_set> C<expr>, C<val>. C<назва> буде мати значення набору вузлів, який містить єдиний створений вузол.

note: type: textblock
en: This function returns a C<struct guestfs_int_bool *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_int_bool> after use>.
uk: Ця функція повертає C<struct guestfs_int_bool *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_int_bool>>.

note: type: textblock
en: You must call this before using any other C<guestfs_aug_*> commands.
uk: Вам слід викликати цю команду до використання будь-яких інших команд C<guestfs_aug_*>.

note: type: textblock
en: This option is only useful when debugging Augeas lenses.  Use of this option may require additional memory for the libguestfs appliance.  You may need to set the C<LIBGUESTFS_MEMSIZE> environment variable or call C<guestfs_set_memsize>.
uk: Цей параметр буде корисним, лише якщо ви виконуєте діагностику лінз Augeas. Використання цього параметра може потребувати додаткової пам'яті для базової системи libguestfs. Ймовірно, вам варто встановити відповідне значення для змінної середовища C<LIBGUESTFS_MEMSIZE> або викликати C<guestfs_set_memsize>.

note: type: textblock
en: Do not load the tree in C<guestfs_aug_init>.
uk: Не завантажувати ієрархію у C<guestfs_aug_init>.

note: type: textblock
en: To close the handle, you can call C<guestfs_aug_close>.
uk: Щоб закрити дескриптор, ви можете викликати C<guestfs_aug_close>.

note: type: textblock
en: (Added in 1.23.14)
uk: (Додано у 1.23.14)

note: type: textblock
en: This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and sorting the resulting nodes into alphabetical order.
uk: Скорочена форма запису для побудови списку C<guestfs_aug_match> C<шлях/*> і упорядковування вузлів-результатів за абеткою.

note: type: textblock
en: This function returns a NULL-terminated array of strings (like L<environ(3)>), or NULL if there was an error.  I<The caller must free the strings and the array after use>.
uk: Ця функція повертає масив рядків із завершальним NULL (подібно до L<environ(3)>) або NULL, якщо сталася помилка. I<Після використання слід звільнити рядки і масив>.

note: type: textblock
en: (Added in 0.8)
uk: (Додано у 0.8)

note: type: textblock
en: The flags which were passed to C<guestfs_aug_init> affect exactly how files are saved.
uk: Прапорці, які передаються C<guestfs_aug_init> впливають на те, як саме буде збережено файли.

note: type: textblock
en: In the Augeas API, it is possible to clear a node by setting the value to NULL.  Due to an oversight in the libguestfs API you cannot do that with this call.  Instead you must use the C<guestfs_aug_clear> call.
uk: У програмному інтерфейсі Augeas можна спорожняти вузол наданням йому значення NULL. Через недогляд у програмному інтерфейсі libguestfs ви не зможете цього робити за допомогою цього виклику. Замість цього, доведеться викликати C<guestfs_aug_clear>.

note: type: textblock
en: (Added in 1.35.2)
uk: (Додано у 1.35.2)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_aug_transform>.
uk: Це «варіант з va_list» L</guestfs_aug_transform>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_aug_transform>.
uk: Це «варіант з argv» L</guestfs_aug_transform>.

note: type: textblock
en: The libguestfs groups, and the functions that those groups correspond to, are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at runtime by calling C<guestfs_available_all_groups>.
uk: Список груп libguestfs та функцій, яким відповідають ці групи, наведено у розділі L<guestfs(3)/ДОСТУПНІСТЬ>. Ви також можете отримати цей список у робочому режимі викликом C<guestfs_available_all_groups>.

note: type: textblock
en: C<guestfs_feature_available> is the same as this call, but with a slightly simpler to use API: that call returns a boolean true/false instead of throwing an error.
uk: C<guestfs_feature_available> є тим самим, що і цей виклик, але із дещо простішим у користуванні програмним інтерфейсом: цей виклик повертає булеве true/false замість надсилання повідомлення про помилку.

note: type: textblock
en: You must call C<guestfs_launch> before calling this function.
uk: Вам слід викликати C<guestfs_launch> до виклику цієї функції.

note: type: textblock
en: This call was added in version C<1.0.80>.  In previous versions of libguestfs all you could do would be to speculatively execute a command to find out if the daemon implemented it.  See also C<guestfs_version>.
uk: Цей виклик було додано у версії C<1.0.80>. У попередніх версіях libguestfs усе, що ви могли зробити, це спробувати виконати команду, щоб визначити, чи реалізовано її у фоновій службі. Див. також C<guestfs_version>.

note: type: textblock
en: See also C<guestfs_filesystem_available>.
uk: Див. також C<guestfs_filesystem_available>.

note: type: textblock
en: (Added in 1.0.80)
uk: (Додано у 1.0.80)

note: type: textblock
en: This command returns a list of all optional groups that this daemon knows about.  Note this returns both supported and unsupported groups.  To find out which ones the daemon can actually support you have to call C<guestfs_available> / C<guestfs_feature_available> on each member of the returned list.
uk: Ця команда повертає список усіх додаткових груп, про які знає ця фонова служба. Зауважте, що буде повернуто список підтримуваних і непідтримуваних груп. Щоб визначити групи, підтримку яких передбачено у фоновій службі, вам слід викликати C<guestfs_available> / C<guestfs_feature_available> для кожного запису із повернутого списку.

note: type: textblock
en: See also C<guestfs_available>, C<guestfs_feature_available> and L<guestfs(3)/AVAILABILITY>.
uk: Див. також C<guestfs_available>, C<guestfs_feature_available> і L<guestfs(3)/AVAILABILITY>.

note: type: textblock
en: (Added in 1.3.15)
uk: (Додано у 1.3.15)

note: type: textblock
en: (Added in 1.3.5)
uk: (Додано у 1.3.5)

note: type: textblock
en: This operation requires support in libguestfs, the host filesystem, qemu and the host kernel.  If this support isn't present it may give an error or even appear to run but do nothing.  You must also set the C<discard> attribute on the underlying drive (see C<guestfs_add_drive_opts>).
uk: Ця операція потребує підтримки у libguestfs, файловій системі основної системи, qemu та ядрі основної системи. Якщо цієї підтримки немає, операція призведе до помилки або навіть виконуватиметься, але без усіляких наслідків. Вам слід встановити атрибут C<discard> на підлеглому диску (див. C<guestfs_add_drive_opts>).

note: type: textblock
en: This function depends on the feature C<blkdiscard>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<blkdiscard>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.25.44)
uk: (Додано у 1.25.44)

note: type: textblock
en: This call returns true if blocks on C<device> that have been discarded by a call to C<guestfs_blkdiscard> are returned as blocks of zero bytes when read the next time.
uk: Цей виклик повертає true, якщо блоки на пристрої C<пристрій>, які було відкинуто викликом C<guestfs_blkdiscard>, повернуто як блоки у нуль байтів під час наступного читання.

note: type: textblock
en: This function returns a C truth value on success or -1 on error.
uk: Ця функція повертає значення true з C у разі успіху і -1 у разі помилки.

note: type: textblock
en: This function depends on the feature C<blkdiscardzeroes>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<blkdiscardzeroes>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This function returns a NULL-terminated array of strings, or NULL if there was an error.  The array of strings will always have length C<2n+1>, where C<n> keys and values alternate, followed by the trailing NULL entry.  I<The caller must free the strings and the array after use>.
uk: Ця функція повертає масив рядків із завершальним NULL (подібно до L<environ(3)>) або NULL, якщо сталася помилка. Масив рядків завжди матиме довжину C<2n+1>, значення C<n> ключів і значень йтимуть одне за одним послідовно, завершуючись кінцевим записом NULL. I<Після використання слід звільнити рядки і масив>.

note: type: textblock
en: (Added in 1.15.9)
uk: (Додано у 1.15.9)

note: type: textblock
en: (Added in 1.9.3)
uk: (Додано у 1.9.3)

note: type: textblock
en: See also C<guestfs_blockdev_getsz>.
uk: Див. також C<guestfs_blockdev_getsz>.

note: type: textblock
en: (Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for that).
uk: (Зауважте, що це не розмір у секторах. Щоб отримати розмір у секторах, скористайтеся C<guestfs_blockdev_getsz>).

note: type: textblock
en: See also C<guestfs_blockdev_getss> for the real sector size of the device, and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>.
uk: Див. також C<guestfs_blockdev_getss>, щоб дізнатися справжній розмір сектора пристрою, і C<guestfs_blockdev_getsize64> для отримання кориснішого I<розміру у байтах>.

note: type: textblock
en: If you need to set the filesystem block size, use the C<blocksize> option of C<guestfs_mkfs>.
uk: Якщо вам потрібно встановити розмір блоку файлової системи, скористайтеся параметром C<blocksize> C<guestfs_mkfs>.

note: type: textblock
en: (Added in 1.29.10)
uk: (Додано у 1.29.10)

note: type: textblock
en: This function depends on the feature C<btrfs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<btrfs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.29.22)
uk: (Додано у 1.29.22)

note: type: textblock
en: This function returns a C<struct guestfs_btrfsbalance *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_btrfsbalance> after use>.
uk: Ця функція повертає C<struct guestfs_btrfsbalance *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_btrfsbalance>>.

note: type: textblock
en: (Added in 1.29.26)
uk: (Додано у 1.29.26)

note: type: textblock
en: (Added in 1.17.35)
uk: (Додано у 1.17.35)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_filesystem_defragment>.
uk: Це «варіант з va_list» L</guestfs_btrfs_filesystem_defragment>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_filesystem_defragment>.
uk: Це «варіант з argv» L</guestfs_btrfs_filesystem_defragment>.

note: type: textblock
en: (Added in 1.11.17)
uk: (Додано у 1.11.17)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_filesystem_resize>.
uk: Це «варіант з va_list» L</guestfs_btrfs_filesystem_resize>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_filesystem_resize>.
uk: Це «варіант з argv» L</guestfs_btrfs_filesystem_resize>.

note: type: textblock
en: (Added in 1.33.29)
uk: (Додано у 1.33.29)

note: type: textblock
en: (Added in 1.17.43)
uk: (Додано у 1.17.43)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_fsck>.
uk: Це «варіант з va_list» L</guestfs_btrfs_fsck>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_fsck>.
uk: Це «варіант з argv» L</guestfs_btrfs_fsck>.

note: type: textblock
en: (Added in 1.29.32)
uk: (Додано у 1.29.32)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_image>.
uk: Це «варіант з va_list» L</guestfs_btrfs_image>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_image>.
uk: Це «варіант з argv» L</guestfs_btrfs_image>.

note: type: textblock
en: (Added in 1.29.17)
uk: (Додано у 1.29.17)

note: type: textblock
en: This function returns a C<struct guestfs_btrfsqgroup_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_btrfsqgroup_list> after use>.
uk: Ця функція повертає C<struct guestfs_btrfsqgroup_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_btrfsqgroup_list>>.

note: type: textblock
en: (Added in 1.29.48)
uk: (Додано у 1.29.48)

note: type: textblock
en: This function returns a C<struct guestfs_btrfsscrub *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_btrfsscrub> after use>.
uk: Ця функція повертає C<struct guestfs_btrfsscrub *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_btrfsscrub>>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_btrfs_subvolume_create_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_btrfs_subvolume_create_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_subvolume_create_opts>.
uk: Це «варіант з va_list» L</guestfs_btrfs_subvolume_create_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_subvolume_create_opts>.
uk: Це «варіант з argv» L</guestfs_btrfs_subvolume_create_opts>.

note: type: textblock
en: This function returns a C<struct guestfs_btrfssubvolume_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_btrfssubvolume_list> after use>.
uk: Ця функція повертає C<struct guestfs_btrfssubvolume_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_btrfssubvolume_list>>.

note: type: textblock
en: Set the subvolume of the btrfs filesystem C<fs> which will be mounted by default.  See C<guestfs_btrfs_subvolume_list> to get a list of subvolumes.
uk: Встановити підтом файлової системи btrfs C<файлова_система>, який буде типово змонтовано. Див. C<guestfs_btrfs_subvolume_list>, щоб отримати список підтомів.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_btrfs_subvolume_snapshot_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_btrfs_subvolume_snapshot_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_btrfs_subvolume_snapshot_opts>.
uk: Це «варіант з va_list» L</guestfs_btrfs_subvolume_snapshot_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_btrfs_subvolume_snapshot_opts>.
uk: Це «варіант з argv» L</guestfs_btrfs_subvolume_snapshot_opts>.

note: type: textblock
en: (Added in 1.29.29)
uk: (Додано у 1.29.29)

note: type: textblock
en: Converted to F</dev/VG/LV> form using C<guestfs_lvm_canonical_lv_name>.
uk: Перетворені до форми F</dev/VG/LV> за допомогою C<guestfs_lvm_canonical_lv_name>.

note: type: textblock
en: (Added in 1.19.7)
uk: (Додано у 1.19.7)

note: type: textblock
en: This function depends on the feature C<linuxcaps>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<linuxcaps>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: C<guestfs_case_sensitive_path> attempts to resolve the true case of each element in the path. It will return a resolved path if either the full path or its parent directory exists. If the parent directory exists but the full path does not, the case of the parent directory will be correctly resolved, and the remainder appended unmodified. For example, if the file C<"/Windows/System32/netkvm.sys"> exists:
uk: C<guestfs_case_sensitive_path> намагається визначити справжній регістр символів кожного запису у шляху. Команда повертає визначений шлях, якщо існує відповідний повний шлях або його батьківський каталог. Якщо існує батьківський каталог, але повний шлях не існує, буде визначено регістр для батьківського каталогу, а решту запису буде додано без змін. Наприклад, якщо існує файл C<"/Windows/System32/netkvm.sys">:

note: type: textblock
en: I<Note>: Because of the above behaviour, C<guestfs_case_sensitive_path> cannot be used to check for the existence of a file.
uk: I<Зауваження>: через описану вище поведінку C<guestfs_case_sensitive_path> не можна використовувати для перевірки наявності файла.

note: type: textblock
en: See also C<guestfs_realpath>.
uk: Див. також C<guestfs_realpath>.

note: type: textblock
en: (Added in 1.0.75)
uk: (Додано у 1.0.75)

note: type: textblock
en: Because, in C, this function returns a C<char *>, there is no way to differentiate between a C<\0> character in a file and end of string.  To handle binary files, use the C<guestfs_read_file> or C<guestfs_download> functions.
uk: Оскільки у C ця функція повертає C<char *>, не існує способу відрізнити символ C<\0> у вмісті файла і кінець рядка. Для обробки двійкових файлів скористайтеся функцією C<guestfs_read_file> або C<guestfs_download>.

note: type: textblock
en: (Added in 0.4)
uk: (Додано у 0.4)

note: type: textblock
en: To get the checksum for a device, use C<guestfs_checksum_device>.
uk: Щоб отримати контрольну суму пристрою, скористайтеся C<guestfs_checksum_device>.

note: type: textblock
en: To get the checksums for many files, use C<guestfs_checksums_out>.
uk: Щоб отримати контрольні суми декількох файлів одразу, скористайтеся C<guestfs_checksums_out>.

note: type: textblock
en: (Added in 1.0.2)
uk: (Додано у 1.0.2)

note: type: textblock
en: This call computes the MD5, SHAx or CRC checksum of the contents of the device named C<device>.  For the types of checksums supported see the C<guestfs_checksum> command.
uk: Цей виклик обчислює контрольну суму MD5, SHAx або CRC для вмісту пристрою із назвою C<пристрій>. Типи підтримуваних контрольних сум описано у документації до команди C<guestfs_checksum>.

note: type: textblock
en: (Added in 1.3.2)
uk: (Додано у 1.3.2)

note: type: textblock
en: (Added in 1.3.7)
uk: (Додано у 1.3.7)

note: type: textblock
en: (Added in 1.27.2)
uk: (Додано у 1.27.2)

note: type: textblock
en: The single parameter is an argv-style list of arguments.  The first element is the name of the program to run.  Subsequent elements are parameters.  The list must be non-empty (ie. must contain a program name).  Note that the command runs directly, and is I<not> invoked via the shell (see C<guestfs_sh>).
uk: Єдиним параметром є список аргументів у стилі argv. Першим елементом цього списку є назва програми, яку слід запустити. Наступні елементи є параметрами цієї програми. Список має бути непорожнім (тобто містити принаймні назву програми). Зауважте, що команда працює безпосередньо і I<не> викликає командної оболонки (див. C<guestfs_sh>).

note: type: textblock
en: (Added in 1.9.1)
uk: (Додано у 1.9.1)

note: type: textblock
en: This is the same as C<guestfs_command>, but splits the result into a list of lines.
uk: Те саме, що і C<guestfs_command>, але результат буде поділено на список рядків.

note: type: textblock
en: See also: C<guestfs_sh_lines>
uk: Див. також C<guestfs_sh_lines>

note: type: textblock
en: The C<ctype> and optional C<level> parameters have the same meaning as in C<guestfs_compress_out>.
uk: Параметр C<тип_стискання> і необов'язковий параметр C<рівень> мають те саме значення, що і у команді C<guestfs_compress_out>.

note: type: textblock
en: (Added in 1.13.15)
uk: (Додано у 1.13.15)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_compress_device_out>.
uk: Це «варіант з va_list» L</guestfs_compress_device_out>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_compress_device_out>.
uk: Це «варіант з argv» L</guestfs_compress_device_out>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_compress_out>.
uk: Це «варіант з va_list» L</guestfs_compress_out>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_compress_out>.
uk: Це «варіант з argv» L</guestfs_compress_out>.

note: type: textblock
en: Copy the Linux extended attributes (xattrs) from C<source> to C<destination>.  This flag does nothing if the I<linuxxattrs> feature is not available (see C<guestfs_feature_available>).
uk: Копіювати розширені атрибути Linux (xattrs) з запису C<джерело> до запису C<призначення>. Цей прапорець не виконує ніяких дій, якщо можливість I<linuxxattrs> недоступна (див. C<guestfs_feature_available>).

note: type: textblock
en: (Added in 1.25.21)
uk: (Додано у 1.25.21)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_copy_attributes>.
uk: Це «варіант з va_list» L</guestfs_copy_attributes>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_copy_attributes>.
uk: Це «варіант з argv» L</guestfs_copy_attributes>.

note: type: textblock
en: The four calls C<guestfs_copy_device_to_device>, C<guestfs_copy_device_to_file>, C<guestfs_copy_file_to_device>, and C<guestfs_copy_file_to_file> let you copy from a source (device|file) to a destination (device|file).
uk: Чотири виклики — C<guestfs_copy_device_to_device>, C<guestfs_copy_device_to_file>, C<guestfs_copy_file_to_device> та C<guestfs_copy_file_to_file> — надають вам змогу копіювати дані джерела (пристрою або файла) до призначення (пристрою або файла).

note: type: textblock
en: This long-running command can generate progress notification messages so that the caller can display a progress bar or indicator.  To receive these messages, the caller must register a progress event callback.  See L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.
uk: Команда, виконання якої триває довго, може створювати повідомлення щодо поступу виконання, які програма, яка викликає команду, може показувати за допомогою панелі або індикатора поступу. Щоб отримувати такі повідомлення, програма має зареєструвати зворотний виклик події поступу. Див. L<guestfs(3)/GUESTFS_EVENT_PROGRESS>.

note: type: textblock
en: (Added in 1.13.25)
uk: (Додано у 1.13.25)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_copy_device_to_device>.
uk: Це «варіант з va_list» L</guestfs_copy_device_to_device>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_copy_device_to_device>.
uk: Це «варіант з argv» L</guestfs_copy_device_to_device>.

note: type: textblock
en: See C<guestfs_copy_device_to_device> for a general overview of this call.
uk: Див. C<guestfs_copy_device_to_device>, щоб ознайомитися із загальним описом цього виклику.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_copy_device_to_file>.
uk: Це «варіант з va_list» L</guestfs_copy_device_to_file>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_copy_device_to_file>.
uk: Це «варіант з argv» L</guestfs_copy_device_to_file>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_copy_file_to_device>.
uk: Це «варіант з va_list» L</guestfs_copy_file_to_device>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_copy_file_to_device>.
uk: Це «варіант з argv» L</guestfs_copy_file_to_device>.

note: type: textblock
en: This is B<not> the function you want for copying files.  This is for copying blocks within existing files.  See C<guestfs_cp>, C<guestfs_cp_a> and C<guestfs_mv> for general file copying and moving functions.
uk: Це B<не> функція для копіювання файлів. Цю функцію призначено для копіювання блоків у наявних файлах. Загальними функціями для копіювання та пересування файлів є функції C<guestfs_cp>, C<guestfs_cp-a> та C<guestfs_mv>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_copy_file_to_file>.
uk: Це «варіант з va_list» L</guestfs_copy_file_to_file>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_copy_file_to_file>.
uk: Це «варіант з argv» L</guestfs_copy_file_to_file>.

note: type: textblock
en: C<guestfs_copy_in> copies local files or directories recursively into the disk image, placing them in the directory called C<remotedir> (which must exist).
uk: C<guestfs_copy_in> копіює локальні файли або каталоги рекурсивно до образу диска, розташувавши його у каталозі із назвою C<remotedir> (який має існувати).

note: type: textblock
en: (Added in 1.29.24)
uk: (Додано у 1.29.24)

note: type: textblock
en: C<guestfs_copy_out> copies remote files or directories recursively out of the disk image, placing them on the host disk in a local directory called C<localdir> (which must exist).
uk: C<guestfs_copy_out> копіює віддалені файли або каталоги рекурсивно з образу диска, розташовуючи їх на диску основної системи у каталозі із назвою F</локальний_каталог> (цей каталог має існувати). Ця метакоманда guestfish перетворюється у послідовність L</download>, L</tar-out> та інших команд, якщо це потрібно.

note: type: textblock
en: To download to the current directory, use C<.> as in:
uk: Щоб отримати поточний каталог, скористайтеся C<.>, ось так:

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_copy_device_to_device> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_copy_device_to_device>.

note: type: textblock
en: (Added in 1.0.87)
uk: (Додано у 1.0.87)

note: type: textblock
en: (Added in 1.0.18)
uk: (Додано у 1.0.18)

note: type: textblock
en: Most users should use C<guestfs_cp_a> instead.  This command is useful when you don't want to preserve permissions, because the target filesystem does not support it (primarily when writing to DOS FAT filesystems).
uk: Більшості користувачів слід використовувати C<guestfs_cp_a> замість цієї команди. Ця команда корисна, якщо вам не хочеться зберігати права доступу, оскільки у файловій системі призначення їх не передбачено (в основному при записів до файлових систем FAT DOS).

note: type: textblock
en: (Added in 1.21.38)
uk: (Додано у 1.21.38)

note: type: textblock
en: (Added in 1.27.9)
uk: (Додано у 1.27.9)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_cpio_out>.
uk: Це «варіант з va_list» L</guestfs_cpio_out>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_cpio_out>.
uk: Це «варіант з argv» L</guestfs_cpio_out>.

note: type: textblock
en: If the destination is a device, it must be as large or larger than the source file or device, otherwise the copy will fail.  This command cannot do partial copies (see C<guestfs_copy_device_to_device>).
uk: Якщо призначенням є пристрій, він має бути таким самим або більшим за розміром за файл або пристрій джерела, інакше копіювання виконати не вдасться. Ця команда не може виконувати часткове копіювання (див. C<guestfs_copy_device_to_device>).

note: type: textblock
en: Index numbers start from 0.  The named device must exist, for example as a string returned from C<guestfs_list_devices>.
uk: Нумерація індексів починається з 0. Іменований пристрій має існувати, наприклад, як рядок, повернутий з C<guestfs_list_devices>.

note: type: textblock
en: See also C<guestfs_list_devices>, C<guestfs_part_to_dev>.
uk: Див. також C<guestfs_list_devices>, C<guestfs_part_to_dev>.

note: type: textblock
en: This command is mostly useful for interactive sessions.  It is I<not> intended that you try to parse the output string.  Use C<guestfs_statvfs> from programs.
uk: Ця команда здебільшого корисна для інтерактивних сеансів. Її I<не> призначено для випадків, коли ви намагаєтеся обробити виведений командою рядок. Скористайтеся командою C<guestfs_statvfs>, якщо віддаєте команди з інших програм.

note: type: textblock
en: (Added in 1.0.54)
uk: (Додано у 1.0.54)

note: type: textblock
en: Note that this call does not add the new disk to the handle.  You may need to call C<guestfs_add_drive_opts> separately.
uk: Зауважте, що цей виклик не додає новий диск до дескриптора. Вам доведеться викликати C<guestfs_add_drive_opts> окремо.

note: type: textblock
en: (Added in 1.25.31)
uk: (Додано у 1.25.31)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_disk_create>.
uk: Це «варіант з va_list» L</guestfs_disk_create>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_disk_create>.
uk: Це «варіант з argv» L</guestfs_disk_create>.

note: type: textblock
en: (Added in 1.19.38)
uk: (Додано у 1.19.38)

note: type: textblock
en: (Added in 1.19.39)
uk: (Додано у 1.19.39)

note: type: textblock
en: Another way to get the same information is to enable verbose messages with C<guestfs_set_verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> before running the program.
uk: Іншим способом отримання тих самих даних є вмикання докладних повідомлень за допомогою C<guestfs_set_verbose> або встановленням змінної середовища C<LIBGUESTFS_DEBUG=1> перед запуском програми.

note: type: textblock
en: See also C<guestfs_upload>, C<guestfs_cat>.
uk: Див. також C<guestfs_upload>, C<guestfs_cat>.

note: type: textblock
en: This function depends on the feature C<sleuthkit>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<sleuthkit>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.33.45)
uk: (Додано у 1.33.45)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_download_blocks>.
uk: Це «варіант з va_list» L</guestfs_download_blocks>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_download_blocks>.
uk: Це «варіант з argv» L</guestfs_download_blocks>.

note: type: textblock
en: (Added in 1.33.14)
uk: (Додано у 1.33.14)

note: type: textblock
en: Note that there is no limit on the amount of data that can be downloaded with this call, unlike with C<guestfs_pread>, and this call always reads the full amount unless an error occurs.
uk: Зауважте, що немає обмеження на обсяг даних, які може бути отримано за допомогою цього виклику, на відміну від команди C<guestfs_pread>, і цей виклик завжди читає дані до кінця, якщо не станеться помилки.

note: type: textblock
en: See also C<guestfs_download>, C<guestfs_pread>.
uk: Див. також C<guestfs_download>, C<guestfs_pread>.

note: type: textblock
en: (Added in 1.5.17)
uk: (Додано у 1.5.17)

note: type: textblock
en: (Added in 1.15.17)
uk: (Додано у 1.15.17)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_e2fsck>.
uk: Це «варіант з va_list» L</guestfs_e2fsck>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_e2fsck>.
uk: Це «варіант з argv» L</guestfs_e2fsck>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_e2fsck> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_e2fsck>.

note: type: textblock
en: (Added in 1.0.29)
uk: (Додано у 1.0.29)

note: type: textblock
en: See also C<guestfs_ping_daemon>.
uk: Див. також C<guestfs_ping_daemon>.

note: type: textblock
en: (Added in 1.0.69)
uk: (Додано у 1.0.69)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_grep> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_grep>.

note: type: textblock
en: (Added in 1.0.66)
uk: (Додано у 1.0.66)

note: type: textblock
en: See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>.
uk: Див. також C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>.

note: type: textblock
en: Install the SYSLINUX bootloader on the device mounted at F<directory>.  Unlike C<guestfs_syslinux> which requires a FAT filesystem, this can be used on an ext2/3/4 or btrfs filesystem.
uk: Встановлює завантажувач SYSLINUX на пристрій, змонтований до каталогу F<directory>. На відміну від команди C<guestfs_syslinux>, якій потрібна файлова система FAT, ця команда може бути використана для файлових систем ext2/3/4 та btrfs.

note: type: textblock
en: You also have to mark the partition as "active" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed (eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  The SYSLINUX package comes with some suitable Master Boot Records.  See the L<extlinux(1)> man page for further information.
uk: Крім того, вам слід позначити розділ як «активний» (C<guestfs_part_set_bootable>), і на першому секторі усього диска має бути встановлено MBR (наприклад, за допомогою C<guestfs_pwrite_device>). До складу пакунка SYSLINUX включено деякі з відповідних MBR. Щоб дізнатися більше, див. сторінку підручника L<extlinux(1)>.

note: type: textblock
en: See also C<guestfs_syslinux>.
uk: Див. також C<guestfs_syslinux>.

note: type: textblock
en: This function depends on the feature C<extlinux>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<extlinux>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.21.27)
uk: (Додано у 1.21.27)

note: type: textblock
en: This function depends on the feature C<f2fs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<f2fs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.39.3)
uk: (Додано у 1.39.3)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_fallocate64> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_fallocate64>.

note: type: textblock
en: Note that this call allocates disk blocks for the file.  To create a sparse file use C<guestfs_truncate_size> instead.
uk: Зауважте, що ця команда отримує блоки на диску для файла. Щоб створити розріджений файл, скористайтеся C<guestfs_truncate_size>.

note: type: textblock
en: The deprecated call C<guestfs_fallocate> does the same, but owing to an oversight it only allowed 30 bit lengths to be specified, effectively limiting the maximum size of files created through that call to 1GB.
uk: Застаріла команда C<guestfs_fallocate> виконує те саме завдання, але через недогляд функція надає змогу використовувати лише 30-бітові довжини, що обмежує максимальний можливий розмір створених за допомогою цієї команди файлів 1 ГБ.

note: type: textblock
en: (Added in 1.3.17)
uk: (Додано у 1.3.17)

note: type: textblock
en: This is the same as C<guestfs_available>, but unlike that call it returns a simple true/false boolean result, instead of throwing an exception if a feature is not found.  For other documentation see C<guestfs_available>.
uk: Те саме, що і C<guestfs_available>, але повертає простий результат у булевій формі true або false замість виклику виключення, якщо можливості не буде виявлено. Із іншими аспектами документації можна ознайомитися у розділі C<guestfs_available>.

note: type: textblock
en: (Added in 1.21.26)
uk: (Додано у 1.21.26)

note: type: textblock
en: See also: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>, C<guestfs_is_file>, C<guestfs_is_blockdev> (etc), C<guestfs_is_zero>.
uk: Див. також: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>, C<guestfs_is_file>, C<guestfs_is_blockdev> (тощо), C<guestfs_is_zero>.

note: type: textblock
en: (Added in 1.5.3)
uk: (Додано у 1.5.3)

note: type: textblock
en: To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block devices, use C<guestfs_blockdev_getsize64>.
uk: Щоб отримати інші статистичні дані щодо файла, скористайтеся C<guestfs_stat>, C<guestfs_lstat>, C<guestfs_is_dir>, C<guestfs_is_file> тощо. Щоб отримати розміри блокових пристроїв, скористайтеся C<guestfs_blockdev_getsize64>.

note: type: textblock
en: (Added in 1.0.82)
uk: (Додано у 1.0.82)

note: type: textblock
en: You must call C<guestfs_launch> before using this command.
uk: Перед використанням цієї команди вам слід викликати C<guestfs_launch>.

note: type: textblock
en: See also C<guestfs_available>, C<guestfs_feature_available>, L<guestfs(3)/AVAILABILITY>.
uk: Див. також C<guestfs_available>, C<guestfs_feature_available>, L<guestfs(3)/AVAILABILITY>.

note: type: textblock
en: (Added in 1.19.5)
uk: (Додано у 1.19.5)

note: type: textblock
en: This function returns a C<struct guestfs_tsk_dirent_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_tsk_dirent_list> after use>.
uk: Ця функція повертає C<struct guestfs_tsk_dirent_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_tsk_dirent_list>>.

note: type: textblock
en: This function depends on the feature C<libtsk>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<libtsk>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.33.39)
uk: (Додано у 1.33.39)

note: type: textblock
en: To fill a file with zero bytes (sparsely), it is much more efficient to use C<guestfs_truncate_size>.  To create a file with a pattern of repeating bytes use C<guestfs_fill_pattern>.
uk: Для заповнення файла нульовими байтами (розріджено) набагато ефективнішим є використання C<guestfs_truncate_size>. Для створення файла, заповненого повторюваними вказаними послідовностями байтів, скористайтеся командою C<guestfs_fill_pattern>.

note: type: textblock
en: (Added in 1.0.79)
uk: (Додано у 1.0.79)

note: type: textblock
en: (Added in 1.19.32)
uk: (Додано у 1.19.32)

note: type: textblock
en: This function is like C<guestfs_fill> except that it creates a new file of length C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern is truncated if necessary to ensure the length of the file is exactly C<len> bytes.
uk: Ця функція подібна до C<guestfs_fill>, але створює файл довжини C<len>, заповнений повторюваними наборами байтів C<pattern>. Якщо потрібно, взірець буде обрізано так, щоб довжина файла складала точно C<len> байтів.

note: type: textblock
en: (Added in 1.3.12)
uk: (Додано у 1.3.12)

note: type: textblock
en: then the returned list from C<guestfs_find> F</tmp> would be 4 elements:
uk: повернутий C<guestfs_find> F</tmp> список складатиметься з 4 елементів:

note: type: textblock
en: (Added in 1.0.27)
uk: (Додано у 1.0.27)

note: type: textblock
en: This command works the same way as C<guestfs_find> with the following exceptions:
uk: Ця команда працює так само, якC<guestfs_find>, за такими виключеннями:

note: type: textblock
en: (Added in 1.0.74)
uk: (Додано у 1.0.74)

note: type: textblock
en: (Added in 1.35.6)
uk: (Додано у 1.35.6)

note: type: textblock
en: To find the label of a filesystem, use C<guestfs_vfs_label>.
uk: Щоб визначити мітку файлової системи, скористайтеся C<guestfs_vfs_label>.

note: type: textblock
en: To find the UUID of a filesystem, use C<guestfs_vfs_uuid>.
uk: Щоб визначити UUID файлової системи, скористайтеся C<guestfs_vfs_uuid>.

note: type: textblock
en: (Added in 1.0.16)
uk: (Додано у 1.0.16)

note: type: textblock
en: See also C<guestfs_zero_free_space>.  That is a slightly different operation that turns free space in the filesystem into zeroes.  It is valid to call C<guestfs_fstrim> either instead of, or after calling C<guestfs_zero_free_space>.
uk: Див. також C<guestfs_zero_free_space>. Це дещо інша операція, яка занулює вільне місце у файловій системі. Ви можете викликати C<guestfs_fstrim> замість команди або після команди C<guestfs_zero_free_space>.

note: type: textblock
en: This function depends on the feature C<fstrim>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<fstrim>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.19.6)
uk: (Додано у 1.19.6)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_fstrim>.
uk: Це «варіант з va_list» L</guestfs_fstrim>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_fstrim>.
uk: Це «варіант з argv» L</guestfs_fstrim>.

note: type: textblock
en: This function returns a string which may be NULL.  There is no way to return an error from this function.  The string is owned by the guest handle and must I<not> be freed.
uk: Ця функція повертає рядок, який може бути порожнім (NULL). Способу повернення повідомлення про помилку цією функцією не передбачено. Рядок належить дескриптору гостьової системи, його I<не слід> звільняти.

note: type: textblock
en: (Added in 1.0.26)
uk: (Додано у 1.0.26)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_get_backend> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_get_backend>.

note: type: textblock
en: See C<guestfs_set_backend> and L<guestfs(3)/BACKEND>.
uk: Див. C<guestfs_set_backend> і L<guestfs(3)/МОДУЛЬ>.

note: type: textblock
en: (Added in 1.9.8)
uk: (Додано у 1.9.8)

note: type: textblock
en: If no such setting is found, this function throws an error.  The errno (see C<guestfs_last_errno>) will be C<ESRCH> in this case.
uk: Якщо відповідного параметра не знайдено, ця функція повертає повідомлення про помилку. У такому випадку для номера помилки (див. C<guestfs_last_errno>) буде встановлено значення C<ESRCH>.

note: type: textblock
en: This call returns all backend settings strings.  If you want to find a single backend setting, see C<guestfs_get_backend_setting>.
uk: Цей виклик повертає рядки параметрів усіх модулів. Якщо вам потрібен лише якийсь окремий параметр модуля, скористайтеся C<guestfs_get_backend_setting>.

note: type: textblock
en: (Added in 1.25.24)
uk: (Додано у 1.25.24)

note: type: textblock
en: (Added in 1.19.58)
uk: (Додано у 1.19.58)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_internal_get_console_socket> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_internal_get_console_socket>.

note: type: textblock
en: (Added in 1.0.72)
uk: (Додано у 1.0.72)

note: type: textblock
en: See also C<guestfs_set_e2attrs>.
uk: Див. також C<guestfs_set_e2attrs>.

note: type: textblock
en: (Added in 1.17.31)
uk: (Додано у 1.17.31)

note: type: textblock
en: See C<guestfs_set_e2generation>.
uk: Див. C<guestfs_set_e2generation>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_vfs_label> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_vfs_label>.

note: type: textblock
en: (Added in 1.0.15)
uk: (Додано у 1.0.15)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_vfs_uuid> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_vfs_uuid>.

note: type: textblock
en: (Added in 1.23.17)
uk: (Додано у 1.23.17)

note: type: textblock
en: Get the handle identifier.  See C<guestfs_set_identifier>.
uk: Отримати ідентифікатор дескриптора. Див. C<guestfs_set_identifier>.

note: type: textblock
en: This function returns a string, or NULL on error.  The string is owned by the guest handle and must I<not> be freed.
uk: Ця функція повертає рядок або NULL, якщо сталася помилка. Рядок належить дескриптору гостьової системи, його I<не слід> звільняти.

note: type: textblock
en: (Added in 1.31.14)
uk: (Додано у 1.31.14)

note: type: textblock
en: (Added in 1.19.52)
uk: (Додано у 1.19.52)

note: type: textblock
en: Return the list of credentials requested by libvirt.  Possible values are a subset of the strings provided when you called C<guestfs_set_libvirt_supported_credentials>.
uk: Повертає список реєстраційних даних, запит на які надсилає libvirt. Можливі значення є підмножиною рядків, які надаються, коли ви викликаєте C<guestfs_set_libvirt_supported_credentials>.

note: type: textblock
en: If C<guestfs_set_memsize> was not called on this handle, and if C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default value for memsize.
uk: Якщо для цього дескриптора не було викликано C<guestfs_set_memsize> і якщо не було встановлено C<LIBGUESTFS_MEMSIZE>, якщо команда повертає типове вкомпільоване значення розміру пам'яті (memsize).

note: type: textblock
en: (Added in 1.0.55)
uk: (Додано у 1.0.55)

note: type: textblock
en: (Added in 1.5.4)
uk: (Додано у 1.5.4)

note: type: textblock
en: (Added in 1.11.18)
uk: (Додано у 1.11.18)

note: type: textblock
en: (Added in 1.0.56)
uk: (Додано у 1.0.56)

note: type: textblock
en: Get the program name.  See C<guestfs_set_program>.
uk: Отримати назву програми. Див. C<guestfs_set_program>.

note: type: textblock
en: (Added in 1.21.29)
uk: (Додано у 1.21.29)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_get_hv> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_get_hv>.

note: type: textblock
en: (Added in 1.0.6)
uk: (Додано у 1.0.6)

note: type: textblock
en: (Added in 1.0.77)
uk: (Додано у 1.0.77)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_selinux_relabel> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_selinux_relabel>.

note: type: textblock
en: This returns the current setting of the selinux flag which is passed to the appliance at boot time.  See C<guestfs_set_selinux>.
uk: Повертає поточне значення прапорця selinux, який передається базовій системі під час її завантаження. Див. C<guestfs_set_selinux>.

note: type: textblock
en: (Added in 1.0.67)
uk: (Додано у 1.0.67)

note: type: textblock
en: This is different from C<guestfs_get_tmpdir>, as we need shorter paths for sockets (due to the limited buffers of filenames for UNIX sockets), and C<guestfs_get_tmpdir> may be too long for them.
uk: Ця команда відрізняється від C<guestfs_get_tmpdir>, оскільки для сокетів потрібні коротші шляхи (через обмеження буферів назв файлів для сокетів UNIX), а C<guestfs_get_tmpdir> може бути надто довгим для таких шляхів.

note: type: textblock
en: (Added in 1.33.8)
uk: (Додано у 1.33.8)

note: type: textblock
en: This returns the current state as an opaque integer.  This is only useful for printing debug and internal error messages.
uk: Повертає поточний стан як непрозоре ціле число. Корисно лише для виведення діагностичних повідомлень та повідомлень про внутрішні помилки.

note: type: textblock
en: Return the current umask.  By default the umask is C<022> unless it has been set by calling C<guestfs_umask>.
uk: Повертає поточне значення umask. Типовим значенням umask є C<022>, якщо інше значення не було встановлено за допомогою виклику C<guestfs_umask>.

note: type: textblock
en: See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>
uk: Див. документацію з SELINUX у L<guestfs(3)> та c<guestfs_setcon>

note: type: textblock
en: This function depends on the feature C<selinux>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<selinux>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: Get a single extended attribute from file C<path> named C<name>.  This call follows symlinks.  If you want to lookup an extended attribute for the symlink itself, use C<guestfs_lgetxattr>.
uk: Отримати окремий розширений атрибут з файла C<path> за назвою C<name>. У цьому виклику виконується перехід за символічними посиланнями. Якщо ви хочете визначити розширений атрибут для самого символічного посилання, скористайтеся C<guestfs_lgetxattr>.

note: type: textblock
en: Normally it is better to get all extended attributes from a file in one go by calling C<guestfs_getxattrs>.  However some Linux filesystem implementations are buggy and do not provide a way to list out attributes.  For these filesystems (notably ntfs-3g)  you have to know the names of the extended attributes you want in advance and call this function.
uk: Зазвичай, краще отримати усі розширені атрибути файла одним викликом C<guestfs_getxattrs>. Втім, у реалізації деяких файлових систем у Linux є вади, які заважають отримання повного списку атрибутів. Для таких файлових систем (найпоширенішою з яких є ntfs-3g) вам доведеться визначити назви потрібних вам розширених атрибутів і викликати цю функцію.

note: type: textblock
en: See also: C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>.
uk: Див. також C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>.

note: type: textblock
en: This function returns a buffer, or NULL on error.  The size of the returned buffer is written to C<*size_r>.  I<The caller must free the returned buffer after use>.
uk: Ця функція повертає рядок або NULL, якщо станеться помилка. Розмір повернутого буфера буд записано до C<*size_r>. I<Після використання функція, яка викликає цю функцію, має звільнити повернутий буфер>.

note: type: textblock
en: This function depends on the feature C<linuxxattrs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<linuxxattrs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.7.24)
uk: (Додано у 1.7.24)

note: type: textblock
en: See also: C<guestfs_lgetxattrs>, L<attr(5)>.
uk: Див. також C<guestfs_lgetxattrs>, L<attr(5)>.

note: type: textblock
en: This function returns a C<struct guestfs_xattr_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_xattr_list> after use>.
uk: Ця функція повертає C<struct guestfs_xattr_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_xattr_list>>.

note: type: textblock
en: (Added in 1.0.59)
uk: (Додано у 1.0.59)

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_glob_expand_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_glob_expand_opts> без додаткових аргументів.

note: type: textblock
en: (Added in 1.0.50)
uk: (Додано у 1.0.50)

note: type: textblock
en: Notice that there is no equivalent command for expanding a device name (eg. F</dev/sd*>).  Use C<guestfs_list_devices>, C<guestfs_list_partitions> etc functions instead.
uk: Зауважте, що схожої команди для розгортання назв пристроїв (наприклад F</dev/sd*>) не існує. З цією метою слід використовувати C<guestfs_list_devices>, C<guestfs_list_partitions> тощо.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_glob_expand_opts>.
uk: Це «варіант з va_list» L</guestfs_glob_expand_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_glob_expand_opts>.
uk: Це «варіант з argv» L</guestfs_glob_expand_opts>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_grep_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_grep_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_grep_opts>.
uk: Це «варіант з va_list» L</guestfs_grep_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_grep_opts>.
uk: Це «варіант з argv» L</guestfs_grep_opts>.

note: type: textblock
en: This function depends on the feature C<grub>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<grub>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.0.17)
uk: (Додано у 1.0.17)

note: type: textblock
en: (Added in 1.0.22)
uk: (Додано у 1.0.22)

note: type: textblock
en: This function depends on the feature C<hivex>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<hivex>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.19.35)
uk: (Додано у 1.19.35)

note: type: textblock
en: This function returns a C<struct guestfs_hivex_node_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_hivex_node_list> after use>.
uk: Ця функція повертає C<struct guestfs_hivex_node_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_hivex_node_list>>.

note: type: textblock
en: This function returns a C<struct guestfs_hivex_value_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_hivex_value_list> after use>.
uk: Ця функція повертає C<struct guestfs_hivex_value_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_hivex_value_list>>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_hivex_open>.
uk: Це «варіант з va_list» L</guestfs_hivex_open>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_hivex_open>.
uk: Це «варіант з argv» L</guestfs_hivex_open>.

note: type: textblock
en: This calls C<guestfs_hivex_value_value> (which returns the data field from a hivex value tuple).  It then assumes that the field is a UTF-16LE string and converts the result to UTF-8 (or if this is not possible, it returns an error).
uk: Ця команда викликає C<guestfs_hivex_value_value> (яка повертає поле даних на основі кортежу значень hivex). Далі, припускається, що вмістом поля є рядок UTF-16LE, який перетворюється на рядок UTF-8 (або, якщо це неможливо, команда повертає повідомлення про помилку).

note: type: textblock
en: (Added in 1.37.22)
uk: (Додано у 1.37.22)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_hivex_value_string> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_hivex_value_string>.

note: type: textblock
en: See also: C<guestfs_hivex_value_utf8>.
uk: Див. також C<guestfs_hivex_value_utf8>.

note: type: textblock
en: See also C<guestfs_initrd_list>.
uk: Див. також C<guestfs_initrd_list>.

note: type: textblock
en: This function depends on the feature C<inotify>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<inotify>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This function is a helpful wrapper around C<guestfs_inotify_read> which just returns a list of pathnames of objects that were touched.  The returned pathnames are sorted and deduplicated.
uk: Ця функція є корисною обгорткою навколо C<guestfs_inotify_read>, яка просто повертає список назв шляхів об'єктів, які було оброблено touch. Список назв шляхів буде упорядковано, дублікати записів буде вилучено.

note: type: textblock
en: C<maxevents> is the maximum number of events which will be queued up between calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is passed as C<0>, then the kernel (or previously set)  default is used.  For Linux 2.6.29 the default was 16384 events.  Beyond this limit, the kernel throws away events, but records the fact that it threw them away by setting a flag C<IN_Q_OVERFLOW> in the returned structure list (see C<guestfs_inotify_read>).
uk: Значенням параметра C<maxevents> є максимальна кількість подій, які може бути додано до черги між викликами C<guestfs_inotify_read> або C<guestfs_inotify_files>. Якщо буде передано значення C<0>, буде використано типове значення для ядра (або раніше встановлене значення). Для Linux 2.6.29 типовим значенням є 16384 подій. Якщо обмеження буде перевищено, ядро просто відкидатиме події, але записуватиме повідомлення щодо факту відкидання, встановлюючи прапорець C<IN_Q_OVERFLOW> у списку повернутої структури (див. C<guestfs_inotify_read>).

note: type: textblock
en: Before any events are generated, you have to add some watches to the internal watch list.  See: C<guestfs_inotify_add_watch> and C<guestfs_inotify_rm_watch>.
uk: Перш ніж буде створено якесь повідомлення про подію, вам слід додати певні спостереження до внутрішнього списку спостережень. Див. C<guestfs_inotify_add_watch> та C<guestfs_inotify_rm_watch>.

note: type: textblock
en: Queued up events should be read periodically by calling C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful wrapper around C<guestfs_inotify_read>).  If you don't read the events out often enough then you risk the internal queue overflowing.
uk: Записи подій з черги мають періодично читатися викликом C<guestfs_inotify_read> (або C<guestfs_inotify_files>, який є корисною обгорткою навколо C<guestfs_inotify_read>). Якщо записи подій не читатимуться достатньо часто, внутрішню чергу записів може бути переповнено.

note: type: textblock
en: The handle should be closed after use by calling C<guestfs_inotify_close>.  This also removes any watches automatically.
uk: Після використання дескриптор слід закрити викликом C<guestfs_inotify_close>. У процесі закриття буде автоматично вилучено усі спостереження.

note: type: textblock
en: This function returns a C<struct guestfs_inotify_event_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_inotify_event_list> after use>.
uk: Ця функція повертає C<struct guestfs_inotify_event_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_inotify_event_list>>.

note: type: textblock
en: Remove a previously defined inotify watch.  See C<guestfs_inotify_add_watch>.
uk: Вилучити раніше визначене спостереження inotify. Див. C<guestfs_inotify_add_watch>.

note: type: textblock
en: This returns the architecture of the inspected operating system.  The possible return values are listed under C<guestfs_file_architecture>.
uk: Повертає архітектуру інспектованої операційної системи. Список можливих повернутих значень можна знайти у описі C<guestfs_file_architecture>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also C<guestfs_inspect_get_mountpoints>, C<guestfs_inspect_get_filesystems>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_mountpoints>, <guestfs_inspect_get_filesystems>.

note: type: textblock
en: (Added in 1.9.17)
uk: (Додано у 1.9.17)

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also C<guestfs_inspect_get_mountpoints>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_mountpoints>.

note: type: textblock
en: (Added in 1.9.4)
uk: (Додано у 1.9.4)

note: type: textblock
en: (Added in 1.7.9)
uk: (Додано у 1.7.9)

note: type: textblock
en: (Added in 1.11.12)
uk: (Додано у 1.11.12)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_inspect_get_icon>.
uk: Це «варіант з va_list» L</guestfs_inspect_get_icon>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_inspect_get_icon>.
uk: Це «варіант з argv» L</guestfs_inspect_get_icon>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also C<guestfs_inspect_get_major_version>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_major_version>.

note: type: textblock
en: For operating systems like Windows which still use drive letters, this call will only return an entry for the first drive "mounted on" F</>.  For information about the mapping of drive letters to partitions, see C<guestfs_inspect_get_drive_mappings>.
uk: Для операційних систем, подібних до Windows, де для позначення дисків усе ще використовуються літери, ця команда поверне запис першого диска «змонтованого до» F</>. Щоб дізнатися більше про прив'язку літер дисків до розділів, див. C<guestfs_inspect_get_drive_mappings>.

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also C<guestfs_inspect_get_filesystems>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_filesystems>.

note: type: textblock
en: (Added in 1.39.1)
uk: (Додано у 1.39.1)

note: type: textblock
en: This function and C<guestfs_inspect_get_package_management> return the package format and package management tool used by the inspected operating system.  For example for Fedora these functions would return C<rpm> (package format), and C<yum> or C<dnf> (package management).
uk: Ця функція і C<guestfs_inspect_get_package_management> повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування пакунками).

note: type: textblock
en: (Added in 1.7.5)
uk: (Додано у 1.7.5)

note: type: textblock
en: C<guestfs_inspect_get_package_format> and this function return the package format and package management tool used by the inspected operating system.  For example for Fedora these functions would return C<rpm> (package format), and C<yum> or C<dnf> (package management).
uk: C<guestfs_inspect_get_package_format> і ця функція повертають формат пакунків та засіб для керування пакунками, який використовується у інспектованій операційній системі. Наприклад, для Fedora ці функції мають повернути C<rpm> (формат пакунків) та C<yum> або C<dnf> (засіб для керування пакунками).

note: type: textblock
en: Please read L<guestfs(3)/INSPECTION> for more details.  See also C<guestfs_inspect_get_product_name>, C<guestfs_inspect_get_major_version>.
uk: З докладнішими даними можна ознайомитися у розділі L<guestfs(3)/INSPECTION>. Див. також <guestfs_inspect_get_product_name>, <guestfs_inspect_get_major_version>.

note: type: textblock
en: (Added in 1.9.13)
uk: (Додано у 1.9.13)

note: type: textblock
en: This function is a convenient way to get the list of root devices, as returned from a previous call to C<guestfs_inspect_os>, but without redoing the whole inspection process.
uk: Ця функція є зручним способом отримання списку кореневих пристроїв, повернутого попереднім викликом C<guestfs_inspect_os>, але без повторного виконання усієї процедури інспектування.

note: type: textblock
en: This returns an empty list if either no root devices were found or the caller has not called C<guestfs_inspect_os>.
uk: Команда повертає порожній список, якщо не буде знайдено кореневих пристроїв або якщо не було викликано C<guestfs_inspect_os>.

note: type: textblock
en: (Added in 1.7.3)
uk: (Додано у 1.7.3)

note: type: textblock
en: You can use C<guestfs_hivex_open> to read or write to the hive.
uk: Ви можете скористатися командою C<guestfs_hivex_open> для читання або запису рою.

note: type: textblock
en: (Added in 1.35.26)
uk: (Додано у 1.35.26)

note: type: textblock
en: (Added in 1.5.25)
uk: (Додано у 1.5.25)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_inspect_list_applications2> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_inspect_list_applications2>.

note: type: textblock
en: I<Note:> This call works differently from other parts of the inspection API.  You have to call C<guestfs_inspect_os>, then C<guestfs_inspect_get_mountpoints>, then mount up the disks, before calling this.  Listing applications is a significantly more difficult operation which requires access to the full filesystem.  Also note that unlike the other C<guestfs_inspect_get_*> calls which are just returning data cached in the libguestfs handle, this call actually reads parts of the mounted filesystems during the call.
uk: I<Зауваження:> ця команда працює інакше за інші частини програмного інтерфейсу інспектування. Вам слід викликати C<guestfs_inspect_os>, потім C<guestfs_inspect_get_mountpoints>, потім змонтувати диски, потім викликати цю команду. Побудова списку програм є значно складнішою операцією, яка потребує доступу до усієї файлової системи. Також зауважте, що на відміну від інших команд C<guestfs_inspect_get_*>, які лише повертають дані, кешовані у дескрипторі libguestfs, ця команда справді читає частини змонтованої файлової системи під час виконання.

note: type: textblock
en: This function returns a C<struct guestfs_application_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_application_list> after use>.
uk: Ця функція повертає C<struct guestfs_application_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_application_list>>.

note: type: textblock
en: (Added in 1.7.8)
uk: (Додано у 1.7.8)

note: type: textblock
en: This function returns a C<struct guestfs_application2_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_application2_list> after use>.
uk: Ця функція повертає C<struct guestfs_application2_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_application2_list>>.

note: type: textblock
en: (Added in 1.19.56)
uk: (Додано у 1.19.56)

note: type: textblock
en: You can pass the root string(s) returned to other C<guestfs_inspect_get_*> functions in order to query further information about each operating system, such as the name and version.
uk: Ви можете передати повернуті рядки кореневих каталогів іншим функціями C<guestfs_inspect_get_*>, щоб отримати подальші відомості щодо усіх операційних систем, зокрема назву і версію.

note: type: textblock
en: This function uses other libguestfs features such as C<guestfs_mount_ro> and C<guestfs_umount_all> in order to mount and unmount filesystems and look at the contents.  This should be called with no disks currently mounted.  The function may also use Augeas, so any existing Augeas handle will be closed.
uk: Ця функція використовує інші можливості libguestfs, зокрема C<guestfs_mount_ro> і C<guestfs_umount_all>, щоб монтувати і демонтовувати файлові системи і переглядати їхній вміст. Її слід викликати до того, як буде змонтовано диски. Ця функція також може використовувати Augeas, отже усі наявні дескриптори Augeas буде закрито.

note: type: textblock
en: See also C<guestfs_list_filesystems>.
uk: Див. також C<guestfs_list_filesystems>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_blockdev_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_blockdev_opts> без додаткових аргументів.

note: type: textblock
en: (Added in 1.5.10)
uk: (Додано у 1.5.10)

note: type: textblock
en: See also C<guestfs_stat>.
uk: Див. також C<guestfs_stat>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_blockdev_opts>.
uk: Це «варіант з va_list» L</guestfs_is_blockdev_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_blockdev_opts>.
uk: Це «варіант з argv» L</guestfs_is_blockdev_opts>.

note: type: textblock
en: This always returns false.  This function is deprecated with no replacement.  Do not use this function.
uk: Ця функція завжди повертає false. Ця функція вважається застарілою і не має новішого аналогу. Не використовуйте цю функцію.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_chardev_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_chardev_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_chardev_opts>.
uk: Це «варіант з va_list» L</guestfs_is_chardev_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_chardev_opts>.
uk: Це «варіант з argv» L</guestfs_is_chardev_opts>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_dir_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_dir_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_dir_opts>.
uk: Це «варіант з va_list» L</guestfs_is_dir_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_dir_opts>.
uk: Це «варіант з argv» L</guestfs_is_dir_opts>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_fifo_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_fifo_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_fifo_opts>.
uk: Це «варіант з va_list» L</guestfs_is_fifo_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_fifo_opts>.
uk: Це «варіант з argv» L</guestfs_is_fifo_opts>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_file_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_file_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_file_opts>.
uk: Це «варіант з va_list» L</guestfs_is_file_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_file_opts>.
uk: Це «варіант з argv» L</guestfs_is_file_opts>.

note: type: textblock
en: This returns true iff this handle is launching the subprocess (in the C<LAUNCHING> state).
uk: Ця функція повертає true тоді і лише тоді, коли дескриптор запускає підпроцес (у стані C<LAUNCHING>).

note: type: textblock
en: This returns true iff this handle is ready to accept commands (in the C<READY> state).
uk: Ця функція повертає true тоді і лише тоді, коли дескриптор готовий до отримання команд (у стані C<READY>).

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_is_socket_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_is_socket_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_is_socket_opts>.
uk: Це «варіант з va_list» L</guestfs_is_socket_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_is_socket_opts>.
uk: Це «варіант з argv» L</guestfs_is_socket_opts>.

note: type: textblock
en: (Added in 1.21.9)
uk: (Додано у 1.21.9)

note: type: textblock
en: (Added in 1.11.8)
uk: (Додано у 1.11.8)

note: type: textblock
en: This is the same as C<guestfs_isoinfo_device> except that it works for an ISO file located inside some other mounted filesystem.  Note that in the common case where you have added an ISO file as a libguestfs device, you would I<not> call this.  Instead you would call C<guestfs_isoinfo_device>.
uk: Це те саме, що і C<guestfs_isoinfo_device>, але працює для файла ISO, розташованого всередині якоїсь іншої змонтованої файлової системи. Зауважте, що у типовому випадку, коли ви додали файл ISO як пристрій libguestfs, вам I<не> слід викликати цю команду. Замість цього, слід викликати C<guestfs_isoinfo_device>.

note: type: textblock
en: This function returns a C<struct guestfs_isoinfo *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_isoinfo> after use>.
uk: Ця функція повертає C<struct guestfs_isoinfo *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_isoinfo>>.

note: type: textblock
en: (Added in 1.17.19)
uk: (Додано у 1.17.19)

note: type: textblock
en: This function depends on the feature C<journal>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<journal>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.23.11)
uk: (Додано у 1.23.11)

note: type: textblock
en: The length of data may be truncated to the data threshold (see: C<guestfs_journal_set_data_threshold>, C<guestfs_journal_get_data_threshold>).
uk: Дані може бути обрізано за пороговою довжиною (див. C<guestfs_journal_set_data_threshold>, C<guestfs_journal_get_data_threshold>).

note: type: textblock
en: See also C<guestfs_journal_set_data_threshold>.
uk: Див. також C<guestfs_journal_set_data_threshold>.

note: type: textblock
en: (Added in 1.27.18)
uk: (Додано у 1.27.18)

note: type: textblock
en: The returned boolean tells you if there are any more journal records to read.  C<true> means you can read the next record (eg. using C<guestfs_journal_get>), and C<false> means you have reached the end of the journal.
uk: Ця команда повертає булеве значення, яке повідомляє вам, чи існують ще записи журналу для читання. Значення C<true> означає, що ви можете прочитати наступний запис (наприклад, за допомогою C<guestfs_journal_get>), а значення C<false> означає, що досягнуто кінця журналу.

note: type: textblock
en: The contents of the journal can be read using C<guestfs_journal_next> and C<guestfs_journal_get>.
uk: Вміст журналу можна прочитати за допомогою C<guestfs_journal_next> і C<guestfs_journal_get>.

note: type: textblock
en: After you have finished using the journal, you should close the handle by calling C<guestfs_journal_close>.
uk: Після завершення використання журналу вам слід закрити дескриптор викликом C<guestfs_journal_close>.

note: type: textblock
en: See also C<guestfs_journal_get_data_threshold>.
uk: Див. також C<guestfs_journal_get_data_threshold>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_shutdown> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_shutdown>.

note: type: textblock
en: Do not call this.  See: C<guestfs_shutdown> instead.
uk: Не викликайте цю функцію. Замість неї слід використовувати C<guestfs_shutdown>.

note: type: textblock
en: Do not call C<guestfs_launch> twice on the same handle.  Although it will not give an error (for historical reasons), the precise behaviour when you do this is not well defined.  Handles are very cheap to create, so create a new one for each launch.
uk: Не викликайте C<guestfs_launch> двічі для одного і того самого дескриптора. Хоча такий виклик і не призведе до помилки (з історичних причин), точну поведінку бібліотеки у цьому випадку не визначено. Дескриптори є доволі невибагливими до ресурсів об'єктами, тому варто створювати окремий новий дескриптор для кожного запуску.

note: type: textblock
en: Change the file owner to C<owner> and group to C<group>.  This is like C<guestfs_chown> but if C<path> is a symlink then the link itself is changed, not the target.
uk: Змінює власника файла на C<власник> і групу на C<група>. Команда подібна до C<guestfs_chown>, але якщо C<шлях> є символічним посиланням, буде змінено параметри самого посилання, а не файла чи каталогу, на яке воно вказує.

note: type: textblock
en: Call C<guestfs_list_ldm_volumes> and C<guestfs_list_ldm_partitions> to return all devices.
uk: Викликати C<guestfs_list_ldm_volumes> і C<guestfs_list_ldm_partitions> для повернення списку усіх пристроїв.

note: type: textblock
en: Note that you B<don't> normally need to call this explicitly, since it is done automatically at C<guestfs_launch> time.  However you might want to call this function if you have hotplugged disks or have just created a Windows dynamic disk.
uk: Зауважте, що зазвичай вам B<не> потрібно викликати цю команду явним чином, оскільки вона виконується автоматично під час виконання C<guestfs_launch>. Втім, може виникнути потреба у виклику цієї функції, якщо ви з'єднували диски у «гарячому» режимі або щойно створили динамічний диск Windows.

note: type: textblock
en: This function depends on the feature C<ldm>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<ldm>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.20.0)
uk: (Додано у 1.20.0)

note: type: textblock
en: Return the disks in a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by C<guestfs_ldmtool_scan>.
uk: Повертає диски у групі динамічних дисків Windows. Значенням параметра C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який повертає C<guestfs_ldmtool_scan>.

note: type: textblock
en: Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by C<guestfs_ldmtool_scan>.
uk: Повертає назву групи динамічних дисків Windows. Значенням параметра C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який повертає C<guestfs_ldmtool_scan>.

note: type: textblock
en: Return the volumes in a Windows dynamic disk group.  The C<diskgroup> parameter should be the GUID of a disk group, one element from the list returned by C<guestfs_ldmtool_scan>.
uk: Повертає томи у групі динамічних дисків Windows. Значенням параметра C<diskgroup> має бути GUID групи дисків, одним із елементів списку, який повертає C<guestfs_ldmtool_scan>.

note: type: textblock
en: This is essentially the opposite of C<guestfs_ldmtool_create_all>.  It removes the device mapper mappings for all Windows dynamic disk volumes
uk: Загалом, ця функція є оберненою до C<guestfs_ldmtool_create_all>. Вона вилучає прив'язки пристроїв для усіх томів динамічних дисків Windows.

note: type: textblock
en: This function scans for Windows dynamic disks.  It returns a list of identifiers (GUIDs) for all disk groups that were found.  These identifiers can be passed to other C<guestfs_ldmtool_*> functions.
uk: Ця функція шукає динамічні диски Windows. Вона повертає список ідентифікаторів (GUID) для усіх груп дисків, які було знайдено. Ці ідентифікатори можна передавати іншим функціям C<guestfs_ldmtool_*>.

note: type: textblock
en: This function scans all block devices.  To scan a subset of block devices, call C<guestfs_ldmtool_scan_devices> instead.
uk: Ця функція сканує усі блокові пристрої. Щоб виконати сканування якоїсь підмножини блокових пристроїв, скористайтеся функцією C<guestfs_ldmtool_scan_devices>.

note: type: textblock
en: See also: C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>.
uk: Див. також C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>.

note: type: textblock
en: This is the same as C<guestfs_getxattrs>, but if C<path> is a symbolic link, then it returns the extended attributes of the link itself.
uk: Те саме, що і C<guestfs_getxattrs>, але якщо C<шлях> є символічним посиланням, повертає розширені атрибути самого символічного посилання.

note: type: textblock
en: If you add drives using the optional C<label> parameter of C<guestfs_add_drive_opts>, you can use this call to map between disk labels, and raw block device and partition names (like F</dev/sda> and F</dev/sda1>).
uk: Якщо ви додаєте диски з використанням необов'язкового параметра C<label> команди C<guestfs_add_drive_opts>, ви можете скористатися цією командою для прив'язування міток до простих блокових пристроїв та назв розділів (наприклад F</dev/sda> та F</dev/sda1>).

note: type: textblock
en: (Added in 1.19.49)
uk: (Додано у 1.19.49)

note: type: textblock
en: The returned list contains F</dev/mapper/*> devices, eg. ones created by a previous call to C<guestfs_luks_open>.
uk: У повернутому списку міститимуться пристрої F</dev/mapper/*>, наприклад, пристрої, створені попереднім викликом C<guestfs_luks_open>.

note: type: textblock
en: Device mapper devices which correspond to logical volumes are I<not> returned in this list.  Call C<guestfs_lvs> if you want to list logical volumes.
uk: Пристрої засобу прив'язування пристроїв, які відповідають логічним томам I<не> буде включено до повернутого списку. Якщо вам потрібен список логічних томів, скористайтеся командою C<guestfs_lvs>.

note: type: textblock
en: (Added in 1.11.15)
uk: (Додано у 1.11.15)

note: type: textblock
en: The key is not necessarily a block device. It may also be an opaque ‘mountable’ string which can be passed to C<guestfs_mount>.
uk: Ключем не обов'язково є блоковий пристрій. Ним також може бути не зовсім прозорий рядок «mountable», який можна передавати C<guestfs_mount>.

note: type: textblock
en: In libguestfs E<le> 1.36 this command ran other libguestfs commands, which might have included C<guestfs_mount> and C<guestfs_umount>, and therefore you had to use this soon after launch and only when nothing else was mounted.  This restriction is removed in libguestfs E<ge> 1.38.
uk: У libguestfs E<le> 1.36 ця команда запускає інші команди libguestfs, серед яких можуть бути команди C<guestfs_mount> і C<guestfs_umount>. Тому її слід віддавати поближче до launch і лише тоді, коли ще нічого не змонтовано. Це обмеження було усунено у libguestfs E<ge> 1.38.

note: type: textblock
en: Not all of the filesystems returned will be mountable.  In particular, swap partitions are returned in the list.  Also this command does not check that each filesystem found is valid and mountable, and some filesystems might be mountable but require special options.  Filesystems may not all belong to a single logical operating system (use C<guestfs_inspect_os> to look for OSes).
uk: Не усі файлові системи із повернутого списку є придатними до монтування. Зокрема, у списку можуть бути розділи резервної пам'яті. Крім того, ця команда не перевіряє, чи є кожна зі знайдених файлових систем коректною і придатною до монтування. Деякі із систем можуть бути придатними до монтування, але потребувати спеціальних параметрів. Файлові системи можуть належати різним логічним операційними системами (для пошуку операційних систем скористайтеся командою C<guestfs_inspect_os>).

note: type: textblock
en: (Added in 1.5.15)
uk: (Додано у 1.5.15)

note: type: textblock
en: (Added in 1.15.4)
uk: (Додано у 1.15.4)

note: type: textblock
en: This does not return logical volumes.  For that you will need to call C<guestfs_lvs>.
uk: Не повертає логічних томів. Для логічних томів слід викликати C<guestfs_lvs>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_lgetxattrs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_lgetxattrs>.

note: type: textblock
en: (Added in 1.17.6)
uk: (Додано у 1.17.6)

note: type: textblock
en: This is the same as C<guestfs_removexattr>, but if C<path> is a symbolic link, then it removes an extended attribute of the link itself.
uk: Те саме, що і C<guestfs_removexattr>, але якщо C<path> є символічним посиланням, вилучає розширені атрибути самого символічного посилання.

note: type: textblock
en: This is the same as C<guestfs_setxattr>, but if C<path> is a symbolic link, then it sets an extended attribute of the link itself.
uk: Те саме, що і C<guestfs_setxattr>, але якщо C<path> є символічним посиланням, встановлює розширений атрибут самого символічного посилання.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_lstatns> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_lstatns>.

note: type: textblock
en: This is the same as C<guestfs_stat> except that if C<path> is a symbolic link, then the link is stat-ed, not the file it refers to.
uk: Те саме, що і C<guestfs_stat>, але якщо C<path> є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається.

note: type: textblock
en: This function returns a C<struct guestfs_stat *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_stat> after use>.
uk: Ця функція повертає C<struct guestfs_stat *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_stat>>.

note: type: textblock
en: (Added in 1.9.2)
uk: (Додано у 1.9.2)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_lstatnslist> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_lstatnslist>.

note: type: textblock
en: This call allows you to perform the C<guestfs_lstat> operation on multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу виконувати дію C<guestfs_lstat> над декількома файлами, які зберігаються у каталозі C<path>. Значенням аргументу C<names> є список файлів у цьому каталозі.

note: type: textblock
en: This call is intended for programs that want to efficiently list a directory contents without making many round-trips.  See also C<guestfs_lxattrlist> for a similarly efficient call for getting extended attributes.
uk: Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також C<guestfs_lxattrlist>, якщо потрібний подібний ефективний підхід для отримання розширених атрибутів.

note: type: textblock
en: This function returns a C<struct guestfs_stat_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_stat_list> after use>.
uk: Ця функція повертає C<struct guestfs_stat_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_stat_list>>.

note: type: textblock
en: This is the same as C<guestfs_statns> except that if C<path> is a symbolic link, then the link is stat-ed, not the file it refers to.
uk: Те саме, що і C<guestfs_statns>, але якщо C<path> є символічним посиланням, статистику буде зібрано для цього посилання, а не для запису, на який воно посилається.

note: type: textblock
en: This function returns a C<struct guestfs_statns *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_statns> after use>.
uk: Ця функція повертає C<struct guestfs_statns *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_statns>>.

note: type: textblock
en: (Added in 1.27.53)
uk: (Додано у 1.27.53)

note: type: textblock
en: This call allows you to perform the C<guestfs_lstatns> operation on multiple files, where all files are in the directory C<path>.  C<names> is the list of files from this directory.
uk: Цей виклик надає змогу виконувати дію C<guestfs_lstatns> над декількома файлами, які зберігаються у каталозі C<шлях>. Значенням аргументу C<назви> є список файлів у цьому каталозі.

note: type: textblock
en: This function returns a C<struct guestfs_statns_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_statns_list> after use>.
uk: Ця функція повертає C<struct guestfs_statns_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_statns_list>>.

note: type: textblock
en: Note that if C<keyslot> already contains a key, then this command will fail.  You have to use C<guestfs_luks_kill_slot> first to remove that key.
uk: Зауважте, що якщо у слоті C<keyslot> вже міститься ключ, успішно виконати цю команду не вдасться. Вам доведеться спочатку скористатися командою C<guestfs_luks_kill_slot> для вилучення наявного ключа.

note: type: textblock
en: This function takes a key or passphrase parameter which could contain sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more information.
uk: Ця функція отримує параметр ключа або пароля, тобто дані, які можуть бути конфіденційними. Щоб дізнатися більше про це, ознайомтеся із розділом L</КЛЮЧІ І ПАРОЛІ>.

note: type: textblock
en: This function depends on the feature C<luks>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<luks>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.5.2)
uk: (Додано у 1.5.2)

note: type: textblock
en: This closes a LUKS device that was created earlier by C<guestfs_luks_open> or C<guestfs_luks_open_ro>.  The C<device> parameter must be the name of the LUKS mapping device (ie. F</dev/mapper/mapname>) and I<not> the name of the underlying block device.
uk: Ця команда закриває пристрій LUKS, який раніше було створено за допомогою C<guestfs_luks_open> або C<guestfs_luks_open_ro>. Значенням параметра C<device> має бути назва пристрою прив'язки LUKS (тобто F</dev/mapper/назва_прив'язки>), а I<не> назва підлеглого блокового пристрою.

note: type: textblock
en: (Added in 1.5.1)
uk: (Додано у 1.5.1)

note: type: textblock
en: This command is the same as C<guestfs_luks_format> but it also allows you to set the C<cipher> used.
uk: Ця команда виконує ті самі дії, що і C<guestfs_luks_format>, але, крім того, надає вам змогу вказати використане C<cipher>.

note: type: textblock
en: If this block device contains LVM volume groups, then calling C<guestfs_lvm_scan> with the C<activate> parameter C<true> will make them visible.
uk: Якщо на цьому блоковому пристрої містяться групи томів LVM, видимими їх можна зробити за допомогою виклику L<guestfs_lvm_scan> зі значенням параметра C<activate> рівним C<true>.

note: type: textblock
en: Use C<guestfs_list_dm_devices> to list all device mapper devices.
uk: Скористайтеся командою C<guestfs_list_dm_devices>, щоб отримати список усіх пристроїв засобу прив'язування пристроїв.

note: type: textblock
en: This is the same as C<guestfs_luks_open> except that a read-only mapping is created.
uk: Виконує ті самі дії, що і C<guestfs_luks_open>, але зі створенням прив'язки, яка придатна лише для читання даних.

note: type: textblock
en: (Added in 1.41.9)
uk: (Додано у 1.41.9)

note: type: textblock
en: This function depends on the feature C<lvm2>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<lvm2>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.17.18)
uk: (Додано у 1.17.18)

note: type: textblock
en: See also C<guestfs_is_lv>, C<guestfs_canonical_device_name>.
uk: Див. також C<guestfs_is_lv>, C<guestfs_canonical_device_name>.

note: type: textblock
en: (Added in 1.5.24)
uk: (Додано у 1.5.24)

note: type: textblock
en: This undoes the effect of C<guestfs_lvm_set_filter>.  LVM will be able to see every block device.
uk: Скасовує дію C<guestfs_lvm_set_filter>. LVM зможе бачити усі блокові пристрої.

note: type: textblock
en: When a libguestfs handle is launched it scans for existing devices, so you do not normally need to use this API.  However it is useful when you have added a new device or deleted an existing device (such as when the C<guestfs_luks_open> API is used).
uk: Коли запускається обробник libguestfs, він шукає наявні пристрої, тому, зазвичай, потреби у використанні цього програмного інтерфейсу немає. Втім, він є корисним, якщо ви додали новий пристрій або вилучили наявний пристрій (так трапляється при використанні програмного інтерфейсу C<guestfs_luks_open>).

note: type: textblock
en: (Added in 1.39.8)
uk: (Додано у 1.39.8)

note: type: textblock
en: (Added in 1.0.13)
uk: (Додано у 1.0.13)

note: type: textblock
en: (Added in 1.0.83)
uk: (Додано у 1.0.83)

note: type: textblock
en: (Added in 1.3.3)
uk: (Додано у 1.3.3)

note: type: textblock
en: See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>.
uk: Див. також C<guestfs_lvs_full>, C<guestfs_list_filesystems>.

note: type: textblock
en: This function returns a C<struct guestfs_lvm_lv_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_lvm_lv_list> after use>.
uk: Ця функція повертає C<struct guestfs_lvm_lv_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_lvm_lv_list>>.

note: type: textblock
en: On return you get a flat list of xattr structs which must be interpreted sequentially.  The first xattr struct always has a zero-length C<attrname>.  C<attrval> in this struct is zero-length to indicate there was an error doing C<guestfs_lgetxattr> for this file, I<or> is a C string which is a decimal number (the number of following attributes for this file, which could be C<"0">).  Then after the first xattr struct are the zero or more attributes for the first named file.  This repeats for the second and subsequent files.
uk: Повернуто буде плоский список структур xattr, який слід обробляти послідовно. Перша структура xattr завжди матиме C<attrname> нульової довжини. C<attrval> нульової довжини у цій структурі вказуватиме на те, що під час обробки цього файла за допомогою C<guestfs_lgetxattr> сталася помилка. I<or> є рядком C, який містить десяткове число (кількість наступних атрибутів для цього файла, може бути C<"0">).  Далі, після першої структури xattr буде розташовано нуль або більше атрибутів першого іменованого файла. Далі, дані повторюватиметься для другого та наступних файлів.

note: type: textblock
en: This call is intended for programs that want to efficiently list a directory contents without making many round-trips.  See also C<guestfs_lstatlist> for a similarly efficient call for getting standard stats.
uk: Цю команду призначено для програм, яким потрібно ефективно будувати список вмісту каталогів без виконання багатьох обходів. Див. також C<guestfs_lstatlist>, якщо потрібний подібний ефективний підхід для отримання стандартних статистичних даних.

note: type: textblock
en: Return the maximum number of disks that may be added to a handle (eg. by C<guestfs_add_drive_opts> and similar calls).
uk: Повертає максимальну кількість дисків, які може бути додано до дескриптора (наприклад, за допомогою C<guestfs_add_drive_opts> та подібних команд).

note: type: textblock
en: This function depends on the feature C<mdadm>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<mdadm>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.15.6)
uk: (Додано у 1.15.6)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_md_create>.
uk: Це «варіант з va_list» L</guestfs_md_create>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_md_create>.
uk: Це «варіант з argv» L</guestfs_md_create>.

note: type: textblock
en: To get a list of software RAID devices, call C<guestfs_list_md_devices>.
uk: Щоб отримати список пристроїв програмних RAID, скористайтеся викликом C<guestfs_list_md_devices>.

note: type: textblock
en: This function returns a C<struct guestfs_mdstat_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_mdstat_list> after use>.
uk: Ця функція повертає C<struct guestfs_mdstat_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_mdstat_list>>.

note: type: textblock
en: (Added in 1.17.21)
uk: (Додано у 1.17.21)

note: type: textblock
en: See also C<guestfs_mkdir>, C<guestfs_umask>
uk: Див. також C<guestfs_mkdir>, C<guestfs_umask>

note: type: textblock
en: (Added in 1.19.44)
uk: (Додано у 1.19.44)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mke2fs>.
uk: Це «варіант з va_list» L</guestfs_mke2fs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mke2fs>.
uk: Це «варіант з argv» L</guestfs_mke2fs>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_mke2fs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_mke2fs>.

note: type: textblock
en: See also C<guestfs_mke2journal>.
uk: Див. також C<guestfs_mke2journal>.

note: type: textblock
en: (Added in 1.0.68)
uk: (Додано у 1.0.68)

note: type: textblock
en: See also C<guestfs_mke2journal_L>.
uk: Див. також C<guestfs_mke2journal_L>.

note: type: textblock
en: See also C<guestfs_mke2journal_U>.
uk: Див. також C<guestfs_mke2journal_U>.

note: type: textblock
en: This function depends on the feature C<linuxfsuuid>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<linuxfsuuid>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It is just a convenient wrapper around C<guestfs_mknod>.
uk: Ця команда створює FIFO (іменований канал даних) із назвою C<path> і режимом доступу C<mode>. Це просто зручна обгортка до C<guestfs_mknod>.

note: type: textblock
en: Unlike with C<guestfs_mknod>, C<mode> B<must> contain only permissions bits.
uk: На відміну від C<guestfs_mknod>, параметр C<mode> B<має> містити лише біти прав доступу.

note: type: textblock
en: This function depends on the feature C<mknod>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<mknod>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_mkfs_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_mkfs_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mkfs_opts>.
uk: Це «варіант з va_list» L</guestfs_mkfs_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mkfs_opts>.
uk: Це «варіант з argv» L</guestfs_mkfs_opts>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_mkfs> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_mkfs>.

note: type: textblock
en: This call is similar to C<guestfs_mkfs>, but it allows you to control the block size of the resulting filesystem.  Supported block sizes depend on the filesystem type, but typically they are C<1024>, C<2048> or C<4096> only.
uk: Цей виклик подібний до C<guestfs_mkfs>, але надає вам змогу контролювати розмір блоку отриманої файлової системи. Набір підтримуваних розмірів блоків залежить від типу файлової системи, але типовими є C<1024>, C<2048> та C<4096>.

note: type: textblock
en: To create general filesystems, use C<guestfs_mkfs>.
uk: Для створення файлових систем скористайтеся C<guestfs_mkfs>.

note: type: textblock
en: (Added in 1.17.25)
uk: (Додано у 1.17.25)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mkfs_btrfs>.
uk: Це «варіант з va_list» L</guestfs_mkfs_btrfs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mkfs_btrfs>.
uk: Це «варіант з argv» L</guestfs_mkfs_btrfs>.

note: type: textblock
en: C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls that can be used to create extra mountpoints before mounting the first filesystem.
uk: C<guestfs_mkmountpoint> і C<guestfs_rmmountpoint> є спеціалізованими викликами, якими можна скористатися для створення додаткових точок монтування перед монтуванням першої файлової системи.

note: type: textblock
en: C<guestfs_mkmountpoint> is not compatible with C<guestfs_umount_all>.  You may get unexpected errors if you try to mix these calls.  It is safest to manually unmount filesystems and remove mountpoints after use.
uk: C<guestfs_mkmountpoint> є несумісною з C<guestfs_umount_all>. Якщо ви спробуєте суміщати ці виклики, можуть статися неочікувані помилки. Найбезпечніше демонтувати файлові системи вручну, а потім вилучити точки монтування після використання.

note: type: textblock
en: C<guestfs_umount_all> unmounts filesystems by sorting the paths longest first, so for this to work for manual mountpoints, you must ensure that the innermost mountpoints have the longest pathnames, as in the example code above.
uk: C<guestfs_umount_all> демонтує файлові системи упорядковуючи шляхи так, щоб у списку найдовші шляхи були першими. Щоб ця команда могла працювати зі створеними вручну точками монтування, системи має бути змонтовано так, щоб точки монтування із найбільшим рівнем вкладеності мали найдовші назви шляхів, як у наведеному вище прикладі.

note: type: textblock
en: Autosync [see C<guestfs_set_autosync>, this is set by default on handles] can cause C<guestfs_umount_all> to be called when the handle is closed which can also trigger these issues.
uk: Автоматична синхронізація [див. C<guestfs_set_autosync>, встановлюється типово на дескрипторах] може спричиняти виклик C<guestfs_umount_all>, коли дескриптор закривається, що теж може призвести до таких проблем.

note: type: textblock
en: (Added in 1.0.62)
uk: (Додано у 1.0.62)

note: type: textblock
en: Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a regular file).  These constants are available in the standard Linux header files, or you can use C<guestfs_mknod_b>, C<guestfs_mknod_c> or C<guestfs_mkfifo> which are wrappers around this command which bitwise OR in the appropriate constant for you.
uk: Зауважте, що, як і у L<mknod(2)>, значення режиму має бути результатом застосування бітового АБО до значень S_IFBLK, S_IFCHR, S_IFIFO та S_IFSOCK (інакше цей виклик просто створить звичайний файл). Ці сталі доступні у стандартних файлах заголовків Linux. Ви також можете скористатися C<guestfs_mknod_b>, C<guestfs_mknod_c> або C<guestfs_mkfifo>, які є обгортками навколо цієї команди, які виконують бітове АБО і створюють відповідну сталу за вас.

note: type: textblock
en: This call creates a block device node called C<path> with mode C<mode> and device major/minor C<devmajor> and C<devminor>.  It is just a convenient wrapper around C<guestfs_mknod>.
uk: Створює вузол блокового пристрою із назвою C<path> і режимом доступу C<mode> та первинний і вторинний пристрої C<devmajor> і C<devminor>. Це лише зручна обгортка навколо C<guestfs_mknod>.

note: type: textblock
en: This call creates a char device node called C<path> with mode C<mode> and device major/minor C<devmajor> and C<devminor>.  It is just a convenient wrapper around C<guestfs_mknod>.
uk: Створює вузол символьного пристрою із назвою C<path> і режимом доступу C<mode> та первинний і вторинний пристрої C<devmajor> і C<devminor>. Це лише зручна обгортка навколо C<guestfs_mknod>.

note: type: textblock
en: This function depends on the feature C<squashfs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<squashfs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.35.25)
uk: (Додано у 1.35.25)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mksquashfs>.
uk: Це «варіант з va_list» L</guestfs_mksquashfs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mksquashfs>.
uk: Це «варіант з argv» L</guestfs_mksquashfs>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_mkswap_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_mkswap_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mkswap_opts>.
uk: Це «варіант з va_list» L</guestfs_mkswap_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mkswap_opts>.
uk: Це «варіант з argv» L</guestfs_mkswap_opts>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_mkswap> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_mkswap>.

note: type: textblock
en: This command just writes a swap file signature to an existing file.  To create the file itself, use something like C<guestfs_fallocate>.
uk: Ця команда просто записує підпис файла резервної пам'яті на диску до наявного файла. Для створення самого файла скористайтеся чимось подібним до C<guestfs_fallocate>.

note: type: textblock
en: See also: C<guestfs_mkdtemp>.
uk: Див. також C<guestfs_mkdtemp>.

note: type: textblock
en: (Added in 1.19.53)
uk: (Додано у 1.19.53)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mktemp>.
uk: Це «варіант з va_list» L</guestfs_mktemp>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mktemp>.
uk: Це «варіант з argv» L</guestfs_mktemp>.

note: type: textblock
en: This function depends on the feature C<linuxmodules>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<linuxmodules>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: Mount a guest disk at a position in the filesystem.  Block devices are named F</dev/sda>, F</dev/sdb> and so on, as they were added to the guest.  If those block devices contain partitions, they will have the usual names (eg. F</dev/sda1>).  Also LVM F</dev/VG/LV>-style names can be used, or ‘mountable’ strings returned by C<guestfs_list_filesystems> or C<guestfs_inspect_get_mountpoints>.
uk: Монтує диск гостьової системи до вказаного місця у файловій системі. Назви блокових пристроїв визначаються за схемою F</dev/sda>, F</dev/sdb> тощо за порядком, у якому їх було додано до гостьової системи. Якщо на цих блокових пристроях містяться розділи, вони матимуть звичні назви (наприклад F</dev/sda1>). Крім того, можна використовувати назви у стилі LVM F</dev/VG/LV> або рядки «mountable», які повертають команди C<guestfs_list_filesystems> та C<guestfs_inspect_get_mountpoints>.

note: type: textblock
en: Before libguestfs 1.13.16, this call implicitly added the options C<sync> and C<noatime>.  The C<sync> option greatly slowed writes and caused many problems for users.  If your program might need to work with older versions of libguestfs, use C<guestfs_mount_options> instead (using an empty string for the first parameter if you don't want any options).
uk: До версії libguestfs 1.13.16 цей виклик неявним чином додавав параметри монтування C<sync> та C<noatime>. Використання параметра C<sync> значно уповільнювало запис і спричиняло значні проблеми для користувачів. Якщо ваша програма має працювати із застарілими версіями libguestfs, краще скористайтеся C<guestfs_mount_options> (використовуючи порожній рядок як перший параметр, якщо ви не хочете визначати ніяких нетипових параметрів монтування).

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mount_9p>.
uk: Це «варіант з va_list» L</guestfs_mount_9p>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mount_9p>.
uk: Це «варіант з argv» L</guestfs_mount_9p>.

note: type: textblock
en: When C<guestfs_mount_local> returns, the filesystem is ready, but is not processing requests (access to it will block).  You have to call C<guestfs_mount_local_run> to run the main loop.
uk: Коли C<guestfs_mount_local> повертає керування, файлова система готова, але не обробляє запити (доступ до неї блокуватиметься). Вам слід викликати C<guestfs_mount_local_run>, щоб запустити основний цикл обробки.

note: type: textblock
en: (Added in 1.17.22)
uk: (Додано у 1.17.22)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_mount_local>.
uk: Це «варіант з va_list» L</guestfs_mount_local>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_mount_local>.
uk: Це «варіант з argv» L</guestfs_mount_local>.

note: type: textblock
en: This should only be called after C<guestfs_mount_local> returns successfully.  The call will not return until the filesystem is unmounted.
uk: Цю команду слід викликати, лише якщо успішно виконано C<guestfs_mount_local>. Виклик команди не поверне керування, доки файлову систему не буде змонтовано.

note: type: textblock
en: You may call this from a different thread than the one which called C<guestfs_mount_local>, subject to the usual rules for threads and libguestfs (see L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>).
uk: Ви можете викликати цю команду із іншого потоку обробки ніж той, з якого викликано L</guestfs_mount_local>, виконуючи звичні правила щодо роботи з декількома потоками обробки і libguestfs (див. L<guestfs(3)/ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ>).

note: type: textblock
en: This is the same as the C<guestfs_mount> command, but it allows you to set the mount options as for the L<mount(8)> I<-o> flag.
uk: Те саме, що і команда C<guestfs_mount>, але надає вам змогу встановити параметри монтування, подібно до параметра команди L<mount(8)> I<-o>.

note: type: textblock
en: (Added in 1.0.10)
uk: (Додано у 1.0.10)

note: type: textblock
en: This is the same as the C<guestfs_mount> command, but it mounts the filesystem with the read-only (I<-o ro>) flag.
uk: Те саме, що і команда C<guestfs_mount>, але монтує файлову систему у режимі лише читання (використовує параметр I<-o ro>).

note: type: textblock
en: This is the same as the C<guestfs_mount> command, but it allows you to set both the mount options and the vfstype as for the L<mount(8)> I<-o> and I<-t> flags.
uk: Те саме, що і команда C<guestfs_mount>, але надає вам змогу встановити параметри монтування і тип файлової системи, подібно до параметрів команди L<mount(8)> I<-o> і I<-t>.

note: type: textblock
en: However this doesn't apply for btrfs subvolumes, where the mountable is a combination of both the device name and the subvolume path (see also C<guestfs_mountable_subvolume> to extract the subvolume path of the mountable if any).
uk: Втім, це не стосується підтомів btrfs, де значенням параметра «монтування» є поєднання назви пристрою та шляху до підтому (див. також C<guestfs_mountable_subvolume>, щоб дізнатися про те, як визначити шлях до підтому для монтування, якщо такий передбачено).

note: type: textblock
en: (Added in 1.33.15)
uk: (Додано у 1.33.15)

note: type: textblock
en: Returns the subvolume path of a mountable. Btrfs subvolumes mountables are a combination of both the device name and the subvolume path (see also C<guestfs_mountable_device> to extract the device of the mountable).
uk: Повертає шлях до підтому для монтування. Монтування підтомів btrfs є поєднаннями назви пристрою і шляху до підтому (див. також C<guestfs_mountable_device>, щоб дізнатися про те, як визначити назву пристрою для монтування).

note: type: textblock
en: This call is similar to C<guestfs_mounts>.  That call returns a list of devices.  This one returns a hash table (map) of device name to directory where the device is mounted.
uk: Цей виклик подібний до C<guestfs_mounts>. Виклик повертає список пристроїв. Запис списку є таблицею хешів (картою) з назви пристрою і каталогу, до якого змонтовано пристрій.

note: type: textblock
en: See also: C<guestfs_mountpoints>
uk: Див. також C<guestfs_mountpoints>

note: type: textblock
en: See also: C<guestfs_rename>.
uk: Див. також C<guestfs_rename>.

note: type: textblock
en: This returns the number of whole block devices that were added.  This is the same as the number of devices that would be returned if you called C<guestfs_list_devices>.
uk: Повертає кількість усіх доданих блокових пристроїв. Це та сама кількість пристроїв, яку було б повернуто, якби ви викликали C<guestfs_list_devices>.

note: type: textblock
en: To find out the maximum number of devices that could be added, call C<guestfs_max_disks>.
uk: Щоб визначити максимальну кількість пристроїв, які може бути додано, викличте C<guestfs_max_disks>.

note: type: textblock
en: (Added in 1.19.15)
uk: (Додано у 1.19.15)

note: type: textblock
en: This function depends on the feature C<ntfs3g>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<ntfs3g>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.0.43)
uk: (Додано у 1.0.43)

note: type: textblock
en: Restore the C<backupfile> (from a previous call to C<guestfs_ntfsclone_out>) to C<device>, overwriting any existing contents of this device.
uk: Відновити C<backupfile> (створений попереднім викликом C<guestfs_ntfsclone_out>) на пристрої C<device> із перезаписом усього наявного вмісту пристрою.

note: type: textblock
en: (Added in 1.17.9)
uk: (Додано у 1.17.9)

note: type: textblock
en: Use C<guestfs_ntfsclone_in> to restore the file back to a libguestfs device.
uk: Використовує C<guestfs_ntfsclone_in> для відновлення резервної копії у файлі на пристрої libguestfs.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_ntfsclone_out>.
uk: Це «варіант з va_list» L</guestfs_ntfsclone_out>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_ntfsclone_out>.
uk: Це «варіант з argv» L</guestfs_ntfsclone_out>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_ntfsfix>.
uk: Це «варіант з va_list» L</guestfs_ntfsfix>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_ntfsfix>.
uk: Це «варіант з argv» L</guestfs_ntfsfix>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_ntfsresize_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_ntfsresize_opts> без додаткових аргументів.

note: type: textblock
en: After the resize operation, the filesystem is always marked as requiring a consistency check (for safety).  You have to boot into Windows to perform this check and clear this condition.  If you I<don't> set the C<force> option then it is not possible to call C<guestfs_ntfsresize> multiple times on a single filesystem without booting into Windows between each resize.
uk: Після виконання дії зі зміни розміру файлову систему завжди буде позначено як таку, яка потребує перевірки на коректність (з міркувань безпеки). Вам слід завантажити Windows, щоб виконати перевірку і зняти позначення. Якщо ви I<не> встановлювали параметр C<force>, C<guestfs_ntfsresize> не можна буде викликати декілька разів поспіль для однієї файлової системи без завантаження Windows між діями зі зміни розміру.

note: type: textblock
en: This function depends on the feature C<ntfsprogs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<ntfsprogs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_ntfsresize_opts>.
uk: Це «варіант з va_list» L</guestfs_ntfsresize_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_ntfsresize_opts>.
uk: Це «варіант з argv» L</guestfs_ntfsresize_opts>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_ntfsresize> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_ntfsresize>.

note: type: textblock
en: This command is the same as C<guestfs_ntfsresize> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і C<guestfs_ntfsresize>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: textblock
en: (Added in 1.3.14)
uk: (Додано у 1.3.14)

note: type: textblock
en: I<Most programs do not need to call this>.  It is done implicitly when you call C<guestfs_create>.
uk: I<У більшості програм потреби у виконанні цієї дії немає> Дія неявним чином виконується під час виклику C<guestfs_create>.

note: type: textblock
en: See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables that can affect libguestfs handles.  See also L<guestfs(3)/guestfs_create_flags>, and C<guestfs_parse_environment_list>.
uk: Див L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>, де наведено список змінних середовища, які впливають на засоби обробки libguestfs. Див. також L<guestfs(3)/guestfs_create_flags> та L<guestfs_parse_environment_list>.

note: type: textblock
en: This is the same as C<guestfs_parse_environment> except that it parses an explicit list of strings instead of the program's environment.
uk: Те саме, що і C<guestfs_parse_environment>, але обробляє явним список рядків, замість середовища програми.

note: type: textblock
en: This command adds a partition to C<device>.  If there is no partition table on the device, call C<guestfs_part_init> first.
uk: Ця команда додає розділ на пристрої C<device>. Якщо на пристрої немає таблиці розділів, спочатку слід викликати C<guestfs_part_init>.

note: type: textblock
en: Creating a partition which covers the whole disk is not so easy.  Use C<guestfs_part_disk> to do that.
uk: Створення розділу, який займатиме увесь диск є непростою справою. Для виконання цього завдання скористайтеся C<guestfs_part_disk>.

note: type: textblock
en: (Added in 1.0.78)
uk: (Додано у 1.0.78)

note: type: textblock
en: This command is simply a combination of C<guestfs_part_init> followed by C<guestfs_part_add> to create a single primary partition covering the whole disk.
uk: Ця команда є простою комбінацією C<guestfs_part_init> з наступною C<guestfs_part_add> для створення єдиного основного розділу, який займатиме увесь диск.

note: type: textblock
en: C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other possible values are described in C<guestfs_part_init>.
uk: Значенням параметра C<parttype> є тип таблиці розділів, зазвичай, C<mbr> або C<gpt>, але можливі і інші значення, описані у довідці з C<guestfs_part_init>.

note: type: textblock
en: This function depends on the feature C<gdisk>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<gdisk>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.33.2)
uk: (Додано у 1.33.2)

note: type: textblock
en: See also C<guestfs_part_set_bootable>.
uk: Див. також C<guestfs_part_set_bootable>.

note: type: textblock
en: (Added in 1.21.1)
uk: (Додано у 1.21.1)

note: type: textblock
en: (Added in 1.29.25)
uk: (Додано у 1.29.25)

note: type: textblock
en: Note that only MBR (old DOS-style) partitions have type bytes.  You will get undefined results for other partition table types (see C<guestfs_part_get_parttype>).
uk: Зауважте, що байти типу мають лише розділи MBR (застарілі розділи у стилі DOS). Ви отримаєте невизначені результати для інших типів таблиць розділів (див. C<guestfs_part_get_parttype>).

note: type: textblock
en: (Added in 1.25.33)
uk: (Додано у 1.25.33)

note: type: textblock
en: Common return values include: C<msdos> (a DOS/Windows style MBR partition table), C<gpt> (a GPT/EFI-style partition table).  Other values are possible, although unusual.  See C<guestfs_part_init> for a full list.
uk: Серед типових повернутих значень: C<msdos> (таблиця розділів MBR у стилі DOS/Windows), C<gpt> (таблиця розділів у стилі GPT/EFI). Можливі також інші значення, але вони є рідкісними. Повний список можна знайти у розділі щодо C<guestfs_part_init>.

note: type: textblock
en: Initially there are no partitions.  Following this, you should call C<guestfs_part_add> for each partition required.
uk: Спочатку на пристрої немає розділів. Після цієї команди вам слід викликати C<guestfs_part_add> для кожного потрібного вам розділу.

note: type: textblock
en: Start of the partition I<in bytes>.  To get sectors you have to divide by the device’s sector size, see C<guestfs_blockdev_getss>.
uk: Позиція початку розділу I<у байтах>. Для отримання позиції у секторах вам слід поділити це значення на розмір сектора, див. C<guestfs_blockdev_getss>.

note: type: textblock
en: This function returns a C<struct guestfs_partition_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_partition_list> after use>.
uk: Ця функція повертає C<struct guestfs_partition_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_partition_list>>.

note: type: textblock
en: Note that this does not modify any filesystem present in the partition.  If you wish to do this, you will need to use filesystem resizing commands like C<guestfs_resize2fs>.
uk: Зауважте, що ця команда не вносить змін до файлових систем на розділі. Якщо вам потрібно змінити розмір файлової системи, вам слід скористатися командами зміни розмірів файлових систем, наприклад C<guestfs_resize2fs>.

note: type: textblock
en: (Added in 1.37.20)
uk: (Додано у 1.37.20)

note: type: textblock
en: The named partition must exist, for example as a string returned from C<guestfs_list_partitions>.
uk: Іменований розділ має існувати, наприклад, як рядок, який повертає C<guestfs_list_partitions>.

note: type: textblock
en: See also C<guestfs_part_to_partnum>, C<guestfs_device_index>.
uk: Див. також C<guestfs_part_to_partnum>, C<guestfs_device_index>.

note: type: textblock
en: See also C<guestfs_part_to_dev>.
uk: Див. також C<guestfs_part_to_dev>.

note: type: textblock
en: See also C<guestfs_pwrite>, C<guestfs_pread_device>.
uk: Див. також C<guestfs_pwrite>, C<guestfs_pread_device>.

note: type: textblock
en: See also C<guestfs_pread>.
uk: Див. також C<guestfs_pread>.

note: type: textblock
en: (Added in 1.5.21)
uk: (Додано у 1.5.21)

note: type: textblock
en: (Added in 1.19.26)
uk: (Додано у 1.19.26)

note: type: textblock
en: This command is the same as C<guestfs_pvresize> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і C<guestfs_pvresize>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: textblock
en: See also C<guestfs_pvs_full>.
uk: Див. також C<guestfs_pvs_full>.

note: type: textblock
en: This function returns a C<struct guestfs_lvm_pv_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_lvm_pv_list> after use>.
uk: Ця функція повертає C<struct guestfs_lvm_pv_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_lvm_pv_list>>.

note: type: textblock
en: See also C<guestfs_pread>, C<guestfs_pwrite_device>.
uk: Див. також C<guestfs_pread>, C<guestfs_pwrite_device>.

note: type: textblock
en: See also C<guestfs_pwrite>.
uk: Див. також C<guestfs_pwrite>.

note: type: textblock
en: (Added in 1.5.20)
uk: (Додано у 1.5.20)

note: type: textblock
en: Unlike C<guestfs_cat>, this function can correctly handle files that contain embedded ASCII NUL characters.
uk: На відміну від C<guestfs_cat>, ця функція може правильно обробляти файли, які містять вбудовані символи NUL ASCII.

note: type: textblock
en: (Added in 1.0.63)
uk: (Додано у 1.0.63)

note: type: textblock
en: Note that this function cannot correctly handle binary files (specifically, files containing C<\0> character which is treated as end of string).  For those you need to use the C<guestfs_read_file> function and split the buffer into lines yourself.
uk: Зауважте, що ця функція не може належним чином обробляти двійкові файли (особливо, файли, у яких містяться символи C<\0>, які вважаються символами кінця рядка). Для таких файлів слід використовувати функцію C<guestfs_read_file> і ділити буфер на рядки власноруч.

note: type: textblock
en: This function is primarily intended for use by programs.  To get a simple list of names, use C<guestfs_ls>.  To get a printable directory for human consumption, use C<guestfs_ll>.
uk: Цю функцію створено, в основному, для використання у програмах. Щоб отримати простий список назв, скористайтеся C<guestfs_ls>. Щоб отримати придатний для друку і сприйняття людиною список каталогу, скористайтеся C<guestfs_ll>.

note: type: textblock
en: This function returns a C<struct guestfs_dirent_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_dirent_list> after use>.
uk: Ця функція повертає C<struct guestfs_dirent_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_dirent_list>>.

note: type: textblock
en: (Added in 1.23.2)
uk: (Додано у 1.23.2)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_remount>.
uk: Це «варіант з va_list» L</guestfs_remount>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_remount>.
uk: Це «варіант з argv» L</guestfs_remount>.

note: type: textblock
en: This function is conceptually the opposite of C<guestfs_add_drive_opts>.  It removes the drive that was previously added with label C<label>.
uk: Концептуально, ця функція є протилежністю C<guestfs_add_drive_opts>. Вона вилучає диск, який раніше було додано з міткою C<label>.

note: type: textblock
en: Note that in order to remove drives, you have to add them with labels (see the optional C<label> argument to C<guestfs_add_drive_opts>).  If you didn't use a label, then they cannot be removed.
uk: Зауважте, що для вилучення дисків за допомогою цієї команди вам слід додавати їх з мітками (див. необов'язковий аргумент C<label> у C<guestfs_add_drive_opts>). Якщо ви не вказали мітку, вилучити диск за допомогою цієї команди не вдасться.

note: type: textblock
en: See also: C<guestfs_lremovexattr>, L<attr(5)>.
uk: Див. також C<guestfs_lremovexattr>, L<attr(5)>.

note: type: textblock
en: Rename a file to a new place on the same filesystem.  This is the same as the Linux L<rename(2)> system call.  In most cases you are better to use C<guestfs_mv> instead.
uk: Перейменовує файл, пересуваючи його до нового місця у файловій системі. Те саме, що системний виклик L<rename(2)>  у Linux. У більшості випадків варто замість цієї команди використовувати C<guestfs_mv>.

note: type: textblock
en: (Added in 1.21.5)
uk: (Додано у 1.21.5)

note: type: textblock
en: This command is the same as C<guestfs_resize2fs>, but the filesystem is resized to its minimum size.  This works like the I<-M> option to the L<resize2fs(8)> command.
uk: Ця команда аналогічна до C<guestfs_resize2fs>, але розмір файлової системи змінюється до найменшого. Це працює як параметр I<-M> команди L<resize2fs(8)>.

note: type: textblock
en: To get the resulting size of the filesystem you should call C<guestfs_tune2fs_l> and read the C<Block size> and C<Block count> values.  These two numbers, multiplied together, give the resulting size of the minimal filesystem in bytes.
uk: Щоб отримати остаточний розмір файлової системи, вам слід викликати C<guestfs_tune2fs_l> і прочитати значення C<Block size> та C<Block count>. Ці два числа, перемножені між собою, дадуть остаточний розмір файлової системи у байтах.

note: type: textblock
en: This command is the same as C<guestfs_resize2fs> except that it allows you to specify the new size (in bytes) explicitly.
uk: Ця команда виконує ті самі дії, що і C<guestfs_resize2fs>, але вона надає вам змогу вказати новий розмір (у байтах) явним чином.

note: type: textblock
en: This call cannot remove directories.  Use C<guestfs_rmdir> to remove an empty directory, or C<guestfs_rm_rf> to remove directories recursively.
uk: Ця команда не може вилучати каталоги. Для вилучення порожнього каталогу скористайтеся командою C<guestfs_rmdir>. Для рекурсивного вилучення каталогів слід використовувати C<guestfs_rm_rf>.

note: type: textblock
en: (Added in 1.19.42)
uk: (Додано у 1.19.42)

note: type: textblock
en: This call removes a mountpoint that was previously created with C<guestfs_mkmountpoint>.  See C<guestfs_mkmountpoint> for full details.
uk: Цей виклик вилучає точку монтування, яку перед цим було створено за допомогою команди C<guestfs_mkmountpoint>. Щоб дізнатися більше, ознайомтеся із розділом щодо C<guestfs_mkmountpoint>.

note: type: textblock
en: This function depends on the feature C<rsync>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<rsync>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.19.29)
uk: (Додано у 1.19.29)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_rsync>.
uk: Це «варіант з va_list» L</guestfs_rsync>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_rsync>.
uk: Це «варіант з argv» L</guestfs_rsync>.

note: type: textblock
en: This call only works if the network is enabled.  See C<guestfs_set_network> or the I<--network> option to various tools like L<guestfish(1)>.
uk: Ця команда працюватиме, лише якщо увімкнено можливість роботи у мережі. Див. C<guestfs_set_network> або параметр I<--network> різноманітних інструментів, зокрема L<guestfish(1)>.

note: type: textblock
en: The optional arguments are the same as those of C<guestfs_rsync>.
uk: Необов'язкові аргументи такі самі, як і у C<guestfs_rsync>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_rsync_in>.
uk: Це «варіант з va_list» L</guestfs_rsync_in>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_rsync_in>.
uk: Це «варіант з argv» L</guestfs_rsync_in>.

note: type: textblock
en: Globbing does not happen on the C<src> parameter.  In programs which use the API directly you have to expand wildcards yourself (see C<guestfs_glob_expand>).  In guestfish you can use the C<glob> command (see L<guestfish(1)/glob>), for example:
uk: У параметрі C<src> не виконується підставляння замість символів-замінників. У програмах, де програмний інтерфейс використовується безпосередньо, вам слід розгортати замінники власноруч (див.  C<guestfs_glob_expand>). У guestfish ви можете скористатися командою C<glob> (див. L<guestfish(1)/glob>). Приклад:

note: type: textblock
en: This is the "va_list variant" of L</guestfs_rsync_out>.
uk: Це «варіант з va_list» L</guestfs_rsync_out>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_rsync_out>.
uk: Це «варіант з argv» L</guestfs_rsync_out>.

note: type: textblock
en: This function depends on the feature C<scrub>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<scrub>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.0.52)
uk: (Додано у 1.0.52)

note: type: textblock
en: This command creates the directory C<dir> and then fills it with files until the filesystem is full, and scrubs the files as for C<guestfs_scrub_file>, and deletes them.  The intention is to scrub any free space on the partition containing C<dir>.
uk: Ця команда створює каталог C<dir>, а потім заповнює його файлами, аж доки файлову систему не буде повністю заповнено, далі витирає файли, як у команді C<guestfs_scrub_file>, і вилучає їх. Команду призначено для витирання усіх даних з вільного місця на розділі, де зберігається каталог C<dir>.

note: type: textblock
en: This function depends on the feature C<selinuxrelabel>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<selinuxrelabel>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.33.43)
uk: (Додано у 1.33.43)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_selinux_relabel>.
uk: Це «варіант з va_list» L</guestfs_selinux_relabel>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_selinux_relabel>.
uk: Це «варіант з argv» L</guestfs_selinux_relabel>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_set_backend> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_set_backend>.

note: type: textblock
en: This call replaces all backend settings.  If you want to replace a single backend setting, see C<guestfs_set_backend_setting>.  If you want to clear a single backend setting, see C<guestfs_clear_backend_setting>.
uk: Цей виклик замінює усі параметри модуля обробки. Якщо вам потрібно замінити лише один рядок параметра, скористайтеся C<guestfs_set_backend_setting>. Якщо вам потрібно прибрати один рядок параметра, скористайтеся C<guestfs_clear_backend_setting>.

note: type: textblock
en: One consequence of this is that log messages aren't caught by the library and handled by C<guestfs_set_log_message_callback>, but go straight to stdout.
uk: Одним із наслідків цього є те, що повідомлення журналу не перехоплюватимуться бібліотекою і не оброблятимуться C<guestfs_set_log_message_callback>, а передаватимуться безпосередньо до stdout.

note: type: textblock
en: C<attrs> is a string of characters representing file attributes.  See C<guestfs_get_e2attrs> for a list of possible attributes.  Not all attributes can be changed.
uk: Параметр C<attrs> є рядком із символів, які визначають атрибути файла. Список можливих значень можна знайти у описі C<guestfs_get_e2attrs>. Змінювати можна не усі атрибути.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_set_e2attrs>.
uk: Це «варіант з va_list» L</guestfs_set_e2attrs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_set_e2attrs>.
uk: Це «варіант з argv» L</guestfs_set_e2attrs>.

note: type: textblock
en: See C<guestfs_get_e2generation>.
uk: Див. C<guestfs_get_e2generation>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_set_label> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_set_label>.

note: type: textblock
en: You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2label> to return the existing label on a filesystem.
uk: Ви можете скористатися C<guestfs_tune2fs_l> або C<guestfs_get_e2label> для отримання наявної мітки файлової системи.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_set_uuid> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_set_uuid>.

note: type: textblock
en: You can use C<guestfs_vfs_uuid> to return the existing UUID of a filesystem.
uk: Ви можете скористатися C<guestfs_vfs_uuid> для отримання наявного UUID файлової системи.

note: type: textblock
en: See also C<guestfs_set_program>, C<guestfs_set_trace>, C<guestfs_get_identifier>.
uk: Див. також C<guestfs_set_program>, C<guestfs_set_trace>, C<guestfs_get_identifier>.

note: type: textblock
en: To read the label on a filesystem, call C<guestfs_vfs_label>.
uk: Для читання мітки файлової системи використовуйте C<guestfs_vfs_label>.

note: type: textblock
en: This sets the memory size in megabytes allocated to the hypervisor.  This only has any effect if called before C<guestfs_launch>.
uk: Встановлює розмір у мегабайтах, яку має бути отримано для гіпервізору пам'яті. Працює, лише якщо викликано до C<guestfs_launch>.

note: type: textblock
en: You must call this before calling C<guestfs_launch>, otherwise it has no effect.
uk: Цю функцію слід викликати до C<guestfs_launch>, інакше вона не спрацює.

note: type: textblock
en: The default for this flag is false, because usually you want C<^C> to kill the subprocess.  Guestfish sets this flag to true when used interactively, so that C<^C> can cancel long-running commands gracefully (see C<guestfs_user_cancel>).
uk: Типовим для цього прапорця є значення false, оскільки, зазвичай, C<^C> має вбивати підпроцеси. Guestfish встановлює для цього прапорця значення true, якщо програма використовується інтерактивно, щоб за допомогою C<^C> можна було належно скасувати дії, які виконуються надто довго (див. C<guestfs_user_cancel>).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_set_hv> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_set_hv>.

note: type: textblock
en: If this is called with the parameter C<false> then C<guestfs_launch> does not create a recovery process.  The purpose of the recovery process is to stop runaway hypervisor processes in the case where the main program aborts abruptly.
uk: Якщо команда викликається із параметром C<false>, C<guestfs_launch> не створюватиме процесу відновлення. Призначенням процесу відновлення є зупинення залишкових процесів гіпервізору, якщо основна програма несподівано завершує роботу.

note: type: textblock
en: This only has any effect if called before C<guestfs_launch>, and the default is true.
uk: Працює, лише якщо викликано до C<guestfs_launch>, а типовим значенням є true.

note: type: textblock
en: This function must be called before C<guestfs_launch>.
uk: Цю функцію слід викликати до C<guestfs_launch>.

note: type: textblock
en: Trace messages are normally sent to C<stderr>, unless you register a callback to send them somewhere else (see C<guestfs_set_event_callback>).
uk: Повідомлення трасування зазвичай надсилаються до C<stderr>, якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. C<guestfs_set_event_callback>).

note: type: textblock
en: To read the UUID on a filesystem, call C<guestfs_vfs_uuid>.
uk: Для читання UUID файлової системи слід викликати C<guestfs_vfs_uuid>.

note: type: textblock
en: (Added in 1.29.50)
uk: (Додано у 1.29.50)

note: type: textblock
en: Verbose messages are normally sent to C<stderr>, unless you register a callback to send them somewhere else (see C<guestfs_set_event_callback>).
uk: Докладні повідомлення зазвичай надсилаються до C<stderr>, якщо ви не зареєструєте зворотного виклику для надсилання цих повідомлень у якесь інше місце (див. C<guestfs_set_event_callback>).

note: type: textblock
en: See also: C<guestfs_lsetxattr>, L<attr(5)>.
uk: Див. також C<guestfs_lsetxattr>, L<attr(5)>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_part_add> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_part_add>.

note: type: textblock
en: See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>
uk: Див. також C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>

note: type: textblock
en: This is a simplified interface to the C<guestfs_sfdisk> command, where partition sizes are specified in megabytes only (rounded to the nearest cylinder) and you don't need to specify the cyls, heads and sectors parameters which were rarely if ever used anyway.
uk: Це спрощений інтерфейс команди C<guestfs_sfdisk>, де розміри розділів вказується у лише у мегабайтах (округлений до найближчого циліндра), і вам не потрібно вказувати параметри циліндрів, голівок і секторів, використання яких все одно є рідкісним.

note: type: textblock
en: See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and C<guestfs_part_disk>
uk: Див. також C<guestfs_sfdisk>, сторінку man L<sfdisk(8)> та C<guestfs_part_disk>

note: type: textblock
en: For other parameters, see C<guestfs_sfdisk>.  You should usually pass C<0> for the cyls/heads/sectors parameters.
uk: Опис інший параметрів можна знайти у довідці щодо C<guestfs_sfdisk>. Зазвичай, вам варто передати C<0> для параметрів циліндрів, заголовків та секторів.

note: type: textblock
en: See also: C<guestfs_part_add>
uk: Див. також C<guestfs_part_add>

note: type: textblock
en: This displays the disk geometry of C<device> read from the partition table.  Especially in the case where the underlying block device has been resized, this can be different from the kernel’s idea of the geometry (see C<guestfs_sfdisk_kernel_geometry>).
uk: Ця команда показує геометрію диска пристрою C<device>, прочитану з таблиці розділів. Ці дані можуть відрізнятися від даних щодо геометрії, які відомі ядру, особливо у випадку, якщо розмір базового пристрою було змінено (див. C<guestfs_sfdisk_kernel_geometry>).

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_part_list> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_part_list>.

note: type: textblock
en: See also: C<guestfs_part_list>
uk: Див. також C<guestfs_part_list>

note: type: textblock
en: This is like C<guestfs_command>, but passes the command to:
uk: Подібна до C<guestfs_command>, але передає команду так:

note: type: textblock
en: All the provisos about C<guestfs_command> apply to this call.
uk: Усі зауваження щодо C<guestfs_command> стосуються і цього виклику.

note: type: textblock
en: This is the same as C<guestfs_sh>, but splits the result into a list of lines.
uk: Те саме, що і C<guestfs_sh>, але результат буде поділено на список рядків.

note: type: textblock
en: See also: C<guestfs_command_lines>
uk: Див. також C<guestfs_command_lines>

note: type: textblock
en: This is the opposite of C<guestfs_launch>.  It performs an orderly shutdown of the backend process(es).  If the autosync flag is set (which is the default) then the disk image is synchronized.
uk: Протилежність команди C<guestfs_launch>. Виконує упорядковане вимикання процесів модуля обробки. Якщо встановлено прапорець autosync (типова поведінка), буде синхронізовано образ диска.

note: type: textblock
en: This call does I<not> close or free up the handle.  You still need to call C<guestfs_close> afterwards.
uk: Ця команда I<не> закриває і не звільняє дескриптор. Вам слід викликати C<guestfs_close> після її виконання.

note: type: textblock
en: C<guestfs_close> will call this if you don't do it explicitly, but note that any errors are ignored in that case.
uk: C<guestfs_close> викличе цю команду, якщо ви не зробите цього явно, але, слід зауважити, що усі помилки у цьому випадку буде проігноровано.

note: type: textblock
en: (Added in 1.19.16)
uk: (Додано у 1.19.16)

note: type: textblock
en: (Added in 1.0.41)
uk: (Додано у 1.0.41)

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_statns> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_statns>.

note: type: textblock
en: This function returns a C<struct guestfs_statvfs *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_statvfs> after use>.
uk: Ця функція повертає C<struct guestfs_statvfs *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_statvfs>>.

note: type: textblock
en: This is like the C<guestfs_strings> command, but allows you to specify the encoding of strings that are looked for in the source file C<path>.
uk: Ця команда подібна до команди C<guestfs_strings>, але надає вам змогу вказати кодування рядків, які ви шукаєте у файлі даних C<path>.

note: type: textblock
en: Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of ISO-8859-X (this is what C<guestfs_strings> uses).
uk: Одинарні 7-бітові символи, зокрема ASCII та сумісні із ASCII частини ISO-8859-X (це кодування використовує C<guestfs_strings>).

note: type: textblock
en: This command disables the libguestfs appliance swap device or partition named C<device>.  See C<guestfs_swapon_device>.
uk: Ця команда вимикає резервну пам'ять на диску або розділ із назвою C<device> у базовій системі libguestfs. Див. C<guestfs_swapon_device>.

note: type: textblock
en: This command enables the libguestfs appliance to use the swap device or partition named C<device>.  The increased memory is made available for all commands, for example those run using C<guestfs_command> or C<guestfs_sh>.
uk: Ця команда вмикає резервну пам'ять на диску або розділ із назвою C<device> у базовій системі libguestfs. Збільшений обсяг пам'яті стає доступним для усіх команд, зокрема тих, які запускаються за допомогою  C<guestfs_command> або C<guestfs_sh>.

note: type: textblock
en: This command enables swap to a file.  See C<guestfs_swapon_device> for other notes.
uk: Ця команда вмикає резервну пам'ять у файлі. Зауваження щодо її використання є такими самими, що і для C<guestfs_swapon_device>.

note: type: textblock
en: This command enables swap to a labeled swap partition.  See C<guestfs_swapon_device> for other notes.
uk: Ця команда вмикає резервну пам'ять на вказаному за міткою розділі резервної пам'яті. Зауваження щодо її використання є такими самими, що і для C<guestfs_swapon_device>.

note: type: textblock
en: This command enables swap to a swap partition with the given UUID.  See C<guestfs_swapon_device> for other notes.
uk: Ця команда вмикає резервну пам'ять на розділі резервної пам'яті, вказаному за UUID. Зауваження щодо її використання є такими самими, що і для C<guestfs_swapon_device>.

note: type: textblock
en: The device parameter must be either a whole disk formatted as a FAT filesystem, or a partition formatted as a FAT filesystem.  In the latter case, the partition should be marked as "active" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed (eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  The SYSLINUX package comes with some suitable Master Boot Records.  See the L<syslinux(1)> man page for further information.
uk: Значенням параметра пристрою має бути або увесь диск, форматований у файлову систему FAT, або розділ диска, форматований у файлову систему FAT. У останньому випадку, розділ має бути позначено як «активний» (C<guestfs_part_set_bootable>), а на перший сектор усього диска має бути встановлено MBR (наприклад, за допомогою C<guestfs_pwrite_device>). До пакунка SYSLINUX включено деякі найпоширеніші варіанти MBR. Докладніший опис можна знайти на сторінці підручника щодо L<syslinux(1)>.

note: type: textblock
en: See also C<guestfs_extlinux>.
uk: Див. також C<guestfs_extlinux>.

note: type: textblock
en: This function depends on the feature C<syslinux>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<syslinux>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_syslinux>.
uk: Це «варіант з va_list» L</guestfs_syslinux>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_syslinux>.
uk: Це «варіант з argv» L</guestfs_syslinux>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_tar_in_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_tar_in_opts> без додаткових аргументів.

note: type: textblock
en: (Added in 1.0.3)
uk: (Додано у 1.0.3)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_tar_in_opts>.
uk: Це «варіант з va_list» L</guestfs_tar_in_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_tar_in_opts>.
uk: Це «варіант з argv» L</guestfs_tar_in_opts>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_tar_out_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_tar_out_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_tar_out_opts>.
uk: Це «варіант з va_list» L</guestfs_tar_out_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_tar_out_opts>.
uk: Це «варіант з argv» L</guestfs_tar_out_opts>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_tar_in> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_tar_in>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_tar_out> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_tar_out>.

note: type: textblock
en: If the current file size is less than C<size> then the file is extended to the required size with zero bytes.  This creates a sparse file (ie. disk blocks are not allocated for the file until you write to it).  To create a non-sparse file of zeroes, use C<guestfs_fallocate64> instead.
uk: Якщо поточний розмір файла є меншим за C<розмір>, файл буде розширено до вказаного розміру доповненням його вмісту нульовими байтами. Команда створює розріджений файл (тобто блоки диска не розподіляються під файл, доки ви не виконаєте запис до нього). Для створення файла заповненого нулями, який не буде розрідженим, скористайтеся командою C<guestfs_fallocate64>.

note: type: textblock
en: To get the current values of filesystem parameters, see C<guestfs_tune2fs_l>.  For precise details of how tune2fs works, see the L<tune2fs(8)> man page.
uk: Якщо вам потрібно отримати поточні значення параметрів файлової системи, скористайтеся C<guestfs_tune2fs_l>. Докладний опис роботи tune2fs наведено на сторінці підручника L<tune2fs(8)>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_tune2fs>.
uk: Це «варіант з va_list» L</guestfs_tune2fs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_tune2fs>.
uk: Це «варіант з argv» L</guestfs_tune2fs>.

note: type: textblock
en: This function depends on the feature C<xz>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<xz>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, C<guestfs_mkdir>.
uk: Див. також C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, C<guestfs_mkdir>.

note: type: textblock
en: This function is provided for backwards compatibility with earlier versions of libguestfs.  It simply calls L</guestfs_umount_opts> with no optional arguments.
uk: Цю функцію реалізовано для зворотної сумісності із ранішими версіями libguestfs. Вона просто викликає L</guestfs_umount_opts> без додаткових аргументів.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_umount_opts>.
uk: Це «варіант з va_list» L</guestfs_umount_opts>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_umount_opts>.
uk: Це «варіант з argv» L</guestfs_umount_opts>.

note: type: textblock
en: This is the "va_list variant" of L</guestfs_umount_local>.
uk: Це «варіант з va_list» L</guestfs_umount_local>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_umount_local>.
uk: Це «варіант з argv» L</guestfs_umount_local>.

note: type: textblock
en: See also C<guestfs_download>.
uk: Див. також C<guestfs_download>.

note: type: textblock
en: Note that there is no limit on the amount of data that can be uploaded with this call, unlike with C<guestfs_pwrite>, and this call always writes the full amount unless an error occurs.
uk: Зауважте, що немає обмеження на обсяг даних, які може бути вивантажено за допомогою цього виклику, на відміну від команди C<guestfs_pwrite>, і цей виклик завжди записує дані до кінця, якщо не станеться помилки.

note: type: textblock
en: See also C<guestfs_upload>, C<guestfs_pwrite>.
uk: Див. також C<guestfs_upload>, C<guestfs_pwrite>.

note: type: textblock
en: There are two common places that you might call C<guestfs_user_cancel>:
uk: Існує два типових місця, звідки ви варто викликати C<guestfs_user_cancel>:

note: type: textblock
en: In an interactive text-based program, you might call it from a C<SIGINT> signal handler so that pressing C<^C> cancels the current operation.  (You also need to call C<guestfs_set_pgroup> so that child processes don't receive the C<^C> signal).
uk: У інтерактивній текстовій програмі ви можете викликати функцію із обробника сигналу C<SIGINT>, щоб натискання комбінації клавіш C<^C> скасовувало поточну дію. (Вам також слід викликати C<guestfs_set_pgroup>, щоб дочірні процеси не отримували сигналу C<^C>).

note: type: textblock
en: This function returns a C<struct guestfs_utsname *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_utsname> after use>.
uk: Ця функція повертає C<struct guestfs_utsname *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_utsname>>.

note: type: textblock
en: (Added in 1.19.27)
uk: (Додано у 1.19.27)

note: type: textblock
en: I<Note:> Don't use this call to test for availability of features.  In enterprise distributions we backport features from later versions into earlier versions, making this an unreliable way to test for features.  Use C<guestfs_available> or C<guestfs_feature_available> instead.
uk: I<Зауваження:> не користуйтеся цим викликом для визначення доступності якихось можливостей. У промислових дистрибутивах ми виконуємо зворотне портування можливостей з пізніших версій на раніші. Це робить визначення за версією ненадійною справою. Замість цього, користуйтеся командами C<guestfs_available> і C<guestfs_feature_available>.

note: type: textblock
en: This function returns a C<struct guestfs_version *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_version> after use>.
uk: Ця функція повертає C<struct guestfs_version *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_version>>.

note: type: textblock
en: (Added in 1.0.58)
uk: (Додано у 1.0.58)

note: type: textblock
en: To find a filesystem from the label, use C<guestfs_findfs_label>.
uk: Пошук файлової системи за міткою можна здійснити за допомогою C<guestfs_findfs_label>.

note: type: textblock
en: (Added in 1.3.18)
uk: (Додано у 1.3.18)

note: type: textblock
en: (Added in 1.31.18)
uk: (Додано у 1.31.18)

note: type: textblock
en: To find a filesystem from the UUID, use C<guestfs_findfs_uuid>.
uk: Пошук файлової системи за UUID можна здійснити за допомогою C<guestfs_findfs_uuid>.

note: type: textblock
en: You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to associate logical volumes and volume groups.
uk: Цією командою можна скористатися у поєднанні із командами C<guestfs_lvs> і C<guestfs_lvuuid> для пов'язування логічних томів і груп томів.

note: type: textblock
en: See also C<guestfs_vgpvuuids>.
uk: Див. також C<guestfs_vgpvuuids>.

note: type: textblock
en: (Added in 1.17.20)
uk: (Додано у 1.17.20)

note: type: textblock
en: You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to associate physical volumes and volume groups.
uk: Цією командою можна скористатися у поєднанні із командами C<guestfs_pvs> і C<guestfs_pvuuid> для пов'язування фізичних томів і груп томів.

note: type: textblock
en: See also C<guestfs_vglvuuids>.
uk: Див. також C<guestfs_vglvuuids>.

note: type: textblock
en: See also C<guestfs_vgs_full>.
uk: Див. також C<guestfs_vgs_full>.

note: type: textblock
en: This function returns a C<struct guestfs_lvm_vg_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_lvm_vg_list> after use>.
uk: Ця функція повертає C<struct guestfs_lvm_vg_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_lvm_vg_list>>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_lvm_scan> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_lvm_scan>.

note: type: textblock
en: This function is a no op.
uk: Ця функція не виконує ніяких дій.

note: type: textblock
en: In versions of the API E<lt> 1.0.71 you had to call this function just after calling C<guestfs_launch> to wait for the launch to complete.  However this is no longer necessary because C<guestfs_launch> now does the waiting.
uk: У версіях програмного інтерфейсу E<lt> 1.0.71 вам слід було викликати цю функцію одразу після виклику C<guestfs_launch>, щоб дочекатися кінця запуску.  Втім, тепер це робити не обов'язково, оскільки очікування тепер виконується у C<guestfs_launch>.

note: type: textblock
en: If you see any calls to this function in code then you can just remove them, unless you want to retain compatibility with older versions of the API.
uk: Якщо ви побачите у коді якісь виклики цієї функції, можете просто вилучити їх, якщо вам не потрібна сумісність із застарілими версіями програмного інтерфейсу.

note: type: textblock
en: Compare with C<guestfs_zero> which zeroes the first few blocks of a device.
uk: Порівняйте із C<guestfs_zero>, яка записує нулі у перші декілька блоків пристрою.

note: type: textblock
en: This function depends on the feature C<wipefs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<wipefs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: See also C<guestfs_write_append>.
uk: Див. також C<guestfs_write_append>.

note: type: textblock
en: See also C<guestfs_write>.
uk: Див. також C<guestfs_write>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_write> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_write>.

note: type: textblock
en: Some of the parameters of a mounted filesystem can be examined and modified using the C<guestfs_xfs_info> and C<guestfs_xfs_growfs> calls.
uk: Деякі з параметрів змонтованих файлових систем можна визначати та вносити до них зміни за допомогою викликів C<guestfs_xfs_info> і C<guestfs_xfs_growfs>.

note: type: textblock
en: This function depends on the feature C<xfs>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<xfs>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.19.33)
uk: (Додано у 1.19.33)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_xfs_admin>.
uk: Це «варіант з va_list» L</guestfs_xfs_admin>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_xfs_admin>.
uk: Це «варіант з argv» L</guestfs_xfs_admin>.

note: type: textblock
en: (Added in 1.19.28)
uk: (Додано у 1.19.28)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_xfs_growfs>.
uk: Це «варіант з va_list» L</guestfs_xfs_growfs>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_xfs_growfs>.
uk: Це «варіант з argv» L</guestfs_xfs_growfs>.

note: type: textblock
en: This function returns a C<struct guestfs_xfsinfo *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_xfsinfo> after use>.
uk: Ця функція повертає C<struct guestfs_xfsinfo *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_xfsinfo>>.

note: type: textblock
en: (Added in 1.19.21)
uk: (Додано у 1.19.21)

note: type: textblock
en: (Added in 1.19.36)
uk: (Додано у 1.19.36)

note: type: textblock
en: This is the "va_list variant" of L</guestfs_xfs_repair>.
uk: Це «варіант з va_list» L</guestfs_xfs_repair>.

note: type: textblock
en: This is the "argv variant" of L</guestfs_xfs_repair>.
uk: Це «варіант з argv» L</guestfs_xfs_repair>.

note: type: textblock
en: This function depends on the feature C<libyara>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<libyara>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: (Added in 1.37.13)
uk: (Додано у 1.37.13)

note: type: textblock
en: Yara rules allow to categorize files based on textual or binary patterns within their content.  See C<guestfs_yara_scan> to see how to scan files with the loaded rules.
uk: Правила Yara надають змогу категоризувати файли на основі текстових або двійкових взірців у даних цих файлів. Див. C<guestfs_yara_scan>, щоб дізнатися про те, як виконати сканування файлів на основі завантажених правил.

note: type: textblock
en: This function returns a C<struct guestfs_yara_detection_list *>, or NULL if there was an error.  I<The caller must call C<guestfs_free_yara_detection_list> after use>.
uk: Ця функція повертає C<struct guestfs_yara_detection_list *> або NULL, якщо сталася помилка. I<Після використання слід викликати C<guestfs_free_yara_detection_list>>.

note: type: textblock
en: See also: C<guestfs_zero_device>, C<guestfs_scrub_device>, C<guestfs_is_zero_device>
uk: Див. також C<guestfs_zero_device>, C<guestfs_scrub_device>, C<guestfs_is_zero_device>

note: type: textblock
en: This command writes zeroes over the entire C<device>.  Compare with C<guestfs_zero> which just zeroes the first few blocks of a device.
uk: Ця команда перезаписує нулями увесь пристрій  C<device>. Порівняйте її із командою C<guestfs_zero>, яка перезаписує нулями перші декілька блоків пристрою.

note: type: textblock
en: (Added in 1.3.1)
uk: (Додано у 1.3.1)

note: type: textblock
en: Free space is not "trimmed".  You may want to call C<guestfs_fstrim> either as an alternative to this, or after calling this, depending on your requirements.
uk: Вільне місце не буде «обрізано». Для обрізання вам слід викликати C<guestfs_fstrim> або скористатися відповідною командою після цієї, залежно від ваших потреб.

note: type: textblock
en: This function depends on the feature C<zerofree>.  See also L</guestfs_feature_available>.
uk: Працездатність цієї функції залежить від можливості C<zerofree>. Див. також L</guestfs_feature_available>.

note: type: textblock
en: I<This function is deprecated.> In new code, use the L</guestfs_file> call instead.
uk: I<Ця функція вважається застарілою.> У новому коді замість неї слід використовувати L</guestfs_file>.

note: type: textblock
en: Since 1.0.63, use C<guestfs_file> instead which can now process compressed files.
uk: Починаючи з версії 1.0.63, можна використовувати замість цієї команди C<guestfs_file>, оскільки у сучасних версіях ця команда може обробляти стиснені файли.

note: type: textblock
en: The following functions: L</guestfs_acl_delete_def_file> L</guestfs_acl_get_file> L</guestfs_acl_set_file>
uk: Такі функції: L</guestfs_acl_delete_def_file> L</guestfs_acl_get_file> L</guestfs_acl_set_file>

note: type: textblock
en: The following functions: L</guestfs_blkdiscard>
uk: Такі функції: L</guestfs_blkdiscard>

note: type: textblock
en: The following functions: L</guestfs_blkdiscardzeroes>
uk: Такі функції: L</guestfs_blkdiscardzeroes>

note: type: textblock
en: The following functions: L</guestfs_btrfs_balance_cancel> L</guestfs_btrfs_balance_pause> L</guestfs_btrfs_balance_resume> L</guestfs_btrfs_balance_status> L</guestfs_btrfs_device_add> L</guestfs_btrfs_device_delete> L</guestfs_btrfs_filesystem_balance> L</guestfs_btrfs_filesystem_defragment> L</guestfs_btrfs_filesystem_resize> L</guestfs_btrfs_filesystem_show> L</guestfs_btrfs_filesystem_sync> L</guestfs_btrfs_fsck> L</guestfs_btrfs_image> L</guestfs_btrfs_qgroup_assign> L</guestfs_btrfs_qgroup_create> L</guestfs_btrfs_qgroup_destroy> L</guestfs_btrfs_qgroup_limit> L</guestfs_btrfs_qgroup_remove> L</guestfs_btrfs_qgroup_show> L</guestfs_btrfs_quota_enable> L</guestfs_btrfs_quota_rescan> L</guestfs_btrfs_replace> L</guestfs_btrfs_rescue_chunk_recover> L</guestfs_btrfs_rescue_super_recover> L</guestfs_btrfs_scrub_cancel> L</guestfs_btrfs_scrub_resume> L</guestfs_btrfs_scrub_start> L</guestfs_btrfs_scrub_status> L</guestfs_btrfs_set_seeding> L</guestfs_btrfs_subvolume_create> L</guestfs_btrfs_subvolume_delete> L</guestfs_btrfs_subvolume_get_default> L</guestfs_btrfs_subvolume_list> L</guestfs_btrfs_subvolume_set_default> L</guestfs_btrfs_subvolume_show> L</guestfs_btrfs_subvolume_snapshot> L</guestfs_btrfstune_enable_extended_inode_refs> L</guestfs_btrfstune_enable_skinny_metadata_extent_refs> L</guestfs_btrfstune_seeding> L</guestfs_mkfs_btrfs>
uk: Такі функції: L</guestfs_btrfs_balance_cancel> L</guestfs_btrfs_balance_pause> L</guestfs_btrfs_balance_resume> L</guestfs_btrfs_balance_status> L</guestfs_btrfs_device_add> L</guestfs_btrfs_device_delete> L</guestfs_btrfs_filesystem_balance> L</guestfs_btrfs_filesystem_defragment> L</guestfs_btrfs_filesystem_resize> L</guestfs_btrfs_filesystem_show> L</guestfs_btrfs_filesystem_sync> L</guestfs_btrfs_fsck> L</guestfs_btrfs_image> L</guestfs_btrfs_qgroup_assign> L</guestfs_btrfs_qgroup_create> L</guestfs_btrfs_qgroup_destroy> L</guestfs_btrfs_qgroup_limit> L</guestfs_btrfs_qgroup_remove> L</guestfs_btrfs_qgroup_show> L</guestfs_btrfs_quota_enable> L</guestfs_btrfs_quota_rescan> L</guestfs_btrfs_replace> L</guestfs_btrfs_rescue_chunk_recover> L</guestfs_btrfs_rescue_super_recover> L</guestfs_btrfs_scrub_cancel> L</guestfs_btrfs_scrub_resume> L</guestfs_btrfs_scrub_start> L</guestfs_btrfs_scrub_status> L</guestfs_btrfs_set_seeding> L</guestfs_btrfs_subvolume_create> L</guestfs_btrfs_subvolume_delete> L</guestfs_btrfs_subvolume_get_default> L</guestfs_btrfs_subvolume_list> L</guestfs_btrfs_subvolume_set_default> L</guestfs_btrfs_subvolume_show> L</guestfs_btrfs_subvolume_snapshot> L</guestfs_btrfstune_enable_extended_inode_refs> L</guestfs_btrfstune_enable_skinny_metadata_extent_refs> L</guestfs_btrfstune_seeding> L</guestfs_mkfs_btrfs>

note: type: textblock
en: The following functions: L</guestfs_extlinux>
uk: Такі функції: L</guestfs_extlinux>

note: type: textblock
en: The following functions: L</guestfs_f2fs_expand>
uk: Такі функції: L</guestfs_f2fs_expand>

note: type: textblock
en: The following functions: L</guestfs_fstrim>
uk: Такі функції: L</guestfs_fstrim>

note: type: textblock
en: The following functions: L</guestfs_part_expand_gpt> L</guestfs_part_get_disk_guid> L</guestfs_part_get_gpt_attributes> L</guestfs_part_get_gpt_guid> L</guestfs_part_get_gpt_type> L</guestfs_part_set_disk_guid> L</guestfs_part_set_disk_guid_random> L</guestfs_part_set_gpt_attributes> L</guestfs_part_set_gpt_guid> L</guestfs_part_set_gpt_type>
uk: Такі функції: L</guestfs_part_expand_gpt> L</guestfs_part_get_disk_guid> L</guestfs_part_get_gpt_attributes> L</guestfs_part_get_gpt_guid> L</guestfs_part_get_gpt_type> L</guestfs_part_set_disk_guid> L</guestfs_part_set_disk_guid_random> L</guestfs_part_set_gpt_attributes> L</guestfs_part_set_gpt_guid> L</guestfs_part_set_gpt_type>

note: type: textblock
en: The following functions: L</guestfs_grub_install>
uk: Такі функції: L</guestfs_grub_install>

note: type: textblock
en: The following functions: L</guestfs_hivex_close> L</guestfs_hivex_commit> L</guestfs_hivex_node_add_child> L</guestfs_hivex_node_children> L</guestfs_hivex_node_delete_child> L</guestfs_hivex_node_get_child> L</guestfs_hivex_node_get_value> L</guestfs_hivex_node_name> L</guestfs_hivex_node_parent> L</guestfs_hivex_node_set_value> L</guestfs_hivex_node_values> L</guestfs_hivex_open> L</guestfs_hivex_root> L</guestfs_hivex_value_key> L</guestfs_hivex_value_string> L</guestfs_hivex_value_type> L</guestfs_hivex_value_utf8> L</guestfs_hivex_value_value>
uk: Такі функції: L</guestfs_hivex_close> L</guestfs_hivex_commit> L</guestfs_hivex_node_add_child> L</guestfs_hivex_node_children> L</guestfs_hivex_node_delete_child> L</guestfs_hivex_node_get_child> L</guestfs_hivex_node_get_value> L</guestfs_hivex_node_name> L</guestfs_hivex_node_parent> L</guestfs_hivex_node_set_value> L</guestfs_hivex_node_values> L</guestfs_hivex_open> L</guestfs_hivex_root> L</guestfs_hivex_value_key> L</guestfs_hivex_value_string> L</guestfs_hivex_value_type> L</guestfs_hivex_value_utf8> L</guestfs_hivex_value_value>

note: type: textblock
en: The following functions: L</guestfs_inotify_add_watch> L</guestfs_inotify_close> L</guestfs_inotify_files> L</guestfs_inotify_init> L</guestfs_inotify_read> L</guestfs_inotify_rm_watch>
uk: Такі функції: L</guestfs_inotify_add_watch> L</guestfs_inotify_close> L</guestfs_inotify_files> L</guestfs_inotify_init> L</guestfs_inotify_read> L</guestfs_inotify_rm_watch>

note: type: textblock
en: The following functions: L</guestfs_internal_journal_get> L</guestfs_journal_close> L</guestfs_journal_get_data_threshold> L</guestfs_journal_get_realtime_usec> L</guestfs_journal_next> L</guestfs_journal_open> L</guestfs_journal_set_data_threshold> L</guestfs_journal_skip>
uk: Такі функції: L</guestfs_internal_journal_get> L</guestfs_journal_close> L</guestfs_journal_get_data_threshold> L</guestfs_journal_get_realtime_usec> L</guestfs_journal_next> L</guestfs_journal_open> L</guestfs_journal_set_data_threshold> L</guestfs_journal_skip>

note: type: textblock
en: The following functions: L</guestfs_ldmtool_create_all> L</guestfs_ldmtool_diskgroup_disks> L</guestfs_ldmtool_diskgroup_name> L</guestfs_ldmtool_diskgroup_volumes> L</guestfs_ldmtool_remove_all> L</guestfs_ldmtool_scan> L</guestfs_ldmtool_scan_devices> L</guestfs_ldmtool_volume_hint> L</guestfs_ldmtool_volume_partitions> L</guestfs_ldmtool_volume_type> L</guestfs_list_ldm_partitions> L</guestfs_list_ldm_volumes>
uk: Такі функції: L</guestfs_ldmtool_create_all> L</guestfs_ldmtool_diskgroup_disks> L</guestfs_ldmtool_diskgroup_name> L</guestfs_ldmtool_diskgroup_volumes> L</guestfs_ldmtool_remove_all> L</guestfs_ldmtool_scan> L</guestfs_ldmtool_scan_devices> L</guestfs_ldmtool_volume_hint> L</guestfs_ldmtool_volume_partitions> L</guestfs_ldmtool_volume_type> L</guestfs_list_ldm_partitions> L</guestfs_list_ldm_volumes>

note: type: textblock
en: The following functions: L</guestfs_internal_filesystem_walk> L</guestfs_internal_find_inode>
uk: Такі функції: L</guestfs_internal_filesystem_walk> L</guestfs_internal_find_inode>

note: type: textblock
en: The following functions: L</guestfs_internal_yara_scan> L</guestfs_yara_destroy> L</guestfs_yara_load>
uk: Такі функції: L</guestfs_internal_yara_scan> L</guestfs_yara_destroy> L</guestfs_yara_load>

note: type: textblock
en: The following functions: L</guestfs_cap_get_file> L</guestfs_cap_set_file>
uk: Такі функції: L</guestfs_cap_get_file> L</guestfs_cap_set_file>

note: type: textblock
en: The following functions: L</guestfs_mke2fs_JU> L</guestfs_mke2journal_U> L</guestfs_mkswap_U> L</guestfs_swapoff_uuid> L</guestfs_swapon_uuid>
uk: Такі функції: L</guestfs_mke2fs_JU> L</guestfs_mke2journal_U> L</guestfs_mkswap_U> L</guestfs_swapoff_uuid> L</guestfs_swapon_uuid>

note: type: textblock
en: The following functions: L</guestfs_modprobe>
uk: Такі функції: L</guestfs_modprobe>

note: type: textblock
en: The following functions: L</guestfs_getxattr> L</guestfs_getxattrs> L</guestfs_internal_lxattrlist> L</guestfs_lgetxattr> L</guestfs_lgetxattrs> L</guestfs_lremovexattr> L</guestfs_lsetxattr> L</guestfs_removexattr> L</guestfs_setxattr>
uk: Такі функції: L</guestfs_getxattr> L</guestfs_getxattrs> L</guestfs_internal_lxattrlist> L</guestfs_lgetxattr> L</guestfs_lgetxattrs> L</guestfs_lremovexattr> L</guestfs_lsetxattr> L</guestfs_removexattr> L</guestfs_setxattr>

note: type: textblock
en: The following functions: L</guestfs_luks_add_key> L</guestfs_luks_close> L</guestfs_luks_format> L</guestfs_luks_format_cipher> L</guestfs_luks_kill_slot> L</guestfs_luks_open> L</guestfs_luks_open_ro> L</guestfs_luks_uuid>
uk: Такі функції: L</guestfs_luks_add_key> L</guestfs_luks_close> L</guestfs_luks_format> L</guestfs_luks_format_cipher> L</guestfs_luks_kill_slot> L</guestfs_luks_open> L</guestfs_luks_open_ro> L</guestfs_luks_uuid>

note: type: textblock
en: The following functions: L</guestfs_lvcreate> L</guestfs_lvcreate_free> L</guestfs_lvm_remove_all> L</guestfs_lvm_set_filter> L</guestfs_lvremove> L</guestfs_lvresize> L</guestfs_lvresize_free> L</guestfs_lvs> L</guestfs_lvs_full> L</guestfs_pvchange_uuid> L</guestfs_pvchange_uuid_all> L</guestfs_pvcreate> L</guestfs_pvremove> L</guestfs_pvresize> L</guestfs_pvresize_size> L</guestfs_pvs> L</guestfs_pvs_full> L</guestfs_vg_activate> L</guestfs_vg_activate_all> L</guestfs_vgchange_uuid> L</guestfs_vgchange_uuid_all> L</guestfs_vgcreate> L</guestfs_vgmeta> L</guestfs_vgremove> L</guestfs_vgs> L</guestfs_vgs_full>
uk: Такі функції: L</guestfs_lvcreate> L</guestfs_lvcreate_free> L</guestfs_lvm_remove_all> L</guestfs_lvm_set_filter> L</guestfs_lvremove> L</guestfs_lvresize> L</guestfs_lvresize_free> L</guestfs_lvs> L</guestfs_lvs_full> L</guestfs_pvchange_uuid> L</guestfs_pvchange_uuid_all> L</guestfs_pvcreate> L</guestfs_pvremove> L</guestfs_pvresize> L</guestfs_pvresize_size> L</guestfs_pvs> L</guestfs_pvs_full> L</guestfs_vg_activate> L</guestfs_vg_activate_all> L</guestfs_vgchange_uuid> L</guestfs_vgchange_uuid_all> L</guestfs_vgcreate> L</guestfs_vgmeta> L</guestfs_vgremove> L</guestfs_vgs> L</guestfs_vgs_full>

note: type: textblock
en: The following functions: L</guestfs_md_create> L</guestfs_md_detail> L</guestfs_md_stat> L</guestfs_md_stop>
uk: Такі функції: L</guestfs_md_create> L</guestfs_md_detail> L</guestfs_md_stat> L</guestfs_md_stop>

note: type: textblock
en: The following functions: L</guestfs_mkfifo> L</guestfs_mknod> L</guestfs_mknod_b> L</guestfs_mknod_c>
uk: Такі функції: L</guestfs_mkfifo> L</guestfs_mknod> L</guestfs_mknod_b> L</guestfs_mknod_c>

note: type: textblock
en: The following functions: L</guestfs_ntfs_3g_probe> L</guestfs_ntfsclone_in> L</guestfs_ntfsclone_out> L</guestfs_ntfsfix>
uk: Такі функції: L</guestfs_ntfs_3g_probe> L</guestfs_ntfsclone_in> L</guestfs_ntfsclone_out> L</guestfs_ntfsfix>

note: type: textblock
en: The following functions: L</guestfs_ntfsresize> L</guestfs_ntfsresize_size>
uk: Такі функції: L</guestfs_ntfsresize> L</guestfs_ntfsresize_size>

note: type: textblock
en: The following functions: L</guestfs_rsync> L</guestfs_rsync_in> L</guestfs_rsync_out>
uk: Такі функції: L</guestfs_rsync> L</guestfs_rsync_in> L</guestfs_rsync_out>

note: type: textblock
en: The following functions: L</guestfs_scrub_device> L</guestfs_scrub_file> L</guestfs_scrub_freespace>
uk: Такі функції: L</guestfs_scrub_device> L</guestfs_scrub_file> L</guestfs_scrub_freespace>

note: type: textblock
en: The following functions: L</guestfs_getcon> L</guestfs_setcon>
uk: Такі функції: L</guestfs_getcon> L</guestfs_setcon>

note: type: textblock
en: The following functions: L</guestfs_selinux_relabel>
uk: Такі функції: L</guestfs_selinux_relabel>

note: type: textblock
en: The following functions: L</guestfs_download_blocks> L</guestfs_download_inode>
uk: Такі функції: L</guestfs_download_blocks>

note: type: textblock
en: The following functions: L</guestfs_mksquashfs>
uk: Такі функції: L</guestfs_mksquashfs>

note: type: textblock
en: The following functions: L</guestfs_syslinux>
uk: Такі функції: L</guestfs_syslinux>

note: type: textblock
en: The following functions: L</guestfs_wipefs>
uk: Такі функції: L</guestfs_wipefs>

note: type: textblock
en: The following functions: L</guestfs_xfs_admin> L</guestfs_xfs_growfs> L</guestfs_xfs_info> L</guestfs_xfs_repair>
uk: Такі функції: L</guestfs_xfs_admin> L</guestfs_xfs_growfs> L</guestfs_xfs_info> L</guestfs_xfs_repair>

note: type: textblock
en: The following functions: L</guestfs_txz_in> L</guestfs_txz_out>
uk: Такі функції: L</guestfs_txz_in> L</guestfs_txz_out>

note: type: textblock
en: The following functions: L</guestfs_zerofree>
uk: Такі функції: L</guestfs_zerofree>

note: type: verbatim
en:  struct guestfs_int_bool_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_int_bool *val; /* Elements. */
     };
uk:  struct guestfs_int_bool_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_int_bool *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_lvm_pv {
       char *pv_name;
       /* The next field is NOT nul-terminated, be careful when printing it: */
       char pv_uuid[32];
       char *pv_fmt;
       uint64_t pv_size;
       uint64_t dev_size;
       uint64_t pv_free;
       uint64_t pv_used;
       char *pv_attr;
       int64_t pv_pe_count;
       int64_t pv_pe_alloc_count;
       char *pv_tags;
       uint64_t pe_start;
       int64_t pv_mda_count;
       uint64_t pv_mda_free;
     };
uk:  struct guestfs_lvm_pv {
       char *pv_name;
       /* Наступне поле не завершується нульовим байтом, будьте обережні під час виведення цього поля: */
       char pv_uuid[32];
       char *pv_fmt;
       uint64_t pv_size;
       uint64_t dev_size;
       uint64_t pv_free;
       uint64_t pv_used;
       char *pv_attr;
       int64_t pv_pe_count;
       int64_t pv_pe_alloc_count;
       char *pv_tags;
       uint64_t pe_start;
       int64_t pv_mda_count;
       uint64_t pv_mda_free;
     };

note: type: verbatim
en:  struct guestfs_lvm_pv_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_lvm_pv *val; /* Elements. */
     };
uk:  struct guestfs_lvm_pv_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_lvm_pv *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_lvm_vg {
       char *vg_name;
       /* The next field is NOT nul-terminated, be careful when printing it: */
       char vg_uuid[32];
       char *vg_fmt;
       char *vg_attr;
       uint64_t vg_size;
       uint64_t vg_free;
       char *vg_sysid;
       uint64_t vg_extent_size;
       int64_t vg_extent_count;
       int64_t vg_free_count;
       int64_t max_lv;
       int64_t max_pv;
       int64_t pv_count;
       int64_t lv_count;
       int64_t snap_count;
       int64_t vg_seqno;
       char *vg_tags;
       int64_t vg_mda_count;
       uint64_t vg_mda_free;
     };
uk:  struct guestfs_lvm_vg {
       char *vg_name;
       /* Текстове поле НЕ завершується нульовим байтом: будьте обережні з його виведенням: */
       char vg_uuid[32];
       char *vg_fmt;
       char *vg_attr;
       uint64_t vg_size;
       uint64_t vg_free;
       char *vg_sysid;
       uint64_t vg_extent_size;
       int64_t vg_extent_count;
       int64_t vg_free_count;
       int64_t max_lv;
       int64_t max_pv;
       int64_t pv_count;
       int64_t lv_count;
       int64_t snap_count;
       int64_t vg_seqno;
       char *vg_tags;
       int64_t vg_mda_count;
       uint64_t vg_mda_free;
     };

note: type: verbatim
en:  struct guestfs_lvm_vg_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_lvm_vg *val; /* Elements. */
     };
uk:  struct guestfs_lvm_vg_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_lvm_vg *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_lvm_lv_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_lvm_lv *val; /* Elements. */
     };
uk:  struct guestfs_lvm_lv_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_lvm_lv *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_stat_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_stat *val; /* Elements. */
     };
uk:  struct guestfs_stat_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_stat *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_statns_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_statns *val; /* Elements. */
     };
uk:  struct guestfs_statns_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_statns *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_statvfs_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_statvfs *val; /* Elements. */
     };
uk:  struct guestfs_statvfs_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_statvfs *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_dirent_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_dirent *val; /* Elements. */
     };
uk:  struct guestfs_dirent_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_dirent *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_version_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_version *val; /* Elements. */
     };
uk:  struct guestfs_version_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_version *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_xattr {
       char *attrname;
       /* The next two fields describe a byte array. */
       uint32_t attrval_len;
       char *attrval;
     };
uk:  struct guestfs_xattr {
       char *attrname;
       /* Наступні два поля описують масив байтів. */
       uint32_t attrval_len;
       char *attrval;
     };

note: type: verbatim
en:  struct guestfs_xattr_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_xattr *val; /* Elements. */
     };
uk:  struct guestfs_xattr_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_xattr *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_inotify_event_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_inotify_event *val; /* Elements. */
     };
uk:  struct guestfs_inotify_event_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_inotify_event *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_partition_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_partition *val; /* Elements. */
     };
uk:  struct guestfs_partition_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_partition *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_application_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_application *val; /* Elements. */
     };
uk:  struct guestfs_application_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_application *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_application2_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_application2 *val; /* Elements. */
     };
uk:  struct guestfs_application2_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_application2 *val; /* Елементи.  */
     };

note: type: verbatim
en:  struct guestfs_isoinfo_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_isoinfo *val; /* Elements. */
     };
uk:  struct guestfs_isoinfo_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_isoinfo *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_mdstat_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_mdstat *val; /* Elements. */
     };
uk:  struct guestfs_mdstat_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_mdstat *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_btrfssubvolume_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_btrfssubvolume *val; /* Elements. */
     };
uk:  struct guestfs_btrfssubvolume_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_btrfssubvolume *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_btrfsqgroup_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_btrfsqgroup *val; /* Elements. */
     };
uk:  struct guestfs_btrfsqgroup_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_btrfsqgroup *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_btrfsbalance_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_btrfsbalance *val; /* Elements. */
     };
uk:  struct guestfs_btrfsbalance_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_btrfsbalance *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_btrfsscrub_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_btrfsscrub *val; /* Elements. */
     };
uk:  struct guestfs_btrfsscrub_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_btrfsscrub *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_xfsinfo_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_xfsinfo *val; /* Elements. */
     };
uk:  struct guestfs_xfsinfo_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_xfsinfo *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_utsname_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_utsname *val; /* Elements. */
     };
uk:  struct guestfs_utsname_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_utsname *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_hivex_node_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_hivex_node *val; /* Elements. */
     };
uk:  struct guestfs_hivex_node_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_hivex_node *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_hivex_value_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_hivex_value *val; /* Elements. */
     };
uk:  struct guestfs_hivex_value_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_hivex_value *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_internal_mountable_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_internal_mountable *val; /* Elements. */
     };
uk:  struct guestfs_internal_mountable_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_internal_mountable *val; /* Елементи. */
     };

note: type: verbatim
en:  struct guestfs_yara_detection_list {
       uint32_t len; /* Number of elements in list. */
       struct guestfs_yara_detection *val; /* Elements. */
     };
uk:  struct guestfs_yara_detection_list {
       uint32_t len; /* Кількість елементів у списку. */
       struct guestfs_yara_detection *val; /* Елементи. */
     };

note: type: textblock
en: guestfs - Library for accessing and modifying virtual machine images
uk: guestfs — бібліотека для доступу та внесення змін до образів віртуальних машин

note: type: textblock
en: Libguestfs is a library for accessing and modifying disk images and virtual machines.
uk: Libguestfs є бібліотекою для доступу до образів дисків та віртуальних машин і внесення зміни до них.

note: type: textblock
en: This manual page documents the C API.
uk: Цю сторінку підручника присвячено документації щодо програмного інтерфейсу мовою програмування C.

note: type: textblock
en: If you are looking for an introduction to libguestfs, see the web site: L<http://libguestfs.org/>
uk: Якщо вам потрібна якась вступна інформація щодо libguestfs, зверніться до цього сайта: L<http://libguestfs.org/>

note: type: textblock
en: Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at the end of this file).
uk: У кожного інструмента віртуалізації є власна сторінка підручника (повний список наведено у розділі L</ДИВ. ТАКОЖ> наприкінці цього файла).

note: type: textblock
en: Other libguestfs manual pages:
uk: Інші сторінки підручника, які присвячено libguestfs:

note: type: textblock
en: Frequently Asked Questions (FAQ).
uk: Поширені питання (ЧаП).

note: type: textblock
en: Examples of using the API from C.  For examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES> below.
uk: Приклади використання програмного інтерфейсу з C. Приклади іншими мовами програмування можна знайти у розділі L</ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ> нижче.

note: type: textblock
en: Tips and recipes.
uk: Підказки і рецепти.

note: type: textblock
en: Performance tips and solutions.
uk: Настанови та рішення, які пов’язано із швидкодією.

note: type: textblock
en: Help testing libguestfs.
uk: Допомога у тестуванні libguestfs.

note: type: textblock
en: How to build libguestfs from source.
uk: Настанови щодо збирання libguestfs з початкових кодів.

note: type: textblock
en: Contribute code to libguestfs.
uk: Надсилання коду до libguestfs.

note: type: textblock
en: How libguestfs works.
uk: Опис принципів роботи libguestfs.

note: type: textblock
en: Security information, including CVEs affecting libguestfs.
uk: Дані щодо безпеки, зокрема список CVE, пов’язаних із libguestfs.

note: type: =head1
en: API OVERVIEW
uk: ОГЛЯД API

note: type: textblock
en: This section provides a gentler overview of the libguestfs API.  We also try to group API calls together, where that may not be obvious from reading about the individual calls in the main section of this manual.
uk: У цьому розділі наведено поверхневий огляд програмного інтерфейсу libguestfs. Ми також намагалися згрупувати виклики програмного інтерфейсу, де це не очевидно з матеріалів щодо окремих викликів у основному розділі цього підручника.

note: type: =head2
en: HANDLES
uk: ОБРОБНИКИ

note: type: textblock
en: Before you can use libguestfs calls, you have to create a handle.  Then you must add at least one disk image to the handle, followed by launching the handle, then performing whatever operations you want, and finally closing the handle.  By convention we use the single letter C<g> for the name of the handle variable, although of course you can use any name you want.
uk: Перш ніж ви зможете скористатися викликами libguestfs, вам слід створити дескриптор. Далі, вам слід додати до дескриптора принаймні один образ диска, потім запустити дескриптор, далі виконати потрібні вам дії і, нарешті, закрити дескриптор. За угодою щодо синтаксису ми використовуємо одну літеру C<g> для іменування змінної дескриптора, хоча, звичайно ж, ви можете вибрати будь-яку іншу назву.

note: type: textblock
en: The general structure of all libguestfs-using programs looks like this:
uk: Загальна структуру усіх програм, де використовується libguestfs, є подібною до такої:

note: type: verbatim
en:  /* Call guestfs_add_drive additional times if there are
      * multiple disk images.
      */
     guestfs_add_drive (g, "guest.img");
uk:  /* Викликаємо guestfs_add_drive додаткові рази, якщо
      * образів дисків декілька.
      */
     guestfs_add_drive (g, "guest.img");

note: type: verbatim
en:  /* Most manipulation calls won't work until you've launched
      * the handle 'g'.  You have to do this _after_ adding drives
      * and _before_ other commands.
      */
     guestfs_launch (g);
uk:  /* Більшість викликів з обробки не працюватимуть, доки ви
      * не запустите дескриптор «g». Вам слід зробити це _після_ додавання
      * дисків і _до_ інших команд.
      */
     guestfs_launch (g);

note: type: verbatim
en:  /* Either: examine what partitions, LVs etc are available: */
     char **partitions = guestfs_list_partitions (g);
     char **logvols = guestfs_lvs (g);
uk:  /* Або визначити розділи, логічні томи тощо, які є доступними: */
     char **partitions = guestfs_list_partitions (g);
     char **logvols = guestfs_lvs (g);

note: type: verbatim
en:  /* Or: ask libguestfs to find filesystems for you: */
     char **filesystems = guestfs_list_filesystems (g);
uk:  /* Або наказати libguestfs знайти для вас файлові системи: */
     char **filesystems = guestfs_list_filesystems (g);

note: type: verbatim
en:  /* Or: use inspection (see INSPECTION section below). */
uk:  /* Або скористатися інспекцією (див. розділ щодо інспекції нижче). */

note: type: verbatim
en:  /* To access a filesystem in the image, you must mount it. */
     guestfs_mount (g, "/dev/sda1", "/");
uk:  /* Щоб отримати доступ до файлової системи у образі, вам слід її змонтувати. */
     guestfs_mount (g, "/dev/sda1", "/");

note: type: verbatim
en:  /* Now you can perform filesystem actions on the guest
      * disk image.
      */
     guestfs_touch (g, "/hello");
uk:  /* Тепер ви можете виконувати дії з файловою системою на
      * образі диска операційної системи.
      */
     guestfs_touch (g, "/hello");

note: type: verbatim
en:  /* Synchronize the disk.  This is the opposite of guestfs_launch. */
     guestfs_shutdown (g);
uk:  /* Синхронізуємо диск. Це дія, протилежна до guestfs_launch. */
     guestfs_shutdown (g);

note: type: verbatim
en:  /* Close and free the handle 'g'. */
     guestfs_close (g);
uk:  /* Закрити і звільнити дескриптор «g». */
     guestfs_close (g);

note: type: textblock
en: The code above doesn't include any error checking.  In real code you should check return values carefully for errors.  In general all functions that return integers return C<-1> on error, and all functions that return pointers return C<NULL> on error.  See section L</ERROR HANDLING> below for how to handle errors, and consult the documentation for each function call below to see precisely how they return error indications.
uk: До наведеного вище коду не включено обробник помилок. У справжньому коді слід ретельно перевіряти повернуті значення на помилки. Загалом, усі функції, які повертають цілі числа, повертають C<-1>, якщо станеться помилка, а усі функції, які повертають вказівники, якщо станеться помилка, повертають C<NULL>. Див. розділ L</ОБРОБКА ПОМИЛОК> нижче, щоб дізнатися про те, як обробляти помилки. Також ознайомтеся із документацією щодо кожного виклику функції, щоб дізнатися більше про те, як функції повідомляють про помилки.

note: type: textblock
en: The code above does not L<free(3)> the strings and arrays returned from functions.  Consult the documentation for each function to find out how to free the return value.
uk: У наведеному вище коді не виконується L<free(3)> для рядків та масивів, які повертаються функціями. Зверніться до документації з відповідної функції, щоб дізнатися більше про те, як звільнити повернуте значення.

note: type: textblock
en: See L<guestfs-examples(3)> for fully worked examples.
uk: Повноцінні робочі приклади можна знайти у підручнику L<guestfs-examples(3)>.

note: type: =head2
en: DISK IMAGES
uk: ОБРАЗИ ДИСКІВ

note: type: textblock
en: The image filename (C<"guest.img"> in the example above) could be a disk image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an actual block device, or simply an empty file of zeroes that you have created through L<posix_fallocate(3)>.  Libguestfs lets you do useful things to all of these.
uk: Назва файла образу (C<"guest.img"> у наведеному вище прикладі) може бути назвою образу диска з віртуальної машини, створеної за допомогою L<dd(1)> копії фізичного диска, справжнього блокового пристрою або просто назвою порожнього файла, заповненого нулями, який можна створити за допомогою L<posix_fallocate(3)>. Libguestfs надає вам змогу виконувати корисні операції із усіма такими образами.

note: type: textblock
en: The call you should use in modern code for adding drives is L</guestfs_add_drive_opts>.  To add a disk image, allowing writes, and specifying that the format is raw, do:
uk: Викликом, яким вам слід користуватися у сучасному коді для додавання дисків, є L</guestfs_add_drive_opts>. Щоб додати образ диска з можливістю запису і вказати його формат (raw), скористайтеся таким кодом:

note: type: textblock
en: You can add a disk read-only using:
uk: Ви можете додати диск у режимі лише читання:

note: type: textblock
en: or by calling the older function L</guestfs_add_drive_ro>.  If you use the readonly flag, libguestfs won't modify the file.  (See also L</DISK IMAGE FORMATS> below).
uk: або скористатися викликом старішої функції L</guestfs_add_drive_ro>. Якщо ви використовуєте прапорець лише читання, libguestfs не зможе вносити зміни до файла. (Див. також L</ФОРМАТИ ОБРАЗІВ ДИСКІВ> нижче).

note: type: textblock
en: Be extremely cautious if the disk image is in use, eg. if it is being used by a virtual machine.  Adding it read-write will almost certainly cause disk corruption, but adding it read-only is safe.
uk: Будьте дуже обережні із дисками, які використовуються, наприклад, віртуальною машиною. Додавання таких дисків у режимі читання-запису майже напевне призведе до пошкодження вмісту, але додавання у режимі лише читання є безпечним.

note: type: textblock
en: You should usually add at least one disk image, and you may add multiple disk images.  If adding multiple disk images, they usually have to be "related", ie. from the same guest.  In the API, the disk images are usually referred to as F</dev/sda> (for the first one you added), F</dev/sdb> (for the second one you added), etc.
uk: Слід обов'язково додати принаймні один образ диска. Якщо потрібно, можна додати декілька образів. Якщо додається декілька образів дисків, вони, зазвичай, мають бути «пов'язані», тобто походити із однієї гостьової системи. У програмному інтерфейсі на образи дисків, зазвичай, посилаються у форматі F</dev/sda> (для першого доданого диска), F</dev/sdb> (для другого доданого диска) тощо.

note: type: textblock
en: Once L</guestfs_launch> has been called you cannot add any more images.  You can call L</guestfs_list_devices> to get a list of the device names, in the order that you added them.  See also L</BLOCK DEVICE NAMING> below.
uk: Після виклику L</guestfs_launch> додавати нові образи вже не можна. Ви можете викликати L</guestfs_list_devices>, щоб отримати список назв пристроїв у порядку, за яким їх було додано. Див. також L</ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ> нижче.

note: type: textblock
en: There are slightly different rules when hotplugging disks (in libguestfs E<ge> 1.20).  See L</HOTPLUGGING> below.
uk: Правила з'єднання дисків у «гарячому» режимі (у libguestfs E<ge> 1.20) є дещо іншими. Див. L</З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ> нижче.

note: type: =head2
en: MOUNTING
uk: МОНТУВАННЯ

note: type: textblock
en: Before you can read or write files, create directories and so on in a disk image that contains filesystems, you have to mount those filesystems using L</guestfs_mount> or L</guestfs_mount_ro>.  If you already know that a disk image contains (for example) one partition with a filesystem on that partition, then you can mount it directly:
uk: Перш ніж ви зможете читати або записувати файли, створювати каталоги та виконувати інші дії на образі диска, який містить файлові системи, вам слід змонтувати ці файлові системи за допомогою L</guestfs_mount> або L</guestfs_mount_ro>. Якщо ви вже знаєте, що на образі диска (наприклад) міститься один розділ із файловою системою, ви можете змонтувати її безпосередньо:

note: type: textblock
en: where F</dev/sda1> means literally the first partition (C<1>) of the first disk image that we added (F</dev/sda>).  If the disk contains Linux LVM2 logical volumes you could refer to those instead (eg. F</dev/VG/LV>).  Note that these are libguestfs virtual devices, and are nothing to do with host devices.
uk: де F</dev/sda1> означає буквально «перший розділ (C<1>) першого образу диска, який було додано (F</dev/sda>)».   
     Якщо на диску містяться логічні томи LVM2 Linux, ви можете посилатися на них (наприклад, F</dev/VG/LV>). Зауважте, що вказані пристрої є віртуальними пристроями libguestfs, які не мають нічого спільного із пристроями основної системи.

note: type: textblock
en: If you are given a disk image and you don’t know what it contains then you have to find out.  Libguestfs can do that too: use L</guestfs_list_partitions> and L</guestfs_lvs> to list possible partitions and LVs, and either try mounting each to see what is mountable, or else examine them with L</guestfs_vfs_type> or L</guestfs_file>.  To list just filesystems, use L</guestfs_list_filesystems>.
uk: Якщо у вас є образ диска, і ви не знаєте, що саме на ньому міститься, вам доведеться спочатку все це з'ясувати. Libguestfs теж може це робити: скористайтеся L</guestfs_list_partitions> або L</guestfs_lvs> для отримання списку можливих розділів і логічних томів, а потім або спробуйте змонтувати кожен з них, щоб визначити, які з них придатні до монтування, або у якийсь інший спосіб вивчіть їх за допомогою L</guestfs_vfs_type> або L</guestfs_file>. Щоб просто отримати список файлових систем, скористайтеся L</guestfs_list_filesystems>.

note: type: textblock
en: Libguestfs also has a set of APIs for inspection of unknown disk images (see L</INSPECTION> below).  You might also want to look at higher level programs built on top of libguestfs, in particular L<virt-inspector(1)>.
uk: Крім того, у libguestfs передбачено набір програмних інтерфейсів для інспектування невідомих образів дисків (див. L</ІНСПЕКТУВАННЯ> нижче). Ви також можете скористатися високорівневими програмами, побудованими на основі libguestfs, зокрема L<virt-inspector(1)>.

note: type: textblock
en: To mount a filesystem read-only, use L</guestfs_mount_ro>.  There are several other variations of the C<guestfs_mount_*> call.
uk: Щоб змонтувати файлову систему у режимі лише читання, скористайтеся L</guestfs_mount_ro>. Передбачено декілька інших варіантів викликів C<guestfs_mount_*>.

note: type: =head2
en: FILESYSTEM ACCESS AND MODIFICATION
uk: ДОСТУП ТА ВНЕСЕННЯ ЗМІН ДО ФАЙЛОВИХ СИСТЕМ

note: type: textblock
en: The majority of the libguestfs API consists of fairly low-level calls for accessing and modifying the files, directories, symlinks etc on mounted filesystems.  There are over a hundred such calls which you can find listed in detail below in this man page, and we don't even pretend to cover them all in this overview.
uk: Більша частина програмного інтерфейсу libguestfs складається із низькорівневих викликів для доступу до файлів та внесення змін до файлів, каталогів, символічних посилань тощо на змонтованих файлових системах. Передбачено понад сотню таких викликів, список яких із докладним описом наведено нижче на цій сторінці підручника. Ми навіть не намагатимемося повністю описати їх у цьому короткому огляді.

note: type: textblock
en: Specify filenames as full paths, starting with C<"/"> and including the mount point.
uk: Вказуйте адреси і назви файлів повністю, починаючи з C<"/">, разом з точкою монтування.

note: type: textblock
en: For example, if you mounted a filesystem at C<"/"> and you want to read the file called C<"etc/passwd"> then you could do:
uk: Наприклад, якщо вами змонтовано файлову систему до C<"/">, і ви бажаєте виконати читання файла з назвою C<"etc/passwd">, ви можете скористатися таким кодом:

note: type: textblock
en: This would return C<data> as a newly allocated buffer containing the full content of that file (with some conditions: see also L</DOWNLOADING> below), or C<NULL> if there was an error.
uk: Ця функція повертає дані C<data> як новорозміщений буфер, що містить усі дані з файла (із певними умовами; див. також L</ОТРИМАННЯ> нижче) або C<NULL>, якщо сталася помилка.

note: type: textblock
en: As another example, to create a top-level directory on that filesystem called C<"var"> you would do:
uk: Ще один приклад: для створення каталогу верхнього рівня із назвою C<"var"> на цій файловій системі можна скористатися такою командою:

note: type: textblock
en: To create a symlink you could do:
uk: Щоб створити символічне посилання, ви можете скористатися таким кодом:

note: type: textblock
en: Libguestfs will reject attempts to use relative paths and there is no concept of a current working directory.
uk: Libguestfs відкидатиме спроби скористатися відносними шляхами. Крім того, не передбачено поняття поточного робочого каталогу.

note: type: textblock
en: Libguestfs can return errors in many situations: for example if the filesystem isn't writable, or if a file or directory that you requested doesn't exist.  If you are using the C API (documented here)  you have to check for those error conditions after each call.  (Other language bindings turn these errors into exceptions).
uk: Libguestfs може повертати помилки у багатьох випадках: наприклад, якщо файлова система не придатна до запису або якщо потрібного вам файла або каталогу не існує. Якщо ви користуєтеся програмним інтерфейсом C (документовано тут), вам слід перевіряти умову наявності помилки після кожного виклику. (У інших прив'язках до мов програмування ці помилки перетворюються на виключення.)

note: type: textblock
en: File writes are affected by the per-handle umask, set by calling L</guestfs_umask> and defaulting to 022.  See L</UMASK>.
uk: Запис до файлів визначається окремою для кожного дескриптора umask, як встановлюється викликом L</guestfs_umask> і має типове значення 022. Див. L</UMASK>.

note: type: textblock
en: Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on a local directory, subject to some restrictions.  See L</MOUNT LOCAL> below.
uk: Починаючи з версії libguestfs 1.18, можна монтувати файлову систему libguestfs до локального каталогу із деякими обмеженнями. Див. L</ЛОКАЛЬНЕ МОНТУВАННЯ> нижче.

note: type: =head2
en: PARTITIONING
uk: ПОДІЛ НА РОЗДІЛИ

note: type: textblock
en: Libguestfs contains API calls to read, create and modify partition tables on disk images.
uk: У libguestfs передбачено виклики програмного інтерфейсу для читання, створення та внесення змін до таблиць розділів на образах дисків.

note: type: textblock
en: In the common case where you want to create a single partition covering the whole disk, you should use the L</guestfs_part_disk> call:
uk: У типовому випадку, коли вам потрібно створити єдиний розділ на увесь диск, вам слід скористатися викликом L</guestfs_part_disk>:

note: type: textblock
en: Obviously this effectively wipes anything that was on that disk image before.
uk: Очевидно, цей виклик призведе до витирання усіх даних, які раніше зберігалися на цьому образі диска.

note: type: textblock
en: Libguestfs provides access to a large part of the LVM2 API, such as L</guestfs_lvcreate> and L</guestfs_vgremove>.  It won't make much sense unless you familiarize yourself with the concepts of physical volumes, volume groups and logical volumes.
uk: Libguestfs надає доступ до великої частини програмного інтерфейсу LVM2, зокрема L</guestfs_lvcreate> і L</guestfs_vgremove>. Але цей доступ не матиме великого сенсу, якщо ви не ознайомитеся докладно із поняттями фізичних томів, груп томів та логічних томів.

note: type: textblock
en: This author strongly recommends reading the LVM HOWTO, online at L<http://tldp.org/HOWTO/LVM-HOWTO/>.
uk: Автор цього підручника наполегливо рекомендує ознайомитися із настановами щодо LVM HOWTO, які наведено у інтернеті: L<http://tldp.org/HOWTO/LVM-HOWTO/>.

note: type: =head2
en: DOWNLOADING
uk: ОТРИМАННЯ ДАНИХ

note: type: textblock
en: Use L</guestfs_cat> to download small, text only files.  This call cannot handle files containing any ASCII NUL (C<\0>) characters.  However the API is very simple to use.
uk: Для отримання невеличких текстових файлів скористайтеся L</guestfs_cat>. Цей виклик не може обробляти файли, які містять символи ASCII NUL (C<\0>). Втім, програмний інтерфейс цього виклику є дуже простим у використанні.

note: type: textblock
en: L</guestfs_read_file> can be used to read files which contain arbitrary 8 bit data, since it returns a (pointer, size) pair.
uk: L</guestfs_read_file> можна скористатися для читання файлів, які містять довільні 8-бітові дані, оскільки цей виклик повертає пару (вказівник, розмір).

note: type: textblock
en: L</guestfs_download> can be used to download any file, with no limits on content or size.
uk: L</guestfs_download> можна скористатися для отримання будь-якого файла без обмежень на вміст або розмір.

note: type: textblock
en: To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>.
uk: Для отримання одразу декількох файлів скористайтеся L</guestfs_tar_out> і L</guestfs_tgz_out>.

note: type: =head2
en: UPLOADING
uk: ВИВАНТАЖЕННЯ

note: type: textblock
en: To write a small file with fixed content, use L</guestfs_write>.  To create a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</guestfs_fallocate64> (with all disk blocks allocated).  There are a variety of other functions for creating test files, for example L</guestfs_fill> and L</guestfs_fill_pattern>.
uk: Для запису невеличкого файла із фіксованим вмістом скористайтеся L</guestfs_write>. Для створення файла, який заповнено нулями, скористайтеся L</guestfs_truncate_size> (розріджений файл) або L</guestfs_fallocate64> (файл, для якого розподілено усі блоки на диску). Передбачено багато інших функцій для створення тестових файлів, наприклад L</guestfs_fill> і L</guestfs_fill_pattern>.

note: type: textblock
en: To upload a single file, use L</guestfs_upload>.  This call has no limits on file content or size.
uk: Для вивантаження окремого файла скористайтеся L</guestfs_upload>. У цього виклику немає обмежень на вміст і розмір файла.

note: type: textblock
en: To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>.
uk: Для вивантаження одразу декількох файлів скористайтеся L</guestfs_tar_in> і L</guestfs_tgz_in>.

note: type: textblock
en: However the fastest way to upload I<large numbers of arbitrary files> is to turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and L<mkisofs(8)>), then attach this using L</guestfs_add_drive_ro>.  If you add the drive in a predictable way (eg. adding it last after all other drives) then you can get the device name from L</guestfs_list_devices> and mount it directly using L</guestfs_mount_ro>.  Note that squashfs images are sometimes non-portable between kernel versions, and they don't support labels or UUIDs.  If you want to pre-build an image or you need to mount it using a label or UUID, use an ISO image instead.
uk: Втім, найшвидшим способом вивантаження I<великої кількості довільних файлів> є перетворення їх на squashfs або ISO компакт-диска (див. L<mksquashfs(8)> і L<mkisofs(8)>) і долучення до системи за допомогою L</guestfs_add_drive_ro>. Якщо ви додасте диск у передбачуваний спосіб (наприклад, додасте його після усіх інших дисків), назву пристрою можна буде отримати з L</guestfs_list_devices>, а диск можна буде безпосередньо змонтувати за допомогою L</guestfs_mount_ro>. Зауважте, що для образів squashfs іноді порушується сумісність із ядрами системи, у них не передбачено підтримки міток та UUID. Якщо ви хочете попередньо зібрати образ або хочете змонтувати його із міткою або UUID, вам слід скористатися форматом образу ISO.

note: type: =head2
en: COPYING
uk: КОПІЮВАННЯ

note: type: textblock
en: There are various different commands for copying between files and devices and in and out of the guest filesystem.  These are summarised in the table below.
uk: Передбачено різноманітні команди для копіювання файлів і пристроїв до гостьової операційної системи і з гостьової операційної системи. Резюме щодо цих команд наведено у таблиці, розташованій нижче.

note: type: =item
en: B<file> to B<file>
uk: B<файл> у B<файл>

note: type: textblock
en: Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy directories recursively.
uk: Скористайтеся L</guestfs_cp> для копіювання окремого файла або L</guestfs_cp_a> для рекурсивного копіювання каталогів.

note: type: textblock
en: To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>.
uk: Для копіювання частини файла (з визначенням відступу та розміру даних) скористайтеся L</guestfs_copy_file_to_file>.

note: type: =item
en: B<file> to B<device>
uk: B<файл> на B<пристрій>

note: type: =item
en: B<device> to B<file>
uk: B<пристрій> до B<файла>

note: type: =item
en: B<device> to B<device>
uk: B<пристрій> на B<пристрій>

note: type: textblock
en: Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</guestfs_copy_device_to_device>.
uk: Скористайтеся L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file> або L</guestfs_copy_device_to_device>.

note: type: textblock
en: Example: duplicate the contents of an LV:
uk: Приклад: дублювання вмісту логічного тому:

note: type: verbatim
en:  guestfs_copy_device_to_device (g,
             "/dev/VG/Original", "/dev/VG/Copy",
             /* -1 marks the end of the list of optional parameters */
             -1);
uk:  guestfs_copy_device_to_device (g,
             "/dev/VG/Original", "/dev/VG/Copy",
             /* -1 позначає завершення списку необов'язкових параметрів */
             -1);

note: type: textblock
en: The destination (F</dev/VG/Copy>) must be at least as large as the source (F</dev/VG/Original>).  To copy less than the whole source device, use the optional C<size> parameter:
uk: Призначення (F</dev/VG/Copy>) має бути не меншого розміру за джерело (F</dev/VG/Original>). Для копіювання обсягу даних, який є меншим за увесь пристрій джерела, скористайтеся додатковим параметром C<size>:

note: type: =item
en: B<file on the host> to B<file or device>
uk: B<файл на вузлі> на B<файл або пристрій>

note: type: textblock
en: Use L</guestfs_upload>.  See L</UPLOADING> above.
uk: Скористайтеся L</guestfs_upload>. Див. L</ВИВАНТАЖЕННЯ> вище.

note: type: =item
en: B<file or device> to B<file on the host>
uk: B<файл або пристрій> у B<файл на вузлі>

note: type: textblock
en: Use L</guestfs_download>.  See L</DOWNLOADING> above.
uk: Скористайтеся L</guestfs_download>. Див. L</ОТРИМАННЯ> вище.

note: type: =head2
en: UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS
uk: ВИВАНТАЖЕННЯ І ОТРИМАННЯ ДАНИХ З КАНАЛІВ ТА ДЕСКРИПТОРІВ ФАЙЛІВ

note: type: textblock
en: Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</guestfs_tar_out> etc appear to only take filenames as arguments, so it appears you can only upload and download to files.  However many Un*x-like hosts let you use the special device files F</dev/stdin>, F</dev/stdout>, F</dev/stderr> and F</dev/fd/N> to read and write from stdin, stdout, stderr, and arbitrary file descriptor N.
uk: Виклики, подібні до L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</guestfs_tar_out> тощо, як може здатися, приймають як аргументи лише назви файлів, тому, як може здатися, ви можете вивантажувати дані лише до файлів і отримувати дані лише з файлів. Втім, у багатьох Un*x-подібних основних системах можна використовувати спеціальні файли пристроїв F</dev/stdin>, F</dev/stdout>, F</dev/stderr> і F</dev/fd/N> для читання і записування даних з stdin, stdout, stderr та файла з довільним дескриптором N.

note: type: textblock
en: For example, L<virt-cat(1)> writes its output to stdout by doing:
uk: Наприклад, L<virt-cat(1)> можна змусити записувати виведені дані до stdout у такий спосіб:

note: type: textblock
en: and you can write tar output to a file descriptor C<fd> by doing:
uk: а виведений архів tar можна записати до файла із вказаним дескриптором C<fd> ось так:

note: type: =head2
en: LISTING FILES
uk: СПИСКИ ФАЙЛІВ

note: type: textblock
en: L</guestfs_ll> is just designed for humans to read (mainly when using the L<guestfish(1)>-equivalent command C<ll>).
uk: L</guestfs_ll> призначено лише для створення зручних для читання даних (в основному, якщо використано еквівалент C<ll> у L<guestfish(1)>).

note: type: textblock
en: L</guestfs_ls> is a quick way to get a list of files in a directory from programs, as a flat list of strings.
uk: L</guestfs_ls> — швидкий спосіб отримати список файлів у каталозі від програм у форматі простого списку рядків.

note: type: textblock
en: L</guestfs_readdir> is a programmatic way to get a list of files in a directory, plus additional information about each one.  It is more equivalent to using the L<readdir(3)> call on a local filesystem.
uk: L</guestfs_readdir> — програмний спосіб отримання списку файлів у каталозі разом із додатковою інформацією щодо кожного з файлів. Це дуже схоже на використання виклику L<readdir(3)> у локальних файлових системах.

note: type: textblock
en: L</guestfs_find> and L</guestfs_find0> can be used to recursively list files.
uk: L</guestfs_find> і L</guestfs_find0> можна скористатися для рекурсивної побудови списку файлів.

note: type: =head2
en: RUNNING COMMANDS
uk: ВИКОНАННЯ КОМАНД

note: type: textblock
en: Although libguestfs is primarily an API for manipulating files inside guest images, we also provide some limited facilities for running commands inside guests.
uk: Хоча програмний інтерфейс libguestfs в основному призначено для керування файлами всередині образів гостьових операційних систем, у ньому передбачено і обмежені можливості для запуску команд у гостьових операційних системах.

note: type: textblock
en: There are many limitations to this:
uk: Існує багато обмежень щодо цього:

note: type: textblock
en: The kernel version that the command runs under will be different from what it expects.
uk: Версія ядра системи відрізнятиметься від тієї, на яку може покладатися код програми.

note: type: textblock
en: If the command needs to communicate with daemons, then most likely they won't be running.
uk: Якщо програмі потрібно буде обмінятися даними із фоновими службами, найімовірніше, ці фонові служби не працюватимуть.

note: type: textblock
en: The command will be running in limited memory.
uk: Програму буде запущено з обмеженим обсягом доступної пам'яті.

note: type: textblock
en: The network may not be available unless you enable it (see L</guestfs_set_network>).
uk: Мережа буде недоступною, якщо ви її не увімкнете (див. L</guestfs_set_network>).

note: type: textblock
en: Only supports Linux guests (not Windows, BSD, etc).
uk: Передбачено підтримку лише гостьових систем Linux (не Windows, BSD тощо).

note: type: textblock
en: Architecture limitations (eg. won’t work for a PPC guest on an X86 host).
uk: Обмеження щодо архітектури (наприклад, не працює для гостьової системи PPC на основній системі X86).

note: type: textblock
en: For SELinux guests, you may need to relabel the guest after creating new files.  See L</SELINUX> below.
uk: У гостьових системах із SELinux може виникнути потреба у повторному створенні міток після створення файлів. Див.  розділ L</SELINUX> нижче.

note: type: textblock
en: I<Security:> It is not safe to run commands from untrusted, possibly malicious guests.  These commands may attempt to exploit your program by sending unexpected output.  They could also try to exploit the Linux kernel or qemu provided by the libguestfs appliance.  They could use the network provided by the libguestfs appliance to bypass ordinary network partitions and firewalls.  They could use the elevated privileges or different SELinux context of your program to their advantage.
uk: I<Безпека:> запускати програми із гостьових систем із невідомим походженням, гостьових систем, які може бути створено зловмисниками, небезпечно. Програми з таких систем можуть намагатися скористатися вразливостями у вашій програмі, надсилаючи їй спеціально сформовані дані. Також ці програми можуть намагатися скористатися вразливостями у ядрі Linux або qemu, які надаються базовою системою libguestfs. Програми можуть скористатися доступом до мережі, який надається базовою системою libguestfs для виходу за межі звичайних мережевих розділів та брандмауерів. Програми можуть намагатися розширити права доступу або змінити контекст SELinux вашої програми для виконання задумів зловмисників.

note: type: textblock
en: A secure alternative is to use libguestfs to install a "firstboot" script (a script which runs when the guest next boots normally), and to have this script run the commands you want in the normal context of the running guest, network security and so on.  For information about other security issues, see L<guestfs-security(1)>.
uk: Безпечною альтернативою є використання libguestfs для встановлення скрипту «firstboot» (скрипту, який запускається, коли гостьова система завантажується у звичайному режимі) таким чином, що цей скрипт запускав потрібні вам команди, у звичайному контексті запущеної гостьової системи, зі звичайним захистом мережі тощо. Щоб дізнатися більше про проблеми, пов'язані із захистом, ознайомтеся зі сторінкою підручника щодо L<guestfs-security(1)>.

note: type: textblock
en: The two main API calls to run commands are L</guestfs_command> and L</guestfs_sh> (there are also variations).
uk: Двома основними програмними інтерфейсами для запуску програм є L</guestfs_command> і L</guestfs_sh> (передбачено також певні варіанти цих інтерфейсів).

note: type: textblock
en: The difference is that L</guestfs_sh> runs commands using the shell, so any shell globs, redirections, etc will work.
uk: Відмінність двох інтерфейсів полягає у тому, що L</guestfs_sh> виконує команди за допомогою командної оболонки, отже, працюють усі символи-замінники, переспрямовування тощо.

note: type: =head2
en: CONFIGURATION FILES
uk: ФАЙЛИ НАЛАШТУВАННЯ

note: type: textblock
en: To read and write configuration files in Linux guest filesystems, we strongly recommend using Augeas.  For example, Augeas understands how to read and write, say, a Linux shadow password file or X.org configuration file, and so avoids you having to write that code.
uk: Для читання і запису файлів налаштувань у файлових системах гостьових операційних систем Linux ми наполегливо рекомендуємо скористатися Augeas. Наприклад, Augeas знає, як читати і записувати, скажімо, файл паролів Linux shadow або файл налаштувань X.org, отже, вам не доведеться писати для цього додатковий код.

note: type: textblock
en: The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't document Augeas itself here because there is excellent documentation on the L<http://augeas.net/> website.
uk: Основні виклики Augeas виконуються за допомогою програмних інтерфейсів C<guestfs_aug_*>. Тут ми не наводимо документації щодо самої Augeas, оскільки існує чудова документація, викладена на сайті L<http://augeas.net/>.

note: type: textblock
en: If you don’t want to use Augeas (you fool!) then try calling L</guestfs_read_lines> to get the file as a list of lines which you can iterate over.
uk: Якщо ви не хочете користуватися Augeas (ну який же ви неслухняний!), спробуйте викликати L</guestfs_read_lines> для отримання файла у форматі списку рядків, які ви ітеративно зможете обробити у коді програми.

note: type: =head2
en: SYSTEMD JOURNAL FILES
uk: ФАЙЛИ ЖУРНАЛУ SYSTEMD

note: type: textblock
en: To read the systemd journal from a Linux guest, use the C<guestfs_journal_*> APIs starting with L</guestfs_journal_open>.
uk: Для читання журналу systemd з гостьової системи Linux скористайтеся програмними інтерфейсами C<guestfs_journal_*>, починаючи з L</guestfs_journal_open>.

note: type: textblock
en: Consult the journal documentation here: L<sd-journal(3)>, L<sd_journal_open(3)>.
uk: Із документацією щодо журналу можна ознайомитися за допомогою таких сторінок підручника: L<sd-journal(3)>, L<sd_journal_open(3)>.

note: type: textblock
en: We support SELinux guests.  However it is not possible to load the SELinux policy of the guest into the appliance kernel.  Therefore the strategy for dealing with SELinux guests is to relabel them after making changes.
uk: Ми передбачили підтримку гостьових систем із SELinux. Втім, неможливо завантажити правила SELinux гостьової системи до ядра базової системи. Тому стратегія роботи з гостьовими системами із SELinux є повторне встановлення у них міток після внесення змін.

note: type: textblock
en: In libguestfs E<ge> 1.34 there is a new API, L</guestfs_setfiles>, which can be used for this.  To properly use this API you have to parse the guest SELinux configuration.  See the L<virt-customize(1)> module F<customize/SELinux_relabel.ml> for how to do this.
uk: У libguestfs E<ge> 1.34 передбачено новий програмний інтерфейс, L</guestfs_setfiles>, яким можна скористатися для виконання цього завдання. Щоб належним чином скористатися цим програмним інтерфейсом, вам слід обробити налаштування SELinux гостьової системи. Див. модульe L<virt-customize(1)> F<customize/SELinux_relabel.ml>, щоб дізнатися більше про це.

note: type: textblock
en: A simpler but slower alternative is to touch F</.autorelabel> in the guest, which means that the guest will relabel itself at next boot.
uk: Простішою, але повільнішою альтернативою є виконання touch F</.autorelabel> у гостьовій системі, що означатиме, що гостьовій системі доведеться повторно встановити усі мітки під час наступного завантаження.

note: type: textblock
en: Libguestfs E<le> 1.32 had APIs C<guestfs_set_selinux>, C<guestfs_get_selinux>, C<guestfs_setcon> and C<guestfs_getcon>.  These did not work properly, are deprecated, and should not be used in new code.
uk: У libguestfs E<le> 1.32 було передбачено програмні інтерфейси C<guestfs_set_selinux>, C<guestfs_get_selinux>, C<guestfs_setcon> and C<guestfs_getcon>. Ці програмні інтерфейси не працювали як слід, вони вважаються застарілими. Не використовуйте їх у новому коді.

note: type: textblock
en: Certain calls are affected by the current file mode creation mask (the "umask").  In particular ones which create files or directories, such as L</guestfs_touch>, L</guestfs_mknod> or L</guestfs_mkdir>.  This affects either the default mode that the file is created with or modifies the mode that you supply.
uk: На деякі виклики впливає маска режиму створення поточного файла («umask»). Це, зокрема, виклики, які створюють файли або каталоги, наприклад L</guestfs_touch>, L</guestfs_mknod> і L</guestfs_mkdir>. Маска впливає або на типовий режим створення файла, або змінює режим доступу, який ви встановлюєте.

note: type: textblock
en: The default umask is C<022>, so files are created with modes such as C<0644> and directories with C<0755>.
uk: Типовим значенням umask є C<022>. Отже, файли створюватимуться із правами доступу, які подібні до C<0644>, а каталоги — C<0755>.

note: type: textblock
en: There are two ways to avoid being affected by umask.  Either set umask to 0 (call C<guestfs_umask (g, 0)> early after launching).  Or call L</guestfs_chmod> after creating each file or directory.
uk: Існує два способи уникнути впливу umask. Можна або встановити для umask значення 0 (викликати C<guestfs_umask (g, 0)> одразу після запуску), або викликати L</guestfs_chmod> після створення кожного файла або каталогу.

note: type: textblock
en: For more information about umask, see L<umask(2)>.
uk: Докладніший опис umask можна знайти на сторінці підручника щодо L<umask(2)>.

note: type: =head2
en: LABELS AND UUIDS
uk: МІТКИ І UUID

note: type: textblock
en: Many filesystems, devices and logical volumes support either labels (short strings like "BOOT" which might not be unique) and/or UUIDs (globally unique IDs).
uk: У багатьох файлових системах, на пристроях або логічних томах передбачено підтримку міток (коротких рядків, подібних до «BOOT», які можуть повторюватися) і/або UUID (унікальних на загальному рівні ідентифікаторів).

note: type: textblock
en: For filesystems, use L</guestfs_vfs_label> or L</guestfs_vfs_uuid> to read the label or UUID.  Some filesystems let you call L</guestfs_set_label> or L</guestfs_set_uuid> to change the label or UUID.
uk: Для файлових систем користуйтеся L</guestfs_vfs_label> або L</guestfs_vfs_uuid> для читання мітки або UUID. У деяких файлових системах можна викликати L</guestfs_set_label> або L</guestfs_set_uuid> для зміни мітки або UUID.

note: type: textblock
en: You can locate a filesystem by its label or UUID using L</guestfs_findfs_label> or L</guestfs_findfs_uuid>.
uk: Ви можете знайти файлову систему за міткою або UUID за допомогою виклику L</guestfs_findfs_label> або L</guestfs_findfs_uuid>.

note: type: textblock
en: For LVM2 (which supports only UUIDs), there is a rich set of APIs for fetching UUIDs, fetching UUIDs of the contained objects, and changing UUIDs.  See: L</guestfs_lvuuid>, L</guestfs_vguuid>, L</guestfs_pvuuid>, L</guestfs_vglvuuids>, L</guestfs_vgpvuuids>, L</guestfs_vgchange_uuid>, L</guestfs_vgchange_uuid_all>, L</guestfs_pvchange_uuid>, L</guestfs_pvchange_uuid_all>.
uk: Для LVM2 (де передбачено підтримку лише UUID) передбачено широкий спектр інструментів програмного інтерфейсу для отримання UUID, отримання UUID об'єктів контейнерів і зміни UUID. Див. L</guestfs_lvuuid>, L</guestfs_vguuid>, L</guestfs_pvuuid>, L</guestfs_vglvuuids>, L</guestfs_vgpvuuids>, L</guestfs_vgchange_uuid>, L</guestfs_vgchange_uuid_all>, L</guestfs_pvchange_uuid>, L</guestfs_pvchange_uuid_all>.

note: type: textblock
en: Note when cloning a filesystem, device or whole guest, it is a good idea to set new randomly generated UUIDs on the copy.
uk: Зауважте, що при клонуванні файлової системи, пристрою або усієї гостьової операційної системи варто встановити нові випадково створені UUID для копії.

note: type: textblock
en: Libguestfs allows you to access Linux guests which have been encrypted using whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) standard.  This includes nearly all whole disk encryption systems used by modern Linux guests.
uk: Libguestfs надає вам змогу отримувати доступ до гостьових операційних систем Linux, де використовується повне шифрування диска відповідно до стандарту Linux Unified Key Setup (LUKS), що включає майже усі системи шифрування усього диска, які використовуються сучасними гостьовими системами Linux.

note: type: textblock
en: Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it returns the string C<crypto_LUKS>).
uk: Скористайтеся L</guestfs_vfs_type> для виявлення зашифрованих за допомогою LUKS блокових пристроїв (функція повертає для таких пристроїв рядок C<crypto_LUKS>).

note: type: textblock
en: Then open these devices by calling L</guestfs_luks_open>.  Obviously you will require the passphrase!
uk: Далі, відкрийте ці пристрої, викликавши L</guestfs_luks_open>. Очевидно, для відкриття вам знадобиться пароль!

note: type: textblock
en: Opening a LUKS device creates a new device mapper device called F</dev/mapper/mapname> (where C<mapname> is the string you supply to L</guestfs_luks_open>).  Reads and writes to this mapper device are decrypted from and encrypted to the underlying block device respectively.
uk: Відкриття пристрою LUKS призводить до створення пристрою-прив'язки із назвою F</dev/mapper/назва_прив'язки> (де C<назва_прив'язки> — рядок, який ви передаєте L</guestfs_luks_open>). Дані, які читаються і записуються на цей пристрій-прив'язку, розшифровуються і шифруються на базовий блоковий пристрій, відповідно.

note: type: textblock
en: LVM volume groups on the device can be made visible by calling L</guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical volume(s) can now be mounted in the usual way.
uk: Групи томів LVM на пристрої можна зробити видимими викликом L</guestfs_vgscan>, за яким слід викликати L</guestfs_vg_activate_all>. Після цього логічні томи можна змонтувати у звичний спосіб.

note: type: textblock
en: Use the reverse process to close a LUKS device.  Unmount any logical volumes on it, deactivate the volume groups by calling C<guestfs_vg_activate (g, 0, ["/dev/VG"])>.  Then close the mapper device by calling L</guestfs_luks_close> on the F</dev/mapper/mapname> device (I<not> the underlying encrypted block device).
uk: Скористайтеся зворотною процедурою для закриття пристрою LUKS. Демонтуйте усі логічні томи на ньому, деактивуйте групи томів викликом C<guestfs_vg_activate (g, 0, ["/dev/VG"])>. Далі, закрийте пристрій-прив'язку викликом L</guestfs_luks_close> для пристрою F</dev/mapper/назва_прив'язки> (а I<не> для базового блокового пристрою).

note: type: =head2
en: MOUNT LOCAL
uk: ЛОКАЛЬНЕ МОНТУВАННЯ

note: type: textblock
en: In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem on a local directory and access it using ordinary POSIX calls and programs.
uk: Починаючи з версії libguestfs 1.18, можна монтувати файлову систему libguestfs до локального каталогу і отримувати доступ до неї за допомогою звичайних викликів і програм POSIX.

note: type: textblock
en: Availability of this is subject to a number of restrictions: it requires FUSE (the Filesystem in USErspace), and libfuse must also have been available when libguestfs was compiled.  FUSE may require that a kernel module is loaded, and it may be necessary to add the current user to a special C<fuse> group.  See the documentation for your distribution and L<http://fuse.sf.net> for further information.
uk: Доступність цього може бути обмежено декількома факторами: у системі має бути встановлено FUSE (Filesystem in USErspace), а заголовкові файли libfuse мають бути доступними під час збирання libguestfs. FUSE може потребувати завантаження модуля ядра. Крім того, можливо, потрібно додати поточного користувача до спеціальної групи C<fuse>. Докладніші відомості можна знайти у документації до вашого дистрибутива та на L<http://fuse.sf.net>.

note: type: textblock
en: The call to mount the libguestfs filesystem on a local directory is L</guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>.  The latter does not return until you unmount the filesystem.  The reason is that the call enters the FUSE main loop and processes kernel requests, turning them into libguestfs calls.  An alternative design would have been to create a background thread to do this, but libguestfs doesn't require pthreads.  This way is also more flexible: for example the user can create another thread for L</guestfs_mount_local_run>.
uk: Виклик монтування файлової системи libguestfs до локального каталогу є послідовним викликом L</guestfs_mount_local> з наступним L</guestfs_mount_local_run>. Другий з цих викликів не повертає керування, аж доки ви не демонтуєте файлову систему. Причиною цього є те, що виклик входить до основного циклу обробки FUSE і обробляє запити ядра, перетворюючи їх на виклики libguestfs. Альтернативний підхід міг би полягати у створенні фонового потоку обробки для виконання цього завдання, але у libguestfs pthreads не є обов'язковою залежністю. Крім того, наш підхід є гнучкішим: наприклад, користувач може створити ще один потік обробки для L</guestfs_mount_local_run>.

note: type: textblock
en: L</guestfs_mount_local> needs a certain amount of time to set up the mountpoint.  The mountpoint is not ready to use until the call returns.  At this point, accesses to the filesystem will block until the main loop is entered (ie. L</guestfs_mount_local_run>).  So if you need to start another process to access the filesystem, put the fork between L</guestfs_mount_local> and L</guestfs_mount_local_run>.
uk: L</guestfs_mount_local> потребує певного часу на налаштовування точки монтування. Точка монтування лишатиметься недоступною, доки цей виклик не поверне керування. До цього моменту спроби доступу до файлової системи блокуватиметься, аж доки не буде здійснено вхід до основного циклу обробки (тобто передано керування до L</guestfs_mount_local_run>). Отже, якщо вам потрібно запустити процес для доступу до файлової системи, додайте розгалуження між L</guestfs_mount_local> і L</guestfs_mount_local_run>.

note: type: =head3
en: MOUNT LOCAL COMPATIBILITY
uk: СУМІСНІСТЬ ЛОКАЛЬНОГО МОНТУВАННЯ

note: type: textblock
en: Since local mounting was only added in libguestfs 1.18, and may not be available even in these builds, you should consider writing code so that it doesn't depend on this feature, and can fall back to using libguestfs file system calls.
uk: Оскільки можливість локального монтування було додано лише після версії libguestfs 1.18, і ця можливість може бути недоступною навіть у пізніших версіях через особливості збирання, код варто писати так, щоб у ньому не було жорсткої залежності від цієї можливості і щоб було передбачено резервну можливість повернутися до використання викликів, пов'язаних із файловою системою у libguestfs.

note: type: textblock
en: If libguestfs was compiled without support for L</guestfs_mount_local> then calling it will return an error with errno set to C<ENOTSUP> (see L</guestfs_last_errno>).
uk: Якщо libguestfs було зібрано без підтримки L</guestfs_mount_local>, виклик цієї функції призводитиме до помилки із errno, встановленим у значення C<ENOTSUP> (див. L</guestfs_last_errno>).

note: type: =head3
en: MOUNT LOCAL PERFORMANCE
uk: ШВИДКОДІЯ ПРИ ЛОКАЛЬНОМУ МОНТУВАННІ

note: type: textblock
en: Libguestfs on top of FUSE performs quite poorly.  For best performance do not use it.  Use ordinary libguestfs filesystem calls, upload, download etc. instead.
uk: Обгортка libguestfs навколо FUSE має доволі низький рівень швидкодії. Якщо вам потрібен найшвидший доступ, не використовуйте її. Замість неї користуйтеся звичайними викликами libguestfs, пов'язаними з обробкою файлових систем: вивантаженням і отриманням даних тощо.

note: type: =head2
en: HOTPLUGGING
uk: З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ

note: type: textblock
en: In libguestfs E<ge> 1.20, you may add drives and remove after calling L</guestfs_launch>.  There are some restrictions, see below.  This is called I<hotplugging>.
uk: У libguestfs E<ge> 1.20 ви можете додавати і вилучати диски після виклику L</guestfs_launch>. Втім, є декілька обмежень, опис яких наведено нижче. Таку можливість будемо називати I<з'єднанням у «гарячому» режимі>.

note: type: textblock
en: Only a subset of the backends support hotplugging (currently only the libvirt backend has support).  It also requires that you use libvirt E<ge> 0.10.3 and qemu E<ge> 1.2.
uk: Підтримку з'єднання у «гарячому» режимі передбачено лише у деяких модулях обробки даних (у поточній версії таку підтримку передбачено лише у модулі libvirt). Крім того, потрібні версії libvirt E<ge> 0.10.3 та qemu E<ge> 1.2.

note: type: textblock
en: To hot-add a disk, simply call L</guestfs_add_drive_opts> after L</guestfs_launch>.  It is mandatory to specify the C<label> parameter so that the newly added disk has a predictable name.  For example:
uk: Для додавання диска у «гарячому» режимі просто скористайтеся викликом L</guestfs_add_drive_opts> після L</guestfs_launch>. Має бути обов'язково вказано параметр C<label>, щоб новий доданий диск мав передбачувану назву. Приклад:

note: type: textblock
en: To hot-remove a disk, call L</guestfs_remove_drive>.  You can call this before or after L</guestfs_launch>.  You can only remove disks that were previously added with a label.
uk: Для вилучення диска у «гарячому» режимі скористайтеся викликом L</guestfs_remove_drive>. Цей виклик можна використовувати до або після L</guestfs_launch>. Вилучати диски у такий спосіб можна, лише якщо їх раніше було додано із міткою.

note: type: textblock
en: Backends that support hotplugging do not require that you add E<ge> 1 disk before calling launch.  When hotplugging is supported you don't need to add any disks.
uk: У модулях обробки, де передбачено підтримку з'єднання у «гарячому» режимі не обов'язково додавати один або більше дисків до виклику launch. Якщо передбачено підтримку з'єднання у «гарячому» режимі, ви можете взагалі не додавати жодних дисків.

note: type: =head2
en: REMOTE STORAGE
uk: ВІДДАЛЕНЕ СХОВИЩЕ ДАНИХ

note: type: textblock
en: Libguestfs can access Ceph (librbd/RBD) disks.
uk: Libguestfs може отримувати доступ до дисків Ceph (librbd/RBD).

note: type: textblock
en: To do this, set the optional C<protocol> and C<server> parameters of L</guestfs_add_drive_opts> like this:
uk: Для цього встановіть необов'язкові параметри C<protocol> і C<server> у виклику L</guestfs_add_drive_opts>, ось так:

note: type: textblock
en: C<servers> (the C<server> parameter) is a list of one or more Ceph servers.  The server string is documented in L</guestfs_add_drive_opts>. The C<username> and C<secret> parameters are also optional, and if not given, then no authentication will be used.
uk: C<servers> (параметр C<server>) — список з одного або декількох серверів Ceph. Документацію щодо рядка server наведено у описі L</guestfs_add_drive_opts>. Параметри C<username> та C<secret> є необов'язковими. Якщо їх не вказано, розпізнавання не виконуватиметься.

note: type: =head3
en: FTP, HTTP AND TFTP
uk: FTP, HTTP ТА TFTP

note: type: textblock
en: Libguestfs can access remote disks over FTP, FTPS, HTTP, HTTPS or TFTP protocols.
uk: Libguestfs може отримувати доступ до віддалених дисків за допомогою протоколів FTP, FTPS, HTTP, HTTPS та TFTP.

note: type: textblock
en: The C<protocol> can be one of C<"ftp">, C<"ftps">, C<"http">, C<"https"> or C<"tftp">.
uk: Значенням параметра C<protocol> може бути один з таких рядків: C<"ftp">, C<"ftps">, C<"http">, C<"https"> або C<"tftp">.

note: type: textblock
en: C<servers> (the C<server> parameter) is a list which must have a single element.  The single element is a string defining the web, FTP or TFTP server.  The format of this string is documented in L</guestfs_add_drive_opts>.
uk: C<servers> (параметр C<server>) — список, який має складатися з одного запису. Цей єдиний запис є рядком, який визначає вебсервер або сервер FTP чи TFTP. Документацію щодо рядка server наведено у описі L</guestfs_add_drive_opts>.

note: type: textblock
en: Libguestfs can access Gluster disks.
uk: Libguestfs може отримувати доступ до дисків Gluster.

note: type: textblock
en: C<servers> (the C<server> parameter) is a list which must have a single element.  The single element is a string defining the Gluster server.  The format of this string is documented in L</guestfs_add_drive_opts>.
uk: C<servers> (параметр C<server>) — список, який має складатися з одного запису. Цей єдиний запис є рядком, який визначає сервер Gluster. Документацію щодо рядка server наведено у описі L</guestfs_add_drive_opts>.

note: type: textblock
en: Note that gluster usually requires the client process (ie. libguestfs)  to run as B<root> and will give unfathomable errors if it is not (eg. "No data available").
uk: Зауважте, що, зазвичай, gluster потребує запуску клієнтського процесу (тобто libguestfs) від імені користувача B<root> і повідомляє про незрозумілі помилки, якщо процес запущено від звичайного користувача (наприклад, «No data available» або «Дані недоступні»).

note: type: textblock
en: Libguestfs can access iSCSI disks remotely.
uk: Libguestfs може отримувати віддалений доступ до дисків iSCSI.

note: type: textblock
en: To do this, set the optional C<protocol> and C<server> parameters like this:
uk: Для цього встановіть необов'язкові параметри C<protocol> і C<server> у виклику ось так:

note: type: textblock
en: The C<server> parameter is a list which must have a single element.  The single element is a string defining the iSCSI server.  The format of this string is documented in L</guestfs_add_drive_opts>.
uk: C<servers> (параметр C<server>) — список, який має складатися з одного запису. Цей єдиний запис є рядком, який визначає сервер iSCSI. Документацію щодо рядка server наведено у описі L</guestfs_add_drive_opts>.

note: type: textblock
en: Libguestfs can access Network Block Device (NBD) disks remotely.
uk: Libguestfs може отримувати віддалений доступ до дисків Network Block Device (NBD).

note: type: textblock
en: C<server> is in fact a list of servers.  For NBD you must always supply a list with a single element.  (Other remote protocols require zero or more than one server, hence the requirement for this parameter to be a list).
uk: C<сервер> фактично є списком серверів. Для доступу до NBD вам слід завжди вказувати список як єдиний елемент. (Для інших віддалених протоколів можна не вказувати сервер або вказувати декілька серверів, тому цей параметр і є списком.)

note: type: textblock
en: The C<server> string is documented in L</guestfs_add_drive_opts>.  To connect to a local qemu-nbd instance over a Unix domain socket, use C<"unix:/path/to/socket">.
uk: Документацію щодо рядка C<сервер> можна знайти у розділі L</guestfs_add_drive_opts>. Що встановити з'єднання із локальним екземпляром qemu-nbd за допомогою сокета домену UNIX, скористайтеся записом C<"unix:/шлях/до/сокета">.

note: type: textblock
en: The C<filename> parameter is the NBD export name.  Use an empty string to mean the default export.  Many NBD servers, including qemu-nbd, do not support export names.
uk: Значенням параметра C<filename> має бути назва експортування NBD.  Скористайтеся порожнім рядком, якщо слід використовувати типове експортування. У багатьох реалізаціях серверів NBD, зокрема qemu-nbd, не передбачено підтримки назв експортування.

note: type: textblock
en: If using qemu-nbd as your server, you should always specify the C<-t> option.  The reason is that libguestfs may open several connections to the server.
uk: Якщо ви використовуєте як сервер qemu-nbd, вам слід завжди передавати параметр C<-t>. Причина полягає у тому, що libguestfs може відкривати одразу декілька з'єднань із сервером.

note: type: textblock
en: The libvirt backend requires that you set the C<format> parameter of L</guestfs_add_drive_opts> accurately when you use writable NBD disks.
uk: При користуванні модулем обробки libvirt обов'язково слід точно вказати параметр C<format> L</guestfs_add_drive_opts>, якщо ви використовуєте придатні до запису диски NBD.

note: type: textblock
en: The libvirt backend has a bug that stops Unix domain socket connections from working: L<https://bugzilla.redhat.com/show_bug.cgi?id=922888>
uk: У модулі обробки libvirt є вада, яка заважає з'єднанням із сокетом домену UNIX працювати: L<https://bugzilla.redhat.com/show_bug.cgi?id=922888>

note: type: textblock
en: The direct backend does not support readonly connections because of a bug in qemu: L<https://bugs.launchpad.net/qemu/+bug/1155677>
uk: У модулі безпосередньої обробки не передбачено підтримки з'єднань лише для читання даних через ваду у qemu: L<https://bugs.launchpad.net/qemu/+bug/1155677>

note: type: textblock
en: Libguestfs can access Sheepdog disks.
uk: Libguestfs може отримувати доступ до дисків Sheepdog.

note: type: textblock
en: The optional list of C<servers> may be zero or more server addresses (C<"hostname:port">).  The format of the server strings is documented in L</guestfs_add_drive_opts>.
uk: Необов'язковий список C<servers> має складатися із нуля або якоїсь кількості адрес серверів (C<"назва_вузла:порт">). Формат рядків server описано у документації з L</guestfs_add_drive_opts>.

note: type: textblock
en: Libguestfs can access disks over a Secure Shell (SSH) connection.
uk: Libguestfs може отримувати доступ до дисків за допомогою з'єднань Secure Shell (SSH).

note: type: textblock
en: To do this, set the C<protocol> and C<server> and (optionally)  C<username> parameters of L</guestfs_add_drive_opts> like this:
uk: Для цього встановіть необов'язкові параметри C<protocol>, C<server> та (необов'язково) C<username> у виклику L</guestfs_add_drive_opts>, ось так:

note: type: textblock
en: The format of the server string is documented in L</guestfs_add_drive_opts>.
uk: Формат рядка сервера документовано у розділі щодо L</guestfs_add_drive_opts>.

note: type: =head2
en: INSPECTION
uk: ПЕРЕВІРКА

note: type: textblock
en: Libguestfs has APIs for inspecting an unknown disk image to find out if it contains operating systems, an install CD or a live CD.
uk: У libguestfs передбачено програмні інтерфейси для інспектування невідомих образів дисків для визначення, чи міститься у образі операційна система, дані для встановлення з компакт-диска або портативна система.

note: type: textblock
en: Add all disks belonging to the unknown virtual machine and call L</guestfs_launch> in the usual way.
uk: Додайте усі диски, що належать до невідомої віртуальної машини і викличте L</guestfs_launch> у звичний спосіб.

note: type: textblock
en: Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls and certain heuristics, and returns a list of operating systems that were found.  An empty list means none were found.  A single element is the root filesystem of the operating system.  For dual- or multi-boot guests, multiple roots can be returned, each one corresponding to a separate operating system.  (Multi-boot virtual machines are extremely rare in the world of virtualization, but since this scenario can happen, we have built libguestfs to deal with it.)
uk: Далі, викличте L</guestfs_inspect_os>. Ця функція використовує інші виклики libguestfs та певну евристику і повертає список знайдених операційних систем. Якщо список виявиться порожнім, значить операційних систем не знайдено. Окремий запис списку визначатиме кореневу файлову систему операційної системи. Для гостьових операційних систем із варіантами завантаження може бути повернуто декілька кореневих записів, кожен з яких відповідає окремій операційній системі. (Віртуальні машини із варіантами завантаження є дуже рідкісними у світі віртуалізації, але оскільки такий сценарій можливий, нам довелося реалізувати його у libguestfs.)

note: type: textblock
en: For each root, you can then call various C<guestfs_inspect_get_*> functions to get additional details about that operating system.  For example, call L</guestfs_inspect_get_type> to return the string C<windows> or C<linux> for Windows and Linux-based operating systems respectively.
uk: Для кожної кореневої файлової системи ви можете скористатися різноманітними функціями C<guestfs_inspect_get_*> для отримання додаткових відомостей щодо операційної системи. Наприклад, викличте L</guestfs_inspect_get_type>, щоб отримати рядок C<windows> або C<linux> для Windows та заснованих на Linux операційних системах, відповідно.

note: type: textblock
en: Un*x-like and Linux-based operating systems usually consist of several filesystems which are mounted at boot time (for example, a separate boot partition mounted on F</boot>).  The inspection rules are able to detect how filesystems correspond to mount points.  Call C<guestfs_inspect_get_mountpoints> to get this mapping.  It might return a hash table like this example:
uk: Un*x-подібні та засновані на Linux операційні системи зазвичай складаються з декількох файлових систем, які монтуються під час завантаження (наприклад, окремого розділу для завантаження, який змонтовано до F</boot>). Правила інспектування уможливлюють визначення, як саме файлові системи пов'язано із точками монтування. Викличте C<guestfs_inspect_get_mountpoints>, щоб отримати дані щодо цієї прив'язки. У відповідь може бути повернуто хеш-таблицю, подібну до такої:

note: type: textblock
en: The caller can then make calls to L</guestfs_mount> to mount the filesystems as suggested.
uk: Далі, можна викликати L</guestfs_mount> для відповідного монтування файлових систем.

note: type: textblock
en: Be careful to mount filesystems in the right order (eg. F</> before F</usr>).  Sorting the keys of the hash by length, shortest first, should work.
uk: Файлові системи слід монтувати у належному порядку (наприклад, F</> має бути змонтовано перед F</usr>). Для визначення порядку можна упорядкувати хеш-записи за довжиною так, щоб першими у списку були найкоротші.

note: type: textblock
en: Inspection currently only works for some common operating systems.  Contributors are welcome to send patches for other operating systems that we currently cannot detect.
uk: Засіб інспектування у поточній версії може працювати лише з декількома поширеними операційними системами. Будемо раді вашим латкам, які реалізуватимуть підтримку інших операційних систем, які ще не може бути визначено програмно.

note: type: textblock
en: Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> for more details.  The L</guestfs_inspect_os> function just ignores any encrypted devices.
uk: Шифровані диски слід відкривати до інспектування. Докладніше про це можна дізнатися з розділу L</ЗАШИФРОВАНІ ДИСКИ>. Функція L</guestfs_inspect_os> просто ігноруватиме усі знайдені зашифровані пристрої.

note: type: textblock
en: A note on the implementation: The call L</guestfs_inspect_os> performs inspection and caches the results in the guest handle.  Subsequent calls to C<guestfs_inspect_get_*> return this cached information, but I<do not> re-read the disks.  If you change the content of the guest disks, you can redo inspection by calling L</guestfs_inspect_os> again.  (L</guestfs_inspect_list_applications2> works a little differently from the other calls and does read the disks.  See documentation for that function for details).
uk: Зауваження щодо реалізації: виклик L</guestfs_inspect_os> виконує інспектування та кешує результати у дескрипторі гостьової системи. Наступні виклики C<guestfs_inspect_get_*> повертатимуть кешовані відомості, але I<не виконуватимуть> повторного читання дисків. Якщо ви зміните вміст дисків гостьової системи, ви можете змусити програму повторно виконати інспектування, викликавши L</guestfs_inspect_os> ще раз. (L</guestfs_inspect_list_applications2> працює дещо інакше, якщо порівнювати з іншими викликами, і виконує читання дисків. Див. документацію з цієї функції, щоб дізнатися більше).

note: type: =head3
en: INSPECTING INSTALL DISKS
uk: ВИВЧЕННЯ ДИСКІВ ДЛЯ ВСТАНОВЛЕННЯ

note: type: textblock
en: Libguestfs (since 1.9.4) can detect some install disks, install CDs, live CDs and more.
uk: Libguestfs (з версії 1.9.4) може виявляти деякі диски для встановлення, компакт-диски для встановлення, компакт-диски із портативними системами тощо.

note: type: textblock
en: Further information is available about the operating system that can be installed using the regular inspection APIs like L</guestfs_inspect_get_product_name>, L</guestfs_inspect_get_major_version> etc.
uk: Докладну інформацію щодо операційних систем на дисках для встановлення можна отримати за допомогою звичайних програмних інтерфейсів вивчення, зокрема L</guestfs_inspect_get_product_name>, L</guestfs_inspect_get_major_version> тощо.

note: type: =head2
en: SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS
uk: ДОДАТКОВІ ЗАУВАЖЕННЯ ЩОДО ГОСТЬОВИХ СИСТЕМ WINDOWS

note: type: textblock
en: Libguestfs can mount NTFS partitions.  It does this using the L<http://www.ntfs-3g.org/> driver.
uk: Libguestfs може монтувати розділи NTFS. Це завдання виконується за допомогою драйвера L<http://www.ntfs-3g.org/>.

note: type: =head3
en: DRIVE LETTERS AND PATHS
uk: ЛІТЕРИ ДИСКІВ ТА ШЛЯХИ

note: type: textblock
en: DOS and Windows still use drive letters, and the filesystems are always treated as case insensitive by Windows itself, and therefore you might find a Windows configuration file referring to a path like C<c:\windows\system32>.  When the filesystem is mounted in libguestfs, that directory might be referred to as F</WINDOWS/System32>.
uk: У DOS та Windows для позначення дисків усе ще використовуються літери, а назви у файлових системах самою Windows обробляються як незалежні від регістру символів, тому можлива ситуація, коли файл налаштувань Windows посилається на каталог із назвою подібною до C<c:\windows\system32>. Коли ж файлову систему змонтовано у libguestfs, той самий каталог може мати назву F</WINDOWS/System32>.

note: type: textblock
en: Drive letter mappings can be found using inspection (see L</INSPECTION> and L</guestfs_inspect_get_drive_mappings>)
uk: Визначити прив'язку дисків до літер можна за допомогою засобу інспектування (див. L</ІНСПЕКТУВАННЯ> та L</guestfs_inspect_get_drive_mappings>)

note: type: textblock
en: Dealing with separator characters (backslash vs forward slash) is outside the scope of libguestfs, but usually a simple character replacement will work.
uk: Обробка символів-роздільників у шляхах (символів зворотної чи прямої похилої риски) не виконується самою libguestfs, але, зазвичай, для цього можна просто скористатися автоматичною заміною символів на відповідні.

note: type: textblock
en: To resolve the case insensitivity of paths, call L</guestfs_case_sensitive_path>.
uk: Щоб усунути проблему із неврахуванням регістру літер у шляхах, скористайтеся викликом L</guestfs_case_sensitive_path>.

note: type: =head3
en: LONG FILENAMES ON NTFS
uk: ДОВГІ НАЗВИ ФАЙЛІВ У NTFS

note: type: textblock
en: NTFS supports filenames up to 255 characters long.  "Character" means a 2 byte UTF-16 codepoint which can encode the most common Unicode codepoints.
uk: У NTFS назви файлів обмежено довжиною у 255 символів. «Символ» означає 2-байтову позицію у таблиці UTF-16, яка містить більшість типових символів Unicode.

note: type: textblock
en: Most Linux filesystems support filenames up to 255 I<bytes>.  This means you may get an error:
uk: У більшості файлових систем Linux передбачено підтримку назв файлів довжиною до 255 I<байтів>. Це означає, що ви можете отримати повідомлення про помилку:

note: type: textblock
en: when you copy a file from NTFS to a Linux filesystem if the name, when reencoded as UTF-8, would exceed 255 bytes in length.
uk: коли копіюватимете файл з NTFS на файлову систему Linux, якщо назва, коли її буде перекодовано у UTF-8, перевищить за довжиною 255 байтів.

note: type: textblock
en: This will most often happen when using non-ASCII names that are longer than ~127 characters (eg. Greek, Cyrillic) or longer than ~85 characters (Asian languages).
uk: Найчастіше таке трапляється, коли використовуються довші за ~127 символів назви із символами, які не належать до ASCII, (наприклад, назви кирилицею або грецькою) або використовуються довші за ~85 символів назви азійськими мовами із ієрогліфічним записом.

note: type: textblock
en: A workaround is not to try to store such long filenames on Linux native filesystems.  Since the L<tar(1)> format can store unlimited length filenames, keep the files in a tarball.
uk: Обійти проблему можна, намагаючись не зберігати файли із такими довгими назвами у файлових системах Linux. Оскільки у форматі L<tar(1)> передбачено можливість зберігання назв файлів без будь-яких обмежень, такі файли можна зберігати у архівах tar.

note: type: =head3
en: ACCESSING THE WINDOWS REGISTRY
uk: ДОСТУП ДО РЕГІСТРУ WINDOWS

note: type: textblock
en: Libguestfs also provides some help for decoding Windows Registry "hive" files, through a separate C library called L<hivex(3)>.
uk: У libguestfs також передбачено допоміжні можливості із декодування файлів реєстрів Windows, «hive», на основі окремої бібліотеки мовою C, яка називається L<hivex(3)>.

note: type: textblock
en: Before libguestfs 1.19.35 you had to download the hive file, operate on it locally using hivex, and upload it again.  Since this version, we have included the major hivex APIs directly in the libguestfs API (see L</guestfs_hivex_open>).  This means that if you have opened a Windows guest, you can read and write the registry directly.
uk: До версії libguestfs 1.19.35 вам потрібно було отримати файл рою (hive), обробити його локально за допомогою hivex і вивантажити його назад. Починаючи з вказаної версії, нами було включено основні програмні інтерфейси hivex безпосередньо до програмного інтерфейсу libguestfs (див. L</guestfs_hivex_open>). Це означає, що якщо ви відкрили гостьову систему Windows, ви можете читати і записувати реєстр безпосередньо.

note: type: textblock
en: See also L<virt-win-reg(1)>.
uk: Див. також L<virt-win-reg(1)>.

note: type: =head3
en: SYMLINKS ON NTFS-3G FILESYSTEMS
uk: СИМВОЛІЧНІ ПОСИЛАННЯ У ФАЙЛОВИХ СИСТЕМАХ NTFS-3G

note: type: textblock
en: Ntfs-3g tries to rewrite "Junction Points" and NTFS "symbolic links" to provide something which looks like a Linux symlink.  The way it tries to do the rewriting is described here:
uk: Ntfs-3g намагається переписати «точки з'єднання» та «символічні посилання» NTFS для створення чогось схожого на символічне посилання Linux. Спосіб, у який виконується переписування, описано тут:

note: type: textblock
en: The essential problem is that ntfs-3g simply does not have enough information to do a correct job.  NTFS links can contain drive letters and references to external device GUIDs that ntfs-3g has no way of resolving.  It is almost certainly the case that libguestfs callers should ignore what ntfs-3g does (ie. don't use L</guestfs_readlink> on NTFS volumes).
uk: Основною проблемою є те, що ntfs-3g просто немає достатньо відомостей для того, щоб виконати роботу правильно. Посилання NTFS можуть містити літери дисків і посилання на GUID зовнішніх пристроїв, які не може бути оброблено у ntfs-3g. У цьому випадку, майже завжди, функції, які викликають libguestfs, мають ігнорувати дії ntfs-3g (тобто не використовувати L</guestfs_readlink> на томах NTFS).

note: type: textblock
en: Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended attribute, and read the raw reparse data from that (you can find the format documented in various places around the web).
uk: Замість цього, якщо у файловій системі ntfs-3g трапиться символічне посилання, слід скористатися L</guestfs_lgetxattr> для читання розширеного атрибута C<system.ntfs_reparse_data> і прочитати дані повторної обробки з нього (формат документовано у багатьох місцях в інтернеті).

note: type: =head3
en: EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS
uk: РОЗШИРЕНІ АТРИБУТИ НА ФАЙЛОВИХ СИСТЕМАХ NTFS-3G

note: type: textblock
en: There are other useful extended attributes that can be read from ntfs-3g filesystems (using L</guestfs_getxattr>).  See:
uk: Існують інші корисні атрибути, які можна читати з файлових систем ntfs-3g (за допомогою L</guestfs_getxattr>). Див.:

note: type: =head3
en: WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP
uk: ПРИСИПЛЯННЯ WINDOWS ТА ШВИДКИЙ ЗАПУСК WINDOWS 8

note: type: textblock
en: Windows guests which have been hibernated (instead of fully shut down)  cannot be mounted.  This is a limitation of ntfs-3g.  You will see an error like this:
uk: Гостьові системи Windows, які було приспано (замість повного вимикання) не можна монтувати. Це обмеження ntfs-3g. Ви побачите ось таке повідомлення про помилку:

note: type: textblock
en: In Windows 8, the shutdown button does not shut down the guest at all.  Instead it usually hibernates the guest.  This is known as "fast startup".
uk: У Windows 8 кнопка вимикання не вимикає гостьову систему. Замість цього, ця кнопка присипляє гостьову систему. Ця можливість відома як «швидкий запуск».

note: type: textblock
en: Some suggested workarounds are:
uk: Ось пропоновані шляхи обійти проблему:

note: type: textblock
en: Mount read-only (eg. L</guestfs_mount_ro>).
uk: Монтування у режимі лише читання (наприклад, L</guestfs_mount_ro>).

note: type: textblock
en: On Windows 8, turn off fast startup.  It is in the Control Panel → Power Options → Choose what the power buttons do → Change settings that are currently unavailable → Turn on fast startup.
uk: У Windows 8 вимкніть швидкий запуск. Відповідним пунктом є такий: Панель керування → Живлення → Виберіть дію для кнопки живлення → Змінити параметри, які зараз недоступні → Увімкнути швидкий запуск.

note: type: textblock
en: On Windows 7 and earlier, shut the guest off properly instead of hibernating it.
uk: У Windows 7 та попередніх версіях вимкніть гостьову систему належним чином замість присипляння системи.

note: type: =head2
en: RESIZE2FS ERRORS
uk: ПОМИЛКИ RESIZE2FS

note: type: textblock
en: The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and L</guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems.
uk: Для зміни розмірів файлових систем ext2/3/4 використовуються виклики L</guestfs_resize2fs>, L</guestfs_resize2fs_size> і L</guestfs_resize2fs_M>.

note: type: textblock
en: The underlying program (L<resize2fs(8)>) requires that the filesystem is clean and recently fsck'd before you can resize it.  Also, if the resize operation fails for some reason, then you had to call fsck the filesystem again to fix it.
uk: Базова програма (L<resize2fs(8)>) потребує, щоб файлова система не мала прапорця змін і була нещодавно перевірена fsck, перш ніж ви зможете змінити її розмір. Крім того, якщо дія зі зміни розміру завершується помилкою з якоїсь причини, вам слід викликати fsck для файлової системи, щоб виправити її.

note: type: textblock
en: In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> before the resize.  However, in C<ge> 1.17.14, L<e2fsck(8)> is called automatically before the resize, so you no longer need to do this.
uk: У libguestfs C<lt> 1.17.14 вам, зазвичай, потрібно було викликати L</guestfs_e2fsck_f> до зміни розміру. Втім, у C<ge> 1.17.14 L<e2fsck(8)> викликається автоматично до зміни розміру, отже потреби у явному виклику вже немає.

note: type: textblock
en: The L<resize2fs(8)> program can still fail, in which case it prints an error message similar to:
uk: Робота програми L<resize2fs(8)> все ще може завершитися помилкою. У цьому випадку програма виводить повідомлення про помилку, подібне до такого:

note: type: verbatim
en:  Please run 'e2fsck -fy <device>' to fix the filesystem
     after the aborted resize operation.
uk:  Будь ласка, запустіть «e2fsck -fy <пристрій>», щоб виправити файлову систему
     після переривання дії зі зміни розмірів.

note: type: textblock
en: You can do this by calling L</guestfs_e2fsck> with the C<forceall> option.  However in the context of disk images, it is usually better to avoid this situation, eg. by rolling back to an earlier snapshot, or by copying and resizing and on failure going back to the original.
uk: Ви можете зробити це, викликавши L</guestfs_e2fsck> з параметром C<forceall>. Втім, у контексті образів дисків, зазвичай, краще уникати таких ситуацій, наприклад, поверненням до попереднього знімка або копіюванням і зміною розміру і поверненням до початкового стану, якщо станеться помилка.

note: type: =head2
en: USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES
uk: ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ

note: type: textblock
en: Although we don’t want to discourage you from using the C API, we will mention here that the same API is also available in other languages.
uk: Хоча у нас немає намірів забороняти вам використовувати програмний інтерфейс C, тут ми будемо нагадувати, що той самий програмний інтерфейс також доступний іншими мовами програмування.

note: type: textblock
en: The API is broadly identical in all supported languages.  This means that the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> in Perl, C<g.add_drive_ro(file)> in Python, and C<g#add_drive_ro file> in OCaml.  In other words, a straightforward, predictable isomorphism between each language.
uk: Загалом, програмний інтерфейс усіма підтримуваними мовами є ідентичним. Це означає, що виклик мовою C C<guestfs_add_drive_ro(g,file)> ідентичний до C<$g-E<gt>add_drive_ro($file)> у Perl, C<g.add_drive_ro(file)> у Python, і C<g#add_drive_ro file> в OCaml. Іншими словами, існує прямий, передбачуваний ізоморфізм між усіма мовами.

note: type: textblock
en: Error messages are automatically transformed into exceptions if the language supports it.
uk: Повідомлення про помилки буде автоматично перетворено на виключення, якщо підтримку таких передбачено у відповідній мові програмування.

note: type: textblock
en: We don’t try to "object orientify" parts of the API in OO languages, although contributors are welcome to write higher level APIs above what we provide in their favourite languages if they wish.
uk: Ми не намагаємося виконати «об'єктне орієнтування» частин програмного інтерфейсу у об'єктно орієнтованих мовах програмування, хоча ми будемо раді, якщо учасники розробки, якщо це потрібно, зможуть написати високорівневі програмні інтерфейси до вказаних вище програмних інтерфейсів, які ми надаємо, їхніми улюбленими мовами програмування.

note: type: textblock
en: You can use the I<guestfs.h> header file from C++ programs.  The C++ API is identical to the C API.  C++ classes and exceptions are not used.
uk: Ви можете скористатися файлом заголовків I<guestfs.h> з програм C++. Програмний інтерфейс C++ є ідентичним до програмного інтерфейсу C. Класи і виключення C++ не використовуються.

note: type: textblock
en: The C# bindings are highly experimental.  Please read the warnings at the top of F<csharp/Libguestfs.cs>.
uk: Прив'язки до C# є досить експериментальними. Будь ласка, ознайомтеся із попередженнями на початку файла F<csharp/Libguestfs.cs>.

note: type: textblock
en: See L<guestfs-erlang(3)>.
uk: Див. L<guestfs-erlang(3)>.

note: type: textblock
en: Experimental GObject bindings (with GObject Introspection support) are available.
uk: Доступні експериментальні прив'язки GObject (з підтримкою інтроспекції GObject).

note: type: textblock
en: See L<guestfs-gobject(3)>.
uk: Див. L<guestfs-gobject(3)>.

note: type: textblock
en: See L<guestfs-golang(3)>.
uk: Див. L<guestfs-golang(3)>.

note: type: textblock
en: This language binding is working but incomplete:
uk: Ця прив’язка до мови працює, але є неповною:

note: type: textblock
en: Functions with optional arguments are not bound.  Implementing optional arguments in Haskell seems to be very complex.
uk: Функції із необов'язковими аргументами не включено до прив'язок. Реалізація необов'язкових параметрів у Haskell, здається, є доволі складною справою.

note: type: textblock
en: Events are not bound.
uk: Події не обмежено.

note: type: textblock
en: Functions with the following return types are not bound:
uk: Не передбачено прив'язок для функцій із такими повернутими типами:

note: type: textblock
en: Any function returning a struct.
uk: Будь-яка функція повертає структуру.

note: type: textblock
en: Any function returning a list of structs.
uk: Будь-яка функція повертає список структур.

note: type: textblock
en: A few functions that return fixed length buffers (specifically ones declared C<RBufferOut> in the generator).
uk: Декілька функцій, які повертають буфери фіксованої довжини (зокрема ті, які оголошено як C<RBufferOut> у генераторі).

note: type: textblock
en: A tiny number of obscure functions that return constant strings (specifically ones declared C<RConstOptString> in the generator).
uk: Незначна кількість прихованих функцій, які повертають сталі рядки (зокрема функцій, оголошених як C<RConstOptString> у генераторі).

note: type: textblock
en: Full documentation is contained in the Javadoc which is distributed with libguestfs.  For examples, see L<guestfs-java(3)>.
uk: Повна документація міститься у Javadoc, який поширюється разом із libguestfs. Приклади наведено на сторінці L<guestfs-java(3)>.

note: type: textblock
en: See L<guestfs-lua(3)>.
uk: Див. L<guestfs-lua(3)>.

note: type: textblock
en: See L<guestfs-ocaml(3)>.
uk: Див. L<guestfs-ocaml(3)>.

note: type: textblock
en: See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>.
uk: Див. L<guestfs-perl(3)> та L<Sys::Guestfs(3)>.

note: type: textblock
en: For documentation see C<README-PHP> supplied with libguestfs sources or in the php-libguestfs package for your distribution.
uk: Документацію наведено у файлі C<README-PHP>, який постачається разом із початковим кодом libguestfs або у пакунку php-libguestfs для вашого дистрибутива.

note: type: textblock
en: The PHP binding only works correctly on 64 bit machines.
uk: Прив'язки до PHP працюють належним чином лише у 64-бітових операційних системах.

note: type: textblock
en: See L<guestfs-python(3)>.
uk: Див. L<guestfs-python(3)>.

note: type: textblock
en: See L<guestfs-ruby(3)>.
uk: Див. L<guestfs-ruby(3)>.

note: type: textblock
en: For JRuby, use the Java bindings.
uk: Щоб скористатися JRuby, використовуйте прив'язки до Java.

note: type: =item
en: B<shell scripts>
uk: B<скрипти оболонки>

note: type: textblock
en: See L<guestfish(1)>.
uk: Див. L<guestfish(1)>.

note: type: =head2
en: LIBGUESTFS GOTCHAS
uk: ПРОБЛЕМНІ МІСЦЯ LIBGUESTFS

note: type: textblock
en: L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: "A feature of a system [...] that works in the way it is documented but is counterintuitive and almost invites mistakes."
uk: L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: «Можливість системи [...], яка працює у документований спосіб, але не є інтуїтивно зрозумілою і неначебто запрошує до помилок.»

note: type: textblock
en: Since we developed libguestfs and the associated tools, there are several things we would have designed differently, but are now stuck with for backwards compatibility or other reasons.  If there is ever a libguestfs 2.0 release, you can expect these to change.  Beware of them.
uk: З часу створення libguestfs та пов'язаних інструментів існує декілька речей, які зараз ми б зробили інакше, але мусимо дотримуватися зворотної сумісності або не можемо їх змінити з інших причин. Якщо колись відбудеться випуск libguestfs 2.0, ми можемо змінити ці речі. Майте це на увазі.

note: type: =item
en: Read-only should be the default.
uk: Типовим режимом має бути «лише читання».

note: type: textblock
en: In L<guestfish(3)>, I<--ro> should be the default, and you should have to specify I<--rw> if you want to make changes to the image.
uk: У L<guestfish(3)> параметр I<--ro> має бути типовим. Вам слід вказувати параметр I<--rw> явним чином, якщо ви хочете внести зміни до образу.

note: type: textblock
en: This would reduce the potential to corrupt live VM images.
uk: Це має зменшити ризик потенційного пошкодження образів віртуальних машин.

note: type: textblock
en: Note that many filesystems change the disk when you just mount and unmount, even if you didn't perform any writes.  You need to use L</guestfs_add_drive_ro> to guarantee that the disk is not changed.
uk: Зауважте, що до багатьох файлових систем зміни вносяться простим монтуванням із наступним демонтуванням, навіть якщо до файлової системи нічого не записується. Вам слід використовувати L</guestfs_add_drive_ro>, щоб гарантувати, що диск не буде змінено.

note: type: =item
en: guestfish command line is hard to use.
uk: Командним рядком guestfish важко користуватися.

note: type: textblock
en: F<guestfish disk.img> doesn't do what people expect (open F<disk.img> for examination).  It tries to run a guestfish command F<disk.img> which doesn't exist, so it fails.  In earlier versions of guestfish the error message was also unintuitive, but we have corrected this since.  Like the Bourne shell, we should have used C<guestfish -c command> to run commands.
uk: Команда F<guestfish образ.диска> не виконує тих дій, на які сподіваються користувачі (відкриття образу F<образ.диска> для вивчення). Ця команда намагається виконати команду guestfish F<образ.диска>, якої не існує, отже, виводиться повідомлення про помилку. У ранніх версіях guestfish це повідомлення було незрозумілим, але з того часу його було виправлено. Подібно до bash, варто було б використовувати команду C<guestfish -c команда> для виконання команд.

note: type: =item
en: guestfish megabyte modifiers don’t work right on all commands
uk: Модифікатори вимірювання у мегабайтах guestfish не працюють як слід для усіх команд

note: type: textblock
en: In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for other modifiers).  What guestfish actually does is to multiply the number part by the modifier part and pass the result to the C API.  However this doesn't work for a few APIs which aren't expecting bytes, but are already expecting some other unit (eg. megabytes).
uk: У свіжих версіях guestfish ви можете скористатися записом C<1M> на позначення 1 мегабайта (та подібних одиниць виміру пам'яті). Насправді, guestfish просто множить числову частину запису на частину модифікатора і передає результат програмному інтерфейсу C. Втім, це не працює для декількох програмних інтерфейсів, яким передаються не значення у байтах, а значення у якихось інших одиницях (наприклад, у мегабайтах).

note: type: textblock
en: The most common is L</guestfs_lvcreate>.  The guestfish command:
uk: Найпоширенішим прикладом є L</guestfs_lvcreate>. Ось така команда guestfish:

note: type: textblock
en: does not do what you might expect.  Instead because L</guestfs_lvcreate> is already expecting megabytes, this tries to create a 100 I<terabyte> (100 megabytes * megabytes) logical volume.  The error message you get from this is also a little obscure.
uk: не виконує тих дій, на які слід було б сподіватися. Замість цього, оскільки L</guestfs_lvcreate> вже передаються розміри у мегабайтах, виконується спроба створити логічний том у 100 I<терабайтів> (100 мегабайтів * мегабайтів). Повідомлення про помилку, яке ви побачите у відповідь на цю команду, теж дещо незрозуміле.

note: type: textblock
en: This could be fixed in the generator by specially marking parameters and return values which take bytes or other units.
uk: Цю ваду можна було б виправити у генераторі спеціальним позначенням параметрів і поверненням значень у байтах чи інших одиницях.

note: type: =item
en: Ambiguity between devices and paths
uk: Двозначність між пристроями і шляхами

note: type: textblock
en: There is a subtle ambiguity in the API between a device name (eg. F</dev/sdb2>) and a similar pathname.  A file might just happen to be called C<sdb2> in the directory F</dev> (consider some non-Unix VM image).
uk: У програмному інтерфейсі є певна неоднозначність між назвою пристрою (наприклад F</dev/sdb2>) і подібною до неї назвою шляху. Файл у каталозі F</dev> також можна викликати за допомогою C<sdb2> (якщо розглядати якийсь образ віртуальної машини, відмінної від Unix).

note: type: textblock
en: In the current API we usually resolve this ambiguity by having two separate calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>.  Some API calls are ambiguous and (incorrectly) resolve the problem by detecting if the path supplied begins with F</dev/>.
uk: У поточному програмному інтерфейсі ми, зазвичай, усуваємо цю неоднозначність використанням двох окремих викликів, наприклад L</guestfs_checksum> і L</guestfs_checksum_device>. Деякі з викликів програмного інтерфейсу є неоднозначними і вирішують (неправильно) проблему, визначаючи, чи наданий шлях починається з F</dev/>.

note: type: textblock
en: To avoid both the ambiguity and the need to duplicate some calls, we could make paths/devices into structured names.  One way to do this would be to use a notation like grub (C<hd(0,0)>), although nobody really likes this aspect of grub.  Another way would be to use a structured type, equivalent to this OCaml type:
uk: Щоб уникнути неоднозначностей та потреби у дублюванні викликів, можна перетворити шляхи/пристрої на структуровані назви. Одним зі способів досягти цього є використання позначень у стилі (C<hd(0,0)>), хоча мало кому подобається цей аспект роботи grub. Іншим способом, яким можна було б скористатися, є використання структурованого типу, еквівалентного до такого типу OCaml:

note: type: textblock
en: which would allow you to pass arguments like:
uk: що надало б вам змогу передавати аргументи ось так:

note: type: verbatim
en:  Path "/foo/bar"
     Device 1            (* /dev/sdb, or perhaps /dev/sda *)
     Partition (1, 2)    (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)
     Path "/dev/sdb2"    (* not a device *)
uk:  Path "/foo/bar"
     Device 1            (* /dev/sdb або, можливо, /dev/sda *)
     Partition (1, 2)    (* /dev/sdb2 (або /dev/sda2, або /dev/sdb3?) *)
     Path "/dev/sdb2"    (* не є пристроєм *)

note: type: textblock
en: As you can see there are still problems to resolve even with this representation.  Also consider how it might work in guestfish.
uk: Як бачите, у визначенні шляхів є проблема навіть у такому представленні. Також можете поміркувати над тим, як це може працювати у guestfish.

note: type: =head2
en: KEYS AND PASSPHRASES
uk: КЛЮЧІ І ПАРОЛІ

note: type: textblock
en: Certain libguestfs calls take a parameter that contains sensitive key material, passed in as a C string.
uk: Деяким викликам libguestfs передаються параметри, які містять конфіденційні дані ключів у форматі звичайного рядка C.

note: type: textblock
en: In the future we would hope to change the libguestfs implementation so that keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in swap.  However this is I<not> done at the moment, because of the complexity of such an implementation.
uk: У майбутньому ми сподіваємося змінити реалізацію у libguestfs так, щоб ключі оброблялися L<mlock(2)> у фізичній пам'яті системи і тому ніколи не опинялися у файлі резервної пам'яті на диску. Втім, дотепер цього I<не> зроблено через складність такої реалізації.

note: type: textblock
en: Therefore you should be aware that any key parameter you pass to libguestfs might end up being written out to the swap partition.  If this is a concern, scrub the swap partition or don't use libguestfs on encrypted devices.
uk: Тому вам слід мати на увазі, що будь-який параметр ключа, який ви передали libguestfs, може бути записано на розділ резервної пам'яті. Якщо ви цим дуже занепокоєні, витирайте файл резервної пам'яті або не використовуйте libguestfs на зашифрованих пристроях.

note: type: =head2
en: MULTIPLE HANDLES AND MULTIPLE THREADS
uk: ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ

note: type: textblock
en: All high-level libguestfs actions are synchronous.  If you want to use libguestfs asynchronously then you must create a thread.
uk: Усі операції високого рівня у libguestfs синхронізуються. Якщо ви хочете використовувати libguestfs у асинхронний спосіб, вам слід створити потік обробки.

note: type: =head3
en: Threads in libguestfs E<ge> 1.38
uk: Потоки у libguestfs E<ge> 1.38

note: type: textblock
en: In libguestfs E<ge> 1.38, each handle (C<guestfs_h>) contains a lock which is acquired automatically when you call a libguestfs function.  The practical effect of this is you can call libguestfs functions with the same handle from multiple threads without needing to do any locking.
uk: У libguestfs E<ge> 1.38 кожен дескриптор (C<guestfs_h>) містить блокування, яке встановлюється автоматично, коли ви викликаєте функцію libguestfs. Практичним наслідком цього є те, що ви можете викликати функції libguestfs для одного дескриптора з різних потоків обробки без потреби у блокуванні.

note: type: textblock
en: Also in libguestfs E<ge> 1.38, the last error on the handle (L</guestfs_last_error>, L</guestfs_last_errno>) is stored in thread-local storage, so it is safe to write code like:
uk: Крім того, починаючи з версії libguestfs E<ge> 1.38, остання помилка у обробці дескриптора (L</guestfs_last_error>, L</guestfs_last_errno>) зберігається у локальному сховищі даних потоку, тому написання такого ось коду є безпечним:

note: type: textblock
en: even when other threads may be concurrently using the same handle C<g>.
uk: навіть коли інші потоки обробки можуть конкурувати за використання одного дескриптора C<g>.

note: type: =head3
en: Threads in libguestfs E<lt> 1.38
uk: Потоки у libguestfs E<lt> 1.38

note: type: textblock
en: In libguestfs E<lt> 1.38, you must use the handle only from a single thread.  Either use the handle exclusively from one thread, or provide your own mutex so that two threads cannot issue calls on the same handle at the same time.  Even apparently innocent functions like L</guestfs_get_trace> are I<not> safe to be called from multiple threads without a mutex in libguestfs E<lt> 1.38.
uk: У libguestfs E<lt> 1.38 вам слід використовувати дескриптор лише у одному потоці обробки. Або використовуйте дескриптор виключно з одного потоку, або впровадьте власний семафор так, щоб два потоки не могли видавати виклики для одного дескриптора одночасно. Навіть доволі невинні функції, подібні до L</guestfs_get_trace> I<не можна> безпечно викликати без семафора з декількох потоків обробки одночасно, якщо ви користуєтеся libguestfs E<lt> 1.38.

note: type: textblock
en: Use L</guestfs_set_identifier> to make it simpler to identify threads in trace output.
uk: Скористайтеся L</guestfs_set_identifier> для спрощення ідентифікації потоків у даних, виведених засобом трасування.

note: type: textblock
en: Libguestfs needs a supermin appliance, which it finds by looking along an internal path.
uk: Libguestfs потрібна базова система supermin, яку бібліотека шукає за внутрішнім шляхом.

note: type: textblock
en: By default it looks for these in the directory C<$libdir/guestfs> (eg. F</usr/local/lib/guestfs> or F</usr/lib64/guestfs>).
uk: Типово, пошук відбувається у каталозі C<$libdir/guestfs> (наприклад F</usr/local/lib/guestfs> або F</usr/lib64/guestfs>).

note: type: textblock
en: Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> to change the directories that libguestfs will search in.  The value is a colon-separated list of paths.  The current directory is I<not> searched unless the path contains an empty element or C<.>.  For example C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and then F</usr/lib/guestfs>.
uk: Скористайтеся L</guestfs_set_path> або встановіть значення змінної середовища L</LIBGUESTFS_PATH>, щоб змінити каталоги, у який вестиме пошук libguestfs. Значенням має бути список шляхів, відокремлених двокрапками. Пошук у поточному каталозі I<не> виконуватиметься, якщо у записі шляхів не буде порожнього елемента або елемента C<.>. Наприклад, C<LIBGUESTFS_PATH=:/usr/lib/guestfs> означає, що пошук виконуватиметься спочатку у поточному каталозі, а потім у каталозі F</usr/lib/guestfs>.

note: type: =head2
en: QEMU WRAPPERS
uk: ОБГОРТКИ QEMU

note: type: textblock
en: If you want to compile your own qemu, run qemu from a non-standard location, or pass extra arguments to qemu, then you can write a shell-script wrapper around qemu.
uk: Якщо ви хочете зібрати власну версію qemu, запускати qemu із нестандартного каталогу або передавати qemu додаткові аргументи, ви можете написати скрипт-обгортку для командної оболонки для запуску qemu.

note: type: textblock
en: There is one important rule to remember: you I<must C<exec qemu>> as the last command in the shell script (so that qemu replaces the shell and becomes the direct child of the libguestfs-using program).  If you don't do this, then the qemu process won't be cleaned up correctly.
uk: Існує одне важливе правило, про яке слід пам'ятати: вам I<слід виконати C<exec qemu>> як останню команду у скрипті оболонки (отже, qemu заміняє командну оболонку і стає безпосереднім дочірнім процесом програми, яка використовує libguestfs). Якщо ви цього не зробите, процес qemu не буде належним чином очищено.

note: type: textblock
en: Here is an example of a wrapper, where I have built my own copy of qemu from source:
uk: Ось приклад обгортки, де використано зібрану власну копію qemu:

note: type: textblock
en: Save this script as F</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and then use it by setting the LIBGUESTFS_HV environment variable.  For example:
uk: Збережіть цей скрипт як F</tmp/qemu.wrapper> (або під якоюсь іншою назвою), C<chmod +x>, а далі скористайтеся ним для встановлення значення змінної середовища LIBGUESTFS_HV. Приклад:

note: type: textblock
en: Note that libguestfs also calls qemu with the -help and -version options in order to determine features.
uk: Зауважте, що libguestfs також викликає qemu із параметрами -help і -version з метою визначення переліку можливостей програми.

note: type: textblock
en: Wrappers can also be used to edit the options passed to qemu.  In the following example, the C<-machine ...> option (C<-machine> and the following argument) are removed from the command line and replaced with C<-machine pc,accel=tcg>.  The while loop iterates over the options until it finds the right one to remove, putting the remaining options into the C<args> array.
uk: Обгортками також можна скористатися для редагування параметрів, які передаються qemu. У наведеному нижче прикладі параметр C<-machine ...> (параметр C<-machine> і наступний за ним аргумент) вилучається з рядка команди і замінюється на C<-machine pc,accel=tcg>. Цикл while виконує ітерацію параметрами, аж доки не буде знайдено належний параметр для вилучення, розташовуючи решту параметрів у масиві C<args>.

note: type: =head2
en: BACKEND
uk: МОДУЛЬ

note: type: textblock
en: The backend (previously known as the "attach method") controls how libguestfs creates and/or connects to the backend daemon, eg. by starting qemu directly, or using libvirt to manage an appliance, running User-Mode Linux, or connecting to an already running daemon.
uk: Модуль обробки (раніше ми його називали «метод долучення») керує тим, як libguestfs створює і/або з'єднується із фоновою службою модуля обробки, наприклад, запускаючи qemu безпосередньо або використовуючи libvirt для керування базовою системою, запускаючи User-Mode Linux або з'єднуючись із вже запущеною фоновою службою.

note: type: textblock
en: You can set the backend by calling L</guestfs_set_backend>, or by setting the environment variable C<LIBGUESTFS_BACKEND>.
uk: Встановити цей модуль можна викликом L</guestfs_set_backend> або встановленням значення змінної середовища C<LIBGUESTFS_BACKEND>.

note: type: textblock
en: Possible backends are described below:
uk: Можливі модуля описано нижче:

note: type: textblock
en: Run qemu directly to launch an appliance.
uk: Запустити qemu безпосередньо для запуску базової системи.

note: type: textblock
en: C<direct> and C<appliance> are synonyms.
uk: C<direct> і C<appliance> є синонімами.

note: type: textblock
en: This is the ordinary method and normally the default, but see the note below.
uk: Це звичайний метод і за звичних умов цей метод є типовим, але зверніть увагу на наведену нижче нотатку.

note: type: =item
en: C<libvirt:I<URI>>
uk: C<libvirt:I<адреса>>

note: type: textblock
en: Use libvirt to launch and manage the appliance.
uk: Скористатися libvirt для запуску і керування базовою системою.

note: type: textblock
en: C<libvirt> causes libguestfs to choose a suitable URI for creating session guests.  If using the libvirt backend, you almost always should use this.
uk: C<libvirt> спричиняє вибір libguestfs відповідної адреси для створення гостьових операційних систем сеансу. Якщо використовується модуль обробки libvirt, вам майже завжди слід це використовувати.

note: type: textblock
en: C<libvirt:null> causes libguestfs to use the C<NULL> connection URI, which causes libvirt to try to guess what the user meant.  You probably don't want to use this.
uk: C<libvirt:null> спричиняє вибір libguestfs використання C<NULL> як адреси з'єднання, що призводить до того, що libvirt намагається вгадати наміри користувача. Ймовірно, вам не слід використовувати таку адресу.

note: type: textblock
en: C<libvirt:I<URI>> uses I<URI> as the libvirt connection URI (see L<http://libvirt.org/uri.html>).  The typical libvirt backend with a URI would be C<libvirt:qemu:///session>
uk: C<libvirt:I<адреса>> спричиняє використання адреси I<адреса> як адреси з'єднання libvirt (див. L<http://libvirt.org/uri.html>). Типовим модулем libvirt із вказаною адресою буде C<libvirt:qemu:///session>

note: type: textblock
en: The libvirt backend supports more features, including hotplugging (see L</HOTPLUGGING>) and sVirt.
uk: У модулі обробки libvirt передбачено більше можливостей, зокрема можливість з'єднання у «гарячому» режимі (див. L</З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>) та sVirt.

note: type: textblock
en: Run the User-Mode Linux kernel.  The location of the kernel is set using C<$LIBGUESTFS_HV> or using the L</guestfs_set_qemu> API (note that qemu is not involved, we just reuse the same variable in the handle for convenience).
uk: Запустити ядро User-Mode Linux. Розташування ядра встановлюється за допомогою C<$LIBGUESTFS_HV> або за допомогою програмного інтерфейсу L</guestfs_set_qemu> (зауважте, що qemu не задіяно, ми просто повторно використовуємо ту саму змінну середовища у дескрипторі для зручності).

note: type: textblock
en: User-Mode Linux can be much faster, simpler and more lightweight than using a full-blown virtual machine, but it also has some shortcomings.  See L</USER-MODE LINUX BACKEND> below.
uk: User-Mode Linux може бути набагато швидшим, простішим і невибагливішим до ресурсів за повноцінну віртуальну машину, але у нього є певні недоліки. Див. L</МОДУЛЬ USER-MODE LINUX> нижче.

note: type: =item
en: C<unix:I<path>>
uk: C<unix:I<шлях>>

note: type: textblock
en: Connect to the Unix domain socket I<path>.
uk: Встановити з’єднання з сокетом домену Unix I<шлях>.

note: type: textblock
en: This method lets you connect to an existing daemon or (using virtio-serial) to a live guest.  For more information, see L</ATTACHING TO RUNNING DAEMONS>.
uk: Цей метод надає вам змогу з'єднуватися із наявною фоновою службою або (за допомогою virtio-serial) із запущеною гостьовою системою. Щоб дізнатися більше, див. L</ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ>.

note: type: textblock
en: C<direct> is usually the default backend.  However since libguestfs E<ge> 1.19.24, libguestfs can be built with a different default by doing:
uk: C<direct>, зазвичай є типовим модулем обробки. Втім, починаючи з версії libguestfs E<ge> 1.19.24, libguestfs можна зібрати із іншим типовим модулем за допомогою такого параметра скрипту налаштовування збирання:

note: type: textblock
en: To find out if libguestfs was compiled with a different default backend, do:
uk: Щоб визначити, чи було libguestfs зібрано із іншим типовим модулем обробки, віддайте такі команди:

note: type: =head2
en: BACKEND SETTINGS
uk: ПАРАМЕТРИ МОДУЛІВ

note: type: textblock
en: Each backend can be configured by passing a list of strings.  You can either call L</guestfs_set_backend_settings> with a list of strings, or set the C<LIBGUESTFS_BACKEND_SETTINGS> environment variable to a colon-separated list of strings (before creating the handle).
uk: Кожен модуль обробки можна налаштувати передаванням списку рядків. Ви можете або викликати L</guestfs_set_backend_settings> зі списком рядків, або встановити для змінної середовища C<LIBGUESTFS_BACKEND_SETTINGS> значення, яке є списком рядків, які відокремлено двокрапками (до створення дескриптора).

note: type: textblock
en: Using:
uk: Використовується:

note: type: textblock
en: will force the direct and libvirt backends to use TCG (software emulation) instead of KVM (hardware accelerated virtualization).
uk: примусово визначить для модулів обробки direct та libvirt використання TCG (програмної емуляції) замість KVM (апаратно прискореної віртуалізації).

note: type: textblock
en: The direct backend supports:
uk: У модулі direct передбачено підтримку:

note: type: textblock
en: When this is set, qemu will not start running the appliance immediately.  It will wait for you to connect to it using gdb:
uk: Якщо встановлено таке значення змінної середовища, qemu не розпочинатиме негайний запуск базової системи. Програма очікуватиме, доки ви з'єднаєтеся із нею за допомогою gdb:

note: type: textblock
en: You can then debug the appliance kernel, which is useful to debug boot failures (especially ones where there are no debug messages printed - tip: look in the kernel C<log_buf>).
uk: Далі, ви можете виконувати діагностику ядра базової системи, чим можна скористатися для дослідження проблем із завантаженням (особливо таких проблем, за яких не виводиться діагностичних повідомлень — підказка: шукайте у C<log_buf> ядра).

note: type: textblock
en: On Fedora, install C<kernel-debuginfo> for the C<vmlinux> file (containing symbols).  Make sure the symbols precisely match the kernel being used.
uk: У Fedora встановіть C<kernel-debuginfo> для файла C<vmlinux> (який містить символи). Переконайтеся, що символи точно відповідають використаному ядру.

note: type: =head2
en: ATTACHING TO RUNNING DAEMONS
uk: ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ

note: type: textblock
en: I<Note (1):> This is B<highly experimental> and has a tendency to eat babies.  Use with caution.
uk: I<Зауваження (1):> це B<дуже експериментальна> можливість, яка може призводити до пошкодження даних. Будьте обережні.

note: type: textblock
en: I<Note (2):> This section explains how to attach to a running daemon from a low level perspective.  For most users, simply using virt tools such as L<guestfish(1)> with the I<--live> option will "just work".
uk: I<Нотатка (2):> у цьому розділі наведено відомості щодо долучення до запущеної фонової служби з низькорівневою перспективою. Для більшості користувачів просте використання засобів віртуалізації, зокрема L<guestfish(1)>, з параметром I<--live> має «просто працювати».

note: type: =head3
en: Using guestfs_set_backend
uk: Використання guestfs_set_backend

note: type: textblock
en: By calling L</guestfs_set_backend> you can change how the library connects to the C<guestfsd> daemon in L</guestfs_launch> (read L<guestfs-internals(1)/ARCHITECTURE> for some background).
uk: За допомогою виклику L</guestfs_set_backend> ви можете змінити спосіб з'єднання бібліотеки з фоновою службою C<guestfsd> у L</guestfs_launch> (ознайомтеся із розділом L<guestfs-internals(1)/АРХІТЕКТУРА>, щоб дізнатися більше про основи).

note: type: textblock
en: The normal backend is C<direct>, where a small appliance is created containing the daemon, and then the library connects to this.  C<libvirt> or C<libvirt:I<URI>> are alternatives that use libvirt to start the appliance.
uk: Звичайним модулем обробки є C<direct>, де створюється мала базова система, яка містить фонову службу, з якою згодом з'єднується бібліотека. C<libvirt> або C<libvirt:I<адреса>> є альтернативами, які використовують libvirt для запуску базової системи.

note: type: textblock
en: Setting the backend to C<unix:I<path>> (where I<path> is the path of a Unix domain socket) causes L</guestfs_launch> to connect to an existing daemon over the Unix domain socket.
uk: Встановлення для модуля обробки значення C<unix:I<шлях>> (де I<шлях> — це шлях до сокета домену Unix) призводить до того, що L</guestfs_launch> з'єднується із наявною фоновою службою за допомогою сокета домену Unix.

note: type: textblock
en: The normal use for this is to connect to a running virtual machine that contains a C<guestfsd> daemon, and send commands so you can read and write files inside the live virtual machine.
uk: Звичним використанням цього є встановлення з'єднання з запущеною віртуальною машиною, які містить фонову службу C<guestfsd>, і надсилання команд, щоб можна було читати і записувати файли у запущеній віртуальній машині.

note: type: =head3
en: Using guestfs_add_domain with live flag
uk: За допомогою guestfs_add_domain з прапорцем live

note: type: textblock
en: L</guestfs_add_domain> provides some help for getting the correct backend.  If you pass the C<live> option to this function, then (if the virtual machine is running) it will examine the libvirt XML looking for a virtio-serial channel to connect to:
uk: L</guestfs_add_domain> надає певну допомогу у отриманні відповідного модуля обробки. Якщо ви передаєте параметр C<live> цій функції, тоді (якщо віртуальну машину запущено) вона вивчить XML libvirt, шукаючи канал virtio-serial для з'єднання:

note: type: textblock
en: L</guestfs_add_domain> extracts F</path/to/socket> and sets the backend to C<unix:/path/to/socket>.
uk: L</guestfs_add_domain> видобуває F</шлях/до/сокета> і встановлює для модуля обробки шлях C<unix:/шлях/до/сокета>.

note: type: textblock
en: Some of the libguestfs tools (including guestfish) support a I<--live> option which is passed through to L</guestfs_add_domain> thus allowing you to attach to and modify live virtual machines.
uk: У деяких із засобів libguestfs (зокрема guestfish) передбачено підтримку параметра I<--live>, який передається до L</guestfs_add_domain>, таким чином надаючи вам змогу з'єднуватися і змінювати запущені віртуальні машини.

note: type: textblock
en: The virtual machine needs to have been set up beforehand so that it has the virtio-serial channel and so that guestfsd is running inside it.
uk: Віртуальну машину слід попередньо налаштувати так, щоб у ній був канал virtio-serial і у ній було запущено guestfsd.

note: type: =head2
en: USER-MODE LINUX BACKEND
uk: МОДУЛЬ USER-MODE LINUX

note: type: textblock
en: Setting the following environment variables (or the equivalent in the API) selects the User-Mode Linux backend:
uk: Встановлення вказаних нижче змінних середовища (або використання відповідних програмних інтерфейсів) вибирає модуль обробки User-Mode Linux:

note: type: verbatim
en:  export LIBGUESTFS_BACKEND=uml
     export LIBGUESTFS_HV=/path/to/vmlinux
uk:  export LIBGUESTFS_BACKEND=uml
     export LIBGUESTFS_HV=/шлях/до/vmlinux

note: type: textblock
en: C<vmlinux> (or it may be called C<linux>) is the Linux binary, compiled to run as a userspace process.  Note that we reuse the qemu variable in the handle for convenience; qemu is not involved.
uk: C<vmlinux> (іншою назвою може бути C<linux>) — виконуваний файл Linux, зібраний для запуску як процес у просторі користувача. Зауважте, що ми повторно використали змінну qemu у дескрипторі для зручності; qemu вона не стосується.

note: type: textblock
en: User-Mode Linux can be faster and more lightweight than running a full-blown virtual machine as the backend (especially if you are already running libguestfs in a virtual machine or cloud instance), but it also has some shortcomings compared to the usual qemu/KVM-based backend.
uk: Використання User-Mode Linux може пришвидшити роботу і зменшити вибагливість до ресурсів системи, порівняно із запуском повноцінної віртуальної машини для модуля обробки (особливо, якщо ви вже запустили libguestfs у віртуальній машині або у екземплярі системи в обчислювальній «хмарі»), але цей спосіб також має певні недоліки, якщо порівнювати його зі звичайним модулем обробки на основі qemu або KVM.

note: type: =head3
en: BUILDING USER-MODE LINUX FROM SOURCE
uk: ЗБИРАННЯ USER-MODE LINUX З ПОЧАТКОВИХ КОДІВ

note: type: textblock
en: Your Linux distro may provide UML in which case you can ignore this section.
uk: У вашому дистрибутиві Linux можуть бути готові пакунки UML. Якщо це так, можете пропустити цей розділ.

note: type: textblock
en: These instructions are adapted from: L<http://user-mode-linux.sourceforge.net/source.html>
uk: Інструкції запозичено з L<http://user-mode-linux.sourceforge.net/source.html>

note: type: =item
en: 1. Check out Linux sources
uk: 1. Отримати початкові коди Linux

note: type: textblock
en: Clone the Linux git repository or download the Linux source tarball.
uk: Клонуйте сховище коду git Linux або отримайте архів tar із початковим кодом Linux.

note: type: =item
en: 2. Configure the kernel
uk: 2. Налаштувати збирання ядра

note: type: textblock
en: B<Note:> All ‘make’ commands must have C<ARCH=um> added.
uk: B<Зауваження:> до усіх команд «make» слід додавати C<ARCH=um>.

note: type: textblock
en: Make sure any filesystem drivers that you need are compiled into the kernel.
uk: Переконайтеся, що усі потрібні вам драйвери файлових систем вкомпільовано до ядра.

note: type: textblock
en: B<Currently, it needs a large amount of extra work to get modules working>.  It’s recommended that you disable module support in the kernel configuration, which will cause everything to be compiled into the image.
uk: B<У поточній версії потрібні значні додаткові зусилля, щоб змусити працювати модулі>. Рекомендуємо вам вимкнути підтримку модулів у налаштуваннях ядра. Вимикання підтримки призведе до того, що усі можливості буде зібрано у одному образі ядра.

note: type: =item
en: 3. Build the kernel
uk: 3. Зібрати ядро

note: type: textblock
en: This will leave a file called C<linux> or C<vmlinux> in the top-level directory.  This is the UML kernel.  You should set C<LIBGUESTFS_HV> to point to this file.
uk: Ви отримаєте файл із назвою C<linux> або C<vmlinux> у каталозі верхнього рівня. Цей файл і є ядром UML. Вам слід встановити значення C<LIBGUESTFS_HV>, яке вказуватиме на цей файл.

note: type: =head3
en: USER-MODE LINUX DIFFERENCES FROM KVM
uk: ВІДМІННОСТІ USER-MODE LINUX ВІД KVM

note: type: =item
en: UML only supports raw-format images
uk: У UML передбачено підтримку лише образів у форматі raw

note: type: textblock
en: Only plain raw-format images will work.  No qcow2, no backing files.
uk: Працюватимуть лише прості образи у форматі raw. Не можна користуватися ні qcow2, ні файлами резервних копій.

note: type: =item
en: UML does not support any remote drives
uk: У UML не передбачено підтримки будь-яких віддалених дисків

note: type: textblock
en: No NBD, etc.
uk: Не можна користуватися NBD тощо.

note: type: =item
en: UML only works on ix86 and x86-64
uk: UML працює лише на ix86 та x86-64

note: type: =item
en: UML is experimental
uk: UML є експериментальною можливістю

note: type: textblock
en: In particular, support for UML in libguestfs depends on support for UML in the upstream kernel.  If UML was ever removed from the upstream Linux kernel, then we might remove it from libguestfs too.
uk: Зокрема, підтримка UML у libguestfs залежить від підтримки UML у основній гілці розробки ядра. Якщо UML буде вилучено із основного коду ядра Linux, ймовірно, нам доведеться вилучити його підтримку і з libguestfs.

note: type: =head2
en: ABI GUARANTEE
uk: ГАРАНТІЯ ЩОДО ABI

note: type: textblock
en: We guarantee the libguestfs ABI (binary interface), for public, high-level actions as outlined in this section.  Although we will deprecate some actions, for example if they get replaced by newer calls, we will keep the old actions forever.  This allows you the developer to program in confidence against the libguestfs API.
uk: Ми гарантуємо незмінність ABI (двійкового інтерфейсу) libguestfs для загальних (public) високорівневих дій, як це описано у цьому розділі. Хоча ми вважаємо деякі з дій застарілими, наприклад, якщо їх замінено новішими викликами, ми зберігаємо ці дії у двійковому інтерфейсі. Це надає змогу розробникам програм бути певними у незмінності програмного інтерфейсу libguestfs.

note: type: =head2
en: BLOCK DEVICE NAMING
uk: ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ

note: type: textblock
en: Libguestfs defines F</dev/sd*> as the I<standard naming scheme> for devices passed to API calls.  So F</dev/sda> means "the first device added by L</guestfs_add_drive_opts>", and F</dev/sdb3> means "the third partition on the second device".
uk: Libguestfs визначає F</dev/sd*> як I<стандартну схему іменування> для пристроїв, які передаються викликам програмного інтерфейсу. Отже, F</dev/sda> означає «перший пристрій, який додано за допомогою L</guestfs_add_drive_opts>», а F</dev/sdb3> означає «третій розділ на другому пристрої».

note: type: textblock
en: Internally device names are sometimes translated, but this should not be visible at the API level.
uk: На внутрішньому рівні іноді виконується трансляція назв пристроїв, але ця трансляція лишається невидимою з рівня програмного інтерфейсу.

note: type: =head3
en: DISK LABELS
uk: МІТКИ ДИСКІВ

note: type: textblock
en: In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, using the optional C<label> parameter to L</guestfs_add_drive_opts>.  (Note that disk labels are different from and not related to filesystem labels).
uk: Починаючи з libguestfs E<ge> 1.20, ви можете надати диску мітку під час додавання за допомогою необов'язкового параметра C<label> функції L</guestfs_add_drive_opts>.  (Зауважте, що мітки дисків є самостійними об'єктами і можуть відрізнятися від міток файлової системи.)

note: type: textblock
en: Not all versions of libguestfs support setting a disk label, and when it is supported, it is limited to 20 ASCII characters C<[a-zA-Z]>.
uk: Підтримку встановлення міток дисків передбачено не в усіх версіях libguestfs. Якщо підтримку передбачено, то мітку обмежено 20 символами ASCII C<[a-zA-Z]>.

note: type: textblock
en: When you add a disk with a label, it can either be addressed using F</dev/sd*>, or using F</dev/disk/guestfs/I<label>>.  Partitions on the disk can be addressed using F</dev/disk/guestfs/I<label>I<partnum>>.
uk: Після додавання мітки до диска ви можете використовувати як його адресу або F</dev/sd*>, або F</dev/disk/guestfs/I<мітка>>. Вказувати на розділи диска можна за допомогою адреси F</dev/disk/guestfs/I<мітка>I<номер_розділу>>.

note: type: textblock
en: Listing devices (L</guestfs_list_devices>) and partitions (L</guestfs_list_partitions>) returns the block device names.  However you can use L</guestfs_list_disk_labels> to map disk labels to block device and partition names.
uk: Команди виведення списку пристроїв (L</guestfs_list_devices>) та розділів (L</guestfs_list_partitions>) повертають назви блокових пристроїв. Втім, ви можете скористатися L</guestfs_list_disk_labels> для прив'язування міток дисків до назв блокових пристроїв і розділів.

note: type: =head2
en: NULL DISKS
uk: НУЛЬОВІ ДИСКИ

note: type: textblock
en: When adding a disk using, eg., L</guestfs_add_drive>, you can set the filename to C<"/dev/null">.  This string is treated specially by libguestfs, causing it to add a "null disk".
uk: При додавання диска за допомогою, наприклад, L</guestfs_add_drive>, ви можете встановити для назви файла значення C<"/dev/null">. Цей рядок у libguestfs обробляється особливо, спричиняючи додавання «нуль-диска».

note: type: textblock
en: A null disk has the following properties:
uk: Нуль-диск має такі властивості:

note: type: textblock
en: A null disk will appear as a normal device, eg. in calls to L</guestfs_list_devices>.
uk: Нуль-диск буде показано як звичайний пристрій, наприклад, у викликах L</guestfs_list_devices>.

note: type: textblock
en: You may add C<"/dev/null"> multiple times.
uk: Ви можете додавати пристрій C<"/dev/null"> декілька разів.

note: type: textblock
en: You should not try to access a null disk in any way.  For example, you shouldn't try to read it or mount it.
uk: Вам не слід намагатися отримати доступ до нуль-диска у будь-який спосіб. Наприклад, не варто намагатися прочитати з нього дані або змонтувати його.

note: type: textblock
en: Null disks are used for three main purposes:
uk: Передбачено три основних призначення нульових дисків:

note: type: textblock
en: Performance testing of libguestfs (see L<guestfs-performance(1)>).
uk: Тестування швидкодії libguestfs (див. L<guestfs-performance(1)>).

note: type: textblock
en: The internal test suite.
uk: Вбудований комплекс для перевірки.

note: type: textblock
en: If you want to use libguestfs APIs that don’t refer to disks, since libguestfs requires that at least one disk is added, you should add a null disk.
uk: Якщо ви хочете скористатися програмними інтерфейсами libguestfs, які не посилаються на диски, оскільки libguestfs вимагає додавання принаймні одного диска, вам слід додати нуль-диск.

note: type: textblock
en: For example, to test if a feature is available, use code like this:
uk: Наприклад, щоб перевірити, чи доступна певна можливість, скористайтеся кодом, подібним до такого:

note: type: =head2
en: DISK IMAGE FORMATS
uk: ФОРМАТИ ОБРАЗІВ ДИСКІВ

note: type: textblock
en: Virtual disks come in a variety of formats.  Some common formats are listed below.
uk: Віртуальні диски зберігаються у декількох форматах. Нижче наведено список найпоширеніших форматів.

note: type: textblock
en: Note that libguestfs itself is not responsible for handling the disk format: this is done using L<qemu(1)>.  If support for a particular format is missing or broken, this has to be fixed in qemu.
uk: Зауважте, що за роботу із форматами дисків сама libguestfs не відповідає: усю роботу виконує L<qemu(1)>. Якщо не передбачено підтримки якогось формату або у підтримці формату буде виявлено вади, виправляти це слід у qemu.

note: type: =head3
en: COMMON VIRTUAL DISK IMAGE FORMATS
uk: ТИПОВІ ФОРМАТИ ОБРАЗІВ ВІРТУАЛЬНИХ ДИСКІВ

note: type: textblock
en: Raw format is simply a dump of the sequential bytes of the virtual hard disk.  There is no header, container, compression or processing of any sort.
uk: Простий формат (raw) — це просто дамп послідовних байтів віртуального диска. У ньому немає заголовка, контейнера, стискання, він не є результатом будь-якої обробки цього набору байтів.

note: type: textblock
en: Since raw format requires no translation to read or write, it is both fast and very well supported by qemu and all other hypervisors.  You can consider it to be a universal format that any hypervisor can access.
uk: Оскільки для читання або запису даних простий формат не потребує ніякої проміжної обробки, робота з ним дуже швидка, а підтримка його у qemu та усіх інших гіпервізорах є дуже доброю. Цей формат можна вважати універсальним, доступ до даних у якому зможе отримати будь-який гіпервізор.

note: type: textblock
en: Raw format files are not compressed and so take up the full space of the original disk image even when they are empty.  A variation (on Linux/Unix at least) is to not store ranges of all-zero bytes by storing the file as a sparse file.  This "variant format" is sometimes called I<raw sparse>.  Many utilities, including L<virt-sparsify(1)>, can make raw disk images sparse.
uk: Дані у простому форматі (raw) не стискаються, отже займають на диску рівно стільки місця, скільки займає початковий образ диска, навіть якщо на ньому зовсім немає даних. У різновиді цього формату (принаймні у Linux/Unix) усунено потребу у зберіганні діапазонів нульових байтів шляхом використання так званих розріджених файлів. Цей варіант формату іноді називають «простим розрідженим» (I<raw sparse>). Багато інструментів, зокрема L<virt-sparsify(1)>, можуть перетворювати прості образи дисків у розріджені.

note: type: textblock
en: Qcow2 is the native disk image format used by qemu.  Internally it uses a two-level directory structure so that only blocks containing data are stored in the file.  It also has many other features such as compression, snapshots and backing files.
uk: Qcow2 — природний формат образів дисків, який використовується у qemu. На внутрішньому рівні використовується дворівнева структура каталогів, отже, у файлі зберігаються лише блоки, які містять дані. Також передбачено багато інших можливостей, зокрема стискання даних, знімки та резервне копіювання файлів.

note: type: textblock
en: There are at least two distinct variants of this format, although qemu (and hence libguestfs) handles both transparently to the user.
uk: Існує принаймні два різних варіанти цього формату. Втім, qemu (а отже, libguestfs) обробляє обидва формати прозоро для користувача.

note: type: textblock
en: VMDK is VMware’s native disk image format.  There are many variations.  Modern qemu (hence libguestfs) supports most variations, but you should be aware that older versions of qemu had some very bad data-corrupting bugs in this area.
uk: VMDK — природний формат образів дисків VMware. Існує багато варіацій. У сучасних версіях qemu (а отже, і у libguestfs) передбачено підтримку більшості варіацій, але вам слід мати на увазі те, що у застарілих версіях qemu у цьому аспекті є серйозні вади, які можуть призводити до пошкодження даних.

note: type: textblock
en: Note that VMware ESX exposes files with the name F<guest-flat.vmdk>.  These are not VMDK.  They are raw format files which happen to have a C<.vmdk> extension.
uk: Зауважте, що ESX VMware надає файли із назвою F<guest-flat.vmdk>.  Це не файли у форматі VMDK. Це дані у простому форматі (raw), які просто записано до файла із суфіксом назви C<.vmdk>.

note: type: textblock
en: VDI is VirtualBox’s native disk image format.  Qemu (hence libguestfs)  has generally good support for this.
uk: VDI — є природним форматом образів дисків VirtualBox. У qemu (а отже і у libguestfs) передбачено загалом непогану підтримку даних у цьому форматі.

note: type: textblock
en: VPC (old) and VHD (modern) are the native disk image format of Microsoft (and previously, Connectix) Virtual PC and Hyper-V.
uk: VPC (застарілий) та VHD (сучасний) — формати образів дисків, які розроблено Microsoft (а перед тим, Connectix) для Virtual PC та Hyper-V.

note: type: =item
en: Obsolete formats
uk: Застарілі формати

note: type: textblock
en: The following formats are obsolete and should not be used: I<qcow> (aka I<qcow1>), I<cow>, I<bochs>.
uk: Наведені далі формати є застарілими. Вам не слід ними користуватися: I<qcow> (або I<qcow1>), I<cow>, I<bochs>.

note: type: =head3
en: DETECTING THE FORMAT OF A DISK IMAGE
uk: ВИЗНАЧЕННЯ ФОРМАТУ ОБРАЗУ ДИСКА

note: type: textblock
en: Firstly note there is a security issue with auto-detecting the format of a disk image.  It may or may not apply in your use case.  Read L</CVE-2010-3851> below.
uk: По-перше, зверніть увагу на прогалину у захисті, пов'язану із автоматичним визначенням формату образу диска.  Вона може стосуватися вашого процесу використання. Див. розділ L</CVE-2010-3851> нижче.

note: type: textblock
en: Libguestfs offers an API to get the format of a disk image (L</guestfs_disk_format>), and it is safest to use this.
uk: У libguestfs передбачено програмний інтерфейс для отримання даних щодо формату образу диска (L</guestfs_disk_format>), і найбезпечніше користуватися саме ним.

note: type: textblock
en: I<Don’t> be tempted to try parsing the text / human-readable output of C<qemu-img> since it cannot be parsed reliably and securely.  Also do not use the C<file> command since the output of that changes over time.
uk: I<Не> захоплюйтесь спробами обробки тексту або виведених для зручного читання даних C<qemu-img>, оскільки ці дані не можна обробити надійним і безпечним чином. Не використовуйте команду C<file>, оскільки виведені нею дані є різними для різних версій бібліотеки.

note: type: =head1
en: CONNECTION MANAGEMENT
uk: КЕРУВАННЯ З’ЄДНАННЯМ

note: type: textblock
en: C<guestfs_h> is the opaque type representing a connection handle.  Create a handle by calling L</guestfs_create> or L</guestfs_create_flags>.  Call L</guestfs_close> to free the handle and release all resources used.
uk: C<guestfs_h> є непрозорим типом, який представляє дескриптор з'єднання. Створіть дескриптор викликом L</guestfs_create> або L</guestfs_create_flags>.  Викличте L</guestfs_close>, щоб звільнити дескриптор і усі використані ним ресурси.

note: type: textblock
en: For information on using multiple handles and threads, see the section L</MULTIPLE HANDLES AND MULTIPLE THREADS> above.
uk: Щоб дізнатися більше про обробку у декілька дескрипторів і у декілька потоків, ознайомтеся із розділом L</ОБРОБКА У ДЕКІЛЬКА ДЕСКРПИТОРІВ І ПОТОКІВ> вище.

note: type: textblock
en: Create a connection handle.
uk: Створити дескриптор з’єднання.

note: type: textblock
en: On success this returns a non-NULL pointer to a handle.  On error it returns NULL.
uk: Якщо виконано успішно, повертає непорожній вказівник на дескриптор. Якщо станеться помилка, повертає NULL.

note: type: textblock
en: You have to "configure" the handle after creating it.  This includes calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the handle at least once.
uk: Після створення дескриптор слід «налаштувати». Для цього слід викликати L</guestfs_add_drive_opts> (або одну з інших еквівалентних функцій) для дескриптора принаймні один раз.

note: type: textblock
en: After configuring the handle, you have to call L</guestfs_launch>.
uk: Після налаштовування дескриптора вам слід викликати L</guestfs_launch>.

note: type: textblock
en: You may also want to configure error handling for the handle.  See the L</ERROR HANDLING> section below.
uk: Ви також можете налаштувати обробку помилок для дескриптора. Див. розділ L</ОБРОБКА ПОМИЛОК> нижче.

note: type: textblock
en: Create a connection handle, supplying extra flags and extra arguments to control how the handle is created.
uk: Створює дескриптор з'єднання, надаючи додаткові прапорці та аргументи для керування створенням дескриптора.

note: type: textblock
en: L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>.
uk: L</guestfs_create> еквівалентна виклику C<guestfs_create_flags(0)>.

note: type: textblock
en: The following flags may be logically ORed together.  (Currently no extra arguments are used).
uk: Наведені нижче прапорці може бути поєднано за допомогою логічного АБО (у поточній версії додаткові аргументи не використовуються).

note: type: textblock
en: Don’t parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc).
uk: Не обробляти змінні середовища (зокрема C<LIBGUESTFS_DEBUG>).

note: type: textblock
en: You can call L</guestfs_parse_environment> or L</guestfs_parse_environment_list> afterwards to parse environment variables.  Alternately, I<don't> call these functions if you want the handle to be unaffected by environment variables.  See the example below.
uk: Згодом ви можете викликати L</guestfs_parse_environment> або L</guestfs_parse_environment_list> для обробки змінних середовища. Крім того, можна I<не> викликати ці функції, якщо ви не хочете, щоб на роботу дескриптора впливали змінні середовища. Див. наведений нижче приклад.

note: type: textblock
en: The default (if this flag is not given) is to implicitly call L</guestfs_parse_environment>.
uk: Типовою поведінкою (якщо цей прапорець не встановлено явно) є неявний виклик L</guestfs_parse_environment>.

note: type: textblock
en: Don’t try to close the handle in an L<atexit(3)> handler if the program exits without explicitly closing the handle.
uk: Не намагатися закрити дескриптор у обробнику L<atexit(3)>, якщо програма завершує роботу без закриття дескриптора явним чином.

note: type: textblock
en: The default (if this flag is not given) is to install such an atexit handler.
uk: Типовою поведінкою (якщо цей прапорець не встановлено явно) є встановлення також обробника atexit.

note: type: =head3
en: USING C<GUESTFS_CREATE_NO_ENVIRONMENT>
uk: ВИКОРИСТАННЯ C<GUESTFS_CREATE_NO_ENVIRONMENT>

note: type: textblock
en: You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to L</guestfs_parse_environment> like this:
uk: Ви можете скористатися C<GUESTFS_CREATE_NO_ENVIRONMENT> і явним викликом L</guestfs_parse_environment> ось так:

note: type: textblock
en: Or to create a handle which is unaffected by environment variables, omit the call to C<guestfs_parse_environment> from the above code.
uk: Крім того, для створення дескриптора, на який не впливатимуть змінні середовища, усуньте виклики C<guestfs_parse_environment> з наведеного вище коду.

note: type: textblock
en: The above code has another advantage which is that any errors from parsing the environment are passed through the error handler, whereas C<guestfs_create> prints errors on stderr and ignores them.
uk: У наведеного вище коду є ще одна перевага: усі помилки під час обробки середовища передаються обробнику помилок, тоді як C<guestfs_create> виводить повідомлення про помилки до stderr і ігнорує помилки.

note: type: textblock
en: This closes the connection handle and frees up all resources used.  If a close callback was set on the handle, then it is called.
uk: Закриває дескриптор з'єднання і звільняє усі використані ресурси. Якщо для дескриптора було встановлено зворотний виклик закриття, його буде виконано.

note: type: textblock
en: The correct way to close the handle is:
uk: Правильний спосіб закриття дескриптора ось такий:

note: type: verbatim
en:  if (guestfs_shutdown (g) == -1) {
       /* handle write errors here */
     }
     guestfs_close (g);
uk:  if (guestfs_shutdown (g) == -1) {
       /* тут обробляємо помилки запису */
     }
     guestfs_close (g);

note: type: textblock
en: L</guestfs_shutdown> is only needed if B<all> of the following are true:
uk: Потреба у L</guestfs_shutdown> виникає, лише якщо виконуються B<усі> з наведених нижче умов:

note: type: textblock
en: one or more disks were added in read-write mode, I<and>
uk: у режимі читання-запису було додано один або декілька дисків I<і>

note: type: textblock
en: guestfs_launch was called, I<and>
uk: було викликано guestfs_launch, I<і>

note: type: textblock
en: you made some changes, I<and>
uk: вами було внесено якісь зміни, I<і>

note: type: textblock
en: you have a way to handle write errors (eg. by exiting with an error code or reporting something to the user).
uk: ви можете обробляти помилки запису (наприклад, завершенням виконання із кодом помилки або звітуванням про помилку користувачеві).

note: type: =head1
en: ERROR HANDLING
uk: ОБРОБКА ПОМИЛОК

note: type: textblock
en: API functions can return errors.  For example, almost all functions that return C<int> will return C<-1> to indicate an error.
uk: Функції програмного інтерфейсу можуть повертати помилки. Наприклад, майже усі функції, які повертають C<int>, повертатимуть C<-1> для позначення помилки.

note: type: textblock
en: Additional information is available for errors: an error message string and optionally an error number (errno) if the thing that failed was a system call.
uk: Для помилок надається додаткова інформація: рядок повідомлення про помилку і, необов'язково, номер помилки (errno), якщо помилку було пов'язано із загальносистемним викликом.

note: type: textblock
en: You can get at the additional information about the last error on the handle by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting up an error handler with L</guestfs_set_error_handler>.
uk: Ви можете отримати додаткову інформацію щодо останньої помилки для дескриптора за допомогою виклику L</guestfs_last_error>, L</guestfs_last_errno> і/або встановлення обробника помилок за допомогою L</guestfs_set_error_handler>.

note: type: textblock
en: When the handle is created, a default error handler is installed which prints the error message string to C<stderr>.  For small short-running command line programs it is sufficient to do:
uk: Під час створення дескриптора встановлюється типовий обробник помилок, який виводить рядок повідомлення про помилку до C<stderr>. Для невеличких програм, які виконуються швидко і керуються з командного рядка, достатньо зробити ось що:

note: type: textblock
en: since the default error handler will ensure that an error message has been printed to C<stderr> before the program exits.
uk: оскільки типовий обробник помилок забезпечить виведення повідомлення про помилку до C<stderr> до завершення роботи програми.

note: type: textblock
en: For other programs the caller will almost certainly want to install an alternate error handler or do error handling in-line as in the example below.  The non-C language bindings all install NULL error handlers and turn errors into exceptions using code similar to this:
uk: Для інших програм, майже напевно, слід встановити альтернативний обробник помилок або обробляти помилки всередині, як у наведеному нижче прикладі. У прив'язках до мов програмування, відмінних від C, усюди встановлюються NULL-обробники помилок, а помилки перетворюються на виключення за допомогою коду, подібного до такого:

note: type: verbatim
en:  /* This disables the default behaviour of printing errors
        on stderr. */
     guestfs_set_error_handler (g, NULL, NULL);
uk:  /* Це вимикає типову поведінку при виведенні помилок
        до stderr. */
     guestfs_set_error_handler (g, NULL, NULL);

note: type: verbatim
en:  if (guestfs_launch (g) == -1) {
       /* Examine the error message and print it, throw it,
          etc. */
       msg = guestfs_last_error (g);
       errnum = guestfs_last_errno (g);
uk:  if (guestfs_launch (g) == -1) {
       /* Вивчаємо повідомлення про помилку і виводимо його, надсилаємо його
          тощо. */
       msg = guestfs_last_error (g);
       errnum = guestfs_last_errno (g);

note: type: textblock
en: L</guestfs_create> returns C<NULL> if the handle cannot be created, and because there is no handle if this happens there is no way to get additional error information.  Since libguestfs E<ge> 1.20, you can use L</guestfs_create_flags> to properly deal with errors during handle creation, although the vast majority of programs can continue to use L</guestfs_create> and not worry about this situation.
uk: L</guestfs_create> повертає C<NULL>, якщо дескриптор неможливо створити, а оскільки, якщо таке трапиться, дескриптора не буде, неможливо буде отримати додаткові відомості щодо помилки. Починаючи з libguestfs E<ge> 1.20, ви можете скористатися L</guestfs_create_flags> для належної обробки помилок під час створення дескрипторів, хоча у переважній частині програм можна продовжувати користуватися L</guestfs_create> і не перейматися особливо цим випадком.

note: type: textblock
en: Out of memory errors are handled differently.  The default action is to call L<abort(3)>.  If this is undesirable, then you can set a handler using L</guestfs_set_out_of_memory_handler>.
uk: Помилки, пов'язані із нестачею пам'яті, обробляються інакше. Типовою дією є виклик L<abort(3)>. Якщо такий виклик є небажаним, ви можете встановити обробник за допомогою функції L</guestfs_set_out_of_memory_handler>.

note: type: textblock
en: This returns the last error message that happened on C<g>.  If there has not been an error since the handle was created, then this returns C<NULL>.
uk: Повертає повідомлення про останню помилку, яка трапилася для C<g>. Якщо з часу створення дескриптора помилок не траплялося, повертає C<NULL>.

note: type: textblock
en: Note the returned string does I<not> have a newline character at the end.  Most error messages are single lines.  Some are split over multiple lines and contain C<\n> characters within the string but not at the end.
uk: Зауважте, що у повернутому рядку I<не> буде символу нового рядка наприкінці. Більшість повідомлень про помилки є однорядковими. Деякі поділено на декілька рядків, вони містять символи C<\n> усередині рядка, але не наприкінці.

note: type: textblock
en: The lifetime of the returned string is until the next error occurs on the same handle, or L</guestfs_close> is called.  If you need to keep it longer, copy it.
uk: Повернутий рядок лишається актуальним, аж доки не станеться наступна помилка для того самого дескриптора або не буде викликано L</guestfs_close>. Якщо цей рядок потрібен вам на довший термін, скопіюйте його.

note: type: textblock
en: This returns the last error number (errno) that happened on C<g>.
uk: Повертає номер останньої помилки (errno), яка сталася для C<g>.

note: type: textblock
en: If successful, an errno integer not equal to zero is returned.
uk: Якщо виконано успішно, буде повернуто ненульове ціле число errno.

note: type: textblock
en: In many cases the special errno C<ENOTSUP> is returned if you tried to call a function or use a feature which is not supported.
uk: У багатьох випадках повертається спеціальне значення errno C<ENOTSUP>, якщо ви намагаєтеся викликати функцію або скористатися можливістю, підтримки якої не передбачено.

note: type: textblock
en: If no error number is available, this returns 0.  This call can return 0 in three situations:
uk: Якщо номер помилки недоступний, функція повертає 0. Виклик може повертати 0 у трьох випадках:

note: type: textblock
en: There has not been any error on the handle.
uk: Для дескриптора не було зафіксовано жодних помилок.

note: type: textblock
en: There has been an error but the errno was meaningless.  This corresponds to the case where the error did not come from a failed system call, but for some other reason.
uk: Сталася помилка, але отримання errno не має сенсу. Таке трапляється у випадках, коли повідомлення про помилку надійшло не від загальносистемного виклику, отже причина помилки була якоюсь іншою.

note: type: textblock
en: There was an error from a failed system call, but for some reason the errno was not captured and returned.  This usually indicates a bug in libguestfs.
uk: Сталася помилка у загальносистемному виклику, але з якоїсь причини errno не було перехоплено і повернуто. Це, зазвичай, пов'язано із вадою у libguestfs.

note: type: textblock
en: Libguestfs tries to convert the errno from inside the appliance into a corresponding errno for the caller (not entirely trivial: the appliance might be running a completely different operating system from the library and error numbers are not standardized across Un*xen).  If this could not be done, then the error is translated to C<EINVAL>.  In practice this should only happen in very rare circumstances.
uk: Libguestfs намагається перетворити errno із внутрішнього для базової системи у відповідне значення errno для функції виклику (це завдання не є простим: у базовій системі може бути запущено зовсім іншу операційну систему з бібліотеки, а номери помилок у Un*x не стандартизовано). Якщо перетворення є неможливим, повідомлення про помилку перетворюється до C<EINVAL>. На практиці такі випадки є дуже рідкісними.

note: type: textblock
en: The callback C<cb> will be called if there is an error.  The parameters passed to the callback are an opaque data pointer and the error message string.
uk: Якщо станеться помилка, буде викликано зворотний виклик C<cb>. Параметрами, які передаються зворотному виклику, є непрозорий вказівник на дані і рядок повідомлення про помилку.

note: type: textblock
en: C<errno> is not passed to the callback.  To get that the callback must call L</guestfs_last_errno>.
uk: C<errno> зворотному виклику не передається. Щоб отримати це значення у зворотному виклику, вам слід викликати L</guestfs_last_errno>.

note: type: textblock
en: Note that the message string C<msg> is freed as soon as the callback function returns, so if you want to stash it somewhere you must make your own copy.
uk: Зауважте, що рядок повідомлення C<msg> звільняється, щойно повертається керування з функції зворотного виклику, отже, якщо ви хочете його десь зберегти, вам слід зробити його копію.

note: type: textblock
en: The default handler prints messages on C<stderr>.
uk: Типовий обробник виводить повідомлення до C<stderr>.

note: type: textblock
en: If you set C<cb> to C<NULL> then I<no> handler is called.
uk: Якщо ви встановите для C<cb> значення C<NULL>, обробник I<не> викликатиметься.

note: type: textblock
en: Returns the current error handler callback.
uk: Повертає зворотний виклик поточного обробника помилок.

note: type: textblock
en: This is the same as L</guestfs_set_error_handler>, except that the old error handler is stashed away in a stack inside the handle.  You can restore the previous error handler by calling L</guestfs_pop_error_handler>.
uk: Ця функція виконує ті самі дії, що і L</guestfs_set_error_handler>, але застарілий обробник помилок додається до стеку у самому дескрипторі. Ви можете відновити попередній обробник помилок за допомогою виклику L</guestfs_pop_error_handler>.

note: type: textblock
en: Use the following code to temporarily disable errors around a function:
uk: Скористайтеся таким кодом, щоб тимчасово вимкнути помилки навколо функції:

note: type: textblock
en: Restore the previous error handler (see L</guestfs_push_error_handler>).
uk: Відновити попередній обробник помилок (див. L</guestfs_push_error_handler>).

note: type: textblock
en: If you pop the stack too many times, then the default error handler is restored.
uk: Якщо ви виштовхуватимете обробники зі стосу достатню кількість разів, буде відновлено типовий обробник помилок.

note: type: textblock
en: The callback C<cb> will be called if there is an out of memory situation.  I<Note this callback must not return>.
uk: Зворотний виклик C<cb> буде викликано, якщо станеться нестача пам'яті. I<Зауважте, що цей зворотний виклик не повинен повертати керування>.

note: type: textblock
en: The default is to call L<abort(3)>.
uk: Типовим є виклик L<abort(3)>.

note: type: textblock
en: You cannot set C<cb> to C<NULL>.  You can’t ignore out of memory situations.
uk: Не можна встановлювати для C<cb> значення C<NULL>. Ви не можете ігнорувати випадки, коли не вистачає пам'яті.

note: type: textblock
en: This returns the current out of memory handler.
uk: Повертає поточний обробник випадків нестачі пам'яті.

note: type: =head1
en: API CALLS
uk: ВИКЛИКИ API

note: type: =head1
en: STRUCTURES
uk: СТРУКТУРИ

note: type: =head1
en: AVAILABILITY
uk: ДОСТУПНІСТЬ

note: type: =head2
en: GROUPS OF FUNCTIONALITY IN THE APPLIANCE
uk: ГРУПИ ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ У ОБРАЗІ ОСНОВНОЇ СИСТЕМИ

note: type: textblock
en: Using L</guestfs_available> you can test availability of the following groups of functions.  This test queries the appliance to see if the appliance you are currently using supports the functionality.
uk: За допомогою L</guestfs_available> ви можете перевірити доступність вказаних нижче груп функцій. Засіб тестування опитає базову систему для визначення, чи передбачено у ній підтримку функціональних можливостей.

note: type: =head2
en: FILESYSTEM AVAILABLE
uk: ДОСТУПНІ ФАЙЛОВІ СИСТЕМИ

note: type: textblock
en: The L</guestfs_filesystem_available> call tests whether a filesystem type is supported by the appliance kernel.
uk: Функція L</guestfs_filesystem_available> викликає засоби тестування для визначення, чи доступна підтримка певного типу файлової системи у ядрі базової операційної системи.

note: type: textblock
en: This is mainly useful as a negative test.  If this returns true, it doesn't mean that a particular filesystem can be mounted, since filesystems can fail for other reasons such as it being a later version of the filesystem, or having incompatible features.
uk: Головним чином корисне для перевірки того, що підтримки не передбачено. Те, що команда повертає true, ще не означає, що певну файлову систему може бути змонтовано, оскільки помилки можуть траплятися через інші причини, зокрема невідповідність версії файлової системи, несумісність можливостей.

note: type: =head2
en: GUESTFISH supported COMMAND
uk: КОМАНДА GUESTFISH supported

note: type: textblock
en: In L<guestfish(3)> there is a handy interactive command C<supported> which prints out the available groups and whether they are supported by this build of libguestfs.  Note however that you have to do C<run> first.
uk: У L<guestfish(3)> передбачено зручну інтерактивну команду C<supported>, яка виводить доступні групи, а також дані щодо їхньої підтримки у збірці libguestfs. Втім, слід зауважити, спочатку слід виконати команду C<run>.

note: type: =head2
en: SINGLE CALLS AT COMPILE TIME
uk: ОКРЕМІ ВИКЛИКИ ПІД ЧАС КОМПІЛЯЦІЇ

note: type: textblock
en: Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API function, such as:
uk: Починаючи з версії 1.5.8, C<E<lt>guestfs.hE<gt>> визначає символи для кожної функції програмного інтерфейсу C, зокрема:

note: type: textblock
en: if L</guestfs_dd> is available.
uk: якщо доступна L</guestfs_dd>.

note: type: textblock
en: Before version 1.5.8, if you needed to test whether a single libguestfs function is available at compile time, we recommended using build tools such as autoconf or cmake.  For example in autotools you could use:
uk: До версії 1.5.8, якщо вам потрібно було перевірити, чи доступна окрема функція libguestfs під час компіляції, ми рекомендували скористатися засобами збирання, зокрема autoconf або cmake. Наприклад, у autotools ви могли скористатися таким кодом:

note: type: textblock
en: which would result in C<HAVE_GUESTFS_DD> being either defined or not defined in your program.
uk: який призводив до того, що C<HAVE_GUESTFS_DD> було або визначено, або не визначено у вашій програмі.

note: type: =head2
en: SINGLE CALLS AT RUN TIME
uk: ОКРЕМІ ВИКЛИКИ ПІД ЧАС РОБОТИ

note: type: textblock
en: Testing at compile time doesn't guarantee that a function really exists in the library.  The reason is that you might be dynamically linked against a previous I<libguestfs.so> (dynamic library)  which doesn't have the call.  This situation unfortunately results in a segmentation fault, which is a shortcoming of the C dynamic linking system itself.
uk: Перевірка під час компіляції не гарантує існування функції у бібліотеці. Причиною є те, що можливе динамічне компонування із попереднім варіантом I<libguestfs.so> (динамічної бібліотеки), у якому немає потрібного виклику. На жаль, така ситуація призводить до помилки сегментації, що є загальним недоліком системи динамічного компонування у C.

note: type: textblock
en: You can use L<dlopen(3)> to test if a function is available at run time, as in this example program (note that you still need the compile time check as well):
uk: Під час роботи програми ви можете скористатися L<dlopen(3)> для перевірки того, чи доступна функція. Ось приклад програми (зауважте, що вам все одно слід виконати перевірку під час компіляції):

note: type: verbatim
en:    /* Test if the function guestfs_dd is really available. */
       dl = dlopen (NULL, RTLD_LAZY);
       if (!dl) {
         fprintf (stderr, "dlopen: %s\n", dlerror ());
         exit (EXIT_FAILURE);
       }
       has_function = dlsym (dl, "guestfs_dd") != NULL;
       dlclose (dl);
uk:    /* Перевіряємо, чи дійсно функція guestfs_dd є доступною. */
       dl = dlopen (NULL, RTLD_LAZY);
       if (!dl) {
         fprintf (stderr, "dlopen: %s\n", dlerror ());
         exit (EXIT_FAILURE);
       }
       has_function = dlsym (dl, "guestfs_dd") != NULL;
       dlclose (dl);

note: type: textblock
en: You may think the above is an awful lot of hassle, and it is.  There are other ways outside of the C linking system to ensure that this kind of incompatibility never arises, such as using package versioning:
uk: Вам може здатися, що у наведеному вище прикладі реалізовано доволі марудну перевірку, і це насправді так. Існують інші способи поза системою компонування C, які надають змогу гарантувати те, що такого роду несумісність ніколи не трапиться. Зокрема, можна скористатися системою визначення версій пакунків:

note: type: verbatim
en:  Requires: libguestfs >= 1.0.80
uk:  Потрібна версія: libguestfs >= 1.0.80

note: type: =head1
en: CALLS WITH OPTIONAL ARGUMENTS
uk: ВИКЛИКИ ІЗ НЕОБОВ'ЯЗКОВИМИ АРГУМЕНТАМИ

note: type: textblock
en: A recent feature of the API is the introduction of calls which take optional arguments.  In C these are declared 3 ways.  The main way is as a call which takes variable arguments (ie. C<...>), as in this example:
uk: Нещодавно реалізованою у програмному інтерфейсі можливістю є впровадження викликів, які приймають необов'язкові аргументи. У C такі виклики оголошуються у 3 способи. Основним способом є виклик, який приймає змінні аргументи (тобто C<...>), як у цьому прикладі:

note: type: textblock
en: Call this with a list of optional arguments, terminated by C<-1>.  So to call with no optional arguments specified:
uk: Викличте цю функцію зі списком необов'язкових аргументів, який завершуватиметься C<-1>. Отже, щоб викликати функцію без необов'язкових аргументів, зробіть так:

note: type: textblock
en: With a single optional argument:
uk: З одним додатковим аргументом:

note: type: textblock
en: With two:
uk: З двома аргументами:

note: type: textblock
en: and so forth.  Don’t forget the terminating C<-1> otherwise Bad Things will happen!
uk: і так далі. Не забувайте завершувати список C<-1>, інакше можливі дуже печальні наслідки!

note: type: =head2
en: USING va_list FOR OPTIONAL ARGUMENTS
uk: ВИКОРИСТАННЯ va_list ДЛЯ НЕОБОВ'ЯЗКОВИХ АРГУМЕНТІВ

note: type: textblock
en: The second variant has the same name with the suffix C<_va>, which works the same way but takes a C<va_list>.  See the C manual for details.  For the example function, this is declared:
uk: Другий варіант має ту саму назву із суфіксом C<_va>. Він працює так само, але отримує C<va_list>. Див. підручник з C, щоб дізнатися більше. Приклад функції з оголошенням:

note: type: =head2
en: CONSTRUCTING OPTIONAL ARGUMENTS
uk: ПОБУДОВА ДОДАТКОВИХ АРГУМЕНТІВ

note: type: textblock
en: The third variant is useful where you need to construct these calls.  You pass in a structure where you fill in the optional fields.  The structure has a bitmask as the first element which you must set to indicate which fields you have filled in.  For our example function the structure and call are declared:
uk: Третій варіант корисний там, де вам потрібно побудувати ці виклики. Ви передаєте структуру, у якій ви заповнюєте необов'язкові поля. Структура містить бітову маску як перший елемент. Ви маєте встановити цю маску для позначення того, які поля вам слід заповнити. У нашому прикладі функції оголошено структуру і виклик:

note: type: textblock
en: You could call it like this:
uk: Ви можете викликати її ось так:

note: type: textblock
en: The C<_BITMASK> suffix on each option name when specifying the bitmask.
uk: Суфікс C<_BITMASK> при назві кожного параметр, якщо вказуємо бітову маску.

note: type: textblock
en: You do not need to fill in all fields of the structure.
uk: Вам не слід заповнювати усі поля структури.

note: type: textblock
en: There must be a one-to-one correspondence between fields of the structure that are filled in, and bits set in the bitmask.
uk: Має існувати однозначна відповідність між полями структури, які заповнюються, і набором бітів у бітовій масці.

note: type: =head2
en: OPTIONAL ARGUMENTS IN OTHER LANGUAGES
uk: ДОДАТКОВІ АРГУМЕНТИ ІНШИМИ МОВАМИ

note: type: textblock
en: In other languages, optional arguments are expressed in the way that is natural for that language.  We refer you to the language-specific documentation for more details on that.
uk: У інших мовах необов'язкові аргументи виражаються у спосіб, який є природним для цієї мови. Закликаємо вас звернутися до специфічної для мови документації, щоб дізнатися більше про це.

note: type: textblock
en: For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>.
uk: Щодо guestfish, див. L<guestfish(1)/НЕОБОВ'ЯЗКОВІ АРГУМЕНТИ>.

note: type: =head2
en: SETTING CALLBACKS TO HANDLE EVENTS
uk: ВСТАНОВЛЕННЯ ЗВОРОТНИХ ВИКЛИКІВ ДЛЯ ОБРОБКИ ПОДІЙ

note: type: textblock
en: B<Note:> This section documents the generic event mechanism introduced in libguestfs 1.10, which you should use in new code if possible.  The old functions C<guestfs_set_log_message_callback>, C<guestfs_set_subprocess_quit_callback>, C<guestfs_set_launch_done_callback>, C<guestfs_set_close_callback> and C<guestfs_set_progress_callback> are no longer documented in this manual page.  Because of the ABI guarantee, the old functions continue to work.
uk: B<Зауваження:> у цьому розділі наведено документацію загальний механізм обробки подій, впроваджений у libguestfs 1.10, яким ви маєте користуватися у новому коді, якщо це можливо. Застарілі функції C<guestfs_set_log_message_callback>, C<guestfs_set_subprocess_quit_callback>, C<guestfs_set_launch_done_callback>, C<guestfs_set_close_callback> і C<guestfs_set_progress_callback> більше не документуються на цій сторінці підручника. Оскільки сталість ABI гарантовано, застарілі функції лишаються працездатнними.

note: type: textblock
en: Handles generate events when certain things happen, such as log messages being generated, progress messages during long-running operations, or the handle being closed.  The API calls described below let you register a callback to be called when events happen.  You can register multiple callbacks (for the same, different or overlapping sets of events), and individually remove callbacks.  If callbacks are not removed, then they remain in force until the handle is closed.
uk: Дескриптори породжують події, коли трапляються певні речі, зокрема створюються повідомлення журналу, повідомлення щодо поступу під час довготривалих дій або закривається дескриптор. Виклики програмного інтерфейсу, описані нижче, надають вам змогу реєструвати зворотні виклики, які викликатимуться, коли трапляються події. Ви можете зареєструвати декілька зворотних викликів (для тих самих, інших або перекритих наборів подій) і окремо вилучати зворотні виклики. Якщо зворотні виклики не вилучено, тоді вони лишаються працездатними, аж доки дескриптор не буде закрито.

note: type: textblock
en: In the current implementation, events are only generated synchronously: that means that events (and hence callbacks) can only happen while you are in the middle of making another libguestfs call.  The callback is called in the same thread.
uk: У поточній реалізації події створюються лише синхронно: це означає, що події (а отже, зворотні виклики) можуть траплятися, доки ви перебуваєте у іншому виклику libguestfs. Зворотний виклик викликається у тому самому потоці обробки.

note: type: textblock
en: Events may contain a payload, usually nothing (void), an array of 64 bit unsigned integers, or a message buffer.  Payloads are discussed later on.
uk: Записи подій можуть містити дані, зазвичай, нічого (void), масив 64-бітових цілих чисел без знаку або буфер повідомлень. Дані вмісту обговорено нижче.

note: type: =head2
en: CLASSES OF EVENTS
uk: КЛАСИ ПОДІЙ

note: type: =item
en: GUESTFS_EVENT_CLOSE (payload type: void)
uk: GUESTFS_EVENT_CLOSE (тип вмісту: void)

note: type: textblock
en: The callback function will be called while the handle is being closed (synchronously from L</guestfs_close>).
uk: Функцію зворотного виклику буде викликано під час закриття дескриптора (синхронно з L</guestfs_close>).

note: type: textblock
en: Note that libguestfs installs an L<atexit(3)> handler to try to clean up handles that are open when the program exits.  This means that this callback might be called indirectly from L<exit(3)>, which can cause unexpected problems in higher-level languages (eg. if your HLL interpreter has already been cleaned up by the time this is called, and if your callback then jumps into some HLL function).
uk: Зауважте, що libguestfs встановлює обробник L<atexit(3)> для виконання спроби вилучення дескрипторів, які було відкрито, під час завершення роботи програми. Це означає, що цей зворотний виклик може бути викликано опосередковано з L<exit(3)>, що може спричинити неочікувані проблеми у високорівневих мовах програмування (наприклад, якщо ваш інтерпретатор високорівневої мови програмування вже було очищено на час виклику і якщо зворотний виклик переводить до якоїсь функції високорівневої мови програмування).

note: type: textblock
en: If no callback is registered: the handle is closed without any callback being invoked.
uk: Якщо зворотних викликів не зареєстровано: дескриптор закривається без будь-яких зворотних викликів.

note: type: =item
en: GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)
uk: GUESTFS_EVENT_SUBPROCESS_QUIT (тип вмісту: void)

note: type: textblock
en: The callback function will be called when the child process quits, either asynchronously or if killed by L</guestfs_kill_subprocess>.  (This corresponds to a transition from any state to the CONFIG state).
uk: Функцію зворотного виклику буде викликано, коли завершує роботу дочірній процес, або асинхронно, або внаслідок роботи L</guestfs_kill_subprocess>. (Це відповідає переходу з будь-якого стану до стану CONFIG).

note: type: textblock
en: If no callback is registered: the event is ignored.
uk: Якщо зворотних викликів не зареєстровано: подія ігнорується.

note: type: =item
en: GUESTFS_EVENT_LAUNCH_DONE (payload type: void)
uk: GUESTFS_EVENT_LAUNCH_DONE (тип вмісту: void)

note: type: textblock
en: The callback function will be called when the child process becomes ready first time after it has been launched.  (This corresponds to a transition from LAUNCHING to the READY state).
uk: Функцію зворотного виклику буде викликано, коли дочірній процес буде готовим вперше після його запуску. (Це відповідає переходу зі стану LAUNCHING до стану READY.)

note: type: =item
en: GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)
uk: GUESTFS_EVENT_PROGRESS (тип вмісту: масив з 4-х uint64_t)

note: type: textblock
en: Some long-running operations can generate progress messages.  If this callback is registered, then it will be called each time a progress message is generated (usually two seconds after the operation started, and three times per second thereafter until it completes, although the frequency may change in future versions).
uk: Частина довготривалих дій може створювати повідомлення про поступ. Якщо цей зворотний виклик зареєстровано, його буде викликано кожного разу при створенні повідомлення про поступ (зазвичай, за дві секунди після початку виконання дії і три рази за секунду після цього, аж доки виконання дії не буде завершено, хоча частоту може буде змінено у майбутніх версіях).

note: type: textblock
en: The callback receives in the payload four unsigned 64 bit numbers which are (in order): C<proc_nr>, C<serial>, C<position>, C<total>.
uk: Зворотний виклик отримує у даних вмісту чотири 64-бітових чисел без знаку, якими є (саме у такому порядку): C<proc_nr>, C<serial>, C<position>, C<total>.

note: type: textblock
en: The units of C<total> are not defined, although for some operations C<total> may relate in some way to the amount of data to be transferred (eg. in bytes or megabytes), and C<position> may be the portion which has been transferred.
uk: Одиниці C<total> не визначено, хоча для деяких дій C<total> може бути певним чином пов'язано із обсягом даних, які передаються (наприклад, у байтах або мегабайтах), і C<position> може бути часткою даних, які передаються.

note: type: textblock
en: The only defined and stable parts of the API are:
uk: Єдиними визначеними і стабільними частинами програмного інтерфейсу є:

note: type: textblock
en: The callback can display to the user some type of progress bar or indicator which shows the ratio of C<position>:C<total>.
uk: Зворотний виклик може показувати користувачеві певний тип смужки поступу або індикатора, який показуватиме відношення C<position>:C<total>.

note: type: textblock
en: If any progress notification is sent during a call, then a final progress notification is always sent when C<position> = C<total> (I<unless> the call fails with an error).
uk: Якщо під час виклику надсилаються якість сповіщення щодо поступу, остаточне сповіщення щодо поступу завжди надсилається, коли C<position> = C<total> (I<якщо> виклик не завершується помилкою).

note: type: textblock
en: This is to simplify caller code, so callers can easily set the progress indicator to "100%" at the end of the operation, without requiring special code to detect this case.
uk: Так зроблено для спрощення коду функції виклику, отже функції виклику можуть просто встановити для індикатора поступу «100%» наприкінці виконання дії, без потреби у реалізації у коді виявлення цієї ситуації.

note: type: textblock
en: For some calls we are unable to estimate the progress of the call, but we can still generate progress messages to indicate activity.  This is known as "pulse mode", and is directly supported by certain progress bar implementations (eg. GtkProgressBar).
uk: Для деяких викликів неможливо оцінити поступ виклику, але ми можемо створювати повідомлення щодо поступу для позначення виконання дії. Такий режим відомий як «режим пульсації», підтримку якого безпосередньо передбачено у деяких реалізаціях смужок поступу (наприклад GtkProgressBar).

note: type: textblock
en: For these calls, zero or more progress messages are generated with C<position = 0> and C<total = 1>, followed by a final message with C<position = total = 1>.
uk: Для цих викликів нуль або декілька повідомлень поступу створюються для C<position = 0> і C<total = 1>, за якими слідує остаточне повідомлення з C<position = total = 1>.

note: type: textblock
en: As noted above, if the call fails with an error then the final message may not be generated.
uk: Як зауважено вище, якщо виклик завершується помилкою, остаточне повідомлення може бути не створено.

note: type: textblock
en: The callback also receives the procedure number (C<proc_nr>) and serial number (C<serial>) of the call.  These are only useful for debugging protocol issues, and the callback can normally ignore them.  The callback may want to print these numbers in error messages or debugging messages.
uk: Крім того, зворотний виклик отримує номер процедури (C<proc_nr>) і серійний номер (C<serial>) виклику. Ці дані корисні лише для діагностики проблем із протоколом, а зворотний виклик, за звичайних умов, може їх ігнорувати. Зворотний виклик може вивести ці числові дані у повідомленнях про помилки або діагностичних повідомленнях.

note: type: textblock
en: If no callback is registered: progress messages are discarded.
uk: Якщо зворотних викликів не зареєстровано, повідомлення про поступ відкидаються.

note: type: =item
en: GUESTFS_EVENT_APPLIANCE (payload type: message buffer)
uk: GUESTFS_EVENT_APPLIANCE (тип вмісту: буфер повідомлень)

note: type: textblock
en: The callback function is called whenever a log message is generated by qemu, the appliance kernel, guestfsd (daemon), or utility programs.
uk: Функція зворотного виклику викликається кожного разу, коли qemu, ядро базової системи, guestfsd (фонова служба) або допоміжні програми створюють повідомлення журналу.

note: type: textblock
en: If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</guestfs_launch>) then additional debug messages are generated.
uk: Якщо перед запуском (L</guestfs_launch>) встановлено прапорець докладних повідомлень (L</guestfs_set_verbose>), буде створено додаткові діагностичні повідомлення.

note: type: textblock
en: If no callback is registered: the messages are discarded unless the verbose flag is set in which case they are sent to stderr.  You can override the printing of verbose messages to stderr by setting up a callback.
uk: Якщо зворотний виклик не зареєстровано: повідомлення відкидаються, якщо не встановлено прапорець докладних повідомлень. У цьому випадку повідомлення надсилаються до stderr. Ви можете перевизначити виведення докладних повідомлень до stderr встановленням зворотного виклику.

note: type: =item
en: GUESTFS_EVENT_LIBRARY (payload type: message buffer)
uk: GUESTFS_EVENT_LIBRARY (тип вмісту: буфер повідомлень)

note: type: textblock
en: The callback function is called whenever a log message is generated by the library part of libguestfs.
uk: Функція зворотного виклику викликається кожного разу, коли бібліотечна частина libguestfs створює повідомлення журналу.

note: type: textblock
en: If the verbose flag (L</guestfs_set_verbose>) is set then additional debug messages are generated.
uk: Якщо встановлено прапорець докладних повідомлень (L</guestfs_set_verbose>), буде створено додаткові діагностичні повідомлення.

note: type: =item
en: GUESTFS_EVENT_WARNING (payload type: message buffer)
uk: GUESTFS_EVENT_WARNING (тип вмісту: буфер повідомлень)

note: type: textblock
en: The callback function is called whenever a warning message is generated by the library part of libguestfs.
uk: Функція зворотного виклику викликається кожного разу, коли бібліотечна частина libguestfs створює повідомлення із попередженням.

note: type: textblock
en: If no callback is registered: the messages are printed to stderr.  You can override the printing of warning messages to stderr by setting up a callback.
uk: Якщо зворотний виклик не зареєстровано: повідомлення виводяться до stderr. Ви можете перевизначити виведення повідомлень із попередженнями до stderr встановленням зворотного виклику.

note: type: =item
en: GUESTFS_EVENT_TRACE (payload type: message buffer)
uk: GUESTFS_EVENT_TRACE (тип вмісту: буфер повідомлень)

note: type: textblock
en: The callback function is called whenever a trace message is generated.  This only applies if the trace flag (L</guestfs_set_trace>) is set.
uk: Функція зворотного виклику викликається кожного разу, коли створюється повідомлення трасування. Це стосується лише випадків, коли встановлено прапорець трасування (L</guestfs_set_trace>).

note: type: textblock
en: If no callback is registered: the messages are sent to stderr.  You can override the printing of trace messages to stderr by setting up a callback.
uk: Якщо зворотний виклик не зареєстровано: повідомлення виводяться до stderr. Ви можете перевизначити виведення повідомлень трасування до stderr встановленням зворотного виклику.

note: type: =item
en: GUESTFS_EVENT_ENTER (payload type: function name)
uk: GUESTFS_EVENT_ENTER (тип вмісту: назва функції)

note: type: textblock
en: The callback function is called whenever a libguestfs function is entered.
uk: Функція зворотного виклику викликається кожного разу, коли відбувається вхід до функції libguestfs.

note: type: textblock
en: The payload is a string which contains the name of the function that we are entering (not including C<guestfs_> prefix).
uk: Дані вмісту є рядком, який містить назву функції, до якої було здійснено вхід (без префікса C<guestfs_>).

note: type: textblock
en: Note that libguestfs functions can call themselves, so you may see many events from a single call.  A few libguestfs functions do not generate this event.
uk: Зауважте, що функції libguestfs можуть викликати самі себе, отже, ви можете побачити багато подій від одного виклику. Деякі функції libguestfs не створюють цієї події.

note: type: =item
en: GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)
uk: GUESTFS_EVENT_LIBVIRT_AUTH (тип вмісту: адреса libvirt)

note: type: textblock
en: For any API function that opens a libvirt connection, this event may be generated to indicate that libvirt demands authentication information.  See L</LIBVIRT AUTHENTICATION> below.
uk: Для будь-якої функції програмного інтерфейсу, яка відкриває з'єднання libvirt, цю подію може бути створено для позначення того, що libvirt потрібні дані для розпізнавання користувача. Див. L</РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT> нижче.

note: type: textblock
en: If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable for command-line programs only).
uk: Якщо зворотних викликів не зареєстровано: використовується C<virConnectAuthPtrDefault> (пасує лише для команд, які керуються з командного рядка).

note: type: =head2
en: EVENT API
uk: ПРОГРАМНИЙ ІНТЕРФЕЙС ПОДІЙ

note: type: textblock
en: This function registers a callback (C<cb>) for all event classes in the C<event_bitmask>.
uk: Ця функція реєструє зворотний виклик (C<cb>) для усіх класів подій у C<event_bitmask>.

note: type: textblock
en: For example, to register for all log message events, you could call this function with the bitmask C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY|GUESTFS_EVENT_WARNING>.  To register a single callback for all possible classes of events, use C<GUESTFS_EVENT_ALL>.
uk: Наприклад, щоб зареєструвати зворотний виклик для усіх подій повідомлень журналу, ви можете викликати цю функцію із маскою бітів C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY|GUESTFS_EVENT_WARNING>. Щоб зареєструвати єдиний зворотний виклик для усіх можливих класів подій, скористайтеся C<GUESTFS_EVENT_ALL>.

note: type: textblock
en: C<flags> should always be passed as 0.
uk: C<flags> слід завжди передавати як 0.

note: type: textblock
en: C<opaque> is an opaque pointer which is passed to the callback.  You can use it for any purpose.
uk: C<opaque> — непрозорий вказівник, який передається зворотному виклику. Ви можете використовувати його із будь-якою метою.

note: type: textblock
en: The return value is the event handle (an integer) which you can use to delete the callback (see below).
uk: Повернутим значенням є дескриптор події (ціле число), яким ви можете скористатися для вилучення зворотного виклику (див. нижче).

note: type: textblock
en: If there is an error, this function returns C<-1>, and sets the error in the handle in the usual way (see L</guestfs_last_error> etc.)
uk: Якщо сталася помилка, ця функція повертає C<-1> і встановлює стан помилки у дескрипторі у звичний спосіб (див. L</guestfs_last_error> тощо)

note: type: textblock
en: Callbacks remain in effect until they are deleted, or until the handle is closed.
uk: Зворотні виклики діють до їхнього вилучення або до закриття дескриптора.

note: type: textblock
en: In the case where multiple callbacks are registered for a particular event class, all of the callbacks are called.  The order in which multiple callbacks are called is not defined.
uk: У випадку, коли зареєстровано декілька зворотних викликів для певного класу подій, буде викликано усі ці виклики. Порядок виклику зворотних викликів не визначено.

note: type: textblock
en: Delete a callback that was previously registered.  C<event_handle> should be the integer that was returned by a previous call to C<guestfs_set_event_callback> on the same handle.
uk: Вилучити раніше зареєстрований зворотний виклик. Значенням параметра C<event_handle> має бути ціле число, яке було повернуто попереднім викликом C<guestfs_set_event_callback> для того самого дескриптора.

note: type: textblock
en: C<event> is either a single event or a bitmask of events.  This returns a string representation (useful for debugging or printing events).
uk: C<event> — окрема подія або бітова маска подій. Ця функція повертає рядкове представлення (корисно для діагностики або виведення подій).

note: type: textblock
en: A single event is returned as the name in lower case, eg. C<"close">.
uk: Окремі події повертаються як назви у нижньому регістрі, наприклад C<"close">.

note: type: textblock
en: A bitmask of several events is returned as a comma-separated list, eg. C<"close,progress">.
uk: Бітова маска декількох подій повертається як список значень, які відокремлено комами, наприклад C<"close,progress">.

note: type: textblock
en: If zero is passed, then the empty string C<""> is returned.
uk: Якщо буде передано нуль, буде повернуто порожній рядок C<"">.

note: type: textblock
en: On success this returns a string.  On error it returns NULL and sets C<errno>.
uk: Якщо виконано успішно, повертає рядок. Якщо сталася помилка, повертає NULL і встановлює значення C<errno>.

note: type: textblock
en: The returned string must be freed by the caller.
uk: Повернутий рядок має бути вивільнено функцією, яка викликає цю функцію.

note: type: textblock
en: This is the type of the event callback function that you have to provide.
uk: Це тип функції зворотного виклику події, яку вам слід надати.

note: type: textblock
en: The basic parameters are: the handle (C<g>), the opaque user pointer (C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event handle, and C<flags> which in the current API you should ignore.
uk: Базові параметри: дескриптор (C<g>), непрозорий вказівник користувача (C<opaque>), клас подій (наприклад C<GUESTFS_EVENT_PROGRESS>), дескриптор події та C<flags>, які у поточній версії програмного інтерфейсу ви можете ігнорувати.

note: type: textblock
en: The remaining parameters contain the event payload (if any).  Each event may contain a payload, which usually relates to the event class, but for future proofing your code should be written to handle any payload for any event class.
uk: Решта параметрів містить дані вмісту події (якщо такі є). У кожному записі події можуть міститися дані вмісту, які, зазвичай, пов'язано із класом події, але з міркувань забезпечення сумісності у майбутньому ваш код має бути записано так, щоб він міг обробити будь-які дані вмісту для будь-якого класу подій.

note: type: textblock
en: C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then there is no message buffer).  Note that this message buffer can contain arbitrary 8 bit data, including NUL bytes.
uk: C<buf> і C<buf_len> містять буфер повідомлень (якщо C<buf_len == 0>, буфера повідомлень не існує). Зауважте, що цей буфер повідомлень може містити довільні 8-бітові дані, зокрема байти NUL.

note: type: textblock
en: C<array> and C<array_len> is an array of 64 bit unsigned integers.  At the moment this is only used for progress messages.
uk: C<array> і C<array_len> — масив з 64-бітових цілих чисел без знаку. У поточній версії використовується лише для повідомлень щодо поступу.

note: type: =head2
en: EXAMPLE: CAPTURING LOG MESSAGES
uk: ПРИКЛАД: ЗАХОПЛЮЄМО ПОВІДОМЛЕННЯ ЖУРНАЛУ

note: type: textblock
en: A working program demonstrating this can be found in F<examples/debug-logging.c> in the source of libguestfs.
uk: Робочу програму, яка демонструє це, можна знайти у F<examples/debug-logging.c> у початковому коді libguestfs.

note: type: textblock
en: One motivation for the generic event API was to allow GUI programs to capture debug and other messages.  In libguestfs E<le> 1.8 these were sent unconditionally to C<stderr>.
uk: Однією з мотивацій для створення загального програмного інтерфейсу подій було уможливлення для програм із графічним інтерфейсом перехоплення діагностичних повідомлень та інших повідомлень. У libguestfs E<le> 1.8 ці повідомлення безумовно надсилалися до C<stderr>.

note: type: textblock
en: Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, C<GUESTFS_EVENT_APPLIANCE>, C<GUESTFS_EVENT_WARNING> and C<GUESTFS_EVENT_TRACE>.  (Note that error messages are not events; you must capture error messages separately).
uk: Подіями, пов'язаними із повідомленнями журналу, є такі: C<GUESTFS_EVENT_LIBRARY>, C<GUESTFS_EVENT_APPLIANCE>, C<GUESTFS_EVENT_WARNING> і C<GUESTFS_EVENT_TRACE>. (Зауважте, що повідомлення про помилки не є подіями; вам слід перехоплювати повідомлення про помилки окремо).

note: type: textblock
en: Programs have to set up a callback to capture the classes of events of interest:
uk: Програмам слід встановити зворотний виклик для цікавих для них класів подій:

note: type: verbatim
en:  int eh =
       guestfs_set_event_callback
         (g, message_callback,
          GUESTFS_EVENT_LIBRARY | GUESTFS_EVENT_APPLIANCE |
          GUESTFS_EVENT_WARNING | GUESTFS_EVENT_TRACE,
          0, NULL) == -1)
     if (eh == -1) {
       // handle error in the usual way
     }
uk:  int eh =
       guestfs_set_event_callback
         (g, message_callback,
          GUESTFS_EVENT_LIBRARY | GUESTFS_EVENT_APPLIANCE |
          GUESTFS_EVENT_WARNING | GUESTFS_EVENT_TRACE,
          0, NULL) == -1)
     if (eh == -1) {
       // обробка помилки у звичний спосіб
     }

note: type: textblock
en: The callback can then direct messages to the appropriate place.  In this example, messages are directed to syslog:
uk: Далі, зворотний виклик може спрямувати повідомлення до відповідного місця. У цьому прикладі повідомлення спрямовуються до syslog:

note: type: =head2
en: LIBVIRT AUTHENTICATION
uk: РОЗПІЗНАВАННЯ ЗА ДОПОМОГОЮ LIBVIRT

note: type: textblock
en: Some libguestfs API calls can open libvirt connections.  Currently the only ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt backend has been selected.  Libvirt connections may require authentication, for example if they need to access a remote server or to access root services from non-root.  Libvirt authentication happens via a callback mechanism, see L<http://libvirt.org/guide/html/Application_Development_Guide-Connections.html>
uk: Деякі виклики програмного інтерфейсу libguestfs можуть відкривати з'єднання із libvirt. У поточній версії єдиними такими викликами є L</guestfs_add_domain> і L</guestfs_launch>, якщо вибрано модуль обробки libvirt. З'єднання libvirt можуть потребувати проходження розпізнавання, наприклад, якщо вони потребують доступу до віддаленого сервера або доступу до служб адміністратора (root) від імені неадміністративного користувача. Розпізнавання libvirt відбувається за допомогою механізму зворотного виклику, див. L<http://libvirt.org/guide/html/Application_Development_Guide-Connections.html>

note: type: textblock
en: You may provide libvirt authentication data by registering a callback for events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>.
uk: Ви можете надавати дані розпізнавання libvirt, зареєструвавши зворотний виклик для подій типу C<GUESTFS_EVENT_LIBVIRT_AUTH>.

note: type: textblock
en: If no such event is registered, then libguestfs uses a libvirt function that provides command-line prompts (C<virConnectAuthPtrDefault>).  This is only suitable for command-line libguestfs programs.
uk: Якщо такої події не зареєстровано, libguestfs використовує функцію libvirt, яка надає запити командного рядка (C<virConnectAuthPtrDefault>). Пасує для програм libguestfs, які керуються за допомогою командного рядка.

note: type: textblock
en: To provide authentication, first call L</guestfs_set_libvirt_supported_credentials> with the list of credentials your program knows how to provide.  Second, register a callback for the C<GUESTFS_EVENT_LIBVIRT_AUTH> event.  The event handler will be called when libvirt is requesting authentication information.
uk: Для забезпечення розпізнавання спочатку викличте L</guestfs_set_libvirt_supported_credentials> зі списком реєстраційних даних, які ваша програма має вміти надавати. Далі, зареєструйте зворотний виклик для події C<GUESTFS_EVENT_LIBVIRT_AUTH>. Обробник подій буде викликано, коли libvirt надішле запит щодо даних для розпізнавання.

note: type: textblock
en: In the event handler, call L</guestfs_get_libvirt_requested_credentials> to get a list of the credentials that libvirt is asking for.  You then need to ask (eg. the user) for each credential, and call L</guestfs_set_libvirt_requested_credential> with the answer.  Note that for each credential, additional information may be available via the calls L</guestfs_get_libvirt_requested_credential_prompt>, L</guestfs_get_libvirt_requested_credential_challenge> or L</guestfs_get_libvirt_requested_credential_defresult>.
uk: У обробнику подій викличте L</guestfs_get_libvirt_requested_credentials> для отримання списку реєстраційних даних, які потрібні libvirt. Далі, вам слід запитати (наприклад, користувача) щодо кожного комплекту реєстраційних даних і викликати L</guestfs_set_libvirt_requested_credential> із відповіддю. Зауважте, що для кожного комплекту реєстраційних даних можуть бути доступними додаткові відомості через виклики L</guestfs_get_libvirt_requested_credential_prompt>, L</guestfs_get_libvirt_requested_credential_challenge> та L</guestfs_get_libvirt_requested_credential_defresult>.

note: type: textblock
en: The example program below should make this clearer.
uk: Наведений нижче приклад програми має зробити це яснішим.

note: type: textblock
en: There is also a more substantial working example program supplied with the libguestfs sources, called F<libvirt-auth.c>.
uk: Також існує суттєвіший робочий приклад програми. Він постачається із початковими кодами libguestfs і називається F<libvirt-auth.c>.

note: type: verbatim
en:    /* Tell libvirt what credentials the program supports. */
       r = guestfs_set_libvirt_supported_credentials (g, creds);
       if (r == -1)
         exit (EXIT_FAILURE);
uk:    /* Повідомляємо libvirt, підтримку яких реєстраційних даних передбачено у програмі. */
       r = guestfs_set_libvirt_supported_credentials (g, creds);
       if (r == -1)
         exit (EXIT_FAILURE);

note: type: verbatim
en:    /* Set up the event handler. */
       eh = guestfs_set_event_callback (
           g, do_auth,
           GUESTFS_EVENT_LIBVIRT_AUTH, 0, NULL);
       if (eh == -1)
         exit (EXIT_FAILURE);
uk:    /* Встановлюємо обробник подій. */
       eh = guestfs_set_event_callback (
           g, do_auth,
           GUESTFS_EVENT_LIBVIRT_AUTH, 0, NULL);
       if (eh == -1)
         exit (EXIT_FAILURE);

note: type: verbatim
en:    /* An example of a call that may ask for credentials. */
       r = guestfs_add_domain (
           g, "dom",
           GUESTFS_ADD_DOMAIN_LIBVIRTURI, "qemu:///system",
           -1);
       if (r == -1)
         exit (EXIT_FAILURE);
uk:    /* Приклад виклику, який може призвести до запиту щодо реєстраційних даних. */
       r = guestfs_add_domain (
           g, "dom",
           GUESTFS_ADD_DOMAIN_LIBVIRTURI, "qemu:///system",
           -1);
       if (r == -1)
         exit (EXIT_FAILURE);

note: type: verbatim
en:    // buf will be the libvirt URI.  buf_len may be ignored.
       printf ("Authentication required for libvirt conn '%s'\n",
               buf);
uk:    // buf буде адресою libvirt. buf_len можна ігнорувати.
       printf ("Authentication required for libvirt conn '%s'\n",
               buf);

note: type: verbatim
en:    // Ask libguestfs what credentials libvirt is demanding.
       creds = guestfs_get_libvirt_requested_credentials (g);
       if (creds == NULL)
         exit (EXIT_FAILURE);
uk:    // Питаємо libguestfs, які реєстраційні дані потрібні libvirt.
       creds = guestfs_get_libvirt_requested_credentials (g);
       if (creds == NULL)
         exit (EXIT_FAILURE);

note: type: verbatim
en:    // Now ask the user for answers.
       for (i = 0; creds[i] != NULL; ++i)
       {
         if (strcmp (creds[i], "authname") == 0 ||
             strcmp (creds[i], "passphrase") == 0)
         {
           prompt =
             guestfs_get_libvirt_requested_credential_prompt (g, i);
           if (prompt && strcmp (prompt, "") != 0)
             printf ("%s: ", prompt);
           free (prompt);
uk:    // Тепер просимо користувача відповісти на питання.
       for (i = 0; creds[i] != NULL; ++i)
       {
         if (strcmp (creds[i], "authname") == 0 ||
             strcmp (creds[i], "passphrase") == 0)
         {
           prompt =
             guestfs_get_libvirt_requested_credential_prompt (g, i);
           if (prompt && strcmp (prompt, "") != 0)
             printf ("%s: ", prompt);
           free (prompt);

note: type: verbatim
en:        // Some code here to ask for the credential.
           // ...
           // Put the reply in 'reply', length 'replylen' (bytes).
uk:        // Тут має бути якийсь код запитів щодо реєстраційних даних.
           // ...
           // Записуємо відповідь до «reply» зі довжиною «replylen» (у байтах).

note: type: =head1
en: CANCELLING LONG TRANSFERS
uk: СКАСОВУВАННЯ ДОВГОТРИВАЛОГО ПЕРЕДАВАННЯ ДАНИХ

note: type: textblock
en: Some operations can be cancelled by the caller while they are in progress.  Currently only operations that involve uploading or downloading data can be cancelled (technically: operations that have C<FileIn> or C<FileOut> parameters in the generator).
uk: Деякі дії може бути скасовано функцією виклику, доки вони виконуються. У поточній версії може бути скасовано лише дії із вивантаження або отримання даних (технічно: дії, які мають параметри C<FileIn> або C<FileOut> у генераторі).

note: type: textblock
en: To cancel the transfer, call L</guestfs_user_cancel>.  For more information, read the description of L</guestfs_user_cancel>.
uk: Щоб скасувати передавання даних, викличте L</guestfs_user_cancel>. Щоб дізнатися більше, ознайомтеся із описом L</guestfs_user_cancel>.

note: type: =head1
en: PRIVATE DATA AREA
uk: ОБЛАСТЬ ПРИВАТНИХ ДАНИХ

note: type: textblock
en: You can attach named pieces of private data to the libguestfs handle, fetch them by name, and walk over them, for the lifetime of the handle.  This is called the private data area and is only available from the C API.
uk: Ви можете долучати іменовані частини приватних даних до дескриптора libguestfs, отримувати їх за назвою і обходити їх протягом часу життя дескриптора. Ця область даних називається областю приватних даних, доступ до неї можна отримувати лише за допомогою програмного інтерфейсу мовою C.

note: type: textblock
en: To attach a named piece of data, use the following call:
uk: Щоб долучити іменовані дані, скористайтеся таким викликом:

note: type: textblock
en: C<key> is the name to associate with this data, and C<data> is an arbitrary pointer (which can be C<NULL>).  Any previous item with the same key is overwritten.
uk: C<key> — назва, яку слід пов'язати з цими даними, а C<data> — довільний вказівник (який може бути C<NULL>). Будь-який попередній запис із тим самим ключем буде перезаписано.

note: type: textblock
en: You can use any C<key> string you want, but avoid keys beginning with an underscore character (libguestfs uses those for its own internal purposes, such as implementing language bindings).  It is recommended that you prefix the key with some unique string to avoid collisions with other users.
uk: Ви можете скористатися будь-яким рядком C<key>, але уникайте ключів, назви яких починаються з символу підкреслювання (libguestfs використовує такі ключі для власних внутрішніх потреб, зокрема реалізації прив'язок до мов програмування). Рекомендуємо додавати до таких ключів якийсь унікальний рядок-префікс, щоб уникнути конфліктів із ключами інших користувачів.

note: type: textblock
en: To retrieve the pointer, use:
uk: Щоб отримати вказівник, скористайтеся таким:

note: type: textblock
en: This function returns C<NULL> if either no data is found associated with C<key>, or if the user previously set the C<key>’s C<data> pointer to C<NULL>.
uk: Ця функція повертає C<NULL>, якщо або не буде знайдено пов'язаних C<key> даних, або користувачем раніше буде встановлено для вказівника C<data> ключа C<key> значення C<NULL>.

note: type: textblock
en: Libguestfs does not try to look at or interpret the C<data> pointer in any way.  As far as libguestfs is concerned, it need not be a valid pointer at all.  In particular, libguestfs does I<not> try to free the data when the handle is closed.  If the data must be freed, then the caller must either free it before calling L</guestfs_close> or must set up a close callback to do it (see L</GUESTFS_EVENT_CLOSE>).
uk: Libguestfs не намагається переходити чи обробляти у будь-який спосіб вказівник C<data>. У межах libguestfs це значення взагалі не повинне бути чинним вказівником. Зокрема, libguestfs I<не> намагатиметься звільнити пам'ять від data, коли дескриптор буде закриватися. Якщо data слід звільнити, функція виклику має зробити це або до виклику L</guestfs_close>, або має встановити зворотний виклик закриття для цього (див. L</GUESTFS_EVENT_CLOSE>).

note: type: textblock
en: To walk over all entries, use these two functions:
uk: Для обходу усіх записів скористайтеся цими двома функціями:

note: type: textblock
en: C<guestfs_first_private> returns the first key, pointer pair ("first" does not have any particular meaning -- keys are not returned in any defined order).  A pointer to the key is returned in C<*key_rtn> and the corresponding data pointer is returned from the function.  C<NULL> is returned if there are no keys stored in the handle.
uk: C<guestfs_first_private> повертає першу пару ключ, вказівник (слово «перша» тут немає певного точного змісту — ключі повертаються без якогось визначеного порядку). Функцією повертається вказівник на ключ у C<*key_rtn> і відповідний вказівник на дані. Якщо у дескрипторі не зберігається ніяких ключів, буде повернуто C<NULL>.

note: type: textblock
en: C<guestfs_next_private> returns the next key, pointer pair.  The return value of this function is C<NULL> if there are no further entries to return.
uk: C<guestfs_next_private> повертає наступну пару ключ, вказівник. Ця функція поверне C<NULL>, якщо подальших записів у списку ключів не існує.

note: type: textblock
en: Notes about walking over entries:
uk: Нотатки щодо обходу записів:

note: type: textblock
en: You must not call C<guestfs_set_private> while walking over the entries.
uk: Викликати C<guestfs_set_private> під час обходу списку записів не можна.

note: type: textblock
en: The handle maintains an internal iterator which is reset when you call C<guestfs_first_private>.  This internal iterator is invalidated when you call C<guestfs_set_private>.
uk: Дескриптор супроводжує внутрішній ітератор, значення якого буде скинуто, як ви викличете C<guestfs_first_private>. Внутрішній ітератор втратить чинність, якщо буде викликано C<guestfs_set_private>.

note: type: textblock
en: If you have set the data pointer associated with a key to C<NULL>, ie:
uk: Якщо вами встановлено для вказівника на дані, пов'язаного із ключем, значення C<NULL>, тобто:

note: type: textblock
en: then that C<key> is not returned when walking.
uk: цей ключ C<key> не буде повернуто під час обходу списку.

note: type: textblock
en: C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, C<guestfs_next_private> or C<guestfs_set_private>.
uk: C<*key_rtn> є чинним лише до наступного виклику C<guestfs_first_private>, C<guestfs_next_private> або C<guestfs_set_private>.

note: type: textblock
en: The following example code shows how to print all keys and data pointers that are associated with the handle C<g>:
uk: У наведеному нижче прикладі коду показано, як вивести усі ключі і вказівники на дані, які пов'язано із дескриптором C<g>:

note: type: textblock
en: More commonly you are only interested in keys that begin with an application-specific prefix C<foo_>.  Modify the loop like so:
uk: Типово, вам потрібні будуть лише ключі, кі починаються зі специфічного для програми префікса C<foo_>. Змініть цикл ось так:

note: type: textblock
en: If you need to modify keys while walking, then you have to jump back to the beginning of the loop.  For example, to delete all keys prefixed with C<foo_>:
uk: Якщо під час обходу ви хочете змінювати ключі, вам слід перестрибувати до початку циклу. Наприклад, щоб вилучити усі ключі з префіксом C<foo_>, зробіть так:

note: type: verbatim
en:   const char *key;
      void *data;
     again:
      data = guestfs_first_private (g, &key);
      while (data != NULL)
        {
          if (strncmp (key, "foo_", strlen ("foo_")) == 0)
            {
              guestfs_set_private (g, key, NULL);
              /* note that 'key' pointer is now invalid, and so is
                 the internal iterator */
              goto again;
            }
          data = guestfs_next_private (g, &key);
        }
uk:   const char *key;
      void *data;
     again:
      data = guestfs_first_private (g, &key);
      while (data != NULL)
        {
          if (strncmp (key, "foo_", strlen ("foo_")) == 0)
            {
              guestfs_set_private (g, key, NULL);
              /* зауважте, що вказівник 'key' тепер є некоректним, як і
                 внутрішній ітератор */
              goto again;
            }
          data = guestfs_next_private (g, &key);
        }

note: type: textblock
en: Note that the above loop is guaranteed to terminate because the keys are being deleted, but other manipulations of keys within the loop might not terminate unless you also maintain an indication of which keys have been visited.
uk: Зауважте, що наведений вище цикл завжди завершуватиметься, оскільки ключі вилучаються. Втім, інші дії з ключами у циклі можуть призвести до того, що програма не зможе вийти з циклу, якщо не вестиметься супровід списку вже відвіданих ключів.

note: type: textblock
en: The libguestfs C library can be probed using systemtap or DTrace.  This is true of any library, not just libguestfs.  However libguestfs also contains static markers to help in probing internal operations.
uk: Бібліотеку C libguestfs можна зондувати за допомогою systemtap або DTrace. Це стосується будь-якої бібліотеки, не лише libguestfs. Втім, у libguestfs також є статичні позначки, які спрощують зондування внутрішніх дій.

note: type: textblock
en: You can list all the static markers by doing:
uk: Отримати список статичних позначок можна такою командою:

note: type: textblock
en: B<Note:> These static markers are I<not> part of the stable API and may change in future versions.
uk: B<Зауваження:> ці статичні позначки I<не> є частиною стабільного програмного інтерфейсу, їх може бути змінено у майбутніх версіях.

note: type: =head2
en: SYSTEMTAP SCRIPT EXAMPLE
uk: ПРИКЛАД СКРИПТУ SYSTEMTAP

note: type: textblock
en: This script contains examples of displaying both the static markers and some ordinary C entry points:
uk: Цей скрипт містить приклади показу статичних позначок і деяких звичайних точок входу C:

note: type: verbatim
en:  /* Display all calls to guestfs_mkfs* functions. */
     probe process("/usr/lib*/libguestfs.so.0")
               .function("guestfs_mkfs*") ? {
           display_time();
           printf ("\t%s %s\n", probefunc(), $$parms);
     }
uk:  /* Показати усі виклики функцій guestfs_mkfs*. */
     probe process("/usr/lib*/libguestfs.so.0")
               .function("guestfs_mkfs*") ? {
           display_time();
           printf ("\t%s %s\n", probefunc(), $$parms);
     }

note: type: textblock
en: The script above can be saved to F<test.stap> and run using the L<stap(1)> program.  Note that you either have to be root, or you have to add yourself to several special stap groups.  Consult the systemtap documentation for more information.
uk: Наведений вище скрипт можна зберегти із назвою F<test.stap> і запустити його за допомогою програми L<stap(1)>. Зауважте, що вам знадобляться або права доступу root, або треба буде додати вашого користувача до декількох спеціалізованих груп stap. Зверніться до документації із systemtap, щоб дізнатися більше.

note: type: textblock
en: In another terminal, run a guestfish command such as this:
uk: У іншому терміналі запустіть програму guestfish ось так:

note: type: textblock
en: In the first terminal, stap trace output similar to this is shown:
uk: У першому терміналі виведені stap дані трасування будуть подібними до таких:

note: type: =head1
en: LIBGUESTFS VERSION NUMBERS
uk: НУМЕРАЦІЯ ВЕРСІЙ LIBGUESTFS

note: type: textblock
en: Since April 2010, libguestfs has started to make separate development and stable releases, along with corresponding branches in our git repository.  These separate releases can be identified by version number:
uk: З квітня 2010 року розпочалася окрема історія розробки libguestfs і стабільні випуски бібліотеки, які позначалися відповідними гілками у нашому сховищі коду git. Ці окремі випуски можна визначити за номерами версій:

note: type: verbatim
en:                  even numbers for stable: 1.2.x, 1.4.x, ...
           .-------- odd numbers for development: 1.3.x, 1.5.x, ...
           |
           v
     1  .  3  .  5
     ^           ^
     |           |
     |           `-------- sub-version
     |
     `------ always '1' because we don't change the ABI
uk:                  парні номери для стабільних: 1.2.x, 1.4.x, ...
           .-------- непарні номери для тестових: 1.3.x, 1.5.x, ...
           |
           v
     1  .  3  .  5
     ^           ^
     |           |
     |           `-------- підверсія
     |
     `------ завжди «1», оскільки ми не міняємо ABI

note: type: textblock
en: Thus "1.3.5" is the 5th update to the development branch "1.3".
uk: Таким чином, «1.3.5» — це п'яте оновлення у гілці для розробки «1.3».

note: type: textblock
en: As time passes we cherry pick fixes from the development branch and backport those into the stable branch, the effect being that the stable branch should get more stable and less buggy over time.  So the stable releases are ideal for people who don't need new features but would just like the software to work.
uk: З часом ми переносимо виправлення із гілки для розробки і портуємо їх на стабільну гілку. У результаті з часом стабільна гілка стає стабільнішою, у ній стає менше вад. Отже, стабільні випуски ідеальні для тих, кому не потрібні нові можливості, а потрібне лише завжди працездатне програмне забезпечення.

note: type: textblock
en: Our criteria for backporting changes are:
uk: Наші критерії для зворотного портування змін:

note: type: textblock
en: Documentation changes which don’t affect any code are backported unless the documentation refers to a future feature which is not in stable.
uk: Зміни до документації, які не змінюють код, портуються до попередніх версій, якщо документація стосується не майбутніх можливостей, якщо таких можливостей немає у стабільній гілці.

note: type: textblock
en: Bug fixes which are not controversial, fix obvious problems, and have been well tested are backported.
uk: Портуються до попередніх версій виправлення вад, які не є суперечливими, виправляють очевидні проблеми і є належним чином перевіреними.

note: type: textblock
en: Simple rearrangements of code which shouldn't affect how it works get backported.  This is so that the code in the two branches doesn't get too far out of step, allowing us to backport future fixes more easily.
uk: Портуються до попередніх версії прості переупорядкування коду, які не стосуються його працездатності. Це ми робимо для того, щоб дві гілки розробки не дуже різнилися між собою. Це спрощує зворотне портування майбутніх виправлень.

note: type: textblock
en: We I<don’t> backport new features, new APIs, new tools etc, except in one exceptional case: the new feature is required in order to implement an important bug fix.
uk: Ми I<не> портуємо до попередніх версій нові можливості, нові інструменти тощо, окрім одного виключного випадку: нова можливість потрібна для реалізації виправлення важливої вади.

note: type: textblock
en: A new stable branch starts when we think the new features in development are substantial and compelling enough over the current stable branch to warrant it.  When that happens we create new stable and development versions 1.N.0 and 1.(N+1).0 [N is even].  The new dot-oh release won't necessarily be so stable at this point, but by backporting fixes from development, that branch will stabilize over time.
uk: Нова стабільна гілка започатковується тоді, коли ми вважаємо нові можливості у розробці суттєвими і достатньо новаторськими щодо поточної стабільної гілки. Коли виконуються ці умови, ми створюємо нову стабільну гілку і нову гілку для розробки із версіями 1.N.0 і 1.(N+1).0, відповідно [N — парне число]. На цьому етапі новий стабільний випуск із нуликом наприкінці номера версії не обов'язково є аж надто стабільним, але з портуванням виправлень із гілки для розробки стабільна гілка стає все стабільнішою з часом.

note: type: =head1
en: LIMITS
uk: ОБМЕЖЕННЯ

note: type: =head2
en: PROTOCOL LIMITS
uk: ОБМЕЖЕННЯ ПРОТОКОЛУ

note: type: textblock
en: Internally libguestfs uses a message-based protocol to pass API calls and their responses to and from a small "appliance" (see L<guestfs-internals(1)> for plenty more detail about this).  The maximum message size used by the protocol is slightly less than 4 MB.  For some API calls you may need to be aware of this limit.  The API calls which may be affected are individually documented, with a link back to this section of the documentation.
uk: На внутрішньому рівні libguestfs використовує заснований на повідомленнях протокол для передавання викликів програмного інтерфейсу і відповідей на них до малої «базової системи» та з неї (на сторінці підручника L<guestfs-internals(1)> наведено докладний опис цього). Максимальний розмір повідомлення, яке використовується у протоколі, трохи менший за 4 МБ. Для деяких викликів програмного інтерфейсу слід зважати на це обмеження. Виклики програмного інтерфейсу, яких це стосується, документовано окремо зі зворотним посиланням на цей розділ документації.

note: type: textblock
en: In libguestfs E<lt> 1.19.32, several calls had to encode either their entire argument list or their entire return value (or sometimes both)  in a single protocol message, and this gave them an arbitrary limitation on how much data they could handle.  For example, L</guestfs_cat> could only download a file if it was less than around 4 MB in size.  In later versions of libguestfs, some of these limits have been removed.  The APIs which were previously limited but are now unlimited (except perhaps by available memory) are listed below.  To find out if a specific API is subject to protocol limits, check for the warning in the API documentation which links to this section, and remember to check the version of the documentation that matches the version of libguestfs you are using.
uk: У libguestfs E<lt> 1.19.32 декільком викликам доводилося або кодувати увесь список аргументів, або кодувати усе повернуте значення (а іноді, і обидва цих елементи виклику) у єдине повідомлення протоколу. Це призводило до довільного обмеження щодо об'єму даних, з яким могли впоратися ці виклики. Наприклад, функція L</guestfs_cat> могла отримати файл, лише якщо його розмір був меншим за близьке до 4 МБ значення. У пізніших версіях libguestfs деякі з цих обмежень було знято. Програмні інтерфейси, які раніше було обмежено, а тепер не обмежено (окрім, можливо, доступної пам'яті у системі), наведено у списку нижче. Щоб визначити, чи підлягає певний програмний інтерфейс обмеженням за протоколом, пошукайте у документації із програмного інтерфейсу попередження із посиланням на цей розділ. Не забувайте також користуватися версією документації, яка збігається із версією libguestfs, якою ви користуєтеся.

note: type: textblock
en: See also L</UPLOADING> and L</DOWNLOADING> for further information about copying large amounts of data into or out of a filesystem.
uk: Див. також розділи L</ВИВАНТАЖЕННЯ> і L</ОТРИМАННЯ>, щоб дізнатися більше про копіювання значних обсягів даних до файлової системи та з неї.

note: type: =head2
en: MAXIMUM NUMBER OF DISKS
uk: МАКСИМАЛЬНА КІЛЬКІСТЬ ДИСКІВ

note: type: textblock
en: In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that may be added by calling L</guestfs_max_disks>.  In earlier versions of libguestfs (ie. where this call is not available) you should assume the maximum is 25.
uk: У libguestfs E<ge> 1.19.7 ви можете отримати максимальну кількість дисків, які може бути додано, за допомогою команди L</guestfs_max_disks>. У попередніх версіях libguestfs (тобто версіях, де цієї команди не було) вам слід користуватися типовим значенням цієї кількості — 25.

note: type: textblock
en: The rest of this section covers implementation details, which could change in future.
uk: Решта цього розділу стосується подробиць реалізації, які може бути змінено у майбутніх версіях.

note: type: textblock
en: When using virtio-scsi disks (the default if available in qemu) the current limit is B<255> disks.  When using virtio-blk (the old default) the limit is around B<27> disks, but may vary according to implementation details and whether the network is enabled.
uk: Якщо використовуються диски virtio-scsi (типовий режим, якщо він доступний, у qemu), поточним обмеженням є кількість у B<255> дисків. Якщо використовуються диски virtio-blk (типовий режим у застарілих версіях) кількість дисків обмежено B<27>. Останнє обмеження може бути іншим, залежно від подробиць реалізації та того, чи увімкнено роботу у мережі.

note: type: textblock
en: Virtio-scsi as used by libguestfs is configured to use one target per disk, and 256 targets are available.
uk: Virtio-scsi, як воно використовується у libguestfs, налаштовано на використання одного диска призначення, доступними є 256 призначень.

note: type: textblock
en: Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 slots, but some of these are used for other purposes.
uk: Virtio-blk споживає 1 віртуальний слот PCI на диск, а кількість слотів PCI обмежено значенням 31, але деякі зі слотів використовуються для інших потреб.

note: type: textblock
en: One virtual disk is used by libguestfs internally.
uk: Один віртуальний диск використовується libguestfs для виконання внутрішніх завдань.

note: type: textblock
en: Before libguestfs 1.19.7, disk names had to be a single character (eg. F</dev/sda> through F</dev/sdz>), and since one disk is reserved, that meant the limit was 25.  This has been fixed in more recent versions.
uk: До версії libguestfs 1.19.7 назви дисків мали складатися із одного символу (наприклад, від F</dev/sda> до F</dev/sdz>), а оскільки один диск було зарезервовано, це означало, що дисків могло бути не більше 25. Цю ваду виправлено у новіших версіях бібліотеки.

note: type: textblock
en: In libguestfs E<ge> 1.20 it is possible to hot plug disks.  See L</HOTPLUGGING>.
uk: У libguestfs E<ge> 1.20 передбачено можливість з'єднання дисків у «гарячому» режимі. Див. L</З'ЄДНАННЯ У «ГАРЯЧОМУ» РЕЖИМІ>.

note: type: =head2
en: MAXIMUM NUMBER OF PARTITIONS PER DISK
uk: МАКСИМАЛЬНА КІЛЬКІСТЬ РОЗДІЛІВ НА ОДНОМУ ДИСКУ

note: type: textblock
en: Virtio limits the maximum number of partitions per disk to B<15>.
uk: Virtio обмежує максимальну кількість розділів на диску значенням B<15>.

note: type: textblock
en: This is because it reserves 4 bits for the minor device number (thus F</dev/vda>, and F</dev/vda1> through F</dev/vda15>).
uk: Причиною є те, що інтерфейс резервує 4 біти для номера підлеглого пристрою (отже, F</dev/vda> може містити розділи від F</dev/vda1> до F</dev/vda15>).

note: type: textblock
en: If you attach a disk with more than 15 partitions, the extra partitions are ignored by libguestfs.
uk: Якщо ви долучите диски, на яких понад 15 розділів, «зайві» розділи ігноруватимуться у libguestfs.

note: type: =head2
en: MAXIMUM SIZE OF A DISK
uk: МАКСИМАЛЬНИЙ РОЗМІР ДИСКА

note: type: textblock
en: Probably the limit is between 2**63-1 and 2**64-1 bytes.
uk: Ймовірно, верхня межа перебуває між 2**63-1 і 2**64-1 байтами.

note: type: textblock
en: We have tested block devices up to 1 exabyte (2**60 or 1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host filesystem.
uk: Нами було перевірено працездатність блокових пристроїв аж до 1 ексабайта (2**60 або 1.152.921.504.606.846.976 байтів) із використанням розріджених файлів, що зберігалися на файловій системі XFS основної операційної системи.

note: type: textblock
en: Although libguestfs probably does not impose any limit, the underlying host storage will.  If you store disk images on a host ext4 filesystem, then the maximum size will be limited by the maximum ext4 file size (currently 16 TB).  If you store disk images as host logical volumes then you are limited by the maximum size of an LV.
uk: Хоча, ймовірно, libguestfs не накладає жодних обмежень, базове сховище даних у основній операційній системі може накладати такі обмеження. Якщо ви зберігаєте образи дисків на файловій системі ext4 у основній операційній системі, максимальний розмір образу буде обмежено максимальним розміром файла у ext4 (у поточній версії — 16 ТБ). Якщо ви зберігаєте образи дисків як логічні томи у основній операційній системі, розмір образу буде обмежено максимальним розміром логічного тому.

note: type: textblock
en: For the hugest disk image files, we recommend using XFS on the host for storage.
uk: Для величезних файлів образів дисків ми рекомендуємо використовувати XFS для збереження даних у основній операційній системі.

note: type: =head2
en: MAXIMUM SIZE OF A PARTITION
uk: МАКСИМАЛЬНИЙ РОЗМІР РОЗДІЛУ

note: type: textblock
en: The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector numbers.  Assuming a 512 byte sector size, this means that MBR cannot address a partition located beyond 2 TB on the disk.
uk: Схема поділу на розділи MBR (тобто класична для MS-DOS схема) використовує 32-бітові номери секторів. Якщо розмір сектору дорівнює 512 байтів, у MBR не можна буде записати адреси розділів, розташовані за межею у  2 ТБ на диску.

note: type: textblock
en: It is recommended that you use GPT partitions on disks which are larger than this size.  GPT uses 64 bit sector numbers and so can address partitions which are theoretically larger than the largest disk we could support.
uk: Якщо розмір диска перевищує 2 ТБ, рекомендуємо вам використовувати таблицю розділів GPT. У GPT використовуються 64-бітові номери секторів, отже, теоретично, можна адресувати диски, об'єм яких перевищує найбільший підтримуваний у нашій бібліотеці розмір.

note: type: =head2
en: MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES
uk: МАКСИМАЛЬНИЙ РОЗМІР ФАЙЛОВОЇ СИСТЕМИ, ФАЙЛІВ, КАТАЛОГІВ

note: type: textblock
en: This depends on the filesystem type.  libguestfs itself does not impose any known limit.  Consult Wikipedia or the filesystem documentation to find out what these limits are.
uk: Це залежить від типу файлової системи. Сама libguestfs не накладає жодних відомих обмежень. Зверніться до Вікіпедії та документації із файлової системи, щоб ознайомитися із обмеженнями, які накладає файлова система.

note: type: =head2
en: MAXIMUM UPLOAD AND DOWNLOAD
uk: МАКСИМАЛЬНІ ОБСЯГИ ВИВАНТАЖЕННЯ І ОТРИМАННЯ ДАНИХ

note: type: textblock
en: The API functions L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized uploads and downloads.
uk: Функції програмного інтерфейсу L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</guestfs_tar_out> та подібні до них функції не обмежують обсяги вивантаження та отримання даних.

note: type: =head2
en: INSPECTION LIMITS
uk: ОБМЕЖЕННЯ ІНСПЕКТУВАННЯ

note: type: textblock
en: The inspection code has several arbitrary limits on things like the size of Windows Registry hive it will read, and the length of product name.  These are intended to stop a malicious guest from consuming arbitrary amounts of memory and disk space on the host, and should not be reached in practice.  See the source code for more information.
uk: У коді засобу інспектування передбачено декілька довільних обмежень на речі, подібні до розміру рою реєстру Windows, який він може прочитати, та довжини назви продукту. Ці обмеження введено навмисно, щоб запобігти можливості споживання довільних обсягів пам'яті та місця на диску в основній системі для створених зловмисниками образів систем. Втім, на практиці ці обмеження ніколи не перевищуються. Ознайомтеся із початковим кодом бібліотеки, щоб дізнатися більше.

note: type: =head1
en: ADVANCED MACHINE READABLE OUTPUT
uk: РОЗШИРЕНЕ ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ

note: type: textblock
en: Some of the tools support a I<--machine-readable> option, which is generally used to make the output more machine friendly, for easier parsing for example.  By default, this output goes to stdout.
uk: У деяких з програм передбачено параметр I<--machine-readable>, який загалом використовується для виведення даних у зручнішому для машинної обробки форматі. Типово, виведені дані спрямовуватимуться до stdout.

note: type: textblock
en: When using the I<--machine-readable> option, the progress, information, warning, and error messages are also printed in JSON format for easier log tracking.  Thus, it is highly recommended to redirect the machine-readable output to a different stream.  The format of these JSON messages is like the following (actually printed within a single line, below it is indented for readability):
uk: Якщо використано параметр I<--machine-readable>, дані щодо поступу, відомості, попередження та повідомлення про помилки також буде виведено у форматі JSON для полегшення стеження за журналом. Таким чином, наполегливо рекомендуємо переспрямувати придатне до обробки комп'ютером виведення до іншого потоку. Формат цих повідомлень JSON є приблизно таким (насправді буде виведено до одного рядка, нижче відступи додано для зручності читання):

note: type: textblock
en: C<type> can be: C<message> for progress messages, C<info> for information messages, C<warning> for warning messages, and C<error> for error message.  C<timestamp> is the L<RFC 3339|https://www.ietf.org/rfc/rfc3339.txt> timestamp of the message.
uk: Значенням C<type> може бути таке: C<message> для повідомлень щодо поступу, C<info> для сповіщувальних повідомлень, C<warning> для попереджень і C<error> для повідомлень про помилки. C<timestamp> є часовою позначкою повідомлення за L<RFC 3339|https://www.ietf.org/rfc/rfc3339.txt>.

note: type: textblock
en: In addition to that, a subset of these tools support an extra string passed to the I<--machine-readable> option: this string specifies where the machine-readable output will go.
uk: Крім того, у деяких програмах передбачено підтримку додаткового рядка, який передається параметру I<--machine-readable>: цей рядок, визначає, куди слід спрямовувати виведення зручних для машинної обробки даних.

note: type: textblock
en: The possible values are:
uk: Можливі значення:

note: type: textblock
en: The output goes to the specified I<fd>, which is a file descriptor already opened for writing.
uk: Виведені дані буде записано до вказаного I<fd>, який є дескриптором файла, який вже відкрито для запису.

note: type: =item
en: B<file:>F<filename>
uk: B<file:>F<назва_файла>

note: type: textblock
en: The output goes to the specified F<filename>.
uk: Дані буде виведено до вказаного файла F<назва_файла>.

note: type: textblock
en: The output goes to stdout.  This is basically the same as the default behaviour of I<--machine-readable> with no parameter, although stdout as output is specified explicitly.
uk: Виведені дані спрямовуються до stdout. Загалом, те саме, що і типова поведінка I<--machine-readable> без параметра, але тут stdout вказується для виведення явним чином.

note: type: textblock
en: The output goes to stderr.
uk: Виведення спрямовується до stderr.

note: type: textblock
en: Choose the default way to create the appliance.  See L</guestfs_set_backend> and L</BACKEND>.
uk: Вибрати типовий спосіб створення базової системи. Див. L</guestfs_set_backend> і L</МОДУЛЬ>.

note: type: textblock
en: A colon-separated list of backend-specific settings.  See L</BACKEND>, L</BACKEND SETTINGS>.
uk: Список відокремлених двокрапками параметрів, специфічних для модуля обробки. Див. L</МОДУЛЬ>, L</ПАРАМЕТРИ МОДУЛЯ>.

note: type: textblock
en: See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>.
uk: Див. також L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>.

note: type: textblock
en: Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same effect as calling C<guestfs_set_verbose (g, 1)>.
uk: Встановіть значення C<LIBGUESTFS_DEBUG=1>, щоб увімкнути режим докладних повідомлень. Той самий ефект має виклик C<guestfs_set_verbose (g, 1)>.

note: type: textblock
en: See also L</QEMU WRAPPERS> above.
uk: Див. також L</ОБГОРТКИ QEMU> вище.

note: type: textblock
en: Set the path that libguestfs uses to search for a supermin appliance.  See the discussion of paths in section L</PATH> above.
uk: Встановити шлях, яким libguestfs користуватиметься для пошуку базової системи supermin. Ознайомтеся із обговоренням щодо шляхів у розділі L</ШЛЯХ> вище.

note: type: textblock
en: See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>.
uk: Див. також L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>.

note: type: textblock
en: Set C<LIBGUESTFS_TRACE=1> to enable command traces.  This has the same effect as calling C<guestfs_set_trace (g, 1)>.
uk: Встановіть значення C<LIBGUESTFS_TRACE=1>, щоб увімкнути трасування команд. Той самий ефект має виклик C<guestfs_set_trace (g, 1)>.

note: type: textblock
en: Libguestfs may run some external programs, and relies on C<$PATH> being set to a reasonable value.  If using the libvirt backend, libvirt will not work at all unless C<$PATH> contains the path of qemu/KVM.  Note that PHP by default removes C<$PATH> from the environment which tends to break everything.
uk: Libguestfs може запускати зовнішні програми. Бібліотека покладається на те, що вміст змінної C<$PATH> встановлено належним чином. Якщо використовується модуль обробки libvirt, libvirt не працюватиме взагалі, якщо у C<$PATH> не міститиметься шляху до qemu/KVM. Зауважте, що типово PHP вилучає C<$PATH> з середовища, що може зруйнувати усі зв'язки у ньому.

note: type: textblock
en: Examples written in C: L<guestfs-examples(3)>.
uk: Приклади мовою програмування C: L<guestfs-examples(3)>.

note: type: textblock
en: Language bindings: L<guestfs-erlang(3)>, L<guestfs-gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>.
uk: Прив'язки до мов програмування: L<guestfs-erlang(3)>, L<guestfs-gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>.

note: type: textblock
en: Tools: L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan(1)>, L<virt-builder(1)>, L<virt-builder-repository(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-customize(1)>, L<virt-df(1)>, L<virt-diff(1)>, L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, L<virt-log(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-p2v(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-tail(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-v2v(1)>, L<virt-win-reg(1)>.
uk: Інструменти: L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan(1)>, L<virt-builder(1)>, L<virt-builder-repository(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-customize(1)>, L<virt-df(1)>, L<virt-diff(1)>, L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, L<virt-log(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-p2v(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-tail(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-v2v(1)>, L<virt-win-reg(1)>.

note: type: textblock
en: Other libguestfs topics: L<guestfs-building(1)>, L<guestfs-faq(1)>, L<guestfs-hacking(1)>, L<guestfs-internals(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes(1)>, L<guestfs-security(1)>, L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>.
uk: Інші питання щодо libguestfs: L<guestfs-building(1)>, L<guestfs-faq(1)>, L<guestfs-hacking(1)>, L<guestfs-internals(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes(1)>, L<guestfs-security(1)>, L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>.

note: type: textblock
en: Related manual pages: L<supermin(1)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, L<sd-journal(3)>.
uk: Пов’язані сторінки підручника: L<supermin(1)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, L<sd-journal(3)>.

note: type: textblock
en: Website: L<http://libguestfs.org/>
uk: Сайт: L<http://libguestfs.org/>

note: type: textblock
en: Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm(8)>, L<disktype(1)>.
uk: Інструменти подібного призначення: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm(8)>, L<disktype(1)>.

note: type: textblock
en: guestfs-lua - How to use libguestfs from Lua
uk: guestfs-lua — як використовувати libguestfs з Lua

note: type: textblock
en: This manual page documents how to call libguestfs from the Lua programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Lua. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head2
en: REQUIRING THE MODULE
uk: ВСТАНОВЛЕННЯ ВИМОГИ ЩОДО МОДУЛЯ

note: type: textblock
en: C<require "guestfs"> returns the module, so you have to assign it to a local variable.  Typical usage is:
uk: C<require "guestfs"> повертає модуль, тому вам слід пов'язати це значення із локальною змінною. Типове використання:

note: type: textblock
en: (you can use any name you want instead of C<G>, but in the examples in this man page we always use C<G>).
uk: (ви можете використовувати будь-яку назву замість C<G>, але у прикладах на цій сторінці підручника ми завжди використовуватимемо C<G>).

note: type: textblock
en: To create a new handle, call:
uk: Для створення дескриптора викличте:

note: type: textblock
en: You can also use the optional arguments:
uk: Ви також можете скористатися необов'язковими аргументами:

note: type: textblock
en: to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>.
uk: для встановлення прапорців C<GUESTFS_CREATE_NO_ENVIRONMENT> і/або C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>.

note: type: textblock
en: The handle will be closed by the garbage collector, but you can also close it explicitly by doing:
uk: Дескриптор буде закрито засобом збирання сміття, але ви також можете закрити його явним чином, ось так:

note: type: =head2
en: CALLING METHODS
uk: ЯК ВИКЛИКАТИ МЕТОДИ

note: type: textblock
en: Use the ordinary Lua convention for calling methods on the handle.  For example:
uk: Скористайтеся звичайною методикою Lua для виклику методів для дескриптора. Приклад:

note: type: textblock
en: For functions that take optional arguments, the first arguments are the non-optional ones.  The optional final argument is a table supplying the optional arguments.
uk: Для функцій, які приймають необов'язкові аргументи, першими аргументами мають бути обов'язкові. Необов'язковим останнім аргументом є таблиця із необов'язковими аргументами.

note: type: =head2
en: 64 BIT VALUES
uk: 64-БІТОВІ ЗНАЧЕННЯ

note: type: textblock
en: Currently 64 bit values must be passed as strings, and are returned as strings.  This is because 32 bit Lua cannot handle 64 bit integers properly.  We hope to come up with a better solution later.
uk: У поточній версії 64-бітові значення має бути передано як рядки, також ці значення повертаються функціями як рядки. Причиною є те, що у 32-бітовому інтерпретаторі Lua неможлива належна обробка цілих 64-бітових чисел. Сподіваємося, згодом нами буде знайдено прийнятніше рішення.

note: type: textblock
en: Most (but not all) errors are converted into objects (ie. tables)  containing the following fields:
uk: Більшість (але не усі) помилок перетворюються на об'єкти (тобто таблиці), що містять такі поля:

note: type: textblock
en: The error message (corresponding to L<guestfs(3)/guestfs_last_error>).
uk: Повідомлення про помилку (відповідно до L<guestfs(3)/guestfs_last_error>).

note: type: textblock
en: The C<errno> (corresponding to L<guestfs(3)/guestfs_last_errno>).
uk: C<errno> (відповідно до L<guestfs(3)/guestfs_last_errno>).

note: type: textblock
en: These objects also have C<__tostring> functions attached to them so you can use C<tostring> (or implicit conversion) to convert them into printable strings.
uk: Із цими об'єктами також пов'язано з функціями C<__tostring>, отже ви можете скористатися функцією C<tostring> (або неявним перетворенням) для перетворення їх на придатні до виведення рядки.

note: type: textblock
en: Note that the library also throws some errors as plain strings.  You may need to check the type.
uk: Зауважте, що бібліотека також виводить деякі помилки як прості рядки. Можливо, вам слід перевірити тип цих даних.

note: type: textblock
en: Events can be registered by calling C<set_event_callback>:
uk: Реєструвати події можна за допомогою викликів C<set_event_callback>:

note: type: textblock
en: or to register a single callback for multiple events make the second argument a list:
uk: або можна зареєструвати єдиний зворотний виклик для декількох подій, зробивши другим аргументом список:

note: type: textblock
en: A list of all valid event types (strings) is in the global variable C<G.event_all>.
uk: Список усіх чинних типів подій (рядків) зберігається у загальній змінній C<G.event_all>.

note: type: textblock
en: The callback (C<cb>) is called with the following parameters:
uk: Зворотний виклик (C<cb>) викликається із такими параметрами:

note: type: verbatim
en:  function cb (g, event, eh, flags, buf, array)
       -- g is the guestfs handle
       -- event is a string which is the name of the event that fired
       -- flags is always zero
       -- buf is the data buffer (eg. log message etc)
       -- array is the array of 64 bit ints (eg. progress bar status etc)
       ...
     end
uk:  function cb (g, event, eh, flags, buf, array)
       -- g i— дескриптор guestfs
       -- event — рядок, який є назвою події, яка сталася
       -- flags — завжди нуль
       -- buf — буфер даних (наприклад, повідомлення журналу тощо)
       -- array — масив з 64-бітових цілих чисел (наприклад, стан смужки поступу тощо)
       ...
     end

note: type: textblock
en: You can also remove a callback using the event handle (C<eh>) that was returned when you registered the callback:
uk: Ви також можете вилучити зворотний виклик за допомогою дескриптора події (C<eh>), який було повернуто, коли ви реєстрували зворотний виклик:

note: type: textblock
en: virt-make-fs - Make a filesystem from a tar archive or files
uk: virt-make-fs —створення файлової системи на основі архіву tar або файлів

note: type: verbatim
en:  virt-make-fs [--options] input.tar output.img
uk:  virt-make-fs [--параметри] вхідний.tar вихідний.img

note: type: verbatim
en:  virt-make-fs [--options] input.tar.gz output.img
uk:  virt-make-fs [--параметри] вхідний.tar.gz вихідний.img

note: type: verbatim
en:  virt-make-fs [--options] directory output.img
uk:  virt-make-fs [--параметри] каталог вихідний.img

note: type: textblock
en: Virt-make-fs is a command line tool for creating a filesystem from a tar archive or some files in a directory.  It is similar to tools like L<mkisofs(1)>, L<genisoimage(1)> and L<mksquashfs(1)>.  Unlike those tools, it can create common filesystem types like ext2/3 or NTFS, which can be useful if you want to attach these filesystems to existing virtual machines (eg. to import large amounts of read-only data to a VM).
uk: Virt-make-fs — інструмент командного рядка для створення файлової системи на основі архіву tar або якихось файлів у каталозі. Подібний для інструментів L<mkisofs(1)>, L<genisoimage(1)> та L<mksquashfs(1)>. На відміну від цих інструментів він може створювати файлові системи стандартних типів, зокрема ext2/3 або NTFS, що може бути корисним, якщо ви хочете долучити ці файлові системи до наявних віртуальних машин (наприклад, щоб імпортувати великі обсяги доступних лише для читання даних до віртуальної машини).

note: type: textblock
en: To create blank disks, use L<virt-format(1)>.  To create complex layouts, use L<guestfish(1)>.
uk: Для створення порожніх дисків скористайтеся L<virt-format(1)>. Для створення складних компонувань скористайтеся L<guestfish(1)>.

note: type: textblock
en: Basic usage is:
uk: Базовий варіант використання:

note: type: verbatim
en:  virt-make-fs input output.img
uk:  virt-make-fs вхідні_дані вихідний.образ

note: type: textblock
en: where C<input> is either a directory containing files that you want to add, or a tar archive (either uncompressed tar or gzip-compressed tar); and F<output.img> is a disk image.  The input type is detected automatically.  The output disk image defaults to a raw ext2 sparse image unless you specify extra flags (see L</OPTIONS> below).
uk: де C<вхідні_дані> є або каталогом, де зберігаються файли, які ви хочете додати, або архів tar (нестиснений або стиснений за допомогою gzip); а F<виведений.образ> є образом диска. Тип виведених даних визначається автоматично. Типовим виведеним образом диска є простий (raw) розріджений образ ext2, якщо ви не вкажете додаткових прапорців (див. розділ L</ПАРАМЕТРИ> нижче).

note: type: =head2
en: FILESYSTEM TYPE
uk: ТИП ФАЙЛОВОЇ СИСТЕМИ

note: type: textblock
en: The default filesystem type is C<ext2>.  Just about any filesystem type that libguestfs supports can be used (but I<not> read-only formats like ISO9660).  Here are some of the more common choices:
uk: Типовим типом файлової системи є C<ext2>. Можна використовувати майже будь-який тип файлової системи, підтримку якого передбачено у libguestfs (але I<не> придатний лише для читання формат, зокрема ISO9660). Ось декілька із найпоширеніших варіантів:

note: type: textblock
en: Note that ext3 filesystems contain a journal, typically 1-32 MB in size.  If you are not going to use the filesystem in a way that requires the journal, then this is just wasted overhead.
uk: Зауважте, що у файлових системах ext3 міститься журнал із типовим розміром 1-32 МБ. Якщо ви не збираєтеся використовувати файлову систему у спосіб, який потребує журналу, цей журнал є лише непотрібним доповненням файлової системи.

note: type: =item
en: I<ntfs> or I<vfat>
uk: I<ntfs> або I<vfat>

note: type: textblock
en: Useful if exporting data to a Windows guest.
uk: Корисно, якщо дані експортуються до гостьової системи Windows.

note: type: textblock
en: Lower overhead than C<ext2>, but certain limitations on filename length and total filesystem size.
uk: Менша зайва витрата місця за C<ext2>, але є певні обмеження щодо довжини назви файла і загального розміру файлової системи.

note: type: =head2
en: TO PARTITION OR NOT TO PARTITION
uk: ДІЛИТИ ЧИ НЕ ДІЛИТИ НА РОЗДІЛИ

note: type: textblock
en: Optionally virt-make-fs can add a partition table to the output disk.
uk: На вимогу, virt-make-fs може додавати на диск-результат таблицю розділів.

note: type: textblock
en: Adding a partition can make the disk image more compatible with certain virtualized operating systems which don't expect to see a filesystem directly located on a block device (Linux doesn't care and will happily handle both types).
uk: Додавання розділу може зробити образ диска суміснішим із деякими віртуалізованими операційними системами, які не можуть працювати із файловими системами, які безпосередньо розміщено на блоковому пристрої (Linux не звертає на це уваги і може успішно працювати із обома типами образів).

note: type: textblock
en: On the other hand, if you have a partition table then the output image is no longer a straight filesystem.  For example you cannot run L<fsck(8)> directly on a partitioned disk image.  (However libguestfs tools such as L<guestfish(1)> and L<virt-resize(1)> can still be used).
uk: З іншого боку, якщо у вас є таблиця розділів, образ-результат вже не буде простою файловою системою. Наприклад, ви не зможете запустити L<fsck(8)> безпосередньо для поділеного на розділи образу диска. (Втім, можна буде користуватися засобами libguestfs, зокрема L<guestfish(1)> і L<virt-resize(1)>).

note: type: textblock
en: Add an MBR partition:
uk: Додавання розділу MBR:

note: type: verbatim
en:  virt-make-fs --partition -- input disk.img
uk:  virt-make-fs --partition -- input образ.img

note: type: textblock
en: If the output disk image could be terabyte-sized or larger, it's better to use an EFI/GPT-compatible partition table:
uk: Якщо виведений образ диска може бути розміром у терабайт або більше, краще скористатися сумісною із EFI/GPT таблицею розділів:

note: type: verbatim
en:  virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img
uk:  virt-make-fs --partition=gpt --size=+4T --format=qcow2 input диск.img

note: type: =head2
en: EXTRA SPACE
uk: ЗАЙВЕ МІСЦЕ

note: type: textblock
en: Unlike formats such as tar and squashfs, a filesystem does not "just fit" the files that it contains, but might have extra space.  Depending on how you are going to use the output, you might think this extra space is wasted and want to minimize it, or you might want to leave space so that more files can be added later.  Virt-make-fs defaults to minimizing the extra space, but you can use the I<--size> flag to leave space in the filesystem if you want it.
uk: На відміну від форматів, таких як tar і squashfs, файлова система не може «просто підлаштуватися» під файли, які вона містить, — вона може потребувати зайвого місця. Залежно від того, як ви збираєтеся використовувати виведений образ, зайве місце може бути небажаним, таким, яке слід мінімізувати, або бажаним для додавання згодом файлів. Типовою поведінкою virt-make-fs є мінімізація зайвого місця, але ви можете скористатися прапорцем I<--size> для створення зайвого місця, якщо вам це потрібно.

note: type: textblock
en: An alternative way to leave extra space but not make the output image any bigger is to use an alternative disk image format (instead of the default "raw" format).  Using I<--format=qcow2> will use the native qemu/KVM qcow2 image format (check your hypervisor supports this before using it).  This allows you to choose a large I<--size> but the extra space won't actually be allocated in the image until you try to store something in it.
uk: Альтернативним способом створити зайве місце без збільшення образу-результату є використання альтернативного формату образів дисків (замість типового формату «raw"»). За допомогою параметра I<--format=qcow2> можна визначити природний для qemu/KVM формат образів qcow2 (перш ніж користуватися ним, перевірте, чи передбачено підтримку цього формату у вашому гіпервізорі). Це надасть вам змогу вибрати більший розмір за допомогою I<--size> так, щоб зайве місце було розподілено у образі лише після того, як ви спробуєте на ньому щось зберегти.

note: type: textblock
en: Don’t forget that you can also use local commands including L<resize2fs(8)> and L<virt-resize(1)> to resize existing filesystems, or rerun virt-make-fs to build another image from scratch.
uk: Не забувайте, що ви також можете скористатися локальними командами, зокрема L<resize2fs(8)> та L<virt-resize(1)>, для зміни розмірів наявних файлових систем або повторно запустити virt-make-fs для збирання іншого образу «з нуля».

note: type: textblock
en: This parameter sets the sector size of the output disk image.
uk: Цей параметр визначає розмір сектора у образі диска-результату.

note: type: textblock
en: The default is C<512> bytes.
uk: Типовим значенням є C<512> байтів.

note: type: textblock
en: See also L<guestfs(3)/guestfs_add_drive_opts>.
uk: Див. також L<guestfs(3)/guestfs_add_drive_opts>.

note: type: textblock
en: Create a virtual floppy disk.
uk: Створити віртуальну дискету.

note: type: textblock
en: Currently this preselects the size (1440K), partition type (MBR) and filesystem type (VFAT).  In future it may also choose the geometry.
uk: У поточній версії буде попередньо вибрано розмір (1440 кБ), тип розділу (MBR) і тип файлової системи (VFAT). У майбутньому також може бути вибрано геометрію.

note: type: textblock
en: Use the I<--size> (or I<-s>) option to choose the size of the output image.
uk: Скористайтеся параметром I<--size> (або I<-s>), щоб вибрати розмір образу-результату.

note: type: textblock
en: If this option is I<not> given, then the output image will be just large enough to contain all the files, with not much wasted space.
uk: Якщо цей параметр I<не> вказано, образ-результат буде точно таким великим, щоб умістити усі файли без зайвої витрати місця.

note: type: textblock
en: To choose a fixed size output disk, specify an absolute number followed by b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or Exabytes.  This must be large enough to contain all the input files, else you will get an error.
uk: Щоб вибрати для диска-результату фіксований розмір, вкажіть значення розміру з суфіксом b/K/M/G/T/P/E, який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Диск має бути достатньо об'ємним, щоб умістити усі вхідні файли. Якщо розмір диска виявиться недостатнім, вам буде повідомлено про помилку.

note: type: textblock
en: To leave extra space, specify C<+> (plus sign) and a number followed by b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or Exabytes.  For example: I<--size=+200M> means enough space for the input files, and (approximately) an extra 200 MB free space.
uk: Щоб лишити на диску зайве місце, вкажіть C<+> (символ «плюс») із числовим значенням та суфіксом b/K/M/G/T/P/E , який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Наприклад, I<--size=+200M> означає «достатньо місця для вхідних файлів та (приблизно) зайві 200 МБ вільного місця».

note: type: textblock
en: Note that virt-make-fs estimates free space, and therefore will not produce filesystems containing precisely the free space requested.  (It is much more expensive and time-consuming to produce a filesystem which has precisely the desired free space).
uk: Зауважте, що virt-make-fs estimates використовує оцінки вільного місця на диску, тому створені програмою файлові системи не міститимуть рівно стільки вільного місця, скільки ви вкажете. (Створення файлової системи, яка міститиме рівно стільки місця, скільки було вказано користувачем, є доволі складним і тривалим завданням.)

note: type: =item
en: B<--format=>FMT
uk: B<--format=>ФОРМАТ

note: type: =item
en: B<-F> FMT
uk: B<-F> ФОРМАТ

note: type: textblock
en: Choose the output disk image format.
uk: Вибрати формат образу диска-результату.

note: type: textblock
en: The default is C<raw> (raw sparse disk image).
uk: Типовимт є C<raw> (простий розріджений образ диска).

note: type: =item
en: B<--type=>FS
uk: B<--type=>ФС

note: type: =item
en: B<-t> FS
uk: B<-t> ФС

note: type: textblock
en: Choose the output filesystem type.
uk: Вибрати тип файлової системи для виведення даних.

note: type: textblock
en: The default is C<ext2>.
uk: Типовим значенням є C<ext2>.

note: type: textblock
en: Any filesystem which is supported read-write by libguestfs can be used here.
uk: Тут можна скористатися будь-якою файловою системою, підтримку читання і запису для якої передбачено у libguestfs.

note: type: =item
en: B<--partition=>PARTTYPE
uk: B<--partition=>ТИП РОЗДІЛУ

note: type: textblock
en: If specified, this flag adds an MBR partition table to the output disk image.
uk: Якщо його вказано, цей прапорець додає таблицю розділів MBR на виведений програмою образ диска.

note: type: textblock
en: You can change the partition table type, eg. I<--partition=gpt> for large disks.
uk: Ви можете змінити тип таблиці розділів, наприклад, вказати I<--partition=gpt> для великих дисків.

note: type: textblock
en: For MBR, virt-make-fs sets the partition type byte automatically.
uk: Для MBR virt-make-fs встановлює значення байта типу розділу автоматично.

note: type: textblock
en: Enable debugging information.
uk: Увімкнути виведення діагностичних даних.

note: type: textblock
en: Enable libguestfs trace.
uk: Увімкнути трасування libguestfs.

note: type: textblock
en: guestfs-ocaml - How to use libguestfs from OCaml
uk: guestfs-ocaml — як використовувати libguestfs з OCaml

note: type: textblock
en: Module style:
uk: Стиль Module:

note: type: textblock
en: Object-oriented style:
uk: Об’єктно-орієнтований стиль:

note: type: textblock
en: This manual page documents how to call libguestfs from the OCaml programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування OCaml. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: =head2
en: PROGRAMMING STYLES
uk: СТИЛІ ПРОГРАМУВАННЯ

note: type: textblock
en: There are two different programming styles supported by the OCaml bindings.  You can use a module style, with each C function mapped to an OCaml function:
uk: Існує два різних стилі програмування, підтримку яких передбачено у прив'язках до OCaml. Ви можете скористатися модульним стилем, де кожну функцію C буде прив'язано до функції OCaml:

note: type: textblock
en: becomes:
uk: перетворюється на:

note: type: textblock
en: Alternately you can use an object-oriented style, calling methods on the class C<Guestfs.guestfs>:
uk: Крім того, ви можете скористатися об'єктно-орієнтованим стилем, викликаючи методи на класі C<Guestfs.guestfs>:

note: type: textblock
en: The object-oriented style is usually briefer, and the minor performance penalty isn't noticeable in the general overhead of performing libguestfs functions.
uk: Код у об'єктно-орієнтованому стилі, зазвичай, є коротшим, а незначна втрата швидкодії є непомітною у загальному потоці виконання функцій libguestfs.

note: type: textblock
en: The handle is closed when it is reaped by the garbage collector.  Because libguestfs handles include a lot of state, it is also possible to close (and hence free) them explicitly by calling C<Guestfs.close> or the C<#close> method.
uk: Дескриптор закривається, коли його знищує збирач сміття. Оскільки дескриптори libguestfs містять багато від стану, їх також можна закривати (і отже, звільняти) явним чином, викликаючи C<Guestfs.close> або метод C<#close>.

note: type: textblock
en: Errors from libguestfs functions are mapped into the C<Guestfs.Error> exception.  This has a single parameter which is the error message (a string).
uk: Помилки функцій libguestfs пов'язуються із виключенням C<Guestfs.Error>. Це виключення має єдиний параметр, яким є повідомлення щодо помилки (рядок).

note: type: textblock
en: Calling any function/method on a closed handle raises C<Guestfs.Handle_closed>.  The single parameter is the name of the function that you called.
uk: Спроба виклику будь-якої функції чи методу для закритого дескриптора призводить до C<Guestfs.Handle_closed>. Єдиним параметром цього виключення є назва функції, яку було викликано.

note: type: textblock
en: guestfs-perl - How to use libguestfs from Perl
uk: guestfs-perl — як використовувати libguestfs з Perl

note: type: textblock
en: This manual page documents how to call libguestfs from the Perl programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.  To read the full Perl API, see L<Sys::Guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Perl. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>. Повністю програмний інтерфейс Perl описану на сторінці L<Sys::Guestfs(3)>.

note: type: textblock
en: Errors from libguestfs functions turn into calls to C<croak> (see L<Carp(3)>).
uk: Помилки від функцій libguestfs перетворюються на виклики C<croak> (див. L<Carp(3)>).

note: type: textblock
en: guestfs-python - How to use libguestfs from Python
uk: guestfs-python — як використовувати libguestfs з Python

note: type: textblock
en: This manual page documents how to call libguestfs from the Python programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Python. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: textblock
en: All new code should construct the handle using:
uk: Увесь новий код має будувати дескриптор за допомогою такого:

note: type: textblock
en: This indicates that your program wants to receive Python dicts for methods in the API that return hashtables.
uk: Це вказує на те, що ваша програма потребує отримання словників Python для методів у програмному інтерфейсі, які повертають таблиці хешів.

note: type: textblock
en: In a future version of libguestfs, this will become the default.
uk: У майбутніх версіях libguestfs цей спосіб має стати типовим.

note: type: textblock
en: Errors from libguestfs functions are mapped into C<RuntimeException> with a single string argument which is the error message.
uk: Помилки від функцій libguestfs пов'язуються із C<RuntimeException> з єдиним рядковим аргументом, яким є текст повідомлення про помилку.

note: type: =head2
en: MORE DOCUMENTATION
uk: ДОДАТКОВА ДОКУМЕНТАЦІЯ

note: type: textblock
en: Type:
uk: Тип:

note: type: =head2
en: USING PYTHON BINDINGS IN A VIRTUALENV
uk: КОРИСТУВАННЯ ПРИВ'ЯЗКАМИ ДО PYTHON У ВІРТУАЛЬНОМУ СЕРЕДОВИЩІ

note: type: textblock
en: These bindings are I<not> available in pypi owing to a licensing problem.  See L<https://bugzilla.redhat.com/1075594> for current status.
uk: Ці прив'язки недоступні у pypi через проблеми із ліцензуванням. За станом розв'язання проблем можна слідкувати тут: L<https://bugzilla.redhat.com/1075594>.

note: type: textblock
en: However we do publish a Python distribution for selected stable versions of libguestfs in L<http://libguestfs.org/download/python>.  You can use it like this:
uk: Втім, ми оприлюднюємо дистрибутив Python для вибраних стабільних версій libguestfs на L<http://libguestfs.org/download/python>. Ви можете скористатися ним за допомогою такої команди:

note: type: textblock
en: virt-rescue - Run a rescue shell on a virtual machine
uk: virt-rescue — запуск оболонки відновлення у віртуальній машині

note: type: verbatim
en:  virt-rescue [--options] -d domname
uk:  virt-rescue [--параметри] -d назва_домену

note: type: verbatim
en:  virt-rescue [--options] -a disk.img [-a disk.img ...] [-i]
uk:  virt-rescue [--параметри] -a диск.img [-a диск.img ...] [-i]

note: type: verbatim
en:  virt-rescue [--options] domname
uk:  virt-rescue [--параметри] назва_домену

note: type: verbatim
en:  virt-rescue [--options] disk.img [disk.img ...]
uk:  virt-rescue [--параметри] диск.img [диск.img ...]

note: type: textblock
en: virt-rescue is like a Rescue CD, but for virtual machines, and without the need for a CD.  virt-rescue gives you a rescue shell and some simple recovery tools which you can use to examine or rescue a virtual machine or disk image.
uk: virt-rescue — є образом компакт-диска для порятунку системи, але призначеним для віртуальних машин. Його особливістю також є те, що для роботи йому не потрібен фізичний носій. virt-rescue надає у ваше розпорядження командну оболонку порятунку системи та деякі прості інструменти, якими ви можете скористатися для аналізу і виправлення віртуальної машини або образу диска.

note: type: textblock
en: You can run virt-rescue on any virtual machine known to libvirt, or directly on disk image(s):
uk: Ви можете запускати virt-rescue для будь-якої віртуальної машини, відомої libvirt, або безпосередньо для образів дисків:

note: type: verbatim
en:  virt-rescue -d GuestName -i
uk:  virt-rescue -d Назва_гостьової_системи -i

note: type: verbatim
en:  virt-rescue --ro -a /path/to/disk.img -i
uk:  virt-rescue --ro -a /шлях/до/диск.img -i

note: type: textblock
en: For live VMs you I<must> use the I<--ro> option.
uk: Для активних віртуальних машин вам I<слід> використовувати параметр I<--ro>.

note: type: textblock
en: When you run virt-rescue on a virtual machine or disk image, you are placed in an interactive bash shell where you can use many ordinary Linux commands.  What you see in F</> (F</bin>, F</lib> etc) is the rescue appliance.  You must mount the virtual machine’s filesystems.  There is an empty directory called F</sysroot> where you can mount filesystems.
uk: При роботі з virt-rescue над віртуальною машиною або образом диска ви матимете справу із інтерактивною командною оболонкою bash, у якій можна скористатися багатьма звичайними командами Linux. Те, що зберігатиметься у F</> (F</bin>, F</lib> тощо) є рятівною базовою системою. Для роботи з файловими системами віртуальної машини вам слід їх змонтувати. Для монтування файлових систем передбачено порожній каталог із назвою F</sysroot>.

note: type: textblock
en: To automatically mount the virtual machine’s filesystems under F</sysroot> use the I<-i> option.  This uses libguestfs inspection to find the filesystems and mount them in the right place.  You can also mount filesystems individually using the I<-m> option.
uk: Щоб автоматично змонтувати файлові системи віртуальної машини до F</sysroot>, скористайтеся параметром I<-i>. У відповідь програма використає засоби інспектування libguestfs для виявлення файлових систем і монтування їх до належних каталогів. Ви також можете змонтувати окремі файлові системи за допомогою параметра  I<-m>.

note: type: textblock
en: Another way is to list the logical volumes (with L<lvs(8)>) and partitions (with L<parted(8)>) and mount them by hand:
uk: Іншим способом монтування є отримання списку логічних томів (за допомогою L<lvs(8)>) і розділів (за допомогою L<parted(8)>) і монтування їх вручну:

note: type: textblock
en: Another command to list available filesystems is L<virt-filesystems(1)>.
uk: Іншою програмою для побудови списку доступних файлових систем є L<virt-filesystems(1)>.

note: type: textblock
en: To run commands in a Linux guest (for example, grub), you should chroot into the /sysroot directory first:
uk: Для запуску програм у гостьовій системі Linux (наприклад, програми grub) вам слід спочатку змінити кореневий каталог на /sysroot:

note: type: textblock
en: Virt-rescue can be used on I<any> disk image file or device, not just a virtual machine.  For example you can use it on a blank file if you want to partition that file (although we would recommend using L<guestfish(1)> instead as it is more suitable for this purpose).  You can even use virt-rescue on things like USB drives, SD cards and hard disks.
uk: Virt-rescue можна використовувати для I<будь-якого> файла образу диска або пристрою, не лише для віртуальної машини. Наприклад, ви можете скористатися програмою для порожнього файла, якщо хочете додати розділ у цей файл (втім, ми рекомендуємо для цього користуватися L<guestfish(1)>, оскільки цю програму краще пристосовано для виконання подібних завдань). Ви навіть можете використовувати virt-rescue для роботи з дисками USB, картками SD та жорсткими дисками.

note: type: textblock
en: You can get virt-rescue to give you scratch disk(s) to play with.  This is useful for testing out Linux utilities (see I<--scratch>).
uk: Ви можете наказати virt-rescue створити для вас тестовий диск. Це корисно для тестування інструментів Linux (див. I<--scratch>).

note: type: textblock
en: Virt-rescue does not require root.  You only need to run it as root if you need root to open the disk image.
uk: Для роботи virt-rescue не потрібні права користувача root. Вам знадобляться права доступу root, лише якщо вам потрібні права root для відкриття образу диска.

note: type: textblock
en: This tool is just designed for quick interactive hacking on a virtual machine.  For more structured access to a virtual machine disk image, you should use L<guestfs(3)>.  To get a structured shell that you can use to make scripted changes to guests, use L<guestfish(1)>.
uk: Цю програму було розроблено для швидкої інтерактивної роботи з віртуальною машиною. Для структурованішого доступу до образу диска віртуальної машини варто використовувати L<guestfs(3)>. Структурованою командною оболонкою для внесення змін до гостьової системи за певним сценарієм є L<guestfish(1)>.

note: type: =item
en: B<--append> KERNELOPTS
uk: B<--append> ПАРАМЕТРИ_ЯДРА

note: type: textblock
en: Pass additional options to the rescue kernel.
uk: Передати додаткові параметри ядру відновлення.

note: type: textblock
en: Disable the escape key.
uk: Вимкнути клавішу екранування.

note: type: =item
en: B<-e> KEY
uk: B<-e> КЛАВІША

note: type: textblock
en: Set the escape key to the given key sequence.  The default is C<^]>.  To specify the escape key you can use:
uk: Встановлює для керівних клавіш вказану послідовність натискання клавіш. Типовою є C<^]>. Для визначення керівних клавіш ви можете скористатися такими рядками:

note: type: textblock
en: Control key + C<x> key.
uk: Клавіша Ctrl + клавіша C<x>.

note: type: textblock
en: I<-e none> means there is no escape key, escapes are disabled.
uk: I<-e none> означає «без клавіші екранування», екранування вимкнено.

note: type: textblock
en: See L</ESCAPE KEY> below for further information.
uk: Див. L</КЛАВІША ЕКРАНУВАННЯ> нижче, щоб дізнатися більше.

note: type: verbatim
en:  virt-rescue --format=raw -a disk.img
uk:  virt-rescue --format=raw -a диск.img

note: type: verbatim
en:  virt-rescue --format=raw -a disk.img --format -a another.img
uk:  virt-rescue --format=raw -a диск.img --format -a інший.img

note: type: textblock
en: The filesystems are mounted on F</sysroot> in the rescue environment.
uk: Файлові системи у середовищі порятунку системи монтуються до F</sysroot>.

note: type: textblock
en: Change the amount of memory allocated to the rescue system.  The default is set by libguestfs and is small but adequate for running system tools.  The occasional program might need more memory.  The parameter is specified in megabytes.
uk: Змінити обсяг пам'яті, який надається системі для порятунку. Типове значення встановлюється libguestfs і є малим, але достатнім для запуску інструментів для роботи із системою. Певні програми можуть потребувати додаткового обсягу пам'яті. Значення слід вказувати у мегабайтах.

note: type: textblock
en: The filesystems are mounted under F</sysroot> in the rescue environment.
uk: Файлові системи у середовищі порятунку системи монтуються до F</sysroot>.

note: type: textblock
en: Enable QEMU user networking in the guest.  See L</NETWORK>.
uk: Уможливити для користувача QEMU роботу у мережі у гостьовій системі. Див. L</МЕРЕЖА>.

note: type: textblock
en: Open the image read-only.
uk: Відкрити образ у режимі лише читання.

note: type: textblock
en: The I<--scratch> option adds a large scratch disk to the rescue appliance.  I<--scratch=N> adds C<N> scratch disks.  The scratch disk(s) are deleted automatically when virt-rescue exits.
uk: Використання параметра I<--scratch> призводить до додавання великого тестового диска до базової системи для порятунку віртуальних машин. Запис I<--scratch=N> призводить до додавання C<N> тестових дисків. Тестові диски автоматично вилучаються, якщо virt-rescue завершує роботу.

note: type: textblock
en: You can also mix I<-a>, I<-d> and I<--scratch> options.  The scratch disk(s) are added to the appliance in the order they appear on the command line.
uk: Ви також можете поєднувати параметри I<-a>, I<-d> і I<--scratch>. Тестові диски додаються до базової системи у порядку, у якому їх було вказано у рядку команди.

note: type: textblock
en: Enable N E<ge> 2 virtual CPUs in the rescue appliance.
uk: Увімкнути N E<ge> 2 віртуальних процесорів у базовій системі для порятунку.

note: type: textblock
en: This option was used in older versions of virt-rescue to suggest what commands you could use to mount filesystems under F</sysroot>.  For the current version of virt-rescue, it is easier to use the I<-i> option instead.
uk: Цей параметр використовувався у застарілих версіях virt-rescue для надання пропозицій команд, якими ви могли б скористатися для монтування файлових систем до F</sysroot>. У сучасних версіях virt-rescue простіше скористатися параметром I<-i>.

note: type: textblock
en: This option implies I<--ro> and is safe to use even if the guest is up or if another virt-rescue is running.
uk: Цей параметр неявно використовує I<--ro> і є безпечним для використання, навіть якщо гостьова система працює або запущено інший екземпляр virt-rescue.

note: type: textblock
en: Previous versions of virt-rescue allowed you to write either:
uk: У попередніх версіях virt-rescue можна було скомандувати ось так:

note: type: verbatim
en:  virt-rescue guestname
uk:  virt-rescue назва_гостьової_системи

note: type: =head1
en: NETWORK
uk: МЕРЕЖА

note: type: textblock
en: Adding the I<--network> option enables QEMU user networking in the rescue appliance.  There are some differences between user networking and ordinary networking:
uk: Додавання параметра I<--network> вмикає для користувача мережу QEMU у базовій системі для порятунку. Існують певні відмінності між звичайною роботою у мережі і роботою у мережі для користувача:

note: type: =item
en: ping does not work
uk: луна-імпульс не працює

note: type: textblock
en: Because the ICMP ECHO_REQUEST protocol generally requires root in order to send the ping packets, and because virt-rescue must be able to run as non-root, QEMU user networking is not able to emulate the L<ping(8)> command.  The ping command will appear to resolve addresses but will not be able to send or receive any packets.  This does not mean that the network is not working.
uk: Оскільки протокол ICMP ECHO_REQUEST загалом вимагає прав доступу root для надсилання пакетів луна-імпульсів, і оскільки virt-rescue повинна мати можливість бути запущеною не від імені root, мережа для користувача у QEMU не може емулювати роботу команди L<ping(8)>. Команда ping зможе визначати адреси, але не зможе надсилати або отримувати будь-які пакети. Це не означає, що працювати у мережі буде неможливо.

note: type: =item
en: cannot receive connections
uk: не можна отримувати з'єднання

note: type: textblock
en: QEMU user networking cannot receive incoming connections.
uk: У режимі мережі для користувача QEMU не можна отримувати вхідні з'єднання.

note: type: =item
en: making TCP connections
uk: встановлення з'єднань TCP

note: type: textblock
en: The virt-rescue appliance needs to be small and so does not include many network tools.  In particular there is no L<telnet(1)> command.  You can make TCP connections from the shell using the magical F</dev/tcp/E<lt>hostnameE<gt>/E<lt>portE<gt>> syntax:
uk: Базова система virt-rescue має бути невеликою за розміром, тому до неї не включено багато інструментів для роботи у мережі. Зокрема, у ній немає програми L<telnet(1)>. Ви можете встановити TCP-з'єднання з командної оболонки за допомогою магічної команди F</dev/tcp/E<lt>назва_вузлаE<gt>/E<lt>портE<gt>>:

note: type: textblock
en: See L<bash(1)> for more details.
uk: Докладніше про це тут: L<bash(1)>.

note: type: =head1
en: ESCAPE KEY
uk: КЛАВІША ЕКРАНУВАННЯ

note: type: textblock
en: Virt-rescue supports various keyboard escape sequences which are entered by pressing C<^]> (Control key + C<]> key).
uk: У virt-rescue передбачено підтримку різноманітних клавіатурних комбінацій із клавішею екранування, які вводяться натисканням C<^]> (клавіші Ctrl і клавіші C<]>).

note: type: textblock
en: You can change the escape key using the I<-e> option on the command line (see above), and you can disable escapes completely using I<-e none>.  The rest of this section assumes the default escape key.
uk: Змінити клавішу екранування можна за допомогою параметра I<-e> рядка команди (див. вище). Повністю вимкнути клавішу екранування можна за допомогою параметра I<-e none>. У решті цього розділу ми припускаємо, що працює типова клавіша екранування.

note: type: textblock
en: The following escapes can be used:
uk: Можна використовувати такі клавіші:

note: type: textblock
en: Prints a brief help text about escape sequences.
uk: Виводить коротке довідкове повідомлення щодо керівних послідовностей.

note: type: textblock
en: Prints brief libguestfs inspection information for the guest.  This only works if you used I<-i> on the virt-rescue command line.
uk: Виводить короткі дані інспектування libguestfs для гостьової системи. Працюватиме, лише якщо вами було використано I<-i> у рядку команди virt-rescue.

note: type: textblock
en: Quits virt-rescue immediately.
uk: Негайно завершити роботу virt-rescue.

note: type: textblock
en: Synchronize the filesystems (sync).
uk: Синхронізувати файлові системи.

note: type: textblock
en: Unmounts all the filesystems, except for the root (appliance)  filesystems.
uk: Демонтувати усі файлові системи, окрім кореневих файлових систем (базової системи).

note: type: textblock
en: Suspend virt-rescue (like pressing C<^Z> except that it affects virt-rescue rather than the program inside the rescue shell).
uk: Призупинити роботу virt-rescue (подібно до натискання C<^Z>, але стосується virt-rescue, а не програми, яка працює у оболонці порятунку системи).

note: type: textblock
en: Sends the literal character C<^]> (ASCII 0x1d) through to the rescue shell.
uk: Надсилає сам символ C<^]> (ASCII 0x1d) крізь оболонку порятунку системи.

note: type: =head1
en: CAPTURING CORE DUMPS
uk: ПЕРЕХОПЛЕННЯ ДАМПІВ ЯДРА

note: type: textblock
en: If you are testing a tool inside virt-rescue and the tool (B<not> virt-rescue) segfaults, it can be tricky to capture the core dump outside virt-rescue for later analysis.  This section describes one way to do this.
uk: Якщо ви працюєте з якоюсь програмою у virt-rescue, і програма (B<не> virt-rescue) завершує роботу у аварійному режимі, перехопити дамп ядра програми поза virt-rescue для подальшого аналізу є доволі складним завданням. У цьому розділі описано один спосіб, у який можна досягти виконання цього завдання.

note: type: textblock
en: Create a scratch disk for core dumps:
uk: Створіть тестовий диск для дампів ядра:

note: type: textblock
en: When starting virt-rescue, attach the core files disk last:
uk: Під час запуску virt-rescue долучіть диск для файлів дампів останнім:

note: type: textblock
en: B<NB.> If you use the I<--ro> option, then virt-rescue will silently not write any core files to F</tmp/corefiles>.
uk: B<NB.> Якщо ви використовуєте параметр I<--ro>, virt-rescue без додаткових питань не записуватиме ніяких файлів дампів ядра до F</tmp/corefiles>.

note: type: textblock
en: Inside virt-rescue, mount the core files disk.  Note replace F</dev/sdb1> with the last disk index.  For example if the core files disk is the last of four disks, you would use F</dev/sdd1>.
uk: У virt-rescue змонтуйте диск для файлів дампів ядра. Не забудьте замінити F</dev/sdb1> записом із індексом останнього диска. Наприклад, якщо диск файлів дампів ядра є останнім із чотирьох дисків, вам слід використовувати F</dev/sdd1>.

note: type: textblock
en: Enable core dumps in the rescue kernel:
uk: Увімкніть дампи ядра у ядрі відновлення:

note: type: textblock
en: Run the tool that caused the core dump.  The core dump will be written to F</tmp/mnt/core.I<PID>>.
uk: Запустіть програму, яка аварійно завершує роботу, записуючи дамп ядра. Дамп ядра буде записано до F</tmp/mnt/core.I<PID>>.

note: type: textblock
en: Before exiting virt-rescue, unmount (or at least sync) the disks:
uk: Перш ніж завершувати роботу virt-rescue, демонтуйте (або принаймні синхронізуйте) диски:

note: type: textblock
en: Outside virt-rescue, the core dump(s) can be removed from the disk using L<guestfish(1)>.  For example:
uk: Поза межами virt-rescue файли дампів ядра можна вилучити з диска за допомогою L<guestfish(1)>. Приклад:

note: type: textblock
en: Several environment variables affect virt-rescue.  See L<guestfs(3)/ENVIRONMENT VARIABLES> for the complete list.
uk: На роботу virt-rescue впливають декілька змінних середовища. Повний список змінних наведено у розділі L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>.

note: type: textblock
en: virt-resize - Resize a virtual machine disk
uk: virt-resize — програма для зміни розмірів дисків віртуальної машини

note: type: verbatim
en:  virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]
       [--expand /dev/sdaN] [--shrink /dev/sdaN]
       [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk
uk:  virt-resize [--resize /dev/sdaN=[+/-]<розмір>[%]]
       [--expand /dev/sdaN] [--shrink /dev/sdaN]
       [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] вхідний_диск вихідний_диск

note: type: textblock
en: Virt-resize is a tool which can resize a virtual machine disk, making it larger or smaller overall, and resizing or deleting any partitions contained within.
uk: Virt-resize — програма, за допомогою якої можна змінити розміри диска віртуальної машини, зробивши його більшим або меншим чи змінивши розміри розділів, які містяться на диску, або вилучивши їх.

note: type: textblock
en: Virt-resize B<cannot> resize disk images in-place.  Virt-resize B<should not> be used on live virtual machines - for consistent results, shut the virtual machine down before resizing it.
uk: Virt-resize B<не може> змінювати розмір образів дисків «на місці». Virt-resize B<не слід> використовувати для активних віртуальних машин — щоб отримати належний результат, перш ніж змінювати розміри дисків, зупиніть роботу віртуальної машини.

note: type: textblock
en: If you are not familiar with the associated tools: L<virt-filesystems(1)> and L<virt-df(1)>, we recommend you go and read those manual pages first.
uk: Якщо ви ще не знайомі з принципами роботи пов'язаних інструментів, L<virt-filesystems(1)> і L<virt-df(1)>, рекомендуємо вам спершу ознайомитися із документацією щодо цих інструментів.

note: type: textblock
en: This example takes C<olddisk> and resizes it into C<newdisk>, extending one of the guest’s partitions to fill the extra 5GB of space:
uk: У цьому прикладі ми візьмемо C<старий_диск>, змінимо його розміри і запишемо як C<новий_диск>, розширивши один із розділів гостьової системи на додаткові 5 ГБ:

note: type: verbatim
en:  virt-filesystems --long -h --all -a olddisk
uk:  virt-filesystems --long -h --all -a старий_диск

note: type: verbatim
en:  truncate -r olddisk newdisk
     truncate -s +5G newdisk
uk:  truncate -r старий_диск новий_диск
     truncate -s +5G новий_диск

note: type: verbatim
en:  # Note "/dev/sda2" is a partition inside the "olddisk" file.
     virt-resize --expand /dev/sda2 olddisk newdisk
uk:  # Зауважте, що «/dev/sda2» є розділом у у файлі «старий_диск».
     virt-resize --expand /dev/sda2 старий_диск новий_диск

note: type: textblock
en: As above, but make the /boot partition 200MB bigger, while giving the remaining space to /dev/sda2:
uk: Те саме, що і вище, але зі збільшенням розділу /boot на 200 МБ, з наданням решти місця для /dev/sda2:

note: type: verbatim
en:  virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
       olddisk newdisk
uk:  virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \
       старий_диск новий_диск

note: type: textblock
en: As in the first example, but expand a logical volume as the final step.  This is what you would typically use for Linux guests that use LVM:
uk: Як у першому прикладі, але із розширенням логічного тому на останньому кроці. Саме цю команду типово використовують для гостьових систем Linux, де використовується LVM:

note: type: verbatim
en:  virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \
       olddisk newdisk
uk:  virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \
       старий_диск новий_диск

note: type: textblock
en: As in the first example, but the output format will be qcow2 instead of a raw disk:
uk: Як у першому прикладі, але дані буде виведено у форматі qcow2, а не у простому (raw) форматі:

note: type: =head1
en: DETAILED USAGE
uk: ДОКЛАДНІШЕ ЩОДО ВИКОРИСТАННЯ

note: type: =head2
en: EXPANDING A VIRTUAL MACHINE DISK
uk: РОЗШИРЕННЯ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ

note: type: =item
en: 1. Shut down the virtual machine
uk: 1. Припиніть роботу віртуальної машини

note: type: =item
en: 2. Locate input disk image
uk: 2. Встановіть розташування образу диска із вхідними даними

note: type: textblock
en: Locate the input disk image (ie. the file or device on the host containing the guest’s disk).  If the guest is managed by libvirt, you can use C<virsh dumpxml> like this to find the disk image name:
uk: Встановіть розташування образу диска із вхідними даними (тобто файла або пристрою у основній системі, де містяться дані диска гостьової системи). Якщо гостьовою системою керує libvirt, ви можете скористатися для визначення назви образу диска командою C<virsh dumpxml>, ось так:

note: type: verbatim
en:  # virsh dumpxml guestname | xpath /domain/devices/disk/source
     Found 1 nodes:
     -- NODE --
     <source dev="/dev/vg/lv_guest" />
uk:  # virsh dumpxml guestname | xpath /domain/devices/disk/source
     Знайдено 1 вузли:
     -- NODE --
     <source dev="/dev/vg/lv_guest" />

note: type: =item
en: 3. Look at current sizing
uk: 3. Визначте поточні розміри

note: type: textblock
en: Use L<virt-filesystems(1)> to display the current partitions and sizes:
uk: Скористайтеся програмою L<virt-filesystems(1)> для перегляду списку поточних розділів і їхніх розмірів:

note: type: textblock
en: (This example is a virtual machine with an 8 GB disk which we would like to expand up to 10 GB).
uk: (У цьому прикладі маємо справу з віртуальною машиною з диском у 8 ГБ, який ми хочемо розширити до 10 ГБ).

note: type: =item
en: 4. Create output disk
uk: 4. Створіть диск для виведення даних

note: type: textblock
en: Virt-resize cannot do in-place disk modifications.  You have to have space to store the resized output disk.
uk: Virt-resize не може виконувати внесення змін до дисків «на місці». У вашій системі має бути достатньо місця для зберігання диска-результату зі зміненим розміром.

note: type: textblock
en: To store the resized disk image in a file, create a file of a suitable size:
uk: Для збереження образу диска зі зміненим розміром створіть файл відповідного розміру:

note: type: textblock
en: Or use L<lvcreate(1)> to create a logical volume:
uk: Або скористайтеся L<lvcreate(1)> для створення логічного тому:

note: type: textblock
en: Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:
uk: Або скористайтеся L<virsh(1)> vol-create-as для створення тому сховища даних libvirt:

note: type: =item
en: 5. Resize
uk: 5. Зміна розміру

note: type: textblock
en: virt-resize takes two mandatory parameters, the input disk and the output disk (both can be e.g. a device, a file, or a URI to a remote disk).  The output disk is the one created in the previous step.
uk: virt-resize має отримати два обов'язкових параметри, назву диска із вхідними даними і назву диска із вихідними даними (обидві можуть бути, наприклад, пристроями, файлами або адресами на віддаленому диску). Диском з виведеними даними має бути диск, створений на попередньому кроці.

note: type: textblock
en: This command just copies disk image C<indisk> to disk image C<outdisk> I<without> resizing or changing any existing partitions.  If C<outdisk> is larger, then an extra, empty partition is created at the end of the disk covering the extra space.  If C<outdisk> is smaller, then it will give an error.
uk: Ця команда просто копіює образ диска C<indisk> до образу диска C<outdisk> I<без> зміни розмірів або будь-яких змін у наявних розділах. Якщо диск C<outdisk> є завеликим для даних, створюється додатковий порожній розділ наприкінці диска, розмір якого відповідатиме зайвому місцю. Якщо диск C<outdisk> виявиться замалим, програма повідомить про помилку.

note: type: textblock
en: More realistically you'd want to expand existing partitions in the disk image by passing extra options (for the full list see the L</OPTIONS> section below).
uk: Реалістичнішим буде варіант, коли вам потрібно розширити наявні розділи на образі диска передаванням додаткових параметрів (повний список параметрів наведено у розділі L</ПАРАМЕТРИ> нижче).

note: type: textblock
en: L</--expand> is the most useful option.  It expands the named partition within the disk to fill any extra space:
uk: L</--expand> є найкориснішим параметром. За його допомогою можна розширити вказаний за назвою розділ на диску так, щоб він зайняв усе зайве місце:

note: type: textblock
en: (In this case, an extra partition is I<not> created at the end of the disk, because there will be no unused space).
uk: (У цьому випадку наприкінці диска I<не> створюватиметься додаткових розділів, оскільки невикористаного місця просто не буде).

note: type: textblock
en: L</--resize> is the other commonly used option.  The following would increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the rest of the available space:
uk: L</--resize> — ще один широковживаний параметр. Наступна команда збільшить розмір /dev/sda1 на 200 МБ і розширить /dev/sda2 так, щоб той заповнив решту доступного місця:

note: type: textblock
en: If the expanded partition in the image contains a filesystem or LVM PV, then if virt-resize knows how, it will resize the contents, the equivalent of calling a command such as L<pvresize(8)>, L<resize2fs(8)>, L<ntfsresize(8)>, L<btrfs(8)>, L<xfs_growfs(8)>, or L<resize.f2fs(8)>.  However virt-resize does not know how to resize some filesystems, so you would have to online resize them after booting the guest.
uk: Якщо на розширюваному розділі у образі міститься файлова система або фізичний том LVM, тоді, якщо virt-resize відомий спосіб, програма змінить розміри вмісту так, як це роблять виклики команд L<pvresize(8)>, L<resize2fs(8)>, L<ntfsresize(8)>, L<btrfs(8)>, L<xfs_growfs(8)> або L<resize.f2fs(8)>. Втім, virt-resize не відомі способи зміни розмірів деяких файлових систем, тому вам доведеться якось змінювати їхні розміри після завантаження гостьової системи.

note: type: textblock
en: The input disk can be a URI, in order to use a remote disk as the source.  The URI format is compatible with guestfish.  See L<guestfish(1)/ADDING REMOTE STORAGE>.
uk: Диском із вхідними даними може бути адреса, якщо як джерело слід використати віддалений диск. Формат адреси є сумісним із guestfish. Див. L<guestfish(1)/ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>.

note: type: textblock
en: Other options are covered below.
uk: Інші параметри описано нижче.

note: type: =item
en: 6. Test
uk: 6. Перевірка

note: type: textblock
en: Thoroughly test the new disk image I<before> discarding the old one.
uk: Виконайте належне тестування нового образу диска, I<перш ніж> витирати старий.

note: type: textblock
en: If you are using libvirt, edit the XML to point at the new disk:
uk: Якщо ви користуєтеся libvirt, внесіть зміни до XML так, щоб він вказував на новий диск:

note: type: verbatim
en:  # virsh edit guestname
uk:  # virsh edit назва_гостьової_системи

note: type: textblock
en: Change E<lt>source ...E<gt>, see L<http://libvirt.org/formatdomain.html#elementsDisks>
uk: Змініть E<lt>source ...E<gt>, див. L<http://libvirt.org/formatdomain.html#elementsDisks>

note: type: textblock
en: Then start up the domain with the new, resized disk:
uk: Далі, запустіть домен з новим диском, розмір якого було змінено:

note: type: verbatim
en:  # virsh start guestname
uk:  # virsh start назва_гостьової_системи

note: type: textblock
en: and check that it still works.  See also the L</NOTES> section below for additional information.
uk: і перевірте, чи все лишається працездатним. Див. також додаткові зауваження у розділі L</ПРИМІТКИ> нижче.

note: type: =item
en: 7. Resize LVs etc inside the guest
uk: 7. Зміна розмірів логічних томів та інших сховищ у гостьовій системі

note: type: textblock
en: (This can also be done offline using L<guestfish(1)>)
uk: (Це завдання можна виконати без завантаження гостьової системи за допомогою L<guestfish(1)>)

note: type: textblock
en: Once the guest has booted you should see the new space available, at least for filesystems that virt-resize knows how to resize, and for PVs.  The user may need to resize LVs inside PVs, and also resize filesystem types that virt-resize does not know how to expand.
uk: Після завантаження гостьової системи у ній має з'явитися вільне місце, принаймні для файлових систем, способи зміни розмірів яких відомі virt-resize, та фізичних томів. Користувачеві, ймовірно, слід буде змінити логічні томи у фізичних томах, а також змінити розміри типів файлових систем, способи розширення яких не відомі virt-resize.

note: type: =head2
en: SHRINKING A VIRTUAL MACHINE DISK
uk: ЗМЕНШЕННЯ РОЗМІРІВ ДИСКА ВІРТУАЛЬНОЇ МАШИНИ

note: type: textblock
en: Shrinking is somewhat more complex than expanding, and only an overview is given here.
uk: Зменшення розмірів є дещо складнішим завданням за збільшення. У цьому розділі наведено лише загальний огляд.

note: type: textblock
en: Firstly virt-resize will not attempt to shrink any partition content (PVs, filesystems).  The user has to shrink content before passing the disk image to virt-resize, and virt-resize will check that the content has been shrunk properly.
uk: По-перше, virt-resize не робитиме спроб стиснути будь-який вміст розділу (фізичні томи, файлові системи). Користувачеві слід подбати про зменшення розмірів вмісту до передавання диска на обробку до virt-resize, і virt-resize перевірить, чи було стиснено вміст належним чином.

note: type: textblock
en: (Shrinking can also be done offline using L<guestfish(1)>)
uk: (Зменшення розмірів також можна виконати без завантаження системи за допомогою L<guestfish(1)>)

note: type: textblock
en: After shrinking PVs and filesystems, shut down the guest, and proceed with steps 3 and 4 above to allocate a new disk image.
uk: Після стискання фізичних томів і файлових систем, вимкніть гостьову систему і виконайте описані вище кроки 3 і 4 для розміщення нового образу диска.

note: type: textblock
en: Then run virt-resize with any of the I<--shrink> and/or I<--resize> options.
uk: Потім запустіть virt-resize із відповідними параметрами I<--shrink> і/або I<--resize>.

note: type: =head2
en: IGNORING OR DELETING PARTITIONS
uk: ІГНОРУВАННЯ І ВИЛУЧЕННЯ РОЗДІЛІВ

note: type: textblock
en: virt-resize also gives a convenient way to ignore or delete partitions when copying from the input disk to the output disk.  Ignoring a partition speeds up the copy where you don't care about the existing contents of a partition.  Deleting a partition removes it completely, but note that it also renumbers any partitions after the one which is deleted, which can leave some guests unbootable.
uk: Крім того, virt-resize надає вам зручний спосіб ігнорувати або вилучати розділи при копіюванні з диска вхідних даних на диск вихідних даних. Ігнорування розділу пришвидшує копіювання там, де вам все одно що станеться із наявним вмістом розділу. Вилучення розділу вилучає його повністю, але зауважте, що це також призводить до перенумерування усіх розділів після вилучено, що може призвести до неможливості завантаження деяких гостьових систем.

note: type: =head2
en: QCOW2 AND NON-SPARSE RAW FORMATS
uk: QCOW2 І НЕРОЗРІДЖЕНІ ФОРМАТИ RAW

note: type: textblock
en: If the input disk is in qcow2 format, then you may prefer that the output is in qcow2 format as well.  Alternately, virt-resize can convert the format on the fly.  The output format is simply determined by the format of the empty output container that you provide.  Thus to create qcow2 output, use:
uk: Якщо дисх вхідних даних записано у форматі qcow2, ймовірно, варто записати вихідні дані теж у форматі qcow2. Крім того, virt-resize може перетворювати дані з одного формату на інший «на льоту». Формат виведених даних просто визначається форматом порожнього контейнера для виведення даних, який ви надасте. Таким чином, щоб записати виведені дані у форматі qcow2, скористайтеся такою командою:

note: type: verbatim
en:  qemu-img create -f qcow2 -o preallocation=metadata outdisk [size]
uk:  qemu-img create -f qcow2 -o preallocation=metadata outdisk [розмір]

note: type: textblock
en: instead of the truncate command.
uk: замість команди truncate.

note: type: textblock
en: Similarly, to get non-sparse raw output use:
uk: Так само, щоб отримати дані у нерозрідженому простому форматі (raw) скористайтеся такою командою:

note: type: verbatim
en:  fallocate -l size outdisk
uk:  fallocate -l розмір вихідний_диск

note: type: textblock
en: (on older systems that don’t have the L<fallocate(1)> command use C<dd if=/dev/zero of=outdisk bs=1M count=..>)
uk: (у застарілих системах, де немає команди L<fallocate(1)>, скористайтеся командою C<dd if=/dev/zero of=outdisk bs=1M count=..>)

note: type: =head2
en: LOGICAL PARTITIONS
uk: ЛОГІЧНІ РОЗДІЛИ

note: type: textblock
en: Logical partitions (a.k.a. F</dev/sda5+> on disks using DOS partition tables) cannot be resized.
uk: Розміри логічних розділів (тобто F</dev/sda5+> на дисках із таблицею розділів DOS) не може бути змінено.

note: type: textblock
en: To understand what is going on, firstly one of the four partitions F</dev/sda1-4> will have MBR partition type C<05> or C<0f>.  This is called the B<extended partition>.  Use L<virt-filesystems(1)> to see the MBR partition type.
uk: Щоб розібратися у тому, що відбувається, по-перше, слід пам'ятати, що один із чотирьох розділів F</dev/sda1-4> матиме тип розділу MBR C<05> або C<0f>. Такий розділ називається B<розширеним розділом>. Для перегляду типу розділу MBR скористайтеся L<virt-filesystems(1)>.

note: type: textblock
en: Logical partitions live inside the extended partition.
uk: Логічні розділи містяться у розширеному розділі.

note: type: textblock
en: The extended partition can be expanded, but not shrunk (unless you force it, which is not advisable).  When the extended partition is copied across, all the logical partitions contained inside are copied over implicitly.  Virt-resize does not look inside the extended partition, so it copies the logical partitions blindly.
uk: Розширений розділ може бути збільшено, але не може бути зменшено (це можна зробити у примусовому режимі, але ми не радимо так робити). При копіюванні розширеного розділу неявним чином копіюються усі логічні розділи, які на ньому містяться. Virt-resize не зазирає до розширеного розділу, отже сліпо копіює логічні розділи.

note: type: textblock
en: You cannot specify a logical partition (F</dev/sda5+>) at all on the command line.  Doing so will give an error.
uk: Вказати логічний розділ (F</dev/sda5+>) у рядку команди не можна. Якщо ви це зробите, програма повідомить про помилку.

note: type: textblock
en: Align the first partition for improved performance (see also the I<--alignment> option).
uk: Вирівняти перший розділ, щоб підвищити швидкодію (див. параметр I<--alignment>).

note: type: textblock
en: The default is I<--align-first auto> which only aligns the first partition if it is safe to do so.  That is, only when we know how to fix the bootloader automatically, and at the moment that can only be done for Windows guests.
uk: Типовою поведінкою є використання параметра I<--align-first auto>, який вирівнює лише перший розділ, якщо це безпечно робити. Тобто, лише якщо програмі достеменно відомо, як виправити завантажувач автоматично, і, у поточній версії, лише для гостьових систем Windows.

note: type: textblock
en: I<--align-first never> means we never move the first partition.  This is the safest option.  Try this if the guest does not boot after resizing.
uk: I<--align-first never> означає, що пересування першого розділу ніколи не відбуватиметься. Це найбезпечніший варіант. Скористайтеся ним, якщо після зміни розмірів гостьова система відмовляється завантажуватися.

note: type: textblock
en: I<--align-first always> means we always align the first partition (if it needs to be aligned).  For some guests this will break the bootloader, making the guest unbootable.
uk: I<--align-first always> означає, що завжди відбуватиметься вирівнювання першого розділу (якщо його треба вирівнювати). Для деяких гостьових систем це може завадити роботи завантажувача, зробивши гостьову систему непридатною до завантаження.

note: type: textblock
en: Set the alignment of partitions to C<N> sectors.  The default in virt-resize E<lt> 1.13.19 was 64 sectors, and after that is 128 sectors.
uk: Встановити вирівнювання розділів на межу C<N> секторів. Типовою у virt-resize E<lt> 1.13.19 було межа у 64 сектори. Після цієї версії типове значення було змінено на 128 секторів.

note: type: textblock
en: Assuming 512 byte sector size inside the guest, here are some suitable values for this:
uk: Якщо припускати розмір сектора у гостьовій системі у 512 байтів, ось придатні значення для цього параметра:

note: type: =item
en: I<--alignment 1> (512 bytes)
uk: I<--alignment 1> (512 байтів)

note: type: textblock
en: The partitions would be packed together as closely as possible, but would be completely unaligned.  In some cases this can cause very poor performance.  See L<virt-alignment-scan(1)> for further details.
uk: Розділи буде розташовано поруч один із одним якомога ближче, але буде не вирівняно. У деяких випадках це може призвести до жахливої втрати швидкодії. Докладніший опис можна знайти на сторінці підручника щодо L<virt-alignment-scan(1)>.

note: type: textblock
en: This would be the minimum acceptable alignment for reasonable performance on modern hosts.
uk: Це мінімальне прийнятне вирівнювання для придатного значення швидкодії на сучасних основних системах.

note: type: textblock
en: This alignment provides good performance when the host is using high end network storage.
uk: Таке вирівнювання надасть змогу скористатися непоганою швидкодією, якщо основна система зберігається на високоякісних носіях для мережі.

note: type: textblock
en: This is the standard alignment used by all newly installed guests since around 2008.
uk: Це стандартне вирівнювання, яке використовується в усіх нововстановлених гостьових системах з приблизно 2008 року.

note: type: textblock
en: (Deprecated: use I<-v> option instead)
uk: (Застарілий: використовуйте замість нього I<-v>)

note: type: =item
en: B<--delete> PART
uk: B<--delete> РОЗДІЛ

note: type: textblock
en: Delete the named partition.  It would be more accurate to describe this as "don't copy it over", since virt-resize doesn't do in-place changes and the original disk image is left intact.
uk: Вилучити вказаний за назвою розділ. Точнішим визначенням цієї дії буде «не копіювати», оскільки virt-resize не вносить зміни до початкового образу диска.

note: type: textblock
en: Note that when you delete a partition, then anything contained in the partition is also deleted.  Furthermore, this causes any partitions that come after to be I<renumbered>, which can easily make your guest unbootable.
uk: Зауважте, що коли ви вилучаєте розділ, вилучаються і усі дані, які зберігалися на ньому. Більше того, у результаті усі розділи за вилученим I<перенумеровуються>, що може призвести до неможливості завантаження гостьової системи.

note: type: textblock
en: You can give this option multiple times.
uk: Цей параметр можна вказувати декілька разів.

note: type: =item
en: B<--expand> PART
uk: B<--expand> РОЗДІЛ

note: type: textblock
en: Expand the named partition so it uses up all extra space (space left over after any other resize changes that you request have been done).
uk: Розширити вказаний за назвою розділ так, щоб він зайняв усе вільне місце (місце, яке лишатиметься вільним після усіх інших вказаних вами змін у розмірах).

note: type: textblock
en: If virt-resize knows how, it will expand the direct content of the partition.  For example, if the partition is an LVM PV, it will expand the PV to fit (like calling L<pvresize(8)>).  Virt-resize leaves any other content it doesn't know about alone.
uk: Якщо virt-resize відомий спосіб, програма розширить безпосередній вміст розділу. Наприклад, якщо розділ є фізичним томом LVM, програма розширить фізичний том так, щоб він зайняв усе місце (подібно до виклику L<pvresize(8)>). Якщо спосіб розширення виявиться невідомим virt-resize, програма не чіпатиме вмісту розділу.

note: type: textblock
en: Currently virt-resize can resize:
uk: У поточній версії virt-resize може змінювати розміри таких файлових систем:

note: type: textblock
en: ext2, ext3 and ext4 filesystems.
uk: Файлових систем ext2, ext3 і ext4.

note: type: textblock
en: NTFS filesystems, if libguestfs was compiled with support for NTFS.
uk: Файлових систем NTFS, якщо libguestfs було зібрано з підтримкою NTFS.

note: type: textblock
en: The filesystem must have been shut down consistently last time it was used.  Additionally, L<ntfsresize(8)> marks the resized filesystem as requiring a consistency check, so at the first boot after resizing Windows will check the disk.
uk: Роботу файлової системи під час її останнього використання має бути завершено у штатному режимі. Крім того, L<ntfsresize(8)> позначає файлові системи зі зміненими розмірами як такі, що потребують перевірки, отже під час першого наступного запуску Windows на розділі зі зміненим розміром буде виконано перевірку диска.

note: type: textblock
en: LVM PVs (physical volumes).  virt-resize does not usually resize anything inside the PV, but see the I<--LV-expand> option.  The user could also resize LVs as desired after boot.
uk: Фізичні томи LVM. Зазвичай, virt-resize не змінює розміри вмісту фізичних томів, втім, див. параметр I<--LV-expand>. Користувач також може змінити розміри логічних томів бажаним чином після завантаження системи.

note: type: textblock
en: Btrfs filesystems, if libguestfs was compiled with support for btrfs.
uk: Файлові системи btrfs, якщо libguestfs було зібрано із підтримкою btrfs.

note: type: textblock
en: XFS filesystems, if libguestfs was compiled with support for XFS.
uk: Файлові системи XFS, якщо libguestfs було зібрано із підтримкою XFS.

note: type: textblock
en: Linux swap partitions.
uk: Розділи резервної пам'яті на диску Linux.

note: type: textblock
en: Please note that libguestfs I<destroys> the existing swap content by recreating it with C<mkswap>, so this should not be used when the guest is suspended.
uk: Будь ласка, зауважте, що libguestfs I<знищує> наявний вміст розділу резервної пам'яті на диску, відтворюючи його за допомогою C<mkswap>, тому такі розділи не слід використовувати, якщо гостьова система присипляється.

note: type: textblock
en: f2fs filesystems, if libguestfs was compiled with support for f2fs.
uk: Файлові системи f2fs, якщо libguestfs було зібрано із підтримкою f2fs.

note: type: textblock
en: Note that you cannot use I<--expand> and I<--shrink> together.
uk: Зауважте, що параметри I<--expand> і I<--shrink> не можна використовувати у одній і тій самій команді.

note: type: textblock
en: Specify the format of the input disk image.  If this flag is not given then it is auto-detected from the image itself.
uk: Вказати формат образу диска вхідних даних. Якщо цей прапорець не вказано, його буде автоматично визначено на основі даних самого образу.

note: type: textblock
en: Note that this option I<does not> affect the output format.  See L</QCOW2 AND NON-SPARSE RAW FORMATS>.
uk: Зауважте, що цей параметр I<не> впливає на формат виведених даних. Див. L</QCOW2 І НЕРОЗРІДЖЕНІ ФОРМАТИ RAW>.

note: type: =item
en: B<--ignore> PART
uk: B<--ignore> РОЗДІЛ

note: type: textblock
en: Ignore the named partition.  Effectively this means the partition is allocated on the destination disk, but the content is not copied across from the source disk.  The content of the partition will be blank (all zero bytes).
uk: Ігнорувати вказаний за назвою розділ. По суті, це означає, що розділ розміщується на диску призначення, але його вміст з початкового диска не копіюється. Розділ лишатиметься порожнім (заповненим нулями).

note: type: =item
en: B<--LV-expand> LOGVOL
uk: B<--LV-expand> ЛОГІЧНИЙ_ТОМ

note: type: textblock
en: This takes the logical volume and, as a final step, expands it to fill all the space available in its volume group.  A typical usage, assuming a Linux guest with a single PV F</dev/sda2> and a root device called F</dev/vg_guest/lv_root> would be:
uk: Цій команді передається логічний том і, як останній крок, вона розширює цей том так, щоб він зайняв усе вільне місце, яке доступне у групі томів. Типовим використанням, якщо припускати, що ви працюєте із гостьовою системою Linux із єдиним фізичним томом PV F</dev/sda2> і кореневим пристроєм із назвою F</dev/vg_guest/lv_root>, є:

note: type: textblock
en: This would first expand the partition (and PV), and then expand the root device to fill the extra space in the PV.
uk: Ця команда спершу розширить розділ (і фізичний том), а потім розширить кореневий пристрій так, що він займе усе наявне зайве місце на фізичному томі.

note: type: textblock
en: The contents of the LV are also resized if virt-resize knows how to do that.  You can stop virt-resize from trying to expand the content by using the option I<--no-expand-content>.
uk: Розмір вмісту логічного тому також буде змінено, якщо virt-resize відомий спосіб, як це зробити. Ви можете заборонити virt-resize змінювати розміри вмісту за допомогою параметра I<--no-expand-content>.

note: type: textblock
en: Use L<virt-filesystems(1)> to list the filesystems in the guest.
uk: Скористайтеся L<virt-filesystems(1)> для отримання списку файлових систем у гостьовій системі.

note: type: textblock
en: You can give this option multiple times, I<but> it doesn't make sense to do this unless the logical volumes you specify are all in different volume groups.
uk: Ви можете вказати у одній команді цей параметр декілька разів, I<але> сенсу у цьому небагато, хіба що вказані вами логічні томи належать до різних груп томів.

note: type: textblock
en: Print a summary of what would be done, but don’t do anything.
uk: Вивести резюме щодо дій, але не виконувати ці дії.

note: type: textblock
en: By default, virt-resize copies over some sectors at the start of the disk (up to the beginning of the first partition).  Commonly these sectors contain the Master Boot Record (MBR) and the boot loader, and are required in order for the guest to boot correctly.
uk: Типово, virt-resize копіює деякі сектори на початку диска (аж до початку першого розділу). Найчастіше, у цих секторах міститься Master Boot Record (MBR) та завантажувач. Вони потрібні для того, щоб гостьова система завантажувалася належним чином.

note: type: textblock
en: If you specify this flag, then this initial copy is not done.  You may need to reinstall the boot loader in this case.
uk: Якщо ви вкажете цей прапорець, це початкове копіювання не виконуватиметься. У цьому випадку може виникнути потреба у перевстановленні завантажувача.

note: type: textblock
en: By default, virt-resize creates an extra partition if there is any extra, unused space after all resizing has happened.  Use this option to prevent the extra partition from being created.  If you do this then the extra space will be inaccessible until you run fdisk, parted, or some other partitioning tool in the guest.
uk: Типово, virt-resize створює додатковий розділ, якщо буде виявлено зайве невикористане місце після усіх змін розмірів. Скористайтеся цим параметром для того, щоб запобігти створенню цього додаткового розділу. Якщо ви так зробите, зайве місце буде недоступним, аж доки ви не запустите fdisk, parted або якийсь інший інструмент поділу на розділи у гостьовій системі.

note: type: textblock
en: Note that if the surplus space is smaller than 10 MB, no extra partition will be created.
uk: Зауважте, що якщо зайвого місця виявиться менше за 10 МБ, додатковий розділ не створюватиметься.

note: type: textblock
en: By default, virt-resize will try to expand the direct contents of partitions, if it knows how (see I<--expand> option above).
uk: Типово, virt-resize намагатиметься розширити безпосередній вміст розділів, якщо програмі відомий спосіб виконати таке розширення (див. параметр I<--expand> вище).

note: type: textblock
en: If you give the I<--no-expand-content> option then virt-resize will not attempt this.
uk: Якщо ви вкажете параметр I<--no-expand-content>, virt-resize не виконуватиме таких спроб.

note: type: textblock
en: Turn off sparse copying.  See L</SPARSE COPYING> below.
uk: Вимкнути розріджене копіювання. Див. L</РОЗРІДЖЕНЕ КОПІЮВАННЯ> нижче.

note: type: textblock
en: Pass the I<--force> option to L<ntfsresize(8)>, allowing resizing even if the NTFS disk is marked as needing a consistency check.  You have to use this option if you want to resize a Windows guest multiple times without booting into Windows between each resize.
uk: Передавання параметра I<--force> до L<ntfsresize(8)> уможливить зміну розмірів, навіть якщо диск NTFS буде позначено як такий, що потребує перевірки коректності. Вам доведеться скористатися цим параметром, якщо ви хочете змінити розміри гостьової системи Windows без потреби у завантаженні Windows кожного разу між командами зміни розмірів.

note: type: textblock
en: Specify the format of the output disk image.  If this flag is not given then it is auto-detected from the image itself.
uk: Визначає формат виведеного образу диска. Якщо цей прапорець не вказано, формат буде автоматично визначено на основі даних щодо образу диска.

note: type: textblock
en: Note that this option I<does not create> the output format.  This option just tells libguestfs what it is so it doesn't try to guess it.  You still need to create the output disk with the right format.  See L</QCOW2 AND NON-SPARSE RAW FORMATS>.
uk: Зауважте, що цей параметр I<не створює> образ диска у визначеному форматі. Цей параметр призначено лише для того, щоб libguestfs не намагалася вгадати формат. Створити диск у належному форматі маєте ви самі. Див. L</QCOW2 І НЕРОЗРІДЖЕНІ ФОРМАТИ RAW>.

note: type: textblock
en: Don’t print the summary.
uk: Не виводити резюме.

note: type: =item
en: B<--resize> PART=SIZE
uk: B<--resize> РОЗДІЛ=РОЗМІР

note: type: textblock
en: Resize the named partition (expanding or shrinking it) so that it has the given size.
uk: Змінити розмір вказаного за назвою розділу (розширити або стиснути його) так, щоб він мав вказаний розмір.

note: type: textblock
en: C<SIZE> can be expressed as an absolute number followed by b/K/M/G to mean bytes, Kilobytes, Megabytes, or Gigabytes; or as a percentage of the current size; or as a relative number or percentage.  For example:
uk: C<РОЗМІР> можна вказати як значення за модулем із додаванням суфікса b/K/M/G на позначення байтів, кілобайтів, мегабайтів або гігабайтів, або як відсоток від поточного розміру, або як відносну частку. Приклад:

note: type: textblock
en: You can increase the size of any partition.  Virt-resize will expand the direct content of the partition if it knows how (see I<--expand> above).
uk: Ви можете збільшити розмір будь-якого розділу. Virt-resize розширить безпосередній вміст розділу, якщо програмі відомий спосіб виконати таке розширення (див. I<--expand> вище).

note: type: textblock
en: You can only I<decrease> the size of partitions that contain filesystems or PVs which have already been shrunk.  Virt-resize will check this has been done before proceeding, or else will print an error (see also I<--resize-force>).
uk: I<Зменшити> розмір розділів, які містять файлові системи або фізичні томи, можна лише якщо ці файлові системи або фізичні томи вже зменшено у розмірах всередині розділу. Virt-resize виконає перевірку виконання цієї умови до того, як розпочне обробку даних. Якщо умову не виконано, програма повідомить про помилку (див. також I<--resize-force>).

note: type: =item
en: B<--resize-force> PART=SIZE
uk: B<--resize-force> РОЗДІЛ=РОЗМІР

note: type: textblock
en: This is the same as I<--resize> except that it will let you decrease the size of any partition.  Generally this means you will lose any data which was at the end of the partition you shrink, but you may not care about that (eg. if shrinking an unused partition, or if you can easily recreate it such as a swap partition).
uk: Це те саме, що і I<--resize>, але із можливістю зменшувати розміри будь-яких розділів. Загалом, це означає, що ви можете втратити якісь дані, які зберігалися наприкінці зменшуваного розділу, але, можливо, ви цим не переймаєтеся (наприклад, якщо зменшуєте розмір невикористаного розділу або можете легко відтворити вміст розділу, зокрема розділу резервної пам'яті на диску).

note: type: textblock
en: See also the I<--ignore> option.
uk: Див. також опис параметра I<--ignore>.

note: type: =item
en: B<--shrink> PART
uk: B<--shrink> РОЗДІЛ

note: type: textblock
en: Shrink the named partition until the overall disk image fits in the destination.  The named partition B<must> contain a filesystem or PV which has already been shrunk using another tool (eg. L<guestfish(1)> or other online tools).  Virt-resize will check this and give an error if it has not been done.
uk: Зменшити вказаний за назвою розділ у розмірах так, щоб увесь образ диска вмістився у образ призначення. Вказаний за назвою розділ B<має> містити файлову систему або фізичний том, які вже було зменшено у розмірах за допомогою іншого засобу (наприклад L<guestfish(1)> або інших програм). Virt-resize виконає перевірку виконання цієї умови і повідомить про помилку, якщо попереднього зменшення файлової системи або фізичного тому не виконано.

note: type: textblock
en: The amount by which the overall disk must be shrunk (after carrying out all other operations requested by the user) is called the "deficit".  For example, a straight copy (assume no other operations)  from a 5GB disk image to a 4GB disk image results in a 1GB deficit.  In this case, virt-resize would give an error unless the user specified a partition to shrink and that partition had more than a gigabyte of free space.
uk: Об'єм, на який має бути зменшено увесь диск (після виконання усіх інших дій, вказаних користувачем), називається «дефіцитом». Наприклад, просте копіювання (якщо не виконується жодних інших дій) з образу диска у 5 ГБ на образ диска у 4 ГБ дає дефіцит у 1 ГБ. У цьому випадку virt-resize повідомить про помилку, якщо користувач не вказав такий розділ для стискання, на якому є понад гігабайт вільного місця.

note: type: textblock
en: Configure the behaviour of virt-resize when asking to expand a filesystem, and neither libguestfs has the support it, nor virt-resize knows how to expand the content of the filesystem.
uk: Налаштувати поведінку virt-resize, якщо програмі надійшла команда розширити файлову систему, а у libguestfs не передбачено її підтримки і virt-resize не знає способу, як розширити вміст файлової системи.

note: type: textblock
en: I<--unknown-filesystems ignore> will cause virt-resize to silently ignore such filesystems, and nothing is printed about them.
uk: Використання параметра I<--unknown-filesystems ignore> призведе до того, що virt-resize без додаткових повідомлень ігноруватиме такі файлові системи і нічого не виводитиме щодо них.

note: type: textblock
en: I<--unknown-filesystems warn> (the default behaviour) will cause virt-resize to warn for each of the filesystem that cannot be expanded, but still continuing to resize the disk.
uk: Використання параметра I<--unknown-filesystems warn> (типове поведінка) призводитиме до того, що virt-resize попереджатиме про кожну файлову систему, яку не може бути розширено, але продовжуватиме зміну розмірів розділів на диску.

note: type: textblock
en: I<--unknown-filesystems error> will cause virt-resize to error out at the first filesystem that cannot be expanded.
uk: Використання параметра I<--unknown-filesystems error> призведе до того, що virt-resize повідомлятиме про помилку, якщо виявить файлову систему, розміри якої не можна збільшити.

note: type: textblock
en: See also L</"unknown/unavailable method for expanding the TYPE filesystem on DEVICE/LV">.
uk: Див. також L</"unknown/unavailable method for expanding the TYPE filesystem on DEVICE/LV">.

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-resize from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-resize з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: There are two ways to use this option.
uk: Існує два способи використання цього параметра.

note: type: textblock
en: Firstly use the option on its own to query the capabilities of the virt-resize binary.  Typical output looks like this:
uk: По-перше, можна скористатися ним без інших параметрів для того, щоб дізнатися про можливості виконуваного файла virt-resize. Типові виведені дані виглядатимуть так:

note: type: textblock
en: Secondly use the option in conjunction with other options to make the regular program output more machine friendly.
uk: По-друге, можна скористатися цим параметром у поєднанні із іншими параметрами для того, щоб зробити звичайні виведені програмою дані придатнішими для подальшої машинної обробки.

note: type: textblock
en: At the moment this means:
uk: У поточній версії це означає таке:

note: type: textblock
en: Progress bar messages can be parsed from stdout by looking for this regular expression:
uk: Повідомлення смужки поступу можна обробляти зі стандартного виведення, шукаючи їх за таким формальним виразом:

note: type: textblock
en: The calling program should treat messages sent to stdout (except for progress bar messages) as status messages.  They can be logged and/or displayed to the user.
uk: Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до стандартного виведення, (окрім повідомлень смужки поступу) як повідомлення щодо стану. Ці повідомлення може бути записано до журналу і/або показано користувачеві.

note: type: textblock
en: The calling program should treat messages sent to stderr as error messages.  In addition, virt-resize exits with a non-zero status code if there was a fatal error.
uk: Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до stderr як повідомлення про помилки. Крім того, virt-resize завершує роботу із ненульовим кодом стану, якщо станеться критична помилка.

note: type: textblock
en: Versions of the program prior to 1.13.9 did not support the I<--machine-readable> option and will return an error.
uk: У версіях програми до 1.13.9 не передбачено використання параметра I<--machine-readable>. Якщо цей параметр буде використано для такої версії, програма поверне повідомлення про помилку.

note: type: =head2
en: "Partition 1 does not end on cylinder boundary."
uk: «Розділ 1 не закінчується на межі циліндра.»

note: type: textblock
en: Virt-resize aligns partitions to multiples of 128 sectors (see the I<--alignment> parameter).  Usually this means the partitions will not be aligned to the ancient CHS geometry.  However CHS geometry is meaningless for disks manufactured since the early 1990s, and doubly so for virtual hard drives.  Alignment of partitions to cylinders is not required by any modern operating system.
uk: Virt-resize вирівнює розділи на позиції, кратні до 128 секторів (див. параметр I<--alignment>). Зазвичай, це означає, що розділи не буде вирівняно за давньою геометрією CHS (циліндр-голівка-сектор). Втім, геометрія CHS не має сенсу для дисків, які вироблено після ранніх 1990-х, і зовсім не має сенсу для віртуальних жорстких дисків. Вирівнювання розділів за циліндрами не є вимогою жодної сучасної операційної системи.

note: type: =head2
en: GUEST BOOT STUCK AT "GRUB"
uk: ЗАВАНТАЖЕННЯ ГОСТЬОВОЇ СИСТЕМИ ЗУПИНЯЄТЬСЯ НА «GRUB»

note: type: textblock
en: If a Linux guest does not boot after resizing, and the boot is stuck after printing C<GRUB> on the console, try reinstalling grub.
uk: Якщо гостьова система Linux не завантажується після зміни розміру, і завантаження зупиняється після виведення слова C<GRUB> до консолі, спробуйте перевстановити grub.

note: type: textblock
en: For more flexible guest reconfiguration, including if you need to specify other parameters to grub-install, use L<virt-rescue(1)>.
uk: Для гнучкішого переналаштовування гостьової системи, зокрема випадків, коли вам потрібно вказати інші параметри grub-install, скористайтеся L<virt-rescue(1)>.

note: type: =head2
en: RESIZING WINDOWS BOOT PARTITIONS
uk: ЗМІНА РОЗМІРІВ ЗАВАНТАЖУВАЛЬНИХ РОЗДІЛІВ WINDOWS

note: type: textblock
en: In Windows Vista and later versions, Microsoft switched to using a separate boot partition.  In these VMs, typically F</dev/sda1> is the boot partition and F</dev/sda2> is the main (C:) drive.  Resizing the first (boot) partition causes the bootloader to fail with C<0xC0000225> error.  Resizing the second partition (ie. C: drive)  should work.
uk: У Windows Vista і новіших версіях компанія Microsoft перейшла до використання окремого розділу завантаження. У віртуальних машинах із цими операційними системами, типово, F</dev/sda1> є розділом завантаження, а F</dev/sda2> є основним диском (C:). Зміна розмірів першого розділу (розділу завантаження) спричиняє помилку завантажувача C<0xC0000225>. Зміна розмірів другого розділу (тобто диска C:) має працювати.

note: type: textblock
en: Windows disks which use NTFS must be consistent before virt-resize can be used.  If the ntfsresize operation fails, try booting the original VM and running C<chkdsk /f> on all NTFS partitions, then shut down the VM cleanly.  For further information see: L<https://bugzilla.redhat.com/show_bug.cgi?id=975753>
uk: Диск Windows, на якому використовується NTFS, має бути коректним, перш ніж virt-resize зможе ним скористатися. Якщо спроба виконати дію ntfsresize завершиться повідомленням про помилку, спробуйте завантажити початкову віртуальну машину і запустіть C<chkdsk /f> для усіх розділів NTFS, потім завершіть роботу віртуальної машини у штатний спосіб. Докладнішу інформацію наведено тут: L<https://bugzilla.redhat.com/show_bug.cgi?id=975753>

note: type: textblock
en: I<After resize> Windows may initiate a lengthy "chkdsk" on first boot if NTFS partitions have been expanded.  This is just a safety check and (unless it find errors) is nothing to worry about.
uk: I<Після зміни розмірів> Windows може ініціювати тривалу обробку chkdsk при першому завантаженні, якщо було розширено розділи NTFS. Це усього лише для забезпечення надійного зберігання даних, і (якщо не буде знайдено помилок) ви можете бути спокійні.

note: type: =head2
en: WINDOWS UNMOUNTABLE_BOOT_VOLUME BSOD
uk: СИНІЙ ЕКРАН СМЕРТІ UNMOUNTABLE_BOOT_VOLUME У WINDOWS

note: type: textblock
en: After sysprepping a Windows guest and then resizing it with virt-resize, you may see the guest fail to boot with an C<UNMOUNTABLE_BOOT_VOLUME> BSOD.  This error is caused by having C<ExtendOemPartition=1> in the sysprep.inf file.  Removing this line before sysprepping should fix the problem.
uk: Після приготування системи гостьової операційної системи Windows із наступною зміною її розміру за допомогою virt-resize ви можете отримати непридатну до завантаження систему, яка показуватиме синій екран смерті із помилкою C<UNMOUNTABLE_BOOT_VOLUME>. Цю помилку спричинено наявністю рядка C<ExtendOemPartition=1> у файлі sysprep.inf. Якщо вилучити цей рядок до обробки sysprep, проблема зникає.

note: type: textblock
en: Windows 8 "fast startup" can prevent virt-resize from resizing NTFS partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>.
uk: «Швидкий запуск» Windows 8 може заважати virt-resize змінювати розмір розділів NTFS. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS  ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

note: type: =head2
en: SPARSE COPYING
uk: РОЗРІДЖЕНЕ КОПІЮВАННЯ

note: type: textblock
en: You should create a fresh, zeroed target disk image for virt-resize to use.
uk: Вам слід створити новий, заповнений нулями образ диска призначення, який використовуватиме virt-resize.

note: type: textblock
en: Virt-resize by default performs sparse copying.  This means that it does not copy blocks from the source disk which are all zeroes.  This improves speed and efficiency, but will produce incorrect results if the target disk image contains unzeroed data.
uk: Virt-resize типово виконує розріджене копіювання. Це означає, що програма не копіює ті блоки з початкового диска, які заповнено лише нулями. Це підвищує швидкість та ефективність роботи, але може призвести до некоректних результатів, якщо на образі диска призначення є незанулені дані.

note: type: textblock
en: The main time this can be a problem is if the target is a host partition (eg. S<C<virt-resize source.img /dev/sda4>>) because the usual partitioning tools tend to leave whatever data happened to be on the disk before.
uk: В основному, така проблема виникає, якщо образом призначення є розділ основної системи (наприклад, S<C<virt-resize source.img /dev/sda4>>), оскільки звичайні інструменти поділу диска на розділи лишають недоторканними усі дані, які раніше зберігалися на диску.

note: type: textblock
en: If you have to reuse a target which contains data already, you should use the I<--no-sparse> option.  Note this can be much slower.
uk: Якщо ви змушені використатися образ призначення, на якому вже зберігалися дані, вам слід скористатися параметром I<--no-sparse>. Зауважте, що це значно уповільнить роботу програми.

note: type: textblock
en: Virt-resize was asked to expand a partition or a logical volume containing a filesystem with the type C<TYPE>, but there is no available nor known expanding method for that filesystem.
uk: Virt-resize було наказано розширити розділ або логічний том, на якому міститься файлова система типу C<TYPE>, але програмі недоступний або невідомий спосіб розширення цієї файлової системи.

note: type: textblock
en: This may be due to either of the following:
uk: Причиною може бути будь-що із наведеного нижче:

note: type: textblock
en: There corresponding filesystem is not available in libguestfs, because there is no proper package in the host with utilities for it.  This is usually the case for C<btrfs>, C<ntfs>, C<xfs>, and C<f2fs> filesystems.
uk: Відповідна файлова система недоступна у libguestfs, оскільки у основній системі немає належного пакунка із інструментами для роботи з цією файловою системою. Таке, зазвичай, трапляється із файловими системами C<btrfs>, C<ntfs>, C<xfs> та C<f2fs>.

note: type: textblock
en: Check the results of:
uk: Спробуйте такі команди:

note: type: textblock
en: In this case, it is enough to install the proper packages adding support for them.  For example, C<libguestfs-xfs> on Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, and distributions derived from them, for supporting the C<xfs> filesystem.
uk: У цьому випадку достатньо встановити належні пакунки із підтримкою файлових систем. Наприклад, достатньо встановити C<libguestfs-xfs> у Red Hat Enterprise Linux, CentOS, Debian, Ubuntu та дистрибутивах, які від них походять, щоб можна було працювати із файловою системою C<xfs>.

note: type: textblock
en: Virt-resize has no support for expanding that type of filesystem.
uk: У virt-resize не передбачено підтримки розширення цього типу файлових систем.

note: type: textblock
en: In this case, there’s nothing that can be done to let virt-resize expand that type of filesystem.
uk: У цьому випадку нічого не поробиш: virt-resize не зможе розширити файлову систему цього типу.

note: type: textblock
en: In both cases, virt-resize will not expand the mentioned filesystem; the result (unless I<--unknown-filesystems error> is specified)  is that the partitions containing such filesystems will be actually bigger as requested, but the filesystems will still be usable at their older sizes.
uk: У обох випадках virt-resize не розширюватиме згадані файлові системи. Результатом (якщо не вказано I<--unknown-filesystems error>) буде те, що розділи, які містять такі файлові системи будуть більшими, але самими файловими системами можна буде скористатися лише у межах їхніх старих розмірів.

note: type: =head1
en: ALTERNATIVE TOOLS
uk: АЛЬТЕРНАТИВНІ ІНСТРУМЕНТИ

note: type: textblock
en: There are several proprietary tools for resizing partitions.  We won't mention any here.
uk: Існує декілька пропрієтарних інструментів для зміни розмірів розділів. Тут ми не будемо згадувати назви жодного з таких інструментів.

note: type: textblock
en: L<parted(8)> and its graphical shell gparted can do some types of resizing operations on disk images.  They can resize and move partitions, but I don't think they can do anything with the contents, and they certainly don't understand LVM.
uk: L<parted(8)> і її графічний інтерфейс, gparted, можуть виконувати певні типи дій із зміни розміру образів дисків. Ці програми можуть змінювати розмір і пересувати розділи, але не слід вважати, що вони можуть виконувати будь-які дії із вмістом розділів, і, звичайно ж, вони не можуть працювати з LVM.

note: type: textblock
en: L<guestfish(1)> can do everything that virt-resize can do and a lot more, but at a much lower level.  You will probably end up hand-calculating sector offsets, which is something that virt-resize was designed to avoid.  If you want to see the guestfish-equivalent commands that virt-resize runs, use the I<--debug> flag.
uk: L<guestfish(1)> може виконувати усі ті дії, які може виконувати virt-resize, і набагато більше, але на суттєво нижчому рівні. Ймовірно, вам доведеться вручну обчислювати відступи у секторах, робити те, що за означенням має робити virt-resize. Якщо хочете дізнатися, які команди у guestfish запускає virt-resize, скористайтеся параметром I<--debug>.

note: type: textblock
en: L<dracut(8)> includes a module called C<dracut-modules-growroot> which can be used to grow the root partition when the guest first boots up.  There is documentation for this module in an associated README file.
uk: До складу L<dracut(8)> включено модуль із назвою C<dracut-modules-growroot>, яким можна скористатися для збільшення розмірів кореневого розділу під час першого завантаження гостьової системи. Документацію з цього модуля наведено у пов'язаному із ним файлі README.

note: type: textblock
en: guestfs-ruby - How to use libguestfs from Ruby
uk: guestfs-ruby — як використовувати libguestfs з Ruby

note: type: textblock
en: This manual page documents how to call libguestfs from the Ruby programming language.  This page just documents the differences from the C API and gives some examples.  If you are not familiar with using libguestfs, you also need to read L<guestfs(3)>.
uk: На цій сторінці підручника наведено документацію щодо викликів libguestfs з коду мовою програмування Ruby. На сторінці задокументовано відмінності від програмного інтерфейсу C та подано декілька прикладів. Якщо ви не дуже знайомі із користуванням libguestfs, вам також слід прочитати підручник з L<guestfs(3)>.

note: type: textblock
en: Errors from libguestfs functions are mapped into the C<Error> exception.  This has a single parameter which is the error message (a string).
uk: Помилки функцій libguestfs пов'язуються із виключенням C<Error>. Це виключення має єдиний параметр, яким є повідомлення щодо помилки (рядок).

note: type: textblock
en: virt-sparsify - Make a virtual machine disk sparse
uk: virt-sparsify — зробити диск віртуальної машини розрідженим

note: type: verbatim
en:  virt-sparsify [--options] indisk outdisk
uk:  virt-sparsify [--параметри] вхідний_диск вихідний_диск

note: type: verbatim
en:  virt-sparsify [--options] --in-place disk
uk:  virt-sparsify [--параметри] --in-place диск

note: type: textblock
en: Virt-sparsify is a tool which can make a virtual machine disk (or any disk image) sparse a.k.a. thin-provisioned.  This means that free space within the disk image can be converted back to free space on the host.
uk: Virt-sparsify — інструмент, який може зробити диск віртуальної машини (або будь-який образ диска) розрідженим, тобто спеціально зменшеним. Це означає, що вільне місце в образі диска можна буде перетворити на вільне місце в основній системі.

note: type: textblock
en: Virt-sparsify can locate and sparsify free space in most filesystems (eg. ext2/3/4, btrfs, NTFS, etc.), and also in LVM physical volumes.
uk: Virt-sparsify може знаходити і розріджувати вільне місце у більшості файлових систем (наприклад у ext2/3/4, btrfs, NTFS тощо), а також у фізичних томах LVM.

note: type: textblock
en: Virt-sparsify can also convert between some disk formats, for example converting a raw disk image to a thin-provisioned qcow2 image.
uk: Крім того, програма virt-sparsify може перетворювати диски з одного формату на інший, наприклад, перетворити образ диска у простому форматі (raw) на розріджений образ у форматі qcow2.

note: type: textblock
en: Virt-sparsify can operate on any disk image, not just ones from virtual machines.  However if a virtual machine has multiple disks and uses volume management, then virt-sparsify will work but not be very effective (L<http://bugzilla.redhat.com/887826>).
uk: Virt-sparsify може працювати з будь-яким образом диска, не лише з образами віртуальних машин. Втім, якщо у вашій віртуальній машині декілька дисків і використано керування томами, virt-sparsify працюватиме, але не дуже ефективно (L<http://bugzilla.redhat.com/887826>).

note: type: =head2
en: IMPORTANT NOTE ABOUT SPARSE OUTPUT IMAGES
uk: ВАЖЛИВЕ ЗАУВАЖЕННЯ ЩОДО РОЗРІДЖЕНИХ ВИВЕДЕНИХ ОБРАЗІВ

note: type: textblock
en: If the input is raw, then the default output is raw sparse.  B<You must check the output size using a tool that understands sparseness> such as C<du -sh>.  It can make a huge difference:
uk: Якщо вхідними даними є образ raw, буде виведено розріджені дані raw. B<Вам слід перевірити розмір виведених даних за допомогою інструмента, який обробляє розріджені дані>, наприклад C<du -sh>. Різниця може бути досить значною:

note: type: =head2
en: IMPORTANT LIMITATIONS
uk: ВАЖЛИВІ ОБМЕЖЕННЯ

note: type: textblock
en: The virtual machine I<must be shut down> before using this tool.
uk: До використання цього інструмента віртуальну машину I<слід зупинити>.

note: type: textblock
en: Virt-sparsify may require up to 2x the virtual size of the source disk image (1 temporary copy + 1 destination image).  This is in the worst case and usually much less space is required.
uk: Virt-sparsify може потребувати для роботи удвічі більшого місця на диску, ніж розмір початкового образу диска (1 тимчасова копія + 1 образ призначення). Ця оцінка є максимальною, і зазвичай потрібно набагато менше місця.

note: type: textblock
en: If you are using the I<--in-place> option, then large amounts of temporary space are B<not> required.
uk: Якщо ви використовуєте параметр I<--in-place>, значні обсяги місця на диску для тимчасового зберігання даних B<не> знадобляться.

note: type: textblock
en: Virt-sparsify cannot resize disk images.  To do that, use L<virt-resize(1)>.
uk: Virt-sparsify не може змінювати розміри образів дисків. Для зміни розмірів дисків скористайтеся L<virt-resize(1)>.

note: type: textblock
en: Virt-sparsify cannot handle encrypted disks.  Libguestfs supports encrypted disks, but encrypted disks themselves cannot be sparsified.
uk: Virt-sparsify не може працювати із зашифрованими дисками. У libguestfs передбачено підтримку самих зашифрованих дисків, але зашифровані диски не може бути розріджено.

note: type: textblock
en: Virt-sparsify cannot yet sparsify the space between partitions.  Note that this space is often used for critical items like bootloaders so it's not really unused.
uk: Virt-sparsify ще не може розріджувати місце між розділами. Зауважте, що це місце часто використовується для критичних даних, зокрема завантажувачів, тому, насправді, воно може бути зовсім не таким зайвим, як може здатися.

note: type: textblock
en: In copy mode, qcow2 internal snapshots are not copied over to the destination image.
uk: У режимі копіювання внутрішні знімки qcow2 не копіюються на образ призначення.

note: type: textblock
en: You may also want to read the manual pages for the associated tools L<virt-filesystems(1)> and L<virt-df(1)> before starting.
uk: Перш ніж розпочати користування цією програмою, вам також варто ознайомитися зі сторінками підручника щодо пов'язаних із нею інструментів, L<virt-filesystems(1)> та L<virt-df(1)>.

note: type: textblock
en: Typical usage is:
uk: Типовий приклад використання:

note: type: verbatim
en:  virt-sparsify indisk outdisk
uk:  virt-sparsify вхідний_диск вихідний_диск

note: type: textblock
en: which copies C<indisk> to C<outdisk>, making the output sparse.  C<outdisk> is created, or overwritten if it already exists.  The format of the input disk is detected (eg. qcow2) and the same format is used for the output disk.
uk: Ця команда копіює C<вхідний_диск> на диск C<вихідний_диск>, роблячи результат розрідженим. Диск C<вихідний_диск> буде створено або перезаписано, якщо такий диск уже існує. Програма сама визначить формат вхідного диска (наприклад qcow2) і використає той самий формат для вихідного диска.

note: type: textblock
en: To convert between formats, use the I<--convert> option:
uk: Для перетворення диска з одного формату на інший скористайтеся параметром I<--convert>:

note: type: textblock
en: Virt-sparsify tries to zero and sparsify free space on every filesystem it can find within the source disk image.  You can get it to ignore (don't zero free space on) certain filesystems by doing:
uk: Virt-sparsify намагається занулити і розрідити вільне місце на усіх файлових системах, які вдасться знайти на початковому образі диска. Ви можете наказати програмі ігнорувати (не занулювати вільне місце) певні файлові системи за допомогою такої команди:

note: type: verbatim
en:  virt-sparsify --ignore /dev/sda1 indisk outdisk
uk:  virt-sparsify --ignore /dev/sda1 вхідний_диск вихідний_диск

note: type: textblock
en: See L<virt-filesystems(1)> to get a list of filesystems within a disk image.
uk: Щоб отримати список файлових систем на образі диска, скористайтеся командою L<virt-filesystems(1)>.

note: type: textblock
en: Since virt-sparsify E<ge> 1.26, you can now sparsify a disk image in place by doing:
uk: Починаючи з версії virt-sparsify E<ge> 1.26, ви можете розріджувати образ диска на місці, ось так:

note: type: textblock
en: Check if L</TMPDIR> or I<--tmp> directory has enough space to complete the operation.  This is just an estimate.
uk: Переконайтеся, чи достатньо вільного місця у каталозі, вказаному за допомогою змінної середовища L</TMPDIR> або параметра I<--tmp>, для завершення дії. Це лише оцінка.

note: type: textblock
en: If the check indicates a problem, then you can either:
uk: Якщо під час перевірки буде виявлено проблему, ви можете піти одним з таких шляхів:

note: type: textblock
en: B<ignore> it,
uk: B<ігнорувати> її,

note: type: textblock
en: print a warning and B<continue>,
uk: вивести попередження і B<продовжити>,

note: type: textblock
en: B<warn> and wait for the user to press the Return key (this is the default), or:
uk: B<попередити> і почекати, доки користувач натисне клавішу Enter (типова поведінка) або

note: type: textblock
en: B<fail> and exit.
uk: B<вивести попередження про помилку> і завершити роботу.

note: type: textblock
en: You cannot use this option and I<--in-place> together.
uk: Цей параметр не можна поєднувати із параметром I<--in-place>.

note: type: textblock
en: Compress the output file.  This I<only> works if the output format is C<qcow2>.
uk: Стиснути файл виведених даних. Це працює, I<лише> якщо форматом виведення даних є C<qcow2>.

note: type: =item
en: B<--convert> [other formats]
uk: B<--convert> [інші формати]

note: type: textblock
en: Use C<output-format> as the format for the destination image.  If this is not specified, then the input format is used.
uk: Використовувати C<формат виведення> як формат образу призначення. Якщо цей параметр не вказано, буде використано той самий формат, що і у вхідних даних.

note: type: textblock
en: Supported and known-working output formats are: C<raw>, C<qcow2>, C<vdi>.
uk: Підтримуваними і працездатними форматами виведення є такі: C<raw>, C<qcow2>, C<vdi>.

note: type: textblock
en: You can also use any format supported by the L<qemu-img(1)> program, eg. C<vmdk>, but support for other formats is reliant on qemu.
uk: Ви також можете скористатися будь-яким іншим форматом, підтримку якого передбачено у програми L<qemu-img(1)>, наприклад C<vmdk>, але підтримка інших форматів повністю залежить від можливостей qemu.

note: type: textblock
en: Specifying the I<--convert> option is usually a good idea, because then virt-sparsify doesn't need to try to guess the input format.
uk: Зазвичай, варто визначати формат за допомогою I<--convert>, оскільки тоді virt-sparsify не доведеться вгадувати формат вхідних даних.

note: type: textblock
en: For fine-tuning the output format, see: I<--compress>, I<-o>.
uk: Скоригувати формат виведення даних можна за допомогою параметрів I<--compress>, I<-o>.

note: type: textblock
en: When prompting for keys and passphrases, virt-sparsify normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-sparcify попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: =item
en: B<--ignore> filesystem
uk: B<--ignore> файлова_система

note: type: =item
en: B<--ignore> volgroup
uk: B<--ignore> група_томів

note: type: textblock
en: Ignore the named filesystem.
uk: Ігнорувати вказану файлову систему.

note: type: textblock
en: When not using I<--in-place>: Free space on the filesystem will not be zeroed, but existing blocks of zeroes will still be sparsified.
uk: Якщо не використовується I<--in-place>, вільне місце у файловій системі не буде занулено, але наявні нульові блоки все одно буде розріджено.

note: type: textblock
en: When using I<--in-place>, the filesystem is ignored completely.
uk: Якщо використовується I<--in-place>, файлову систему буде повністю проігноровано.

note: type: textblock
en: In the second form, this ignores the named volume group.  Use the volume group name without the F</dev/> prefix, eg. I<--ignore vg_foo>
uk: У другій формі команда призведе до ігнорування вказаної за назвою групи томів. Використовуйте назву групи томів без префікса F</dev/>, наприклад I<--ignore vg_foo>

note: type: textblock
en: Do in-place sparsification instead of copying sparsification.  See L</IN-PLACE SPARSIFICATION> below.
uk: Виконати розрідження на місці замість розрідження копіюванням. Див. розділ L</РОЗРІДЖЕННЯ НА МІСЦІ> нижче.

note: type: =item
en: B<-o> option[,option,...]
uk: B<-o> параметр[,параметр,...]

note: type: textblock
en: Pass I<-o> option(s) to the L<qemu-img(1)> command to fine-tune the output format.  Options available depend on the output format (see I<--convert>) and the installed version of the qemu-img program.
uk: Передати параметри I<-o> до програми L<qemu-img(1)> для коригування формату виведення даних.  Перелік доступних параметрів залежить від формату виведення (див. I<--convert>) і встановленої версії програми qemu-img.

note: type: textblock
en: You should use I<-o> at most once.  To pass multiple options, separate them with commas, eg:
uk: Вам слід скористатися I<-o> не більше одного разу. Щоб передати декілька параметрів, відокремте їх комами. Приклад:

note: type: textblock
en: This disables progress bars and other unnecessary output.
uk: Цей параметр вимикає смужки поступу та інші необов'язкові до виведення дані.

note: type: =item
en: B<--tmp> block_device
uk: B<--tmp> блоковий_пристрій

note: type: =item
en: B<--tmp> dir
uk: B<--tmp> каталог

note: type: textblock
en: In copying mode only, use the named device or directory as the location of the temporary overlay (see also L</TMPDIR> below).
uk: Лише у режимі копіювання, використати вказаний за назвою пристрій або каталог як місце для тимчасової накладки (див. також L</TMPDIR> нижче).

note: type: textblock
en: If the parameter given is a block device, then the block device is written to directly.  B<Note this erases the existing contents of the block device>.
uk: Якщо як параметр вказано блоковий пристрій, блоковий пристрій буде записано безпосередньо. B<Зауважте, що при цьому з блокового пристрою буде повністю витерто наявні дані>.

note: type: textblock
en: If the parameter is a directory, then this is the same as setting the L</TMPDIR> environment variable.
uk: Якщо як параметр вказано каталог, визначення параметра буде рівнозначним заданню значення змінної середовища L</TMPDIR>.

note: type: =item
en: B<--tmp> prebuilt:file
uk: B<--tmp> prebuilt:файл

note: type: textblock
en: In copying mode only, the specialized option I<--tmp prebuilt:file> (where C<prebuilt:> is a literal string) causes virt-sparsify to use the qcow2 C<file> as temporary space.
uk: Лише у режимі копіювання, спеціалізований параметр I<--tmp prebuilt:файл> (де C<prebuilt:> слід записувати буквально) наказує virt-sparsify використовувати як місце зберігання тимчасових даних файл qcow2 C<файл>.

note: type: textblock
en: The file B<must> be freshly formatted as qcow2, with indisk as the backing file.
uk: Файл B<має> бути наново форматовано як qcow2, а вхідний диск буде резервним файлом.

note: type: textblock
en: If you rerun virt-sparsify, you B<must> recreate the file before each run.
uk: Якщо ви повторно запускатимете virt-sparsify, вам B<слід> повторно створювати файл перед кожним запуском.

note: type: textblock
en: Virt-sparsify does not delete the file.
uk: Virt-sparsify не вилучає цей файл.

note: type: textblock
en: This option is used by oVirt which requires a specially formatted temporary file.
uk: Цей параметр використовується oVirt, де потрібен спеціальним чином форматований тимчасовий файл.

note: type: =item
en: B<--zero> partition
uk: B<--zero> розділ

note: type: =item
en: B<--zero> logvol
uk: B<--zero> логічний_том

note: type: textblock
en: Zero the contents of the named partition or logical volume in the guest.  All data on the device is lost, but sparsification is excellent! You can give this option multiple times.
uk: Занулити вміст вказаного за назвою розділу або логічного тому у гостьовій системі. Усі дані на пристрої буде втрачено, але буде досягнуто чудової розрідженості! Цей параметр можна вказувати в одній команді декілька разів.

note: type: =head1
en: IN-PLACE SPARSIFICATION
uk: РОЗРІДЖЕННЯ НА МІСЦІ

note: type: textblock
en: Since virt-sparsify E<ge> 1.26, the tool is able to do in-place sparsification (instead of copying from an input disk to an output disk).  This is more efficient.  It is not able to recover quite as much space as copying sparsification.
uk: Починаючи з virt-sparsify E<ge> 1.26, програма може виконувати розрідження на місці (замість копіювання з вхідного диска до вихідного диска). Таке розрідження є ефективнішим. Втім, за його використання не можна отримати більше місця у основній системі, якщо порівнювати із розрідженням із копіюванням.

note: type: textblock
en: To use this mode, specify a disk image which will be modified in place:
uk: Щоб скористатися цим режимом, вкажіть образ диска, який буде змінено на місці:

note: type: textblock
en: Some options are not compatible with this mode: I<--convert>, I<--compress> and I<-o> because they require wholesale disk format changes; I<--check-tmpdir> because large amounts of temporary space are not required.
uk: Деякі параметри несумісні із цим режимом: I<--convert>, I<--compress> і I<-o>, оскільки їхнє використання вимагає загальної зміни формату диска; I<--check-tmpdir>, оскільки великі обсяги для зберігання тимчасових даних не потрібні.

note: type: textblock
en: In-place sparsification works using discard (a.k.a trim or unmap)  support.
uk: Розрідження на місці працює завдяки підтримці відкидання (або обрізання чи скасування отримання пам'яті).

note: type: textblock
en: The I<--machine-readable> option can be used to make the output more machine friendly, which is useful when calling virt-sparsify from other programs, GUIs etc.
uk: Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-sparcify з інших програм, графічних інтерфейсів тощо.

note: type: textblock
en: Firstly use the option on its own to query the capabilities of the virt-sparsify binary.  Typical output looks like this:
uk: Спочатку, скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-sparcify.  Типово виведені дані виглядатимуть якось так:

note: type: textblock
en: The calling program should treat messages sent to stderr as error messages.  In addition, virt-sparsify exits with a non-zero status code if there was a fatal error.
uk: Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до stderr як повідомлення про помилки. Крім того, virt-sparcify завершує роботу із ненульовим кодом стану, якщо станеться критична помилка.

note: type: textblock
en: All versions of virt-sparsify have supported the I<--machine-readable> option.
uk: Підтримку параметра I<--machine-readable> передбачено у всіх версіях virt-sparsify.

note: type: textblock
en: Windows 8 "fast startup" can prevent virt-sparsify from working.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>.
uk: «Швидкий запуск» Windows 8 може заважати роботі virt-sparsify. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS  ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

note: type: textblock
en: Location of the temporary directory used for the potentially large temporary overlay file.
uk: Розташування каталогу тимчасових даних, який використовуватиметься для потенційно великих тимчасових файлів-накладок.

note: type: textblock
en: In virt-sparsify E<ge> 1.28, you can override this environment variable using the I<--tmp> option.
uk: У virt-sparsify E<ge> 1.28 ви можете перевизначити цю змінну середовища за допомогою параметра I<--tmp>.

note: type: textblock
en: You should ensure there is enough free space in the worst case for a full copy of the source disk (I<virtual> size), or else set C<$TMPDIR> to point to another directory that has enough space.
uk: На диску має бути достатньо вільного місця для найгіршого варіанта для повної копії початкового диска (I<віртуального> розміру). Якщо місця недостатньо, слід встановити для C<$TMPDIR> значення, яке вказує на інший каталог, де достатньо місця.

note: type: textblock
en: This defaults to F</tmp>.
uk: Типовим значенням є F</tmp>.

note: type: textblock
en: Note that if C<$TMPDIR> is a tmpfs (eg. if F</tmp> is on tmpfs, or if you use C<TMPDIR=/dev/shm>), tmpfs defaults to a maximum size of I<half> of physical RAM.  If virt-sparsify exceeds this, it will hang.  The solution is either to use a real disk, or to increase the maximum size of the tmpfs mountpoint, eg:
uk: Зауважте, що якщо файловою системою у C<$TMPDIR> є tmpfs (наприклад, якщо файловою системою F</tmp> є tmpfs, або якщо ви використовуєте C<TMPDIR=/dev/shm>), типовим розміром tmpfs є максимальне значення I<половини> фізичної оперативної пам'яті. Якщо virt-sparsify знадобиться більше місця, програма просто «повисне». Якщо ви побоюєтеся такого перебігу подій, або скористайтеся реальним диском, або збільште максимальний розмір точки монтування tmpfs, наприклад так:

note: type: textblock
en: This program returns 0 if the operation completed without errors.  (This doesn't necessarily mean that space could be freed up.)
uk: Ця програма повертає 0, якщо дію виконано без жодної помилки (це не обов'язково означає, що місце на диску звільнилося).

note: type: textblock
en: A non-zero exit code indicates an error.
uk: Ненульовий код виходу вказує на помилку.

note: type: textblock
en: If the exit code is C<3> and the I<--in-place> option was used, that indicates that discard support is not available in libguestfs, so copying mode must be used instead.
uk: Якщо повернуто код виходу C<3> і було використано параметр I<--in-place>, це означає, що у libguestfs не передбачено підтримки відкидання зайвого місця на диску, отже, доведеться користуватися режимом копіювання.

note: type: =item
en: B<--append-line> FILE:LINE (see C<customize> below)
uk: B<--append-line> ФАЙЛ:РЯДОК (див. C<customize> нижче)

note: type: =item
en: B<--chmod> PERMISSIONS:FILE (see C<customize> below)
uk: B<--chmod> ПРАВА_ДОСТУПУ:ФАЙЛ (див. C<customize> нижче)

note: type: =item
en: B<--commands-from-file> FILENAME (see C<customize> below)
uk: B<--commands-from-file> НАЗВА_ФАЙЛА (див. C<customize> нижче)

note: type: =item
en: B<--copy> SOURCE:DEST (see C<customize> below)
uk: B<--copy> ДЖЕРЕЛО:ПРИЗНАЧЕННЯ (див. C<customize> нижче)

note: type: =item
en: B<--copy-in> LOCALPATH:REMOTEDIR (see C<customize> below)
uk: B<--copy-in> ЛОКАЛЬНИЙ_ШЛЯХ:ВІДДАЛЕНИЙ_КАТАЛОГ (див. C<customize> нижче)

note: type: =item
en: B<--delete> PATH (see C<customize> below)
uk: B<--delete> ШЛЯХ (див. C<customize> нижче)

note: type: =item
en: B<--edit> FILE:EXPR (see C<customize> below)
uk: B<--edit> ФАЙЛ:ВИРАЗ (див. C<customize> нижче)

note: type: =item
en: B<--firstboot> SCRIPT (see C<customize> below)
uk: B<--firstboot> СКРИПТ (див. C<customize> нижче)

note: type: =item
en: B<--firstboot-command> 'CMD+ARGS' (see C<customize> below)
uk: B<--firstboot-command> 'КОМАНДА+ПАРАМЕТРИ' (див. C<customize> нижче)

note: type: =item
en: B<--firstboot-install> PKG,PKG..  (see C<customize> below)
uk: B<--firstboot-install> ПАКУНОК,ПАКУНОК... (див. C<customize> нижче)

note: type: =item
en: B<--hostname> HOSTNAME (see C<customize> below)
uk: B<--hostname> НАЗВА_ВУЗЛА (див. C<customize> нижче)

note: type: =item
en: B<--install> PKG,PKG..  (see C<customize> below)
uk: B<--install> ПАКУНОК,ПАКУНОК... (див. C<customize> нижче)

note: type: =item
en: B<--keep-user-accounts> USERS (see C<user-account> below)
uk: B<--keep-user-accounts> КОРИСТУВАЧІ (див. C<user-account> нижче)

note: type: textblock
en: The user accounts to be kept in the guest.  The value of this option is a list of user names separated by comma, where specifying an user means it is going to be kept.  For example:
uk: Облікові записи користувачів, які слід залишити у гостьовій системі. Значенням цього параметра є список імен користувачів, відокремлених комами, який визначатиме ті записи, які слід зберегти. Приклад:

note: type: textblock
en: would keep the user account C<mary>.
uk: збереже обліковий запис користувача C<mary>.

note: type: textblock
en: This option can be specified multiple times.
uk: Цей параметр можна вказувати декілька разів у одній команді.

note: type: =item
en: B<--link> TARGET:LINK[:LINK..] (see C<customize> below)
uk: B<--link> ПРИЗНАЧЕННЯ:ПОСИЛАННЯ[:ПОСИЛАННЯ..] (див. C<customize> нижче)

note: type: =item
en: B<--mkdir> DIR (see C<customize> below)
uk: B<--mkdir> КАТАЛОГ (див. C<customize> нижче)

note: type: =item
en: B<--move> SOURCE:DEST (see C<customize> below)
uk: B<--move> ДЖЕРЕЛО:ПРИЗНАЧЕННЯ (див. C<customize> нижче)

note: type: =item
en: B<--no-logfile> (see C<customize> below)
uk: B<--no-logfile> (див. C<customize> нижче)

note: type: =item
en: B<--password> USER:SELECTOR (see C<customize> below)
uk: B<--password> КОРИСТУВАЧ:ВАРІАНТ (див. C<customize> нижче)

note: type: =item
en: B<--password-crypto> md5|sha256|sha512 (see C<customize> below)
uk: B<--password-crypto> md5|sha256|sha512 (див. C<customize> нижче)

note: type: =item
en: B<--remove-user-accounts> USERS (see C<user-account> below)
uk: B<--remove-user-accounts> КОРИСТУВАЧІ (див. C<user-account> нижче)

note: type: textblock
en: The user accounts to be removed from the guest.  The value of this option is a list of user names separated by comma, where specifying an user means it is going to be removed.  For example:
uk: Облікові записи користувачів, які слід вилучити з гостьової системи. Значенням цього параметра є список імен користувачів, відокремлених комами, який визначатиме ті записи, які слід вилучити. Приклад:

note: type: textblock
en: would only remove the user accounts C<bob> and C<eve>.
uk: вилучить лише облікові записи користувачів C<bob> та C<eve>.

note: type: =item
en: B<--root-password> SELECTOR (see C<customize> below)
uk: B<--root-password> ВАРІАНТ (див. C<customize> нижче)

note: type: =item
en: B<--run> SCRIPT (see C<customize> below)
uk: B<--run> СКРИПТ (див. C<customize> нижче)

note: type: =item
en: B<--run-command> 'CMD+ARGS' (see C<customize> below)
uk: B<--run-command> 'КОМАНДА+ПАРАМЕТРИ' (див. C<customize> нижче)

note: type: =item
en: B<--script> SCRIPT (see C<script> below)
uk: B<--script> СКРИПТ (див. C<script> нижче)

note: type: textblock
en: Run the named C<SCRIPT> (a shell script or program) against the guest.  The script can be any program on the host.  The script’s current directory will be the guest’s root directory.
uk: Запустити вказаний C<СКРИПТ> (скрипт оболонки або програму) над
    гостьовою системою. Скриптом може бути будь-яка програма у
    основній системі. Поточним каталогом скрипту буде кореневий
    каталог гостьової системи.

note: type: textblock
en: B<Note:> If the script is not on the $PATH, then you must give the full absolute path to the script.
uk: B<Нотатка:> якщо скрипт не перебуває у каталозі $PATH, вам слід вказати шлях до скрипту повністю.

note: type: =item
en: B<--scriptdir> SCRIPTDIR (see C<script> below)
uk: B<--scriptdir> КАТАЛОГ_СКРИПТІВ (див. C<script> нижче)

note: type: textblock
en: The mount point (an empty directory on the host) used when the C<script> operation is enabled and one or more scripts are specified using I<--script> parameter(s).
uk: Точку монтування (порожній каталог на вузлі), використану при виконанні дії C<script>, увімкнено і вказано використання одного або декількох скриптів за допомогою I<--script>.

note: type: textblock
en: B<Note:> C<SCRIPTDIR> B<must> be an absolute path.
uk: B<Зауваження:> C<SCRIPTDIR> B<має> бути вказано повністю.

note: type: textblock
en: If I<--scriptdir> is not specified then a temporary mountpoint will be created.
uk: Якщо I<--scriptdir> не вказано, буде створено тимчасову точку монтування.

note: type: =item
en: B<--scrub> FILE (see C<customize> below)
uk: B<--scrub> ФАЙЛ (див. C<customize> нижче)

note: type: =item
en: B<--selinux-relabel> (see C<customize> below)
uk: B<--selinux-relabel> (див. C<customize> нижче)

note: type: =item
en: B<--sm-attach> SELECTOR (see C<customize> below)
uk: B<--sm-attach> ВАРІАНТ (див. C<customize> нижче)

note: type: =item
en: B<--sm-credentials> SELECTOR (see C<customize> below)
uk: B<--sm-credentials> ВАРІАНТ (див. C<customize> нижче)

note: type: =item
en: B<--sm-register> (see C<customize> below)
uk: B<--sm-register> (див. C<customize> нижче)

note: type: =item
en: B<--sm-remove> (see C<customize> below)
uk: B<--sm-remove> (див. C<customize> нижче)

note: type: =item
en: B<--sm-unregister> (see C<customize> below)
uk: B<--sm-unregister> (див. C<customize> нижче)

note: type: =item
en: B<--ssh-inject> USER[:SELECTOR] (see C<customize> below)
uk: B<--ssh-inject> КОРИСТУВАЧ[:ВАРІАНТ] (див. C<customize> нижче)

note: type: =item
en: B<--timezone> TIMEZONE (see C<customize> below)
uk: B<--timezone> ЧАСОВИЙ_ПОЯС (див. C<customize> нижче)

note: type: =item
en: B<--touch> FILE (see C<customize> below)
uk: B<--touch> ФАЙЛ (див. C<customize> нижче)

note: type: =item
en: B<--truncate> FILE (see C<customize> below)
uk: B<--truncate> ФАЙЛ (див. C<customize> нижче)

note: type: =item
en: B<--truncate-recursive> PATH (see C<customize> below)
uk: B<--truncate-recursive> ШЛЯХ (див. C<customize> нижче)

note: type: =item
en: B<--uninstall> PKG,PKG..  (see C<customize> below)
uk: B<--uninstall> ПАКУНОК,ПАКУНОК... (див. C<customize> нижче)

note: type: =item
en: B<--update> (see C<customize> below)
uk: B<--update> (див. C<customize> нижче)

note: type: =item
en: B<--upload> FILE:DEST (see C<customize> below)
uk: B<--upload> ФАЙЛ:ПРИЗНАЧЕННЯ (див. C<customize> нижче)

note: type: =item
en: B<--write> FILE:CONTENT (see C<customize> below)
uk: B<--write> ФАЙЛ:ВМІСТ (див. C<customize> нижче)

note: type: textblock
en: Remove the crash data generated by ABRT.
uk: Вилучити дані щодо аварії, створені ABRT.

note: type: textblock
en: Remove the automatically generated ABRT crash data in C</var/spool/abrt/>.
uk: Вилучити автоматично створені ABRT дані щодо аварії у C</var/spool/abrt/>.

note: type: textblock
en: Remove editor backup files from the guest.
uk: Вилучити файли резервних копій редактора з гостьової системи.

note: type: textblock
en: The following files are removed from anywhere in the guest filesystem:
uk: Вказані нижче файли буде вилучено з усіх каталогів файлової системи гостьової операційної системи:

note: type: textblock
en: On Linux and Unix operating systems, only the following filesystems will be examined:
uk: У операційних системах Linux та Unix оброблятимуться лише такі файлові системи:

note: type: textblock
en: Remove the bash history in the guest.
uk: Вилучити журнал команд bash у гостьовій системі.

note: type: textblock
en: Remove the bash history of user "root" and any other users who have a C<.bash_history> file in their home directory.
uk: Вилучити журнал команд bash користувача «root» та всіх інших користувачів, у домашніх каталогах яких містяться файли C<.bash_history>.

note: type: =head3
en: Notes on bash-history
uk: Нотатки щодо журналу команд bash

note: type: textblock
en: Currently this only looks in C</root> and C</home/*> for home directories, so users with home directories in other locations won't have the bash history removed.
uk: У поточній версії пошук домашніх каталогів користувачів виконується лише у C</root> і C</home/*>. Отже, журнал bash користувачів, дані яких зберігаються у інших каталогах, не буде вилучено.

note: type: textblock
en: Remove blkid tab in the guest.
uk: Вилучити вкладку ідентифікаторів блоків у гостьовій системі.

note: type: textblock
en: Remove CA certificates in the guest.
uk: Вилучити сертифікати CA у гостьовій системі.

note: type: textblock
en: In case any certificate is removed, the system CA store is updated.
uk: Якщо буде вилучено будь-який сертифікат, сховище загальносистемних служб сертифікації буде оновлено.

note: type: textblock
en: Remove the crash data generated by kexec-tools.
uk: Вилучити дані щодо аварії, створені kexec-tools.

note: type: textblock
en: Remove the automatically generated kdump kernel crash data.
uk: Вилучити автоматично створені kdump дані аварії ядра.

note: type: textblock
en: Remove user at-jobs and cron-jobs.
uk: Вилучити завдання at та cron користувачів.

note: type: textblock
en: Customize the guest.
uk: Налаштувати гостьову систему.

note: type: textblock
en: Customize the guest by providing L<virt-customize(1)> options for installing packages, editing files and so on.
uk: Налаштувати гостьову систему визначенням параметрів L<virt-customize(1)> для встановлення пакунків, редагування файлів тощо.

note: type: textblock
en: Remove DHCP client leases.
uk: Вилучити надані клієнтські адреси DHCP.

note: type: textblock
en: Remove DHCP server leases.
uk: Вилучити надані серверні адреси DHCP.

note: type: textblock
en: Remove Dovecot (mail server) data.
uk: Вилучити дані Dovecot (поштового сервера).

note: type: textblock
en: Remove the firewall rules.
uk: Вилучити правила брандмауера.

note: type: textblock
en: This removes custom firewall rules by removing C</etc/sysconfig/iptables> or custom firewalld configuration in C</etc/firewalld/*/*>.
uk: Вилучає нетипові правила брандмауера вилученням C</etc/sysconfig/iptables> або нетипових налаштувань firewalld з C</etc/firewalld/*/*>.

note: type: textblock
en: Note this is I<not> enabled by default since it may expose guests to exploits.  Use with care.
uk: Зауважте, що цю можливість типово I<не> увімкнено, оскільки може відкрити гостьову систему для вразливостей. Користуйтеся обережно.

note: type: textblock
en: Flag the system for reconfiguration.
uk: Позначити систему для зміни налаштувань.

note: type: textblock
en: For Linux guests, this touches C</.unconfigured>, which causes the first boot to interactively query the user for settings such as the root password and timezone.
uk: Для гостьових систем Linux оновлює часову позначку C</.unconfigured>, отже, під час першого завантаження користувачеві буде надіслано запит щодо параметрів, зокрема пароля root та часового поясу.

note: type: textblock
en: Change filesystem UUIDs.
uk: Змінити UUID файлових систем.

note: type: textblock
en: On guests and filesystem types where this is supported, new random UUIDs are generated and assigned to filesystems.
uk: У гостьових системах та типах файлових систем, де передбачено таку підтримку, буде створено нові випадкові UUID, які буде пов’язано з файловими системами.

note: type: =head3
en: Notes on fs-uuids
uk: Зауваження щодо fs-uuids

note: type: textblock
en: The fs-uuids operation is disabled by default because it does not yet find and update all the places in the guest that use the UUIDs.  For example C</etc/fstab> or the bootloader.  Enabling this operation is more likely than not to make your guest unbootable.
uk: Типово, дію fs-uuids вимкнено, оскільки у поточній версії програма ще не здатна знайти і оновити усі записи у гостьовій системі, які використовують UUID, наприклад C</etc/fstab> або завантажувач. Вмикання цієї дії може з високою ймовірністю зробити вашу гостьову систему непридатною до завантаження.

note: type: textblock
en: See: L<https://bugzilla.redhat.com/show_bug.cgi?id=991641>
uk: Див. L<https://bugzilla.redhat.com/show_bug.cgi?id=991641>

note: type: textblock
en: Remove the IPA files.
uk: Вилучити файли IPA.

note: type: textblock
en: Remove all the files related to an IPA (Identity, Policy, Audit) system.  This effectively unenrolls the guest from an IPA server without interacting with it.
uk: Вилучити усі файли, які пов'язано із системою IPA (профіль, правила, перевірки). Це, насправді, скасовує реєстрацію гостьової системи на сервері IPA без взаємодії із самим сервером.

note: type: textblock
en: This operation does not run C<ipa-client>.
uk: Під час виконання цієї дії не запускається C<ipa-client>.

note: type: =head2
en: B<kerberos-data>
uk: B<дані-kerberos>

note: type: textblock
en: Remove Kerberos data in the guest.
uk: Вилучити дані Kerberos у гостьовій системі.

note: type: textblock
en: Remove the Kerberos host keytab file in the guest.
uk: Вилучити файл таблиці ключів основної системи Kerberos у гостьовій системі.

note: type: textblock
en: Remove many log files from the guest.
uk: Вилучити з гостьової системи багато файлів журналів.

note: type: textblock
en: On Linux the following files are removed:
uk: У Linux вилучено такі файли:

note: type: textblock
en: Change LVM2 PV and VG UUIDs.
uk: Змінити UUID ФТ і ГТ LVM2.

note: type: textblock
en: On Linux guests that have LVM2 physical volumes (PVs) or volume groups (VGs), new random UUIDs are generated and assigned to those PVs and VGs.
uk: Для гостьових систем Linux, які містять фізичні томи (ФТ) або групи томів (ГТ) LVM2 для ФТ і ГТ буде створено і призначено випадкові UUID.

note: type: =head2
en: B<machine-id> *
uk: B<ід-комп’ютера> *

note: type: textblock
en: Remove the local machine ID.
uk: Вилучити ідентифікатор локального комп’ютера.

note: type: textblock
en: The machine ID is usually generated from a random source during system installation and stays constant for all subsequent boots.  Optionally, for stateless systems it is generated during runtime at boot if it is found to be empty.
uk: Зазвичай, ідентифікатор системи створюється на основі випадкових джерел даних під час встановлення системи і не змінюється під час всіх наступних її завантажень. За потреби у системах без певного стану цей ідентифікатор створюється під час роботи завантажувача,
    якщо буде виявлено порожнє значення.

note: type: textblock
en: Remove email from the local mail spool directory.
uk: Вилучити поштове повідомлення з локального каталогу поштового буфера.

note: type: textblock
en: Remove HOSTNAME and DHCP_HOSTNAME in network interface configuration.
uk: Вилучити HOSTNAME та DHCP_HOSTNAME у налаштуваннях інтерфейсу мережі.

note: type: textblock
en: For Fedora and Red Hat Enterprise Linux, this is removed from C<ifcfg-*> files.
uk: Для Fedora і Red Hat Enterprise Linux це вилучається з файлів C<ifcfg-*>.

note: type: textblock
en: Remove HWADDR (hard-coded MAC address) configuration.
uk: Вилучити налаштування HWADDR (апаратної адреси MAC).

note: type: textblock
en: Remove the process accounting log files.
uk: Вилучити файли журналу обліку процесів.

note: type: textblock
en: The system wide process accounting will store to the pacct log files if the process accounting is on.
uk: Дані обліку процесів системи будуть зберігатися у файлах журналу pacct, якщо увімкнено облік процесів.

note: type: textblock
en: Remove package manager cache.
uk: Вилучити кеш керування пакунками.

note: type: textblock
en: Remove the PAM data in the guest.
uk: Вилучити дані PAM у гостьовій системі.

note: type: textblock
en: Remove /etc/passwd- and similar backup files.
uk: Вилучити /etc/passwd- та подібні файли резервних копій.

note: type: textblock
en: Remove the data and log files of puppet.
uk: Вилучити дані та файли журналів puppet.

note: type: textblock
en: Remove the RH subscription manager files.
uk: Вилучити файли керування передплатою RH.

note: type: textblock
en: Remove the RHN system ID.
uk: Вилучити ідентифікатор системи у RHN.

note: type: textblock
en: Remove host-specific RPM database files.
uk: Вилучити специфічні для системи файли баз даних RPM.

note: type: textblock
en: Remove host-specific RPM database files and locks.  RPM will recreate these files automatically if needed.
uk: Вилучити специфічні для системи файли баз даних RPM. RPM буде повторно створено ці файли, якщо це потрібно.

note: type: textblock
en: Remove the database and log files of Samba.
uk: Вилучити бази даних та файли журналів Samba.

note: type: textblock
en: Run arbitrary scripts against the guest.
uk: Запустити довільні скрипти дій над гостьовою системою.

note: type: textblock
en: The C<script> module lets you run arbitrary shell scripts or programs against the guest.
uk: Модуль C<script> надає вам змогу запускати довільні скрипти оболонки або програми для обробки гостьових систем.

note: type: textblock
en: Note this feature requires FUSE support.  You may have to enable this in your host, for example by adding the current user to the C<fuse> group, or by loading a kernel module.
uk: Зауважте, що використання цієї можливості потребує підтримки FUSE. Вам варто увімкнути цю підтримку у вашій основній системі, наприклад, додаванням поточного користувача до групи C<fuse> або завантаженням модуля ядра.

note: type: textblock
en: Use one or more I<--script> parameters to specify scripts or programs that will be run against the guest.
uk: Скористайтеся одним або декількома параметрами I<--script> для визначення скриптів або програм, які слід запустити для обробки гостьової системи.

note: type: textblock
en: The script or program is run with its current directory being the guest’s root directory, so relative paths should be used.  For example: C<rm etc/resolv.conf> in the script would remove a Linux guest’s DNS configuration file, but C<rm /etc/resolv.conf> would (try to) remove the host’s file.
uk: Скрипт або програма виконується з поточним каталогом, який є кореневим каталогом гостьової системи, отже слід використовувати відносні шляхи. Приклад: C<rm etc/resolv.conf> у скрипті призведе до вилучення файла налаштувань DNS у гостьовій системі Linux, а C<rm /etc/resolv.conf> (спробує) вилучити відповідний файл у основній системі.

note: type: textblock
en: Normally a temporary mount point for the guest is used, but you can choose a specific one by using the I<--scriptdir> parameter.
uk: Зазвичай, використовується тимчасова точка монтування гостьової системи, але ви можете вибрати якусь іншу за допомогою параметра I<--scriptdir>.

note: type: textblock
en: B<Note:> This is different from I<--firstboot> scripts (which run in the context of the guest when it is booting first time).  I<--script> scripts run on the host, not in the guest.
uk: B<Зауваження:> описані тут скрипти відрізняються від скриптів I<--firstboot> (скриптів, які виконуються у контексті гостьової системи під час першого завантаження цієї системи). Скрипти I<--script> запускаються у основній системі, а не у гостьовій.

note: type: textblock
en: Remove the Smolt hardware UUID.
uk: Вилучити UUID обладнання Smolt.

note: type: textblock
en: Remove the SSH host keys in the guest.
uk: Вилучити ключі вузла SSH у гостьовій системі.

note: type: textblock
en: The SSH host keys are regenerated (differently) next time the guest is booted.
uk: Ключі вузла SSH повторно створюються (незалежно) під час наступного
    завантаження гостьової системи.

note: type: textblock
en: If, after cloning, the guest gets the same IP address, ssh will give you a stark warning about the host key changing:
uk: Якщо після клонування гостьова система отримати ту саму IP-адресу, ssh надасть вам додаткове попередження щодо зміни ключа вузла:

note: type: textblock
en: Remove ".ssh" directories in the guest.
uk: Вилучити каталоги «.ssh» у гостьовій системі.

note: type: textblock
en: Remove the C<.ssh> directory of user "root" and any other users who have a C<.ssh> directory in their home directory.
uk: Вилучити каталог C<.ssh> користувача «root» та всіх інших користувачів, домашні каталоги яких містять каталог C<.ssh>.

note: type: =head3
en: Notes on ssh-userdir
uk: Зауваження щодо ssh-userdir

note: type: textblock
en: Currently this only looks in C</root> and C</home/*> for home directories, so users with home directories in other locations won't have the ssh files removed.
uk: У поточній версії пошук домашніх каталогів користувачів виконується лише у C</root> і C</home/*>. Отже, файли ssh користувачів, дані яких зберігаються у інших каталогах, не буде вилучено.

note: type: textblock
en: Remove the database and log files of sssd.
uk: Вилучити бази даних і файли журналів sssd.

note: type: textblock
en: Remove temporary files.
uk: Вилучити тимчасові файли.

note: type: textblock
en: This removes temporary files under C</tmp> and C</var/tmp>.
uk: Вилучає тимчасові файли з C</tmp> і C</var/tmp>.

note: type: textblock
en: Remove udev persistent net rules.
uk: Вилучити постійні правила мережі udev.

note: type: textblock
en: Remove udev persistent net rules which map the guest’s existing MAC address to a fixed ethernet device (eg. eth0).
uk: Вилучити постійні правила мережі udev, які відображають вже створену MAC-адресу гостьової системи на фіксований пристрій ethernet (наприклад eth0).

note: type: textblock
en: After a guest is cloned, the MAC address usually changes.  Since the old MAC address occupies the old name (eg. eth0), this means the fresh MAC address is assigned to a new name (eg. eth1) and this is usually undesirable.  Erasing the udev persistent net rules avoids this.
uk: Після клонування гостьової системи MAC-адреса зазвичай змінюється. Оскільки стару MAC-адресу вже пов’язано зі старою назвою (наприклад eth0), це означає, що нову MAC-адресу буде пов’язано з новою назвою (наприклад eth1), а це зазвичай є небажаним. За допомогою вилучення постійних правил мережі udev цьому можна запобігти.

note: type: textblock
en: Remove the user accounts in the guest.
uk: Вилучити облікові записи користувачів у гостьовій системі.

note: type: textblock
en: By default remove all the user accounts and their home directories.  The "root" account is not removed.
uk: Типово вилучити всі облікові записи користувачів та відповідні домашні каталоги. Обліковий запис «root» вилучено не буде.

note: type: textblock
en: See the I<--remove-user-accounts> parameter for a way to specify how to remove only some users, or to not remove some others.
uk: Див. опис параметра I<--remove-user-accounts>, щоб дізнатися про те, як наказати
    програмі вилучити лише деяких з користувачів і не вилучати інших.

note: type: textblock
en: Remove the utmp file.
uk: Вилучити файл utmp.

note: type: textblock
en: This file records who is currently logged in on a machine.  In modern Linux distros it is stored in a ramdisk and hence not part of the virtual machine’s disk, but it was stored on disk in older distros.
uk: У цьому файлі зберігаються записи щодо входу користувачів до машини. У сучасних дистрибутивах Linux ці записи зберігаються на диску у пам’яті, тому не є частиною віртуальної машини на диску, але ці дані зберігаються на диску у старіших версіях дистрибутивів.

note: type: textblock
en: Remove the yum UUID.
uk: Вилучити UUID yum.

note: type: textblock
en: Yum creates a fresh UUID the next time it runs when it notices that the original UUID has been erased.
uk: Yum створить новий UUID під час наступного запуску, коли виявить, що початковий UUID було вилучено.

note: type: textblock
en: virt-sysprep - Reset, unconfigure or customize a virtual machine so clones can be made
uk: virt-sysprep — скидання налаштувань віртуальної машини до початкових, так, щоб з неї можна було роботи клони

note: type: verbatim
en:  virt-sysprep [--options] -d domname
uk:  virt-sysprep [--параметри] -d назва_домену

note: type: verbatim
en:  virt-sysprep [--options] -a disk.img [-a disk.img ...]
uk:  virt-sysprep [--параметри] -a disk.img [-a disk.img ...]

note: type: textblock
en: Virt-sysprep can reset or unconfigure a virtual machine so that clones can be made from it.  Steps in this process include removing SSH host keys, removing persistent network MAC configuration, and removing user accounts.  Virt-sysprep can also customize a virtual machine, for instance by adding SSH keys, users or logos.  Each step can be enabled or disabled as required.
uk: Virt-sysprep може відновити початковий стан або зняти налаштовування з віртуальної машини, щоб з неї можна було робити клони. Кроками цієї процедури є вилучення ключів вузла SSH, вилучення сталих налаштувань мережі щодо MAC та вилучення облікових записів користувачів. Крім того, virt-sysprep може налаштовувати віртуальну машину, наприклад, додаванням ключів SSH, користувачів чи логотипів. Ви можете вмикати або вимикати кожен з цих кроків.

note: type: textblock
en: Virt-sysprep modifies the guest or disk image I<in place>.  The guest must be shut down.  If you want to preserve the existing contents of the guest, I<you must snapshot, copy or clone the disk first>.  See L</COPYING AND CLONING> below.
uk: Virt-sysprep вносить зміни до гостьової системи або образу диска I<на місці>. Гостьова система має бути вимкненою. Якщо ви хочете зберегти наявний вміст гостьової системи, I<вам слід спочатку зробити її знімок, скопіювати або клонувати її диск>. Див. L</КОПІЮВАННЯ І КЛОНУВАННЯ> нижче.

note: type: textblock
en: You do I<not> need to run virt-sysprep as root.  In fact we'd generally recommend that you don't.  The time you might want to run it as root is when you need root in order to access the disk image, but even in this case it would be better to change the permissions on the disk image to be writable as the non-root user running virt-sysprep.
uk: Вам I<не потрібно> запускати virt-sysprep від імені користувача root. Фактично, запуск у такому режимі є нерекомендованим. Єдиною причиною запускати програму від імені root може бути потреба у доступі до образу диска, але навіть у цьому випадку, доцільніше змінити права доступу до образу диска так, щоб запис до нього став доступним від імені користувача, який запускає virt-sysprep.

note: type: textblock
en: "Sysprep" stands for "system preparation" tool.  The name comes from the Microsoft program F<sysprep.exe> which is used to unconfigure Windows machines in preparation for cloning them.  Having said that, virt-sysprep does I<not> currently work on Microsoft Windows guests.  We plan to support Windows sysprepping in a future version, and we already have code to do it.
uk: «Sysprep» — скорочення від «system preparation» («приготування системи»). Назва походить від програми Microsoft F<sysprep.exe>, яка використовується для вилучення налаштувань з Windows у приготуваннях до клонування системи. Маємо зауважити, що у поточній версії virt-sysprep I<не> може працювати із гостьовими системами Microsoft Windows. Ми плануємо впровадити підтримку приготування Windows у майбутніх версіях і вже маємо певні напрацювання щодо цього.

note: type: =item
en: B<--enable> operations
uk: B<--enable> дії

note: type: textblock
en: Choose which sysprep operations to perform.  Give a comma-separated list of operations, for example:
uk: Визначає дії з приготування, які слід виконати. Ви можете вказати список дій, відокремлених комами, ось так:

note: type: textblock
en: would enable ONLY C<ssh-hostkeys> and C<udev-persistent-net> operations.
uk: Тут увімкнено лише дії C<ssh-hostkeys> і C<udev-persistent-net>.

note: type: textblock
en: If the I<--enable> option is not given, then we default to trying most sysprep operations (see I<--list-operations> to show which are enabled).
uk: Якщо параметр I<--enable> не вказано, типово буде виконано якомога більше дій з приготування системи (див. I<--list-operations>, щоб переглянути список увімкнених дій).

note: type: textblock
en: Regardless of the I<--enable> option, sysprep operations are skipped for some guest types.
uk: Незалежно від вказаного параметра I<--enable>, для певних типів гостьових систем деякі дії пропускаються.

note: type: textblock
en: Use I<--list-operations> to list operations supported by a particular version of virt-sysprep.
uk: Скористайтеся параметром I<--list-operations>, щоб переглянути список дій, підтримку яких передбачено у вашій версії virt-sysprep.

note: type: textblock
en: See L</OPERATIONS> below for a list and an explanation of each operation.
uk: Список дій із поясненнями щодо них наведено у розділі L</ДІЇ> нижче.

note: type: =item
en: B<--operation> operations
uk: B<--operation> дії

note: type: =item
en: B<--operations> operations
uk: B<--operations> дії

note: type: textblock
en: I<--operations> allows you to enable and disable any operation, including the default ones (which would be tried when specifying neither I<--operations> nor I<--enable>) and all the available ones; prepending a C<-> in front of an operation name removes it from the list of enabled operations, while the meta-names C<defaults> and C<all> represent respectively the operations enabled by default and all the available ones.  For example:
uk: За допомогою параметра I<--operations> ви зможете увімкнути або вимкнути будь-які дї, зокрема типові (ті, які виконуватимуться, якщо не вказано ні I<--operations>, ні I<--enable>) та усі доступні; додавання C<-> перед назвою дії вилучає її зі списку увімкнених дій, а метаназви C<defaults> і C<all> відповідають діям, які типово увімкнено і усім доступним діям. Приклад:

note: type: textblock
en: would enable the C<firewall-rules> operation (regardless whether it is enabled by default), all the default ones, and disable the C<tmp-files> operation.
uk: Ця команда вмикає дію C<firewall-rules> (незалежно від того, чи було її типово увімкнено), усі типові дії і вимикає дію C<tmp-files>.

note: type: textblock
en: I<--operations> can be specified multiple times; the first time the set of enabled operations is empty, while any further I<--operations> affects the operations enabled so far.
uk: Параметр I<--operations> може бути вказано декілька разів; під час першого використання набір увімкнених дій вважається порожнім, усі наступні використання I<--operations> стосуватимуться уже увімкненого набору дій.

note: type: textblock
en: If the I<--operations> option is not given, then we default to trying most sysprep operations (see I<--list-operations> to show which are enabled).
uk: Якщо параметр I<--operations> не вказано, типово буде виконано якомога більше дій з приготування системи (див. I<--list-operations>, щоб переглянути список увімкнених дій).

note: type: textblock
en: Regardless of the I<--operations> option, sysprep operations are skipped for some guest types.
uk: Незалежно від вказаного параметра I<--operations>, для певних типів гостьових систем деякі дії пропускаються.

note: type: textblock
en: When prompting for keys and passphrases, virt-sysprep normally turns echoing off so you cannot see what you are typing.  If you are not worried about Tempest attacks and there is no one else in the room you can specify this flag to see what you are typing.
uk: Типово, якщо virt-sysprep попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

note: type: textblock
en: List the operations supported by the virt-sysprep program.
uk: Список дій, підтримку яких передбачено у програмі virt-sysprep.

note: type: textblock
en: These are listed one per line, with one or more single-space-separated fields, eg:
uk: Дії буде показано по одній на рядок із одним або декількома полями, відокремленими комами. Приклад:

note: type: verbatim
en:  $ virt-sysprep --list-operations
     bash-history * Remove the bash history in the guest
     cron-spool * Remove user at-jobs and cron-jobs
     dhcp-client-state * Remove DHCP client leases
     dhcp-server-state * Remove DHCP server leases
     [etc]
uk:  $ virt-sysprep --list-operations
     bash-history * Вилучити журнал команд bash у гостьовій системі
     cron-spool * Вилучити завдання at та cron користувачів
     dhcp-client-state * Вилучити надані клієнтські адреси DHCP
     dhcp-server-state * Вилучити надані серверні адреси DHCP
     [тощо]

note: type: textblock
en: The first field is the operation name, which can be supplied to I<--enable>.  The second field is a C<*> character if the operation is enabled by default or blank if not.  Subsequent fields on the same line are the description of the operation.
uk: У першому полі міститься назва дії, яку можна додати до параметра I<--enable>. У другому полі міститься символ C<*>, якщо дію типово увімкнено, і пробіл, якщо дію вимкнено. Наступні поля у тому самому рядку є описом дії.

note: type: textblock
en: Before libguestfs 1.17.33 only the first (operation name) field was shown and all operations were enabled by default.
uk: До libguestfs 1.17.33 показувалося лише перше поле (назва дії) і усі дії було типово увімкнено.

note: type: =item
en: B<--mount-options> mp:opts[;mp:opts;...]
uk: B<--mount-options> точка_монтування:параметри[;точка_монтування:параметри;...]

note: type: textblock
en: Set the mount options used when libguestfs opens the disk image.  Note this has no effect on the guest.  It is used when opening certain guests such as ones using the UFS (BSD) filesystem.
uk: Встановлює параметри монтування, які використовуються, коли libguestfs відкриває образ диска. Зауважте, що це не впливає на гостьову систему. Ці дані використовуються при відкритті певних гостьових систем, зокрема тих, де використовується файлова система UFS (BSD).

note: type: textblock
en: Use a semicolon-separated list of C<mountpoint:options> pairs.  You may need to quote this list to protect it from the shell.
uk: Слід використовувати список відокремлених крапкою з комою пар C<точка_монтування:параметри>. Ймовірно, список слід взяти у лапки, щоб захистити його від обробки командною оболонкою.

note: type: textblock
en: will mount the root directory with C<notime>.  This example:
uk: змонтує кореневий каталог із параметром C<notime>. А ось цей приклад:

note: type: textblock
en: will do the same, plus mount F</var> with C<rw,nodiratime>.
uk: зробить те саме, але ще і змонтує F</var> з параметрами C<rw,nodiratime>.

note: type: textblock
en: In virt-sysprep, the network is I<disabled> by default.  You must use I<--network> to enable it, in order that options such as I<--install> or I<--update> will work.
uk: У virt-sysprep роботу у мережі типово I<вимкнено>. Вам слід скористатися параметром I<--network>, щоб увімкнути її та мати змогу скористатися параметрами, подібними до I<--install> або I<--update>.

note: type: textblock
en: L<virt-builder(1)> has more information about the security advantages of disabling the network.
uk: На сторінці підручника L<virt-builder(1)> можна знайти додаткові дані щодо переваг у захисті від вимикання мережі.

note: type: =head1
en: OPERATIONS
uk: ДІЇ

note: type: textblock
en: If the I<--enable>/I<--operations> option is I<not> given, then most sysprep operations are enabled.
uk: Якщо параметр I<--enable>/I<--operations> I<не> вказано, більшу частину дій з приготування системи буде увімкнено.

note: type: textblock
en: Use C<virt-sysprep --list-operations> to list all operations for your virt-sysprep binary.  The ones which are enabled by default are marked with a C<*> character.  Regardless of the I<--enable>/I<--operations> options, sysprep operations are skipped for some guest types.
uk: Скористайтеся командою C<virt-sysprep --list-operations>, щоб переглянути список усіх дій, які передбачено у вашому виконуваному файлі virt-sysprep. Дії, які типово увімкнено, буде позначено у списку символом C<*>. Незалежно від вказаних параметрів I<--enable>/I<--operations> для певних типів гостьових систем деякі з дій з приготування системи пропускатимуться.

note: type: textblock
en: Operations can be individually enabled using the I<--enable>/I<--operations> options.  Use a comma-separated list, for example:
uk: Окремі дії можна увімкнути за допомогою параметрів I<--enable>/I<--operations>. Записи дій у списку слід відокремлювати комами. Приклад:

note: type: verbatim
en:  virt-sysprep --operations ssh-hostkeys,udev-persistent-net [etc..]
uk:  virt-sysprep --operations ssh-hostkeys,udev-persistent-net [тощо..]

note: type: textblock
en: Future versions of virt-sysprep may add more operations.  If you are using virt-sysprep and want predictable behaviour, specify only the operations that you want to have enabled.
uk: У майбутніх версіях virt-sysprep може бути додано інші дії. Якщо ви використовуєте virt-sysprep, і вам потрібна передбачувана поведінка, вказуйте лише ті дії, які ви хочете увімкнути.

note: type: textblock
en: C<*> = enabled by default when no I<--enable>/I<--operations> option is given.
uk: C<*> = типово увімкнено, якщо не вказано параметрів I<--enable>/I<--operations>.

note: type: =head1
en: COPYING AND CLONING
uk: КОПІЮВАННЯ ТА КЛОНУВАННЯ

note: type: textblock
en: Virt-sysprep can be used as part of a process of cloning guests, or to prepare a template from which guests can be cloned.  There are many different ways to achieve this using the virt tools, and this section is just an introduction.
uk: Virt-sysprep можна скористатися як частиною процедури клонування гостьових систем або приготування шаблона, з якого можна буде клонувати гостьові системи. Існує багато різних способів досягти цього за допомогою засобів віртуалізації, — цей розділ є лише вступом.

note: type: textblock
en: A virtual machine (when switched off) consists of two parts:
uk: Віртуальна машина (коли її вимкнено) складається з двох частин:

note: type: =item
en: I<configuration>
uk: I<налаштування>

note: type: textblock
en: The configuration or description of the guest.  eg. The libvirt XML (see C<virsh dumpxml>), the running configuration of the guest, or another external format like OVF.
uk: Налаштування або опис гостьової системи. Приклади: XML libvirt (див. C<virsh dumpxml>), поточні налаштування гостьової системи або інший зовнішній формат, наприклад OVF.

note: type: textblock
en: Some configuration items that might need to be changed:
uk: Деякі пункти налаштувань, які варто було б змінити:

note: type: textblock
en: name
uk: назва

note: type: textblock
en: path to block device(s)
uk: шлях до блокових пристроїв

note: type: textblock
en: network card MAC address
uk: MAC-адреса мережевої картки

note: type: =item
en: I<block device(s)>
uk: I<блокові пристрої>

note: type: textblock
en: One or more hard disk images, themselves containing files, directories, applications, kernels, configuration, etc.
uk: Один або декілька образів дисків, які самі містять файли, каталоги, програми, ядра, налаштування тощо.

note: type: textblock
en: Some things inside the block devices that might need to be changed:
uk: Ось деякі параметри всередині блокових пристроїв, які, можливо, доведеться змінити:

note: type: textblock
en: hostname and other net configuration
uk: назва вузла та інші налаштування мережі

note: type: textblock
en: SSH host keys
uk: ключі SSH вузла

note: type: textblock
en: Windows unique security ID (SID)
uk: Унікальний ідентифікатор безпеки Windows (SID)

note: type: textblock
en: Puppet registration
uk: Реєстрація маріонетки

note: type: =head2
en: COPYING THE BLOCK DEVICE
uk: КОПІЮВАННЯ БЛОКОВОГО ПРИСТРОЮ

note: type: textblock
en: Starting with an original guest, you probably wish to copy the guest block device and its configuration to make a template.  Then once you are happy with the template, you will want to make many clones from it.
uk: Маючи початкову гостьову систему, ви, ймовірно, хочете скопіювати блоковий пристрій гостьової системи і його налаштування, щоб створити шаблон. Далі, коли вас задовольнятимуть характеристики шаблона, ви захочете створити на його основі клони.

note: type: verbatim
en:                         virt-sysprep
                                 |
                                 v
     original guest --------> template ---------->
                                          \------> cloned
                                           \-----> guests
                                            \---->
uk:                         virt-sysprep
                                 |
                                 v
     початкова система --------> шаблон ---------->
                                          \------> клоновані
                                           \-----> гостьові системи
                                            \---->

note: type: textblock
en: You can, of course, just copy the block device on the host using L<cp(1)> or L<dd(1)>.
uk: Ви, звичайно ж, можете просто скопіювати блоковий пристрій на основну систему за допомогою L<cp(1)> або L<dd(1)>.

note: type: verbatim
en:                    dd                 dd
     original guest --------> template ---------->
                                          \------> cloned
                                           \-----> guests
                                            \---->
uk:                    dd                 dd
     початкова система --------> шаблон ---------->
                                          \------> клоновані
                                           \-----> гостьові системи
                                            \---->

note: type: textblock
en: There are some smarter (and faster) ways too:
uk: Існують і кращі (і швидші) способи досягти результату:

note: type: verbatim
en:                           snapshot
                    template ---------->
                                \------> cloned
                                 \-----> guests
                                  \---->
uk:                           знімок-
                    шаблон ---------->
                                \------> клоновані
                                 \-----> гостьові системи
                                  \---->

note: type: textblock
en: You may want to run virt-sysprep twice, once to reset the guest (to make a template) and a second time to customize the guest for a specific user:
uk: Ймовірно, virt-sysprep доведеться запустити двічі — один раз для відновлення початкового стану гостьової системи (для створення шаблона) і другий раз для налаштовування гостьової системи для певного користувача:

note: type: verbatim
en:                     virt-sysprep        virt-sysprep
                          (reset)      (add user, keys, logos)
                             |                   |
                     dd      v          dd       v
     original guest ----> template ---------> copied ------> custom
                                              template       guest
uk:                     virt-sysprep        virt-sysprep
                          (скидання)      (додавання користувача, ключів, логотипів)
                             |                   |
                     dd      v          dd       v
     початкова система ----> шаблон ---------> копійований ------> нетипова
                                              шаблон       гостьова система

note: type: textblock
en: Create a snapshot using qemu-img:
uk: Створити знімок за допомогою qemu-img:

note: type: textblock
en: The advantage is that you don’t need to copy the original (very fast)  and only changes are stored (less storage required).
uk: Перевагою є те, що вам не потрібно буде копіювати оригінал (дуже швидко), і те, що зберігатимуться лише зміни (менше вживання місця у сховищі даних).

note: type: textblock
en: Note that writing to the backing file once you have created guests on top of it is not possible: you will corrupt the guests.
uk: Зауважте, що запис резервного файла після створення на його основі гостьових систем неможливий: такий запис призведе до пошкодження гостьових систем.

note: type: textblock
en: Create a snapshot using C<lvcreate --snapshot>.
uk: Створити знімок за допомогою C<lvcreate --snapshot>.

note: type: textblock
en: Other ways to create snapshots include using filesystems-level tools (for filesystems such as btrfs).
uk: До інших способів створення знімків належить використання засобів файлової системи (для файлових систем, які подібні до btrfs).

note: type: textblock
en: Most Network Attached Storage (NAS) devices can also create cheap snapshots from files or LUNs.
uk: На більшості пристроїв Network Attached Storage (NAS) передбачено можливість простого створення знімків на основі файлів та LUN.

note: type: textblock
en: Get your NAS to duplicate the LUN.  Most NAS devices can also duplicate LUNs very cheaply (they copy them on-demand in the background).
uk: Накажіть вашому NAS здублювати LUN. На більшості пристроїв NAS також передбачено дуже просте дублювання LUN (копіювання відбувається у фоновому режимі за запитом).

note: type: textblock
en: Prepare your template using L<virt-sparsify(1)>.  See below.
uk: Приготуйте ваш шаблон за допомогою L<virt-sparsify(1)>. Див. нижче.

note: type: textblock
en: A separate tool, L<virt-clone(1)>, can be used to duplicate the block device and/or modify the external libvirt configuration of a guest.  It will reset the name, UUID and MAC address of the guest in the libvirt XML.
uk: Для дублювання блокового пристрою і/або внесення змін до зовнішніх налаштувань libvirt гостьової системи можна скористатися окремим інструментом, L<virt-clone(1)>. Ця програма відновить початкові значення назви, UUID та адреси MAC гостьової системи в XML libvirt.

note: type: textblock
en: L<virt-clone(1)> does not use libguestfs and cannot look inside the disk image.  This was the original motivation to write virt-sysprep.
uk: L<virt-clone(1)> не використовує libguestfs і не може «зазирнути» у образ диска. Це і було причиною для написання virt-sysprep.

note: type: =head2
en: SPARSIFY
uk: РОЗРІДЖЕННЯ

note: type: verbatim
en:               virt-sparsify
     original guest --------> template
uk:               virt-sparsify
     початкова система --------> шаблон

note: type: textblock
en: L<virt-sparsify(1)> can be used to make the cloning template smaller, making it easier to compress and/or faster to copy.
uk: L<virt-sparsify(1)> можна скористатися для зменшення розмірів шаблона для клонування, спрощуючи стискання і/або пришвидшуючи копіювання.

note: type: textblock
en: Notice that since virt-sparsify also copies the image, you can use it to make the initial copy (instead of C<dd>).
uk: Зауважте, що оскільки virt-sparsify також копіює образ, ви можете скористатися цією програмою для створення початкової копії (замість C<dd>).

note: type: =head2
en: RESIZE
uk: ЗМІНА РОЗМІРІВ

note: type: verbatim
en:                          virt-resize
                    template ---------->
                                \------> cloned
                                 \-----> guests
                                  \---->
uk:                          virt-resize
                      шаблон ---------->
                                \------> клоновані
                                 \-----> гостьові системи
                                  \---->

note: type: textblock
en: If you want to give people cloned guests, but let them pick the size of the guest themselves (eg. depending on how much they are prepared to pay for disk space), then instead of copying the template, you can run L<virt-resize(1)>.  Virt-resize performs a copy and resize, and thus is ideal for cloning guests from a template.
uk: Якщо ви хочете надати комусь клоновані гостьові системи, але хочете надати можливість вибирати розмір гостьової системи (наприклад за місцем, яке надається гостьовій системі на диску), замість копіювання шаблона вам слід запустити L<virt-resize(1)>. Virt-resize виконує копіювання і зміну розмірів, тому програма є ідеальною для клонування гостьових систем з шаблона.

note: type: =head1
en: FIRSTBOOT VS SCRIPT
uk: FIRSTBOOT ЧИ SCRIPT

note: type: textblock
en: The two options I<--firstboot> and I<--script> both supply shell scripts that are run against the guest.  However these two options are significantly different.
uk: Обидва параметри, I<--firstboot> і I<--script>, запускають скрипти оболонки, яка виконують дії із гостьовою системою. Втім, ці параметри суттєво різняться.

note: type: textblock
en: I<--firstboot script> uploads the file C<script> into the guest and arranges that it will run, in the guest, when the guest is next booted.  (The script will only run once, at the "first boot").
uk: I<--firstboot скрипт> вивантажує файл C<скрипт> до гостьової системи і робить так, щоб він запускався у гостьовій системі під час наступного її завантаження. (Скрипт буде запущено лише один раз, при «першому завантаження».)

note: type: textblock
en: I<--script script> runs the shell C<script> I<on the host>, with its current directory inside the guest filesystem.
uk: I<--script скрипт> запускає скрипт командної оболонки C<скрипт> I<у основній системі>, у поточному каталозі у файловій системі гостьової операційної системи.

note: type: textblock
en: If you needed, for example, to C<yum install> new packages, then you I<must not> use I<--script> for this, since that would (a) run the C<yum> command on the host and (b) wouldn't have access to the same resources (repositories, keys, etc.) as the guest.  Any command that needs to run on the guest I<must> be run via I<--firstboot>.
uk: Якщо вам, наприклад, потрібно виконати C<yum install> для встановлення нових пакунків, вам I<не слід> використовувати для цього I<--script>, оскільки це (а) запустить програму C<yum> у основній системі і (б) не надасть програмі доступ до тих самих ресурсів (сховищ, ключів тощо), доступ до яких має гостьова система. Усі команди, які мають працювати у гостьовій системі I<слід> запускати за допомогою I<--firstboot>.

note: type: textblock
en: On the other hand if you need to make adjustments to the guest filesystem (eg. copying in files), then I<--script> is ideal since (a)  it has access to the host filesystem and (b) you will get immediate feedback on errors.
uk: З іншого боку, якщо вам потрібно щось скоригувати у файловій системі гостьової операційної системи (наприклад, копіюванням даних до файлів), тоді ідеально буде використатися I<--script>, оскільки (a) так скрипт матиме доступ до файлової системи основної операційної системи і (b) ви одразу отримаєте повідомлення про помилки.

note: type: textblock
en: Either or both options can be used multiple times on the command line.
uk: Кожен з параметрів або обидва параметри можна використовувати у рядку команди довільну кількість разів.

note: type: textblock
en: Although virt-sysprep removes some sensitive information from the guest, it does not pretend to remove all of it.  You should examine the L</OPERATIONS> above and the guest afterwards.
uk: Хоча virt-sysprep вилучає певні конфіденційні дані з гостьової системи, програма не претендує на вилучення усіх цих даних. Вам слід ознайомитися із розділом L</ДІЇ> вище і вивчити саму гостьову систему після виконання дій.

note: type: textblock
en: Sensitive files are simply removed.  The data they contained may still exist on the disk, easily recovered with a hex editor or undelete tool.  The I<--scrub> option can be used to scrub files instead of just deleting them.  L<virt-sparsify(1)> is another way to remove this content.  See also the L<scrub(1)> command to get rid of deleted content in directory entries and inodes.
uk: Файли з конфіденційними даними просто вилучаються. Дані, які у них містяться, можуть залишатися на диску. Такі дані доволі просто відновити за допомогою шістнадцяткового редактора або засобів для відновлення файлів. Ви можете скористатися параметром I<--scrub> для витирання вмісту файлів замість простого їх вилучення. Ще одним способом вилучити конфіденційні дані є використання L<virt-sparsify(1)>. Крім того, витерти вміст вилучених каталогів та inode можна за допомогою команди L<scrub(1)>.

note: type: =head2
en: RANDOM SEED
uk: БАЗА ВИПАДКОВОСТІ

note: type: textblock
en: I<(This section applies to Linux guests only)>
uk: I<(Цей розділ стосується лише гостьових систем Linux)>

note: type: textblock
en: For supported guests, virt-sysprep writes a few bytes of randomness from the host into the guest’s random seed file.
uk: У підтримуваних гостьових системах virt-sysprep записує декілька випадкових байтів з основної системи до файла породжувача псевдовипадкової послідовності гостьової системи.

note: type: textblock
en: If this is just done once and the guest is cloned from the same template, then each guest will start with the same entropy, and things like SSH host keys and TCP sequence numbers may be predictable.
uk: Якщо ця процедура виконується один раз, а гостьова система клонується з того самого шаблона, кожна гостьова система починатиме з того самого значення ентропії, отже дані, подібні до ключів SSH вузла і послідовностей чисел TCP, можуть бути передбачуваними.

note: type: textblock
en: Therefore you should arrange to add more randomness I<after> cloning from a template too, which can be done by enabling just the customize module:
uk: Тому вам слід забезпечити додавання певного рівня випадковості I<після> клонування з шаблона. Зробити це можна за допомогою простого вмикання модуля customize:

note: type: verbatim
en:  cp template.img newguest.img
     virt-sysprep --enable customize -a newguest.img
uk:  cp шаблон.img нова_гостьова_система.img
     virt-sysprep --enable customize -a нова_гостьова_система.img

note: type: textblock
en: Windows 8 "fast startup" can prevent virt-sysprep from working.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>.
uk: «Швидкий запуск» Windows 8 може заважати роботі virt-sysprep. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS  ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

note: type: textblock
en: Copyright (C) 2012 Fujitsu Ltd.
uk: Авторські права належать Fujitsu Ltd., 2012

note: type: textblock
en: libguestfs-test-tool - Diagnostics for libguestfs
uk: libguestfs-test-tool — діагностика libguestfs

note: type: verbatim
en:  libguestfs-test-tool [--options]
uk:  libguestfs-test-tool [--параметри]

note: type: textblock
en: libguestfs-test-tool is a test program shipped with libguestfs to allow you to check basic libguestfs functionality is working.  This is needed because libguestfs occasionally breaks for reasons beyond our control: usually because of changes in the underlying qemu or kernel packages, or the host environment.
uk: libguestfs-test-tool — програма для тестування, яка постачається разом із libguestfs для уможливлення перевірки того, чи працюють базові можливості libguestfs. Ця програма потрібна, оскільки функціональність libguestfs може бути порушено з неконтрольованих розробниками причин: зазвичай, через зміни у базових пакунках qemu або ядра чи зміни у середовищі основної системи.

note: type: textblock
en: If you suspect a problem in libguestfs, then just run:
uk: Якщо ви вважаєте, що проблема полягає у libguestfs, просто віддайте таку команду:

note: type: textblock
en: It will print lots of diagnostic messages.
uk: У відповідь буде виведено діагностичні повідомлення.

note: type: textblock
en: If it runs to completion successfully, you will see this near the end:
uk: Якщо дії буде виконано успішно до кінця, ви побачите наприкінці списку повідомлень таке:

note: type: textblock
en: and the test tool will exit with code 0.
uk: і засіб тестування завершить роботу із кодом виходу 0.

note: type: textblock
en: If it fails (and/or exits with non-zero error code), please paste the I<complete, unedited> output of the test tool into a bug report.  More information about reporting bugs can be found on the L<http://libguestfs.org/> website.
uk: Якщо виконання програми завершиться помилкою (і/або виходом із ненульовим кодом завершення), будь ласка, додайте I<повні, нередаговані> виведені засобом тестування дані до звіту щодо вади у програмі. Докладніші дані щодо звітування про вади наведено на сайті L<http://libguestfs.org/>.

note: type: =item
en: B<--qemu> qemu_binary
uk: B<--qemu> виконуваний_файл_qemu

note: type: textblock
en: If you have downloaded another qemu binary, point this option at the full path of the binary to try it.
uk: Якщо вами було отримано інший виконуваний файл qemu, вкажіть за допомогою цього параметра повний шлях до цього виконуваного файла, щоб програма перевірила його.

note: type: =item
en: B<--qemudir> qemu_source_dir
uk: B<--qemudir> каталог_коду_qemu

note: type: textblock
en: If you have compiled qemu from source, point this option at the source directory to try it.
uk: Якщо вами було зібрано qemu з початкових кодів, вкажіть за допомогою цього параметра шлях до каталогу з кодом, щоб програма перевірила його.

note: type: textblock
en: Set the launch timeout to C<N> seconds.  The default is 600 seconds (10 minutes) which does not usually need to be adjusted.
uk: Встановити час очікування на запуск у значення C<N> секунд. Типовим є значення у 600 секунд (10 хвилин). Зазвичай, це значення не потребує коригування.

note: type: textblock
en: Display the libguestfs version number and exit.
uk: Показати дані щодо версії libguestfs і завершити роботу.

note: type: =head1
en: TRYING OUT A DIFFERENT VERSION OF QEMU
uk: ТЕСТУВАННЯ ІНШОЇ ВЕРСІЇ QEMU

note: type: textblock
en: If you have compiled another version of qemu from source and would like to try that, then you can use the I<--qemudir> option to point to the qemu source directory.
uk: Якщо вами було зібрано якусь іншу версію qemu з початкових кодів і ви хочете виконати її тестування, ви можете скористатися параметром I<--qemudir>, щоб вказати каталог з початковими кодами qemu.

note: type: textblock
en: If you have downloaded a qemu binary from somewhere, use the I<--qemu> option to point to the binary.
uk: Якщо вами звідкись було отримано інший виконуваний файл qemu, скористайтеся параметром I<--qemu>, щоб вказати цей виконуваний файл.

note: type: textblock
en: Note when using these options, you can ignore the business of qemu wrapper scripts (L<guestfs(3)/QEMU WRAPPERS>), since libguestfs-test-tool writes a wrapper script for you if one is needed.
uk: Зауважте, що користуючись цими параметрами, ви можете не перейматися написанням скриптів-обгорток qemu (L<guestfs(3)/ОБГОРТКИ QEMU>), оскільки libguestfs-test-tool автоматично створює такий скрипт-обгортку, якщо він потрібен.

note: type: =head1
en: TRYING OUT A DIFFERENT KERNEL
uk: ТЕСТУВАННЯ ІНШОГО ЯДРА

note: type: textblock
en: You can tell supermin to try a different kernel.  You do this by setting the environment variables C<SUPERMIN_KERNEL>, C<SUPERMIN_KERNEL_VERSION> and/or C<SUPERMIN_MODULES>.
uk: Ви можете наказати supermin спробувати скористатися іншим ядром. Зробити це можна за допомогою змінних середовища C<SUPERMIN_KERNEL>, C<SUPERMIN_KERNEL_VERSION> і/або C<SUPERMIN_MODULES>.

note: type: textblock
en: Refer to L<supermin(1)/ENVIRONMENT VARIABLES> for further information.
uk: Щоб дізнатися більше про це, зверніться до розділу L<supermin(1)/ЗМІННІ СЕРЕДОВИЩА>.

note: type: =head1
en: TRYING OUT A DIFFERENT VERSION OF LIBVIRT
uk: ТЕСТУВАННЯ ІНШОЇ ВЕРСІЇ LIBVIRT

note: type: textblock
en: To find out which backend is the default in your libguestfs package, do:
uk: Щоб дізнатися, який із модулів обробки є типовим у вашому пакунку libguestfs, скористайтеся такою командою:

note: type: textblock
en: If you are using the libvirt backend, then you can try out a different (eg. upstream) version of libvirt by running these commands (I<not> as root):
uk: Якщо ви користуєтеся модулем libvirt, ви можете спробувати іншу (наприклад створену розробниками) версію libvirt, віддавши такі команди (I<не> від імені root):

note: type: verbatim
en:  killall libvirtd lt-libvirtd
     ~/path/to/libvirt/run libguestfs-test-tool
uk:  killall libvirtd lt-libvirtd
     ~/шлях/до/libvirt/run libguestfs-test-tool

note: type: textblock
en: The first command kills any session C<libvirtd> process(es) that may be running on the machine.  The second command uses libvirt’s C<run> script (in the top-level libvirt build directory) to set some environment variables so that the alternate version of libvirt is used to run the program.
uk: Перша команда припиняє роботу усіх процесів C<libvirtd> сеансу, які могло бути запущено у системі. Друга команда використовує скрипт C<run> libvirt (зберігається у кореневому каталозі збирання libvirt) для встановлення деяких змінних середовища так, щоб для запуску програми використовувалася альтернативна версія libvirt.

note: type: =head1
en: TRYING OUT WITH / WITHOUT LIBVIRT
uk: ТЕСТУВАННЯ З І БЕЗ LIBVIRT

note: type: textblock
en: If you are using the libvirt backend, you can try without (ie. libguestfs directly launching qemu) by doing:
uk: Якщо ви користуєтеся модулем libvirt, ви можете спробувати попрацювати без нього (тобто наказати libguestfs напряму запускати qemu), ось так:

note: type: textblock
en: Or if you are using the default (direct) backend, then you can try libvirt:
uk: Або, якщо ви використовуєте типовий модуль обробки (direct), ви можете перейти на модуль libvirt:

note: type: textblock
en: or with libvirt and a specific L<libvirt URI|http://libvirt.org/uri.html>:
uk: або libvirt і специфічну L<адресу libvirt|http://libvirt.org/uri.html>:

note: type: verbatim
en:  export LIBGUESTFS_BACKEND=libvirt:qemu:///session
uk:  export LIBGUESTFS_BACKEND=libvirt:qemu:///сеанс

note: type: =head1
en: TRYING OUT DIFFERENT SELINUX SETTINGS
uk: ТЕСТУВАННЯ ІНШИХ ПАРАМЕТРІВ SELINUX

note: type: textblock
en: To find out if SELinux is being used, do:
uk: Щоб перевірити, чи використовується SELinux, віддайте таку команду:

note: type: textblock
en: If you are using libvirt, SELinux and sVirt, then you can try to see if changing SELinux to "permissive" mode makes any difference.  Use this command as root:
uk: Якщо ви користуєтеся libvirt, SELinux та sVirt, ви можете перевірити, чи змінить роботу системи встановлення у SELinux режиму «permissive». Скористайтеся для цього такою командою від імені користувача root:

note: type: textblock
en: If this makes a difference, look in the audit logs for recent failures ("AVCs"):
uk: Якщо виникнуть проблеми, пошукайте у журналі аудиту повідомлення про нещодавні помилки («AVC»):

note: type: textblock
en: You can convert AVCs into suggested SELinux policy rules using tools like L<audit2allow(1)>.  For more information, see the "Security Enhanced Linux User Guide".
uk: Ви можете перетворити AVC у пропоновані правила SELinux за допомогою програм, подібних до L<audit2allow(1)>.   Щоб дізнатися більше, ознайомтеся із документом «Security Enhanced Linux User Guide».

note: type: textblock
en: To reenable SELinux and sVirt, do:
uk: Щоб знову увімкнути SELinux і sVirt, зробіть так:

note: type: =head1
en: SELF-DIAGNOSIS
uk: САМОДІАГНОСТИКА

note: type: textblock
en: Refer to L<guestfs(3)/APPLIANCE BOOT PROCESS> to understand the messages produced by libguestfs-test-tool and/or possible errors.
uk: Зверніться до розділу L<guestfs(3)/ПРОЦЕС ЗАВАНТАЖЕННЯ БАЗОВОЇ СИСТЕМИ>, щоб зрозуміти повідомлення, які виводяться libguestfs-test-tool і/або можливі причини помилок.

note: type: textblock
en: libguestfs-test-tool returns I<0> if the tests completed without error, or I<1> if there was an error.
uk: libguestfs-test-tool повертає I<0>, якщо команди виконано без помилок, або I<1>, якщо сталася помилка.

note: type: textblock
en: virt-list-filesystems - List filesystems in a virtual machine or disk image
uk: virt-list-filesystems — показ списку файлових систем у віртуальній машині або на образі диска

note: type: verbatim
en:  virt-list-filesystems [--options] domname
uk:  virt-list-filesystems [--параметри] -d назва_домену

note: type: verbatim
en:  virt-list-filesystems [--options] disk.img [disk.img ...]
uk:  virt-list-filesystems [--параметри] образ.img [образ.img ...]

note: type: =head1
en: OBSOLETE
uk: ЗАСТАРІЛЕ

note: type: textblock
en: This tool is obsolete.  Use L<virt-filesystems(1)> as a more flexible replacement.
uk: Ця програма вважається застарілою. Замість неї слід використовувати програму L<virt-filesystems(1)>, яке є гнучкішим замінником.

note: type: textblock
en: C<virt-list-filesystems> is a command line tool to list the filesystems that are contained in a virtual machine or disk image.
uk: C<virt-list-filesystems> — інструмент командного рядка для показу списку файлових систем, які містяться у віртуальній машині (або образі диска).

note: type: textblock
en: C<virt-list-filesystems> is just a simple wrapper around L<libguestfs(3)> functionality.  For more complex cases you should look at the L<guestfish(1)> tool.
uk: C<virt-list-filesystems> є простою обгорткою навколо L<libguestfs(3)>. Для виконання складніших дій можна скористатися програмою L<guestfish(1)>.

note: type: =item
en: B<-c URI>
uk: B<-c адреса>

note: type: =item
en: B<--connect URI>
uk: B<--connect адреса>

note: type: textblock
en: With this option, C<virt-list-filesystems> displays the type of each filesystem too (where "type" means C<ext3>, C<xfs> etc.)
uk: Якщо вказано цей параметр, C<virt-list-filesystems> показує тип кожної файлової системи (де під типом ми розуміємо C<ext3>, C<xfs> тощо)

note: type: textblock
en: Normally we only show mountable filesystems.  If this option is given then swap devices are shown too.
uk: Зазвичай, буде показано лише файлові системи, які придатні до монтування. Якщо вказано цей параметр, програма показуватиме і пристрої резервної пам'яті на диску.

note: type: textblock
en: Copyright (C) 2009 Red Hat Inc.
uk: © Red Hat Inc., 2009

note: type: textblock
en: virt-list-partitions - List partitions in a virtual machine or disk image
uk: virt-list-partitions — показ списку розділів у віртуальній машині або на образі диска

note: type: verbatim
en:  virt-list-partitions [--options] domname
uk:  virt-list-partitions [--параметри] назва_домену

note: type: verbatim
en:  virt-list-partitions [--options] disk.img [disk.img ...]
uk:  virt-list-partitions [--параметри] диск.img [диск.img ...]

note: type: textblock
en: C<virt-list-partitions> is a command line tool to list the partitions that are contained in a virtual machine or disk image.  It is mainly useful as a first step to using L<virt-resize(1)>.
uk: C<virt-list-partitions> — інструмент командного рядка для показу списку розділів, які містяться у віртуальній машині (або образі диска). В основному, ця програма корисна як перший крок до використання L<virt-resize(1)>.

note: type: textblock
en: C<virt-list-partitions> is just a simple wrapper around L<libguestfs(3)> functionality.  For more complex cases you should look at the L<guestfish(1)> tool.
uk: C<virt-list-partitions> є простою обгорткою навколо L<libguestfs(3)>. Для виконання складніших дій можна скористатися програмою L<guestfish(1)>.

note: type: textblock
en: Show sizes in human-readable form (eg. "1G").
uk: Вивести дані щодо розмірів у зручному для читання форматі (наприклад, ось так: «1G»).

note: type: textblock
en: With this option, C<virt-list-partitions> displays the type and size of each partition too (where "type" means C<ext3>, C<pv> etc.)
uk: Якщо вказано цей параметр, C<virt-list-partitions> показує тип і розмір кожного розділу (де під типом ми розуміємо C<ext3>, C<pv> тощо).

note: type: textblock
en: Display the total size of each block device (as a separate row or rows).
uk: Вивести загальний розмір кожного блокового пристрою (як окремий рядок або як окремі рядки).

note: type: textblock
en: virt-tar - Extract or upload files to a virtual machine
uk: virt-tar — видобування або вивантаження файлів до віртуальної машини

note: type: verbatim
en:  virt-tar [--options] -x domname directory tarball
uk:  virt-tar [--параметри] -x назва_домену каталог архів_tar

note: type: verbatim
en:  virt-tar [--options] -u domname tarball directory
uk:  virt-tar [--параметри] -u назва_домену архів_tar каталог

note: type: verbatim
en:  virt-tar [--options] disk.img [disk.img ...] -x directory tarball
uk:  virt-tar [--параметри] диск.img [диск.img ...] -x каталог архів_tar

note: type: verbatim
en:  virt-tar [--options] disk.img [disk.img ...] -u tarball directory
uk:  virt-tar [--параметри] диск.img [диск.img ...] -u архів_tar каталог

note: type: textblock
en: This tool is obsolete.  Use L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)> as replacements.
uk: Ця програма вважається застарілою. Замість неї слід використовувати L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>.

note: type: textblock
en: Download C</home> from the VM into a local tarball:
uk: Отримати C</home> з віртуальної машини до локального архіву tar:

note: type: textblock
en: Upload a local tarball and unpack it inside C</tmp> in the VM:
uk: Вивантажити локальний архів tar і розпакувати його до C</tmp> у віртуальній машині:

note: type: =head1
en: WARNING
uk: ПОПЕРЕДЖЕННЯ

note: type: textblock
en: You must I<not> use C<virt-tar> with the I<-u> option (upload) on live virtual machines.  If you do this, you risk disk corruption in the VM.  C<virt-tar> tries to stop you from doing this, but doesn't catch all cases.
uk: I<Не> використовуйте C<virt-tar> з параметром I<-u> (вивантаження) для активних віртуальних машин. Якщо ви зробите це, ви ризикуєте пошкодити диск у віртуальній машині. C<virt-tar> намагатиметься запобігти подібним діям, але програма не завжди може визначити усі можливі випадки.

note: type: textblock
en: You can use I<-x> (extract) on live virtual machines, but you might get inconsistent results or errors if there is filesystem activity inside the VM.  If the live VM is synched and quiescent, then C<virt-tar> will usually work, but the only way to guarantee consistent results is if the virtual machine is shut down.
uk: Ви можете користуватися параметром I<-x> (видобути) для активних віртуальних машин, але результатом можуть бути некоректні дані або помилки, якщо під час видобування у файловій системі віртуальної машини відбуваються якісь дії. Якщо активна віртуальна машина є синхронізованою і перебуває у стані спокою, зазвичай, C<virt-tar> працюватиме, але єдиним способом гарантування коректних результатів є вимикання віртуальної машини.

note: type: textblock
en: C<virt-tar> is a general purpose archive tool for downloading and uploading parts of a guest filesystem.  There are many possibilities: making backups, uploading data files, snooping on guest activity, fixing or customizing guests, etc.
uk: C<virt-tar> — інструмент архівування загального призначення, завданням якого є отримання і вивантаження частин файлової системи гостьової операційної системи. У нього багато можливих застосувань: створення резервних копій, вивантаження файлів із даними, стеження за діями у гостьовій системі, виправлення та налаштовування гостьових систем тощо.

note: type: textblock
en: If you want to just view a single file, use L<virt-cat(1)>.  If you just want to edit a single file, use L<virt-edit(1)>.  For more complex cases you should look at the L<guestfish(1)> tool.
uk: Якщо вам потрібен один файл, скористайтеся L<virt-cat(1)>. Якщо ви хочете внести зміни до одного файла, скористайтеся L<virt-edit(1)>.  Для виконання складніших дій можна скористатися програмою L<guestfish(1)>.

note: type: textblock
en: There are two modes of operation: I<-x> (eXtract) downloads a directory and its contents (recursively) from the virtual machine into a local tarball.  I<-u> uploads from a local tarball, unpacking it into a directory inside the virtual machine.  You cannot use these two options together.
uk: Передбачено два режими роботи: I<-x> (eXtract) отримує дані каталогу і його вміст (рекурсивно) з віртуальної машини до локального архіву tar. I<-u> вивантажує дані з локального архіву tar, розпаковуючи їх до каталогу у віртуальній машині. Параметри, які визначають ці два режими роботи, не можна використовувати разом у одній команді.

note: type: textblock
en: In addition, you may need to use the I<-z> (gZip) option to enable compression.  When uploading, you have to specify I<-z> if the upload file is compressed because virt-tar won't detect this on its own.
uk: Крім того, ймовірно, вам знадобиться параметр I<-z> (gZip), який вмикає стискання даних. Під час вивантаження даних вам слід вказати параметр I<-z>, якщо вивантажуваний файл стиснуто, оскільки сама virt-tar не намагатиметься це визначити.

note: type: textblock
en: C<virt-tar> can only handle tar (optionally gzipped) format tarballs.  For example it cannot do PKZip files or bzip2 compression.  If you want that then you'll have to rebuild the tarballs yourself.  (This is a limitation of the L<libguestfs(3)> API).
uk: C<virt-tar> може працювати лише з форматом архівів tar (з можливістю стискання gzip). Наприклад, програма не може працювати із файлами PKZip або архівами, які стиснуто bzip2. Якщо вам доводиться працювати з іншими форматами даних, вам доведеться перезібрати архіви власноруч. (Це обмеження є обмеженням програмного інтерфейсу L<libguestfs(3)>).

note: type: textblock
en: Use I<-x> to extract (download) a directory from a virtual machine to a local tarball.
uk: Скористайтеся параметром I<-x> для видобування (отримання) каталогу з віртуальної машини до локального архіву tar.

note: type: textblock
en: Use I<-u> to upload and unpack from a local tarball into a virtual machine.  Please read the L</WARNING> section above before using this option.
uk: Скористайтеся параметром I<-u> для вивантаження і розпаковування локального архіву tar до віртуальної машини. Будь ласка, ознайомтеся із наведеним вище розділом L</ПОПЕРЕДЖЕННЯ>, перш ніж користуватися цим параметром.

note: type: textblock
en: You must specify exactly one of these options.
uk: Слід вказувати лише один із цих параметрів.

note: type: textblock
en: Specify that the input or output tarball is gzip-compressed.
uk: Надає змогу вказати, що вхідний або вихідний архів tar стиснуто за допомогою gzip.

note: type: textblock
en: virt-win-reg - Export and merge Windows Registry entries from a Windows guest
uk: virt-win-reg — програма для експортування та дописування записів реєстру Windows з гостьової системи Windows

note: type: verbatim
en:  virt-win-reg domname 'HKLM\Path\To\Subkey'
uk:  virt-win-reg назва_домену 'HKLM\Шлях\до\підключа'

note: type: verbatim
en:  virt-win-reg domname 'HKLM\Path\To\Subkey' name
uk:  virt-win-reg назва_домену 'HKLM\Шлях\до\підключа' назва

note: type: verbatim
en:  virt-win-reg domname 'HKLM\Path\To\Subkey' @
uk:  virt-win-reg назва_домену 'HKLM\Шлях\до\підключа' @

note: type: verbatim
en:  virt-win-reg --merge domname [input.reg ...]
uk:  virt-win-reg --merge назва_домену [вхідний.reg ...]

note: type: verbatim
en:  virt-win-reg [--options] disk.img ... # instead of domname
uk:  virt-win-reg [--параметри] диск.img ... # замість назва_домену

note: type: textblock
en: You must I<not> use C<virt-win-reg> with the I<--merge> option on live virtual machines.  If you do this, you I<will> get irreversible disk corruption in the VM.  C<virt-win-reg> tries to stop you from doing this, but doesn't catch all cases.
uk: I<Не> використовуйте C<virt-win-reg> з параметром I<--merge> для активних віртуальних машин. Якщо ви зробите це, ви I<невиправно> ушкодите диск у віртуальній машині. C<virt-win-reg> намагатиметься запобігти подібним діям, але програма не завжди може визначити усі можливі випадки.

note: type: textblock
en: Modifying the Windows Registry is an inherently risky operation.  The format is deliberately obscure and undocumented, and Registry changes can leave the system unbootable.  Therefore when using the I<--merge> option, make sure you have a reliable backup first.
uk: Внесення змін до реєстру Windows є ризикованою дією. Формат реєстру доволі неясний і недокументований, а зміни у реєстрі можуть призвести до неможливості завантажити систему. Тому, якщо ви користуєтеся параметром I<--merge>, не забувайте спочатку створити надійну резервну копію.

note: type: textblock
en: This program can export and merge Windows Registry entries from a Windows guest.
uk: Ця програма може експортувати і дописувати записи реєстру Windows з гостьової системи Windows.

note: type: textblock
en: The first parameter is the libvirt guest name or the raw disk image of a Windows guest.
uk: Першим параметром є назва гостьової системи libvirt або простого (raw) образу гостьової системи Windows.

note: type: textblock
en: If I<--merge> is I<not> specified, then the chosen registry key is displayed/exported (recursively).  For example:
uk: Якщо I<не> вказано параметр I<--merge>, вибраний ключ реєстру буде показано або експортовано (рекурсивно). Приклад:

note: type: textblock
en: You can also display single values from within registry keys, for example:
uk: Крім того, ви можете переглядати окремі значення у ключах реєстру. Приклад:

note: type: textblock
en: With I<--merge>, you can merge a textual regedit file into the Windows Registry:
uk: За допомогою I<--merge> ви можете дописати текстовий файл regedit до реєстру Windows:

note: type: =head2
en: NOTE
uk: ПРИМІТКА

note: type: textblock
en: This program is only meant for simple access to the registry.  If you want to do complicated things with the registry, we suggest you download the Registry hive files from the guest using L<libguestfs(3)> or L<guestfish(1)> and access them locally, eg. using L<hivex(3)>, L<hivexsh(1)> or L<hivexregedit(1)>.
uk: Цю програму призначено лише для спрощення доступу до реєстру. Якщо вам потрібні якісь складні дії з реєстром, рекомендуємо вам отримати файли роїв реєстру з гостьової системи за допомогою L<libguestfs(3)> або L<guestfish(1)> і обробити їх локально, наприклад за допомогою L<hivex(3)>, L<hivexsh(1)> або L<hivexregedit(1)>.

note: type: textblock
en: In merge mode, this merges a textual regedit file into the Windows Registry of the virtual machine.  If this flag is I<not> given then virt-win-reg displays or exports Registry entries instead.
uk: У режимі об'єднання програма дописує текстовий файл regedit до реєстру Windows віртуальної машини. Якщо цей параметр I<не> вказано, virt-win-reg показує або експортує записи реєстру.

note: type: textblock
en: Note that I<--merge> is I<unsafe> to use on live virtual machines, and will result in disk corruption.  However exporting (without this flag)  is always safe.
uk: Зауважте, що I<--merge> I<не безпечно> використовувати для активних віртуальних машин. Використання цього параметра команди для активних віртуальних машин призводить до пошкодження вмісту диска. Втім, експортування (виконання команди без цього параметра) є завжди безпечним.

note: type: textblock
en: When merging (only), you may need to specify the encoding for strings to be used in the hive file.  This is explained in detail in L<Win::Hivex::Regedit(3)/ENCODING STRINGS>.
uk: При об'єднанні (і лише при ньому) у вас може виникнути потреба у визначення кодування рядків, які використовуються у файлі рою. Докладніший опис можна знайти у розділі L<Win::Hivex::Regedit(3)/ENCODING STRINGS>.

note: type: textblock
en: The default is to use UTF-16LE, which should work with recent versions of Windows.
uk: Типово буде використано кодування UTF-16LE, яке має працювати у свіжих версіях Windows.

note: type: textblock
en: When exporting (only), assume strings are UTF-16LE and print them as strings instead of hex sequences.  Remove the final zero codepoint from strings if present.
uk: Під час експортування (і лише під час нього) припускати, що рядки записано у кодуванні UTF-16LE і виводити їх у форматі текстових рядків, а не послідовностей шістнадцяткових чисел. Вилучити завершальний нуль-символ з рядків, якщо такий буде виявлено.

note: type: textblock
en: This is unsafe and does not preserve the fidelity of strings in the original Registry for various reasons:
uk: Така дія не є безпечною і не надає можливості зберегти точність запису початкових рядків реєстру з різних причин:

note: type: textblock
en: Assumes the original encoding is UTF-16LE.  ASCII strings and strings in other encodings will be corrupted by this transformation.
uk: Припускається, що початковим кодуванням є UTF-16LE. Рядки ASCII і рядки у інших кодуваннях буде пошкоджено під час цього перетворення.

note: type: textblock
en: Assumes that everything which has type 1 or 2 is really a string and that everything else is not a string, but the type field in real Registries is not reliable.
uk: Припускається, що усі дані, які належать до типу 1 чи типу 2, є насправді рядками і що усі інші дані не є рядками, але визначений тип поля у реєстрах, зазвичай, не є надійним джерелом даних.

note: type: textblock
en: Loses information about whether a zero codepoint followed the string in the Registry or not.
uk: Втрачаються дані щодо того, чи завершувався рядок у реєстрі нуль-символом.

note: type: textblock
en: This all happens because the Registry itself contains no information about how strings are encoded (see L<Win::Hivex::Regedit(3)/ENCODING STRINGS>).
uk: Усе це є наслідком того, що сам реєстр не містить даних щодо кодування рядків у ньому (див. L<Win::Hivex::Regedit(3)/ENCODING STRINGS>).

note: type: textblock
en: You should only use this option for quick hacking and debugging of the Registry contents, and I<never> use it if the output is going to be passed into another program or stored in another Registry.
uk: Цим параметром слід користуватися лише для найпростіших рішень та діагностування вмісту реєстру. I<Ніколи> не користуйтеся ним, якщо виведені дані має бути передано іншій програмі або збережено у іншому реєстрі.

note: type: =head1
en: SUPPORTED SYSTEMS
uk: ПІДТРИМУВАНІ СИСТЕМИ

note: type: textblock
en: The program currently supports Windows NT-derived guests starting with Windows XP through to at least Windows 8.
uk: У поточній версії цієї програми передбачено підтримку гостьових систем, які походять від Windows NT, починаючи з Windows XP і до, принаймні, Windows 8.

note: type: textblock
en: The following Registry keys are supported:
uk: Передбачено підтримку таких ключів реєстру:

note: type: textblock
en: where I<SID> is a Windows User SID (eg. C<S-1-5-18>).
uk: де I<SID> — SID користувача Windows (наприклад C<S-1-5-18>).

note: type: =item
en: C<HKEY_USERS\I<username>>
uk: C<HKEY_USERS\I<користувач>>

note: type: textblock
en: where I<username> is a local user name (this is a libguestfs extension).
uk: де I<користувач> — назва облікового запису локального користувача (це розширення libguestfs).

note: type: textblock
en: You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for C<HKEY_USERS>.
uk: Ви можете використовувати C<HKLM> як скорочення від C<HKEY_LOCAL_MACHINE>, та C<HKU> як скорочення від C<HKEY_USERS>.

note: type: textblock
en: The literal keys C<HKEY_USERS\$SID> and C<HKEY_CURRENT_USER> are not supported (there is no "current user").
uk: Підтримки буквальних ключів C<HKEY_USERS\$SID> і C<HKEY_CURRENT_USER> не передбачено (немає «поточного користувача»).

note: type: textblock
en: Windows 8 "fast startup" can prevent virt-win-reg from being able to edit the Registry.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>.
uk: «Швидкий запуск» Windows 8 може заважати virt-win-reg редагувати реєстр. Див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS  ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

note: type: =head1
en: ENCODING
uk: КОДУВАННЯ

note: type: textblock
en: C<virt-win-reg> expects that regedit files have already been reencoded in the local encoding.  Usually on Linux hosts, this means UTF-8 with Unix-style line endings.  Since Windows regedit files are often in UTF-16LE with Windows-style line endings, you may need to reencode the whole file before or after processing.
uk: C<virt-win-reg> вважає, що вміст файлів regedit вже перекодовано до локального кодування. Зазвичай, у основних системах Linux це означає, що використано UTF-8 із символами завершення рядків у стилі Unix. Оскільки файли regedit Windows часто записуються у кодуванні UTF-16LE із символами завершення рядків у стилі Windows, ймовірно, вам доведеться виконати перекодування усього файла до або після обробки.

note: type: textblock
en: To reencode a file from Windows format to Linux (before processing it with the I<--merge> option), you would do something like this:
uk: Для перекодування файла з формату Windows до формату Linux (до обробки його за допомогою команди з параметром I<--merge>) вам слід зробити щось таке:

note: type: textblock
en: To go in the opposite direction, after exporting and before sending the file to a Windows user, do something like this:
uk: Щоб виконати зворотне перетворення після експортування і перед надсиланням файла користувачеві Windows, слід зробити щось таке:

note: type: textblock
en: For more information about encoding, see L<Win::Hivex::Regedit(3)>.
uk: Щоб дізнатися більше про кодування, ознайомтеся зі сторінкою підручника щодо L<Win::Hivex::Regedit(3)>.

note: type: textblock
en: If you are unsure about the current encoding, use the L<file(1)> command.  Recent versions of Windows regedit.exe produce a UTF-16LE file with Windows-style (CRLF) line endings, like this:
uk: Якщо ви не певні щодо поточного кодування, скористайтеся командою L<file(1)>. У свіжих версіях Windows regedit.exe створює файли кодування UTF-16LE із символами завершення рядків у стилі Windows (CRLF), ось такі:

note: type: textblock
en: This file would need conversion before you could I<--merge> it.
uk: Цей файл потребуватиме перетворення, перш ніж ви зможете скористатися для нього параметром I<--merge>.

note: type: =head1
en: CurrentControlSet etc.
uk: CurrentControlSet тощо.

note: type: textblock
en: Registry keys like C<CurrentControlSet> don’t really exist in the Windows Registry at the level of the hive file, and therefore you cannot modify these.
uk: Ключі реєстру, подібні до C<CurrentControlSet>, насправді не існують у реєстрі Windows на рівні файла рою, і тому ви не зможете вносити до них зміни.

note: type: textblock
en: C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In some circumstances it might refer to another control set.  The way to find out is to look at the C<HKLM\SYSTEM\Select> key:
uk: Насправді, C<CurrentControlSet> є альтернативною назвою C<ControlSet001>. За певних обставин це може бути посиланням на інший керівний набір. Визначити набір можна за допомогою ключа C<HKLM\SYSTEM\Select>:

note: type: textblock
en: "Current" is the one which Windows will choose when it boots.
uk: «Поточним» є той набір, який Windows вибере під час завантаження.

note: type: textblock
en: Similarly, other C<Current...> keys in the path may need to be replaced.
uk: Аналогічно, інші ключі C<Current...> у шляху можуть потребувати заміни.

note: type: =head1
en: DELETING REGISTRY KEYS AND VALUES
uk: ВИЛУЧЕННЯ КЛЮЧІВ ТА ЗНАЧЕНЬ РЕЄСТРУ

note: type: textblock
en: To delete a whole registry key, use the syntax:
uk: Для вилучення усього ключа реєстру скористайтеся такою синтаксичною конструкцією:

note: type: textblock
en: To delete a single value within a key, use the syntax:
uk: Для вилучення окремого значення у ключі скористайтеся такою синтаксичною конструкцією:

note: type: =head1
en: WINDOWS TIPS
uk: ПІДКАЗКИ ЩОДО WINDOWS

note: type: textblock
en: Note that some of these tips modify the guest disk image.  The guest I<must> be shut off, else you will get disk corruption.
uk: Зауважте, що у результаті деяких із команд у підказках буде змінено образ диска гостьової системи. Гостьову систему I<має> бути вимкнено, щоб запобігти пошкодженню даних на диску.

note: type: =head2
en: RUNNING A BATCH SCRIPT WHEN A USER LOGS IN
uk: ЗАПУСК ПАКЕТНОГО СКРИПТУ ПІД ЧАС ВХОДУ КОРИСТУВАЧА ДО СИСТЕМИ

note: type: textblock
en: Prepare a DOS batch script, VBScript or executable.  Upload this using L<guestfish(1)>.  For this example the script is called C<test.bat> and it is uploaded into C<C:\>:
uk: Приготуйте пакетний скрипт DOS (.bat), скрипт VBScript або виконуваний файл. Вивантажте його до гостьової системи за допомогою L<guestfish(1)>. У цьому прикладі скрипт називається C<test.bat> і його вивантажено до C<C:\>:

note: type: textblock
en: Prepare a regedit file containing the registry change:
uk: Приготуйте файл regedit, який міститиме зміни до реєстру:

note: type: textblock
en: In this example we use the key C<RunOnce> which means that the script will run precisely once when the first user logs in.  If you want it to run every time a user logs in, replace C<RunOnce> with C<Run>.
uk: У цьому прикладі ми використовуємо ключ C<RunOnce>, який означає, що скрипт буде запущено лише один раз під час першого входу користувача до системи. Якщо вам потрібно, щоб скрипт запускався кожного разу, коли користувач входить до системи, замініть C<RunOnce> на C<Run>.

note: type: textblock
en: Now update the registry:
uk: Оновіть регістр:

note: type: =head2
en: INSTALLING A SERVICE
uk: ВСТАНОВЛЕННЯ СЛУЖБИ

note: type: textblock
en: This section assumes you are familiar with Windows services, and you either have a program which handles the Windows Service Control Protocol directly or you want to run any program using a service wrapper like SrvAny or the free RHSrvAny.
uk: У цьому розділі ми припускаємо, що ви обізнані із роботою служб Windows і маєте програму, яка обробляє протокол керування службами Windows безпосередньо або хочете запустити будь-яку програму за допомогою обгортки служби, наприклад SrvAny або безкоштовної RHSrvAny.

note: type: textblock
en: First upload the program and optionally the service wrapper.  In this case the test program is called C<test.exe> and we are using the RHSrvAny wrapper:
uk: Спочатку вивантажте програму і, якщо потрібно, обгортку служби. У нашому прикладі тестова програма має назву C<test.exe> і використано обгортку RHSrvAny:

note: type: textblock
en: Prepare a regedit file containing the registry changes.  In this example, the first registry change is needed for the service itself or the service wrapper (if used).  The second registry change is only needed because I am using the RHSrvAny service wrapper.
uk: Приготуйте файл regedit зі змінами до реєстру. У нашому прикладі перша зміна до реєстру потрібна для самої служби або обгортки служби (якщо така використовується). Друга зміна потрібна лише через те, що ми використовуємо обгортку служби RHSrvAny.

note: type: textblock
en: For use of C<ControlSet001> see the section above in this manual page.  You may need to adjust this according to the control set that is in use by the guest.
uk: Щодо використання C<ControlSet001> див. розділ вище на цій сторінці підручника. Ймовірно, вам слід скоригувати цей запис відповідно до керівного набору, який використовується вашою гостьовою системою.

note: type: textblock
en: C<"ObjectName"> controls the privileges that the service will have.  An alternative is C<"ObjectName"="LocalSystem"> which would be the most privileged account.
uk: C<"ObjectName"> керує правами доступу, які матиме служба. Альтернативою є C<"ObjectName"="LocalSystem">, яка надає права доступу найпривілейованішого облікового запису.

note: type: textblock
en: For the meaning of the magic numbers, see this Microsoft KB article: L<http://support.microsoft.com/kb/103000>.
uk: Щодо значення «магічних чисел» ознайомтеся із цією статтею бази даних знань Microsoft: L<http://support.microsoft.com/kb/103000>.

note: type: textblock
en: Update the registry:
uk: Оновіть регістр:

note: type: =head1
en: SHELL QUOTING
uk: ЕКРАНУВАННЯ СИМВОЛІВ У ОБОЛОНЦІ

note: type: textblock
en: Be careful when passing parameters containing C<\> (backslash) in the shell.  Usually you will have to use 'single quotes' or double backslashes (but not both) to protect them from the shell.
uk: Будьте обережні із передаванням параметрів, які містять символ C<\> (зворотну похилу риску), до командної оболонки. Зазвичай, вам слід використати одинарні лапки або подвійні зворотні похилі риски (але не те і інше одразу) для захисту від обробки інтерпретатором командної оболонки.

note: type: textblock
en: Paths and value names are case-insensitive.
uk: Регістр символів шляхів і назв значень береться до уваги під час обробки.

note: type: textblock
en: Copyright (C) 2010 Red Hat Inc.
uk: ©Red Hat Inc., 2010
