.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.56.0 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "virt-make-fs 1" .TH virt-make-fs 1 2026-07-11 guestfs-tools-1.56.0 "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" virt\-make\-fs \- ایجاد سیستم فایل از یک دایرکتوری یا فایل tar .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .Vb 1 \& virt\-make\-fs [\-\-options] input.tar output.img \& \& virt\-make\-fs [\-\-options] input.tar.gz output.img \& \& virt\-make\-fs [\-\-options] directory output.img .Ve .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور Virt\-make\-fs یک ابزار خط فرمانی برای ساخت یک سیستم فایل از یک بایگانی tar یا تعدادی فایل درون یک دایرکتوری است. این ابزار مشابه ابزارهایی مانند \&\fBmkisofs\fR\|(1)، \fBgenisoimage\fR\|(1) و \fBmksquashfs\fR\|(1) است. بر خلاف آن ابزارها، این برنامه می‌تواند انواع سیستم‌فایل‌های متداول مانند ext2/3 یا NTFS را ایجاد کند، که در صورت تمایل به ضمیمه کردن این سیستم‌فایل‌ها به ماشین‌های مجازی موجود (مثلاً برای وارد کردن حجم بالایی از داده‌های فقط‌خواندنی به یک VM) بسیار مفید است. .PP برای ساخت دیسک‌های خالی، از \fBvirt\-format\fR\|(1) استفاده کنید. برای ساخت لایه‌بندی‌های پیچیده، از \fBguestfish\fR\|(1) استفاده نمایید. .PP روش استفاده پایه: .PP .Vb 1 \& virt\-make\-fs input output.img .Ve .PP که در آن \f(CW\*(C`input\*(C'\fR یا یک دایرکتوری شامل فایل‌هایی است که می‌خواهید اضافه کنید، یا یک بایگانی tar (شامل tar فشرده‌نشده یا فشرده‌شده با gzip)؛ و \fIoutput.img\fR یک ایمیج دیسک است. نوع ورودی به طور خودکار تشخیص داده می‌شود. ایمیج دیسک خروجی به‌طور پیش‌فرض یک ایمیج خلوت (sparse) خام ext2 خواهد بود، مگر اینکه گزینه‌های اضافی را مشخص کنید (بخش "گزینه‌ها" در ادامه را ببینید). .SS "نوع سیستم فایل (FILESYSTEM TYPE)" .IX Subsection "FILESYSTEM TYPE" نوع پیش‌فرض سیستم فایل \f(CW\*(C`ext2\*(C'\fR است. تقریباً هر نوع سیستم فایلی که توسط libguestfs پشتیبانی شود قابل استفاده است (اما \fIنه\fR فرمت‌های فقط‌خواندنی مانند ISO9660). در ادامه برخی از گزینه‌های متداول‌تر آورده شده است: .IP \fIext3\fR 4 .IX Item "ext3" توجه داشته باشید که سیستم فایل‌های ext3 شامل ژورنال هستند، که معمولاً اندازه‌ای بین ۱ تا ۳۲ مگابایت دارد. اگر قصد ندارید از سیستم فایل به نحوی استفاده کنید که به ژورنال نیاز داشته باشد، این مورد صرفاً هدررفت سربار است. .IP "\fIntfs\fR یا \fIvfat\fR" 4 .IX Item "ntfs or vfat" هنگام خروجی دادن داده به یک ماشین مجازی مهمان ویندوزی مفید است. .IP \fIminix\fR 4 .IX Item "minix" سربار کمتری نسبت به \f(CW\*(C`ext2\*(C'\fR دارد، اما محدودیت‌های مشخصی روی طول نام فایل و اندازه کل سیستم فایل دارد. .PP \fIمثال\fR .IX Subsection "EXAMPLE" .PP .Vb 1 \& virt\-make\-fs \-\-type=minix input minixfs.img .Ve .SS "پارتیشن‌بندی یا عدم پارتیشن‌بندی (TO PARTITION OR NOT TO PARTITION)" .IX Subsection "TO PARTITION OR NOT TO PARTITION" به صورت اختیاری virt\-make\-fs می‌تواند یک جدول پارتیشن به دیسک خروجی اضافه کند. .PP افزودن پارتیشن می‌تواند سازگاری ایمیج دیسک را با برخی سیستم‌عامل‌های مجازی‌سازی‌شده که انتظار ندارند سیستم فایل مستقیماً روی یک دستگاه بلاکی قرار داشته باشد افزایش دهد (لینوکس مشکلی با این موضوع ندارد و هر دو نوع را به خوبی مدیریت می‌کند). .PP از طرف دیگر، اگر از جدول پارتیشن استفاده کنید، ایمیج خروجی دیگر یک سیستم فایل مستقیم و ساده نخواهد بود. برای مثال نمی‌توانید \fBfsck\fR\|(8) را مستقیماً روی یک ایمیج دیسک پارتیشن‌بندی‌شده اجرا کنید. (با این حال ابزارهای libguestfs مانند \&\fBguestfish\fR\|(1) و \fBvirt\-resize\fR\|(1) همچنان قابل استفاده هستند). .PP \fIمثال\fR .IX Subsection "EXAMPLE" .PP افزودن یک پارتیشن MBR: .PP .Vb 1 \& virt\-make\-fs \-\-partition \-\- input disk.img .Ve .PP اگر ممکن است اندازه ایمیج دیسک خروجی در مقیاس ترابایت یا بزرگ‌تر باشد، بهتر است از جدول پارتیشن سازگار با EFI/GPT استفاده کنید: .PP .Vb 1 \& virt\-make\-fs \-\-partition=gpt \-\-size=+4T \-\-format=qcow2 input disk.img .Ve .SS "فضای اضافی (EXTRA SPACE)" .IX Subsection "EXTRA SPACE" بر خلاف فرمت‌هایی مانند tar و squashfs، یک سیستم فایل "دقیقاً هم‌اندازه" فایل‌های درون خود نیست، بلکه ممکن است فضای اضافی داشته باشد. بسته به اینکه چگونه می‌خواهید از خروجی استفاده کنید، ممکن است این فضای اضافی را بیهوده بدانید و بخواهید آن را به حداقل برسانید، یا ممکن است بخواهید فضایی خالی باقی بگذارید تا بعداً بتوان فایل‌های بیشتری اضافه کرد. virt\-make\-fs به‌طور پیش‌فرض فضای اضافی را به حداقل می‌رساند، اما در صورت تمایل می‌توانید از گزینه \fI\-\-size\fR برای ایجاد فضای خالی در سیستم فایل استفاده کنید. .PP روش جایگزین برای باقی گذاشتن فضای اضافی بدون بزرگ‌تر کردن حجم فایل ایمیج خروجی، استفاده از فرمت دیسک ایمیج جایگزین (به جای فرمت پیش‌فرض "raw") است. استفاده از \fI\-\-format=qcow2\fR از فرمت بومی ایمیج qemu/KVM qcow2 استفاده خواهد کرد (پیش از استفاده مطمئن شوید هایپروایزر شما از آن پشتیبانی می‌کند). این کار به شما امکان می‌دهد مقدار بزرگی برای \fI\-\-size\fR انتخاب کنید اما فضای اضافی در واقع تا زمانی که سعی نکنید چیزی در آن ذخیره کنید در ایمیج تخصیص داده نخواهد شد. .PP فراموش نکنید که می‌توانید از دستورات محلی شامل \fBresize2fs\fR\|(8) و \&\fBvirt\-resize\fR\|(1) نیز برای تغییر اندازه سیستم‌فایل‌های موجود استفاده کنید، یا دستور virt\-make\-fs را مجدداً اجرا کنید تا ایمیج دیگری را از ابتدا بسازید. .PP \fIمثال\fR .IX Subsection "EXAMPLE" .PP .Vb 1 \& virt\-make\-fs \-\-format=qcow2 \-\-size=+200M input output.img .Ve .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-\-help\fR 4 .IX Item "--help" نمایش راهنمای خلاصه. .IP \fB\-\-blocksize=512\fR 4 .IX Item "--blocksize=512" .PD 0 .IP \fB\-\-blocksize=4096\fR 4 .IX Item "--blocksize=4096" .PD این پارامتر اندازه سکتور ایمیج دیسک خروجی را تعیین می‌کند. .Sp مقدار پیش‌فرض \f(CW512\fR بایت است. .Sp همچنین "guestfs_add_drive_opts" در \fBguestfs\fR\|(3) را ببینید. .IP \fB\-\-floppy\fR 4 .IX Item "--floppy" ساخت یک دیسکت فلاپی مجازی. .Sp در حال حاضر این گزینه اندازه (1440K)، نوع پارتیشن (MBR) و نوع سیستم فایل (VFAT) را از پیش تعیین می‌کند. در آینده ممکن است هندسه (geometry) را نیز انتخاب کند. .IP \fB\-\-size=\fRN 4 .IX Item "--size=N" .PD 0 .IP \fB\-\-size=+\fRN 4 .IX Item "--size=+N" .IP "\fB\-s\fR N" 4 .IX Item "-s N" .IP "\fB\-s\fR \fB+\fRN" 4 .IX Item "-s +N" .PD از گزینه \fI\-\-size\fR (یا \fI\-s\fR) برای انتخاب اندازه ایمیج خروجی استفاده کنید. .Sp اگر این گزینه داده \fIنشود\fR، ایمیج خروجی فقط به اندازه‌ای بزرگ خواهد بود که تمام فایل‌ها را بدون فضای هدررفته زیاد در بر گیرد. .Sp برای انتخاب یک دیسک خروجی با اندازه ثابت، یک عدد مطلق همراه با یکی از پسوندهای b/K/M/G/T/P/E به معنای بایت، کیلوبایت، مگابایت، گیگابایت، ترابایت، پتابایت یا اگزابایت مشخص کنید. این مقدار باید به اندازه کافی بزرگ باشد تا تمام فایل‌های ورودی را در بر گیرد، در غیر این صورت با خطا مواجه خواهید شد. .Sp برای باقی گذاشتن فضای اضافی، یک علامت \f(CW\*(C`+\*(C'\fR (مثبت) و یک عدد همراه با یکی از پسوندهای b/K/M/G/T/P/E به معنای بایت، کیلوبایت، مگابایت، گیگابایت، ترابایت، پتابایت یا اگزابایت مشخص کنید. برای مثال: \fI\-\-size=+200M\fR به معنای فضای کافی برای فایل‌های ورودی به علاوه (تقریباً) ۲۰۰ مگابایت فضای خالی اضافی است. .Sp توجه داشته باشید که virt\-make\-fs فضای خالی را تخمین می‌زند و بنابراین سیستم‌فایل‌هایی که تولید می‌کند دقیقاً شامل مقدار فضای خالی درخواست‌شده نخواهند بود. (تولید یک سیستم فایل که دقیقاً دارای فضای خالی مورد نظر باشد بسیار هزینه‌برتر و زمان‌برتر است). .IP \fB\-\-format=\fRFMT 4 .IX Item "--format=FMT" .PD 0 .IP "\fB\-F\fR FMT" 4 .IX Item "-F FMT" .PD انتخاب فرمت ایمیج دیسک خروجی. .Sp مقدار پیش‌فرض \f(CW\*(C`raw\*(C'\fR (ایمیج دیسک خلوت خام) است. .IP \fB\-\-type=\fRFS 4 .IX Item "--type=FS" .PD 0 .IP "\fB\-t\fR FS" 4 .IX Item "-t FS" .PD انتخاب نوع سیستم فایل خروجی. .Sp مقدار پیش‌فرض \f(CW\*(C`ext2\*(C'\fR است. .Sp هر سیستم فایلی که به صورت خواندن/نوشتن توسط libguestfs پشتیبانی شود در اینجا قابل استفاده است. .IP \fB\-\-label=\fRLABEL 4 .IX Item "--label=LABEL" تنظیم برچسب (label) سیستم فایل. .IP \fB\-\-partition\fR 4 .IX Item "--partition" .PD 0 .IP \fB\-\-partition=\fRPARTTYPE 4 .IX Item "--partition=PARTTYPE" .PD در صورت تعیین، این پرچم یک جدول پارتیشن MBR به ایمیج دیسک خروجی اضافه می‌کند. .Sp می‌توانید نوع جدول پارتیشن را تغییر دهید، مثلاً \fI\-\-partition=gpt\fR برای دیسک‌های بزرگ. .Sp برای MBR، ابزار virt\-make\-fs بایت نوع پارتیشن را به طور خودکار تنظیم می‌کند. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD فعال‌سازی اطلاعات اشکال‌زدایی (debugging). .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD نمایش شماره نسخه و خروج. .IP \fB\-x\fR 4 .IX Item "-x" فعال‌سازی ردگیری (trace) در libguestfs. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBguestfish\fR\|(1)، \&\fBvirt\-format\fR\|(1)، \&\fBvirt\-resize\fR\|(1)، \&\fBvirt\-tar\-in\fR\|(1)، \&\fBmkisofs\fR\|(1)، \&\fBgenisoimage\fR\|(1)، \&\fBmksquashfs\fR\|(1)، \&\fBmke2fs\fR\|(8)، \&\fBresize2fs\fR\|(8)، \&\fBguestfs\fR\|(3)، http://libguestfs.org .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" Richard W.M. Jones http://people.redhat.com/~rjones .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright (C) 2010\-2025 Red Hat Inc. .SH "مجوز (LICENSE)" .IX Header "LICENSE" این برنامه نرم‌افزار آزاد است؛ می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است؛ چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید. .PP این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید. .PP شما باید همراه با این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر بنویسید: .PP .nf Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor Boston, MA 02110-1301 USA .fi .SH "اشکالات (BUGS)" .IX Header "BUGS" برای دریافت فهرستی از اشکالات libguestfs، از پیوند زیر استفاده کنید: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP برای گزارش یک اشکال جدید در libguestfs، از پیوند زیر استفاده کنید: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP هنگام گزارش یک اشکال، لطفاً موارد زیر را ارائه دهید: .IP \(bu 4 نسخه libguestfs. .IP \(bu 4 مکانی که libguestfs را از آنجا دریافت کرده‌اید (مثلاً کدام توزیع لینوکس، کامپایل شده از سورس و غیره) .IP \(bu 4 اشکال را با دقت توضیح دهید و روشی برای بازتولید آن ارائه دهید. .IP \(bu 4 دستور \fBlibguestfs\-test\-tool\fR\|(1) را اجرا کرده و خروجی \fBکامل و ویرایش‌نشده\fR آن را در گزارش اشکال جای‌گذاری نمایید.