virt-make-fs(1) | Virtualization Support | virt-make-fs(1) |
virt-make-fs —створення файлової системи на основі архіву tar або файлів
virt-make-fs [--параметри] вхідний.tar вихідний.img virt-make-fs [--параметри] вхідний.tar.gz вихідний.img virt-make-fs [--параметри] каталог вихідний.img
Virt-make-fs — інструмент командного рядка для створення файлової системи на основі архіву tar або якихось файлів у каталозі. Подібний для інструментів mkisofs(1), genisoimage(1) та mksquashfs(1). На відміну від цих інструментів він може створювати файлові системи стандартних типів, зокрема ext2/3 або NTFS, що може бути корисним, якщо ви хочете долучити ці файлові системи до наявних віртуальних машин (наприклад, щоб імпортувати великі обсяги доступних лише для читання даних до віртуальної машини).
Для створення порожніх дисків скористайтеся virt-format(1). Для створення складних компонувань скористайтеся guestfish(1).
Базовий варіант використання:
virt-make-fs вхідні_дані вихідний.образ
де "вхідні_дані" є або каталогом, де зберігаються файли, які ви хочете додати, або архів tar (нестиснений або стиснений за допомогою gzip); а виведений.образ є образом диска. Тип виведених даних визначається автоматично. Типовим виведеним образом диска є простий (raw) розріджений образ ext2, якщо ви не вкажете додаткових прапорців (див. розділ "ПАРАМЕТРИ" нижче).
Типовим типом файлової системи є "ext2". Можна використовувати майже будь-який тип файлової системи, підтримку якого передбачено у libguestfs (але не придатний лише для читання формат, зокрема ISO9660). Ось декілька із найпоширеніших варіантів:
ПРИКЛАД
virt-make-fs --type=minix input minixfs.img
На вимогу, virt-make-fs може додавати на диск-результат таблицю розділів.
Додавання розділу може зробити образ диска суміснішим із деякими віртуалізованими операційними системами, які не можуть працювати із файловими системами, які безпосередньо розміщено на блоковому пристрої (Linux не звертає на це уваги і може успішно працювати із обома типами образів).
З іншого боку, якщо у вас є таблиця розділів, образ-результат вже не буде простою файловою системою. Наприклад, ви не зможете запустити fsck(8) безпосередньо для поділеного на розділи образу диска. (Втім, можна буде користуватися засобами libguestfs, зокрема guestfish(1) і virt-resize(1)).
ПРИКЛАД
Додавання розділу MBR:
virt-make-fs --partition -- input образ.img
Якщо виведений образ диска може бути розміром у терабайт або більше, краще скористатися сумісною із EFI/GPT таблицею розділів:
virt-make-fs --partition=gpt --size=+4T --format=qcow2 input диск.img
На відміну від форматів, таких як tar і squashfs, файлова система не може «просто підлаштуватися» під файли, які вона містить, — вона може потребувати зайвого місця. Залежно від того, як ви збираєтеся використовувати виведений образ, зайве місце може бути небажаним, таким, яке слід мінімізувати, або бажаним для додавання згодом файлів. Типовою поведінкою virt-make-fs є мінімізація зайвого місця, але ви можете скористатися прапорцем --size для створення зайвого місця, якщо вам це потрібно.
Альтернативним способом створити зайве місце без збільшення образу-результату є використання альтернативного формату образів дисків (замість типового формату «raw"»). За допомогою параметра --format=qcow2 можна визначити природний для qemu/KVM формат образів qcow2 (перш ніж користуватися ним, перевірте, чи передбачено підтримку цього формату у вашому гіпервізорі). Це надасть вам змогу вибрати більший розмір за допомогою --size так, щоб зайве місце було розподілено у образі лише після того, як ви спробуєте на ньому щось зберегти.
Не забувайте, що ви також можете скористатися локальними командами, зокрема resize2fs(8) та virt-resize(1), для зміни розмірів наявних файлових систем або повторно запустити virt-make-fs для збирання іншого образу «з нуля».
ПРИКЛАД
virt-make-fs --format=qcow2 --size=+200M input output.img
The default is 512 bytes.
See also "guestfs_add_drive_opts" in guestfs(3).
У поточній версії буде попередньо вибрано розмір (1440 кБ), тип розділу (MBR) і тип файлової системи (VFAT). У майбутньому також може бути вибрано геометрію.
Якщо цей параметр не вказано, образ-результат буде точно таким великим, щоб умістити усі файли без зайвої витрати місця.
Щоб вибрати для диска-результату фіксований розмір, вкажіть значення розміру з суфіксом b/K/M/G/T/P/E, який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Диск має бути достатньо об'ємним, щоб умістити усі вхідні файли. Якщо розмір диска виявиться недостатнім, вам буде повідомлено про помилку.
Щоб лишити на диску зайве місце, вкажіть "+" (символ «плюс») із числовим значенням та суфіксом b/K/M/G/T/P/E , який позначає байти, кілобайти, мегабайти, гігабайти, терабайти, петабайти або ексабайти. Наприклад, --size=+200M означає «достатньо місця для вхідних файлів та (приблизно) зайві 200 МБ вільного місця».
Зауважте, що virt-make-fs estimates використовує оцінки вільного місця на диску, тому створені програмою файлові системи не міститимуть рівно стільки вільного місця, скільки ви вкажете. (Створення файлової системи, яка міститиме рівно стільки місця, скільки було вказано користувачем, є доволі складним і тривалим завданням.)
Типовимт є "raw" (простий розріджений образ диска).
Типовим значенням є "ext2".
Тут можна скористатися будь-якою файловою системою, підтримку читання і запису для якої передбачено у libguestfs.
Ви можете змінити тип таблиці розділів, наприклад, вказати --partition=gpt для великих дисків.
Для MBR virt-make-fs встановлює значення байта типу розділу автоматично.
guestfish(1), virt-format(1), virt-resize(1), virt-tar-in(1), mkisofs(1), genisoimage(1), mksquashfs(1), mke2fs(8), resize2fs(8), guestfs(3), http://libguestfs.org/.
Richard W.M. Jones http://people.redhat.com/~rjones/
Copyright (C) 2010-2020 Red Hat Inc.
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
2022-05-26 | guestfs-tools-1.48.2 |