
=head1 НАЗВА

virt-make-fs —створення файлової системи на основі архіву tar або файлів

=head1 КОРОТКИЙ ОПИС

 virt-make-fs [--параметри] вхідний.tar вихідний.img

 virt-make-fs [--параметри] вхідний.tar.gz вихідний.img

 virt-make-fs [--параметри] каталог вихідний.img

=head1 ОПИС

Virt-make-fs — інструмент командного рядка для створення файлової системи на основі архіву tar або якихось файлів у каталозі. Подібний для інструментів L<mkisofs(1)>, L<genisoimage(1)> та L<mksquashfs(1)>. На відміну від цих інструментів він може створювати файлові системи стандартних типів, зокрема ext2/3 або NTFS, що може бути корисним, якщо ви хочете долучити ці файлові системи до наявних віртуальних машин (наприклад, щоб імпортувати великі обсяги доступних лише для читання даних до віртуальної машини).

Для створення порожніх дисків скористайтеся L<virt-format(1)>. Для створення складних компонувань скористайтеся L<guestfish(1)>.

Базовий варіант використання:

 virt-make-fs вхідні_дані вихідний.образ

де C<вхідні_дані> є або каталогом, де зберігаються файли, які ви хочете додати, або архів tar (нестиснений або стиснений за допомогою gzip); а F<виведений.образ> є образом диска. Тип виведених даних визначається автоматично. Типовим виведеним образом диска є простий (raw) розріджений образ ext2, якщо ви не вкажете додаткових прапорців (див. розділ L</ПАРАМЕТРИ> нижче).

=head2 ТИП ФАЙЛОВОЇ СИСТЕМИ

Типовим типом файлової системи є C<ext2>. Можна використовувати майже будь-який тип файлової системи, підтримку якого передбачено у libguestfs (але I<не> придатний лише для читання формат, зокрема ISO9660). Ось декілька із найпоширеніших варіантів:

=over 4

=item I<ext3>

Зауважте, що у файлових системах ext3 міститься журнал із типовим розміром 1-32 МБ. Якщо ви не збираєтеся використовувати файлову систему у спосіб, який потребує журналу, цей журнал є лише непотрібним доповненням файлової системи.

=item I<ntfs> або I<vfat>

Корисно, якщо дані експортуються до гостьової системи Windows.

=item I<minix>

Менша зайва витрата місця за C<ext2>, але є певні обмеження щодо довжини назви файла і загального розміру файлової системи.

=back

=head3 ПРИКЛАД

 virt-make-fs --type=minix input minixfs.img

=head2 ДІЛИТИ ЧИ НЕ ДІЛИТИ НА РОЗДІЛИ

На вимогу, virt-make-fs може додавати на диск-результат таблицю розділів.

Додавання розділу може зробити образ диска суміснішим із деякими віртуалізованими операційними системами, які не можуть працювати із файловими системами, які безпосередньо розміщено на блоковому пристрої (Linux не звертає на це уваги і може успішно працювати із обома типами образів).

З іншого боку, якщо у вас є таблиця розділів, образ-результат вже не буде простою файловою системою. Наприклад, ви не зможете запустити L<fsck(8)> безпосередньо для поділеного на розділи образу диска. (Втім, можна буде користуватися засобами libguestfs, зокрема L<guestfish(1)> і L<virt-resize(1)>).

=head3 ПРИКЛАД

Додавання розділу MBR:

 virt-make-fs --partition -- input образ.img

Якщо виведений образ диска може бути розміром у терабайт або більше, краще скористатися сумісною із EFI/GPT таблицею розділів:

 virt-make-fs --partition=gpt --size=+4T --format=qcow2 input диск.img

=head2 ЗАЙВЕ МІСЦЕ

На відміну від форматів, таких як tar і squashfs, файлова система не може «просто підлаштуватися» під файли, які вона містить, — вона може потребувати зайвого місця. Залежно від того, як ви збираєтеся використовувати виведений образ, зайве місце може бути небажаним, таким, яке слід мінімізувати, або бажаним для додавання згодом файлів. Типовою поведінкою virt-make-fs є мінімізація зайвого місця, але ви можете скористатися прапорцем I<--size> для створення зайвого місця, якщо вам це потрібно.

Альтернативним способом створити зайве місце без збільшення образу-результату є використання альтернативного формату образів дисків (замість типового формату «raw"»). За допомогою параметра I<--format=qcow2> можна визначити природний для qemu/KVM формат образів qcow2 (перш ніж користуватися ним, перевірте, чи передбачено підтримку цього формату у вашому гіпервізорі). Це надасть вам змогу вибрати більший розмір за допомогою I<--size> так, щоб зайве місце було розподілено у образі лише після того, як ви спробуєте на ньому щось зберегти.

Не забувайте, що ви також можете скористатися локальними командами, зокрема L<resize2fs(8)> та L<virt-resize(1)>, для зміни розмірів наявних файлових систем або повторно запустити virt-make-fs для збирання іншого образу «з нуля».

=head3 ПРИКЛАД

 virt-make-fs --format=qcow2 --size=+200M input output.img

=head1 ПАРАМЕТРИ

=over 4

=item B<--help>

Показати коротку довідку.

=item B<--blocksize=512>

=item B<--blocksize=4096>

This parameter sets the sector size of the output disk image.

The default is C<512> bytes.

See also L<guestfs(3)/guestfs_add_drive_opts>.

=item B<--floppy>

Створити віртуальну дискету.

У поточній версії буде попередньо вибрано розмір (1440 кБ), тип розділу (MBR) і тип файлової системи (VFAT). У майбутньому також може бути вибрано геометрію.

=item B<--size=>N

=item B<--size=+>N

=item B<-s> N

=item B<-s> B<+>N

Скористайтеся параметром I<--size> (або I<-s>), щоб вибрати розмір образу-результату.

Якщо цей параметр I<не> вказано, образ-результат буде точно таким великим, щоб умістити усі файли без зайвої витрати місця.

Щоб вибрати для диска-результату фіксований розмір, вкажіть значення розміру з суфіксом b/K/M/G/T/P/E, який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Диск має бути достатньо об'ємним, щоб умістити усі вхідні файли. Якщо розмір диска виявиться недостатнім, вам буде повідомлено про помилку.

Щоб лишити на диску зайве місце, вкажіть C<+> (символ «плюс») із числовим значенням та суфіксом b/K/M/G/T/P/E , який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Наприклад, I<--size=+200M> означає «достатньо місця для вхідних файлів та (приблизно) зайві 200 МБ вільного місця».

Зауважте, що virt-make-fs estimates використовує оцінки вільного місця на диску, тому створені програмою файлові системи не міститимуть рівно стільки вільного місця, скільки ви вкажете. (Створення файлової системи, яка міститиме рівно стільки місця, скільки було вказано користувачем, є доволі складним і тривалим завданням.)

=item B<--format=>ФОРМАТ

=item B<-F> ФОРМАТ

Вибрати формат образу диска-результату.

Типовимт є C<raw> (простий розріджений образ диска).

=item B<--type=>ФС

=item B<-t> ФС

Вибрати тип файлової системи для виведення даних.

Типовим значенням є C<ext2>.

Тут можна скористатися будь-якою файловою системою, підтримку читання і запису для якої передбачено у libguestfs.

=item B<--label=>МІТКА

Встановити мітку файлової системи.

=item B<--partition>

=item B<--partition=>ТИП РОЗДІЛУ

Якщо його вказано, цей прапорець додає таблицю розділів MBR на виведений програмою образ диска.

Ви можете змінити тип таблиці розділів, наприклад, вказати I<--partition=gpt> для великих дисків.

Для MBR virt-make-fs встановлює значення байта типу розділу автоматично.

=item B<-v>

=item B<--verbose>

Увімкнути виведення діагностичних даних.

=item B<-V>

=item B<--version>

Показати дані щодо версії і завершити роботу.

=item B<-x>

Увімкнути трасування libguestfs.

=back

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

L<guestfish(1)>, L<virt-format(1)>, L<virt-resize(1)>, L<virt-tar-in(1)>, L<mkisofs(1)>, L<genisoimage(1)>, L<mksquashfs(1)>, L<mke2fs(8)>, L<resize2fs(8)>, L<guestfs(3)>, L<http://libguestfs.org/>.

=head1 АВТОР

Richard W.M. Jones L<http://people.redhat.com/~rjones/>

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

Copyright (C) 2010-2025 Red Hat Inc.

