| MKFS.EXT4(8) | دستورهای مدیریتی و نگهداری | MKFS.EXT4(8) |
نام (NAME)
mkfs.ext4 - ساخت سیستمفایل کارآمد ext4 در لینوکس
خلاصه دستور (SYNOPSIS)
mkfs.ext4 [ گزینهها ] دستگاه [ تعداد_بلاکها ]
توضیحات (DESCRIPTION)
دستور mkfs.ext4 برای ساخت سیستمفایل نسل چهارم ext4 با پشتیبانی از حجمها و اکستنتهای بزرگ استفاده میشود. معمولاً این کار روی یک پارتیشن دیسک (یا فایل) که توسط دستگاه مشخص شده است انجام میپذیرد.
اندازه سیستمفایل توسط تعداد_بلاکها (یا fs-size) مشخص میشود. اگر تعداد_بلاکها بدون پسوند باشد، به عنوان توانهای دو کیلوبایت تفسیر میشود، مگر اینکه گزینه -b اندازه_بلاک مشخص شده باشد؛ در این حالت تعداد_بلاکها بهعنوان تعداد بلاکهای با اندازه اندازه_بلاک تفسیر میگردد. اگر برای اندازه از پسوندهای 'k' ،'m' ،'g' یا 't' (حروف کوچک یا بزرگ) استفاده شود، بهترتیب بر حسب توانهای دو کیلوبایت، مگابایت، گیگابایت، ترابایت و غیره تفسیر خواهد شد. اگر تعداد_بلاکها مشخص نشود، mkfs.ext4 سیستمفایل را بر اساس اندازه کل دستگاه ایجاد خواهد کرد.
هنگامی که mke2fs بهعنوان mkfs.XXX (مانند mkfs.ext2، mkfs.ext3 یا mkfs.ext4) اجرا میشود، گزینه -t XXX بهطور ضمنی لحاظ میگردد؛ بنابراین mkfs.ext4 بهصورت خودکار یک سیستمفایل مناسب برای استفاده با ext4 ایجاد میکند.
تنظیمات پیشفرض پارامترها برای سیستمفایل تازهساختهشده، در صورتی که توسط گزینههای زیر بازنویسی نشوند، توسط فایل پیکربندی /etc/mke2fs.conf کنترل میشوند. برای جزئیات بیشتر صفحه راهنمای mke2fs.conf(5) را ببینید.
گزینهها (OPTIONS)
- -b اندازه_بلاک
- اندازه بلاکها را بر حسب بایت مشخص میکند. مقادیر معتبر برای اندازه بلاک توانهایی از ۲ از ۱۰۲۴ تا ۶۵۵۳۶ هستند (با این حال توجه داشته باشید که هسته لینوکس تنها قادر به سوار کردن سیستمفایلهایی با اندازه بلاک کوچکتر یا مساوی با اندازه صفحه سیستم است — ۴ کیلوبایت در معماری x86، و تا ۶۴ کیلوبایت در ppc64 یا aarch64 بسته به پیکربندی هسته). در صورت حذف، اندازه بلاک بهصورت مکاشفهای بر اساس اندازه سیستمفایل و کاربرد مورد انتظار از سیستمفایل تعیین میشود (گزینه -T را ببینید). در اکثر موارد متداول، اندازه بلاک پیشفرض ۴ کیلوبایت است. اگر قبل از اندازه_بلاک علامت منفی ('-') درج شود، mkfs.ext4 از روشهای مکاشفهای برای تعیین اندازه مناسب بلاک استفاده خواهد کرد، با این قید که اندازه بلاک حداقل اندازه_بلاک بایت باشد. این قابلیت برای دستگاههای سختافزاری خاصی که نیازمند مضربی از ۲ کیلوبایت برای اندازه بلاک هستند کاربرد دارد.
- -c
- پیش از ساخت سیستمفایل، دستگاه را برای یافتن بلاکهای خراب بررسی میکند. اگر این گزینه دو بار مشخص شود، یک آزمون خواندن/نوشتن کندتر اما دقیقتر بهجای آزمون سریع فقطخواندنی به کار گرفته میشود.
- -C اندازه_کلاستر
- اندازه کلاستر را بر حسب بایت برای سیستمفایلهایی که از ویژگی bigalloc استفاده میکنند مشخص میکند. مقادیر معتبر اندازه کلاستر از ۲ تا ۳۲۷۶۸ برابر اندازه بلاک سیستمفایل بوده و باید توانی از ۲ باشند. اندازه کلاستر تنها در صورتی قابل تعیین است که ویژگی bigalloc فعال باشد. (برای جزئیات بیشتر درباره bigalloc صفحه راهنمای ext4(5) را ببینید). اندازه کلاستر پیشفرض در صورت فعال بودن bigalloc، معادل ۱۶ برابر اندازه بلاک است.
- -d ریشه_دایرکتوری|tarball
- محتویات دایرکتوری یا فایل آرشیو tar مشخصشده را درون دایرکتوری ریشه سیستمفایل کپی میکند. ورودی تاربال تنها در صورتی در دسترس است که mke2fs همراه با پشتیبانی از libarchive کامپایل شده باشد و کتابخانه اشتراکی libarchive در زمان اجرا موجود باشد. مقدار ویژه «-» تاربال را از ورودی استاندارد میخواند.
- -D
- هنگام نوشتن روی دیسک از ورودی/خروجی مستقیم (Direct I/O) استفاده میکند. این کار مانع از آلوده شدن حجم زیادی از حافظه میانگیر توسط mkfs.ext4 میشود، که ممکن است بر سایر برنامههای در حال اجرا در یک سرور شلوغ تأثیر منفی بگذارد. با این حال، این گزینه سرعت اجرای mkfs.ext4 را بسیار کاهش میدهد، بنابراین استفاده از Direct I/O نیازمند مصالحه است.
- -e رفتار_در_برابر_خطا
- رفتار کدهای هسته را هنگام مواجهه با خطاها تغییر میدهد. در همه حالات، بروز یک خطای سیستمفایل باعث میشود که e2fsck(8) در راهاندازی بعدی سیستمفایل را بررسی کند. رفتار_در_برابر_خطا میتواند یکی از موارد زیر باشد:
- continue
- ادامه اجرای عادی.
- remount-ro
- سوار کردن مجدد سیستمفایل بهصورت فقطخواندنی.
- panic
- ایجاد یک خطای وحشت هسته (kernel panic).
- -E گزینههای_توسعهیافته
- گزینههای توسعهیافته را برای سیستمفایل تنظیم میکند. گزینههای توسعهیافته با کاما از یکدیگر جدا میشوند و ممکن است با استفاده از علامت مساوی ('=') آرگومان بپذیرند. گزینه -E در نسخههای پیشین mke2fs به صورت -R بود. گزینه -R همچنان برای سازگاری با گذشته پذیرفته میشود، اما منسوخ شده است. گزینههای توسعهیافته زیر پشتیبانی میشوند:
- assume_storage_prezeroed[= <0 برای غیرفعال، 1 برای فعال>]
- در صورت فعال بودن، mkfs.ext4 فرض میکند که دستگاه ذخیرهسازی از پیش صفر شده است، از صفر کردن ژورنال و جدولهای اینود صرفنظر میکند و پرچمهای گروه بلاک را به گونهای علامتگذاری مینماید که نشان دهد جدول اینود صفر شده است.
- discard
- تلاش برای آزادسازی (discard / TRIM) بلاکها در زمان mkfs (آزادسازی اولیه بلاکها در درایوهای حالت جامد SSD و فضاهای ذخیرهسازی متراکمنشده یا نازکتخصیصیافته مفید است). هنگامی که دستگاه اعلام کند آزادسازی باعث صفر شدن دادهها نیز میشود (هر خواندن پس از discard و پیش از نوشتن، صفر بازگرداند)، تمام جدولهای اینودی که هنوز صفر نشدهاند به عنوان صفرشده علامتگذاری میشوند. این امر مقداردهی اولیه سیستمفایل را به میزان چشمگیری سرعت میبخشد. این رفتار بهصورت پیشفرض تنظیم شده است.
- encoding=نام_کدگذاری
- ویژگی casefold (عدم حساسیت به بزرگی و کوچکی حروف) را در سوپربلاک فعال کرده و نام_کدگذاری را بهعنوان کدگذاری مورد استفاده قرار میدهد. در صورت عدم تعیین نام_کدگذاری، کدگذاری تعریفشده در mke2fs.conf(5) استفاده میشود.
- encoding_flags=پرچمهای_کدگذاری
- پارامترهایی
برای
عملیات
کدگذاری
نویسههای
نام فایل
تعریف
میکند. اگر
یک پرچم با
استفاده از
این
پارامتر
تغییر
نکند،
مقدار
پیشفرض آن
استفاده
خواهد شد.
پرچمهای_کدگذاری
باید
فهرستی
جداشده با
کاما از
پرچمهای
فعالشونده
باشد. برای
غیرفعال
کردن یک
پرچم، آن را
با پیشوند
«no» به
فهرست
اضافه کنید.
تنها پرچمی که در حال حاضر قابل تنظیم است strict است که مشخص میکند رشتههای نامعتبر باید توسط سیستمفایل رد شوند. در پیکربندی پیشفرض، پرچم strict غیرفعال است.
- lazy_itable_init[= <0 برای غیرفعال، 1 برای فعال>]
- اگر فعال باشد و ویژگی uninit_bg نیز فعال باشد، جدول اینود به طور کامل توسط mkfs.ext4 مقداردهی اولیه نمیشود. این کار مقداردهی اولیه سیستمفایل را به شکل محسوسی سرعت میبخشد، اما نیازمند آن است که هسته هنگام اولین سوار شدن سیستمفایل، مقداردهی اولیه را در پسزمینه به پایان برساند. اگر مقدار گزینه درج نشود، بهطور پیشفرض مقدار ۱ برای فعالسازی صفرسازی تنبل جدول اینود لحاظ میشود.
- lazy_journal_init[= <0 برای غیرفعال، 1 برای فعال>]
- اگر فعال باشد، اینود ژورنال به طور کامل توسط mkfs.ext4 صفر نمیشود. این کار ساخت سیستمفایل را به شکل چشمگیری سرعت میبخشد، اما اگر سیستم پیش از بازنویسی کامل ژورنال دچار فروپاشی (crash) شود، مقداری ریسک به همراه دارد. در صورت عدم درج مقدار، بهطور پیشفرض ۱ لحاظ شده و صفرسازی تنبل اینود ژورنال فعال میشود.
- mmp_update_interval=بازه
- بازه بهروزرسانی اولیه MMP (محافظت در برابر سوار کردن چندگانه) را به بازه ثانیه تنظیم میکند. تعیین بازه ۰ به معنای استفاده از بازه پیشفرض است. بازه مشخصشده باید کمتر از ۳۰۰ ثانیه باشد. نیازمند فعال بودن ویژگی mmp است.
- nodiscard
- در زمان ساخت سیستمفایل برای آزادسازی (discard) بلاکها تلاشی نمیکند.
- no_copy_xattrs
- بهطور معمول mkfs.ext4 ویژگیهای توسعهیافته (xattrs) فایلهای درون ساختار دایرکتوری مشخصشده با گزینه اختیاری -d را کپی میکند. این گزینه کپی کردن ویژگیهای توسعهیافته را غیرفعال کرده و فایلها را در سیستمفایل ایجادشده جدید بدون هیچ ویژگی توسعهیافتهای قرار میدهد.
- num_backup_sb=<0|1|2>
- اگر ویژگی سیستمفایل sparse_super2 فعال باشد، این گزینه کنترل میکند که آیا ۰، ۱ یا ۲ سوپربلاک پشتیبان در سیستمفایل ایجاد شود.
- offset=آفست
- سیستمفایل را با یک فاصله جابهجایی (آفست) از ابتدای دستگاه یا فایل ایجاد میکند. این گزینه هنگام ایجاد ایمیجهای دیسک برای ماشینهای مجازی بسیار کاربردی است.
- orphan_file_size=اندازه
- اندازه فایل مخصوص ردیابی اینودهای پیوندزدودهشده اما باز و اینودهای در حال کوتاه شدن (truncate) را تنظیم میکند. فایل بزرگتر امکان مقیاسپذیری بهتری را فراهم میسازد؛ رزرو چند بلاک به ازای هر پردازنده ایدهآل است.
- packed_meta_blocks[= <0 برای غیرفعال، 1 برای فعال>]
- بیتمپهای تخصیص و جدول اینود را در ابتدای دیسک قرار میدهد. این گزینه برای اثربخشی نیازمند فعال بودن ویژگی سیستمفایل flex_bg است و همچنین ژورنال را در ابتدای سیستمفایل ایجاد خواهد کرد. این گزینه برای حافظههای فلش که از SLC در ابتدای دیسک استفاده میکنند سودمند است. همچنین محدوده بلاکهای داده پیوسته را به حداکثر میرساند که برای کاربردهای تخصصی نظیر درایوهای دارای همپوشانی (Shingled Drives) مفید است.
- quotatype
- مشخص میکند کدام انواع سهمیهبندی (usrquota، grpquota، prjquota) باید در سیستمفایل ایجادشده فعال شوند. آرگومان این گزینه توسعهیافته باید فهرستی جداشده با دونقطه باشد. این گزینه تنها زمانی اثر دارد که ویژگی quota تنظیم شده باشد. انواع سهمیهبندی پیشفرضی که در صورت عدم تعیین این گزینه مقداردهی میشوند، هر دو سهمیه کاربر و گروه هستند. اگر ویژگی پروژه فعال باشد، سهمیه پروژه نیز مقداردهی میشود.
- resize=حداکثر_تغییر_اندازه_برخط
- فضای کافی رزرو میکند تا جدول توصیفگر گروه بلاک بتواند برای پشتیبانی از سیستمفایلی با حداکثر حداکثر_تغییر_اندازه_برخط بلاک گسترش یابد.
- revision=شماره_بازنگری
- شماره بازنگری سیستمفایل را مشخص میکند. سیستمفایلهای بازنگری 0 سازگاری با هستههای لینوکس پیش از نگارش 1.2 (مربوط به پیش از ۱۹۹۵) را فراهم میآورند. این گزینه تنها برای آزمودن یا کاربرانی که میخواهند از سیستمهای بسیار قدیمی لینوکس استفاده کنند مورد نیاز است. پیشفرض کنونی (که توسط تمام سیستمهای مدرن لینوکس پشتیبانی میشود) بازنگری 1 است.
- root_owner[=uid:gid]
- شناسه عددی کاربر و گروه (UID:GID) دایرکتوری ریشه را مشخص میکند. اگر مقداری مشخص نشود، از UID و GID کاربر اجراکننده mkfs.ext4 استفاده خواهد شد. در نگارشهای 1.42 و قدیمیتر، UID و GID دایرکتوری ریشه بهطور پیشفرض بر اساس کاربر اجراکننده دستور تنظیم میشد. گزینه root_owner= امکان تعیین صریح این مقادیر را فراهم میآورد و از ایجاد اثرات جانبی ناخواسته برای کاربرانی که انتظار ندارند محتوای سیستمفایل بر اساس کاربر اجراکننده تغییر کند جلوگیری مینماید.
- root_perms[=مجوزها]
- مجوزهای دسترسی دایرکتوری ریشه را در قالب مبنای هشت (اکتال) مشخص میکند. اگر هیچ مجوزی مشخص نشود، مجوزهای دایرکتوری ریشه مطابق با ماسک حالت پیشفرض سیستمفایل (umask) تنظیم خواهد شد.
- stride=اندازه_stride
- سیستمفایل را برای یک آرایه RAID با اندازه_stride بلاک سیستمفایل پیکربندی میکند. این مقدار تعداد بلاکهایی است که پیش از رفتن به دیسک بعدی خوانده یا نوشته میشوند، که گاهی اندازه قطعه (chunk size) نامیده میشود. این گزینه بیشتر بر محل قرارگیری فرادادههای سیستمفایل مانند بیتمپها در زمان ساخت سیستمفایل اثر میگذارد تا از قرار گرفتن همه آنها بر روی یک دیسک منفرد که کارایی را کاهش میدهد جلوگیری شود. همچنین ممکن است توسط تخصیصدهنده بلاک استفاده شود.
- stripe_width=پهنای_stripe
- سیستمفایل را برای یک آرایه RAID با پهنای_stripe بلاک سیستمفایل در هر نوار (stripe) پیکربندی میکند. این مقدار معمولاً برابر ضرب اندازه_stride در N است که در آن N تعداد دیسکهای حامل داده در RAID است (برای مثال در RAID 5 یک دیسک توازن وجود دارد، بنابراین N برابر با تعداد دیسکهای آرایه منهای ۱ خواهد بود). این گزینه به تخصیصدهنده بلاک اجازه میدهد تا در صورت امکان هنگام نوشتن داده از عملیات خواندن-تغییر-نوشتن پاریتی در نوار RAID جلوگیری به عمل آورد.
- test_fs
- پرچمی را در سوپربلاک سیستمفایل تنظیم میکند که نشان میدهد میتوان آن را با استفاده از کدهای آزمایشی هسته، مانند سیستمفایل ext4dev، سوار کرد.
- -F
- دستور mkfs.ext4 را وادار به ایجاد سیستمفایل میکند، حتی اگر دستگاه مشخصشده یک پارتیشن بر روی دستگاه بلاکی ویژه نباشد یا سایر پارامترها نامعقول به نظر برسند. برای اجبار mkfs.ext4 به ساخت سیستمفایل حتی زمانی که سیستمفایل در حال استفاده یا سوارشده به نظر میرسد (که کاری فوقالعاده خطرناک است)، این گزینه باید دو بار مشخص شود.
- -g بلاکها_در_هر_گروه
- تعداد بلاکها در یک گروه بلاک را مشخص میکند. بهطور کلی دلیلی وجود ندارد که کاربر این پارامتر را تعیین کند، زیرا مقدار پیشفرض برای سیستمفایل بهینهترین است. (برای مدیرانی که روی آرایههای RAID سیستمفایل میسازند، استفاده از پارامتر RAID مربوط به stride در گزینه -E بسیار ارجحتر از دستکاری تعداد بلاکها در هر گروه است). این گزینه عمدتاً توسط توسعهدهندگانی که در حال طراحی سناریوهای آزمایشی هستند به کار میرود.
- اگر ویژگی bigalloc فعال باشد، گزینه -g تعداد کلاسترها در یک گروه بلاک را مشخص خواهد کرد.
- -G تعداد_گروهها
- تعداد گروههای بلاکی را که برای ایجاد یک گروه بلاک مجازی بزرگتر (یا گروه «flex_bg») در سیستمفایل ext4 تجمیع میشوند مشخص میکند. این کار محلیسازی فرادادهها و عملکرد را در بارهای کاری با فرادادههای سنگین بهبود میبخشد. تعداد گروهها باید توانی از ۲ باشد و تنها زمانی میتوان آن را مشخص کرد که ویژگی سیستمفایل flex_bg فعال باشد.
- -i بایت_بر_اینود
- نسبت بایت بر اینود را مشخص میکند. mkfs.ext4 به ازای هر بایت_بر_اینود بایت فضا بر روی دیسک، یک اینود ایجاد میکند. هرچه نسبت بایت_بر_اینود بزرگتر باشد، اینودهای کمتری ایجاد خواهند شد. این مقدار معمولاً نباید کوچکتر از اندازه بلاک سیستمفایل باشد، زیرا در آن صورت اینودهای بیشتری نسبت به آنچه که استفاده میشود ساخته خواهد شد. هشدار داده میشود که تغییر این نسبت پس از ایجاد سیستمفایل غیرممکن است، بنابراین در انتخاب مقدار آن دقت کنید. تغییر اندازه سیستمفایل برای حفظ این نسبت، تعداد اینودها را تغییر میدهد.
- -I اندازه_اینود
- اندازه هر اینود را بر حسب بایت مشخص میکند. مقدار اندازه_اینود باید توانی از ۲ بزرگتر یا مساوی ۱۲۸ باشد. هرچه اندازه اینود بزرگتر باشد، جدول اینودها فضای بیشتری مصرف میکند که این امر فضای قابل استفاده سیستمفایل را کاهش داده و میتواند بر عملکرد تأثیر منفی بگذارد. تغییر این مقدار پس از ساخت سیستمفایل امکانپذیر نیست.
- سیستمفایلهایی با اندازه اینود ۱۲۸ بایت از برچسبهای زمانی بعد از ۱۹ ژانویه ۲۰۳۸ پشتیبانی نمیکنند. اینودهایی با اندازه ۲۵۶ بایت یا بزرگتر، از برچسبهای زمانی گسترشیافته، شناسههای پروژه و قابلیت ذخیره برخی از ویژگیهای توسعهیافته در جدول اینود برای بهبود عملکرد پشتیبانی به عمل میآورند.
- اندازه پیشفرض اینود توسط فایل mke2fs.conf(5) کنترل میشود. در فایل mke2fs.conf ارائهشده به همراه e2fsprogs، اندازه پیشفرض اینود برای تمامی سیستمفایلها ۲۵۶ بایت است، به جز GNU Hurd که تنها از اینودهای ۱۲۸ بایتی پشتیبانی میکند.
- -j
- سیستمفایل را با یک ژورنال ext3/ext4 ایجاد میکند. اگر گزینه -J مشخص نشود، از پارامترهای پیشفرض برای ایجاد یک ژورنال با اندازه مناسب (متناسب با اندازه سیستمفایل) در داخل سیستمفایل استفاده میشود. توجه داشته باشید که برای استفاده از ژورنال باید از هستهای استفاده کنید که پشتیبانی لازم را داشته باشد.
- -J گزینههای_ژورنال
- ژورنال را با استفاده از گزینههای مشخصشده در خط فرمان ایجاد میکند. گزینههای ژورنال با کاما از یکدیگر جدا میشوند و ممکن است با استفاده از علامت مساوی ('=') آرگومان بپذیرند. گزینههای ژورنال زیر پشتیبانی میشوند:
- device=ژورنال_خارجی
- سیستمفایل را به دستگاه بلاکی ژورنال مستقر در ژورنال_خارجی متصل میکند. ژورنال خارجی باید قبلاً با استفاده از دستور زیر ایجاد شده باشد:
- mke2fs -O journal_dev ژورنال_خارجی
- توجه داشته باشید که ژورنال_خارجی باید با همان اندازه بلاک سیستمفایل جدید ایجاد شده باشد. علاوه بر این، با اینکه امکان اتصال چندین سیستمفایل به یک ژورنال خارجی وجود دارد، هسته لینوکس و e2fsck(8) در حال حاضر از ژورنالهای خارجی مشترک پشتیبانی نمیکنند.
- بهجای تعیین مستقیم نام دستگاه، ژورنال_خارجی میتواند از طریق LABEL=برچسب یا UUID=شناسه_UUID برای یافتن ژورنال خارجی از طریق برچسب حجم یا شناسه ذخیرهشده در سوپربلاک ابتدای ژورنال مشخص شود. برای نمایش برچسب حجم و UUID دستگاه ژورنال از dumpe2fs(8) استفاده کنید. همچنین گزینه -L از tune2fs(8) را ببینید.
- fast_commit_size=اندازه_fast_commit
- یک ناحیه ژورنال ثبت سریع (fast commit) اضافی با اندازه اندازه_fast_commit کیلوبایت ایجاد میکند. این گزینه تنها در صورتی معتبر است که ویژگی fast_commit روی سیستمفایل فعال باشد. در صورت عدم تعیین این گزینه و فعال بودن ویژگی fast_commit، اندازه این ناحیه بهطور پیشفرض به نسبت اندازه ژورنال تقسیم بر ۶۴ مگابایت تنظیم میشود. اندازه کل ژورنال با فعال بودن این ویژگی برابر اندازه_ژورنال به علاوه (اندازه_fast_commit ضربدر ۱۰۲۴) مگابایت خواهد بود. اندازه کل ژورنال نمیتواند بیش از ۱۰٬۲۴۰٬۰۰۰ بلاک سیستمفایل یا نیمی از اندازه کل سیستمفایل (هر کدام که کوچکتر باشد) باشد.
- location=محل_ژورنال
- محل ژورنال را مشخص میکند. آرگومان محل_ژورنال میتواند به عنوان شماره بلاک، یا با پسوندهای یکا (مانند 'M'، 'G' و غیره) به عنوان آفست از ابتدای سیستمفایل مشخص شود.
- size=اندازه_ژورنال
- یک ژورنال داخلی (ذخیرهشده در درون سیستمفایل) به اندازه اندازه_ژورنال مگابایت ایجاد میکند. اندازه ژورنال باید حداقل ۱۰۲۴ بلاک سیستمفایل (یعنی ۱ مگابایت برای بلاکهای ۱ کیلوبایتی، ۴ مگابایت برای بلاکهای ۴ کیلوبایتی و غیره) باشد و نمیتواند بیش از ۱۰٬۲۴۰٬۰۰۰ بلاک سیستمفایل یا نیمی از اندازه کل سیستمفایل (هر کدام که کمتر باشد) باشد.
- تنها یکی از گزینههای size یا device میتواند برای یک سیستمفایل مشخص شود.
- -l نام_فایل
- فهرست بلاکهای خراب را از نام_فایل میخواند. توجه داشته باشید که شمارههای بلاک در این فهرست باید با همان اندازه بلاک استفادهشده توسط mkfs.ext4 تولید شده باشند. در نتیجه، استفاده از گزینه -c در mkfs.ext4 روش بسیار سادهتر و کمخطاتری برای بررسی بلاکهای خراب دیسک پیش از قالببندی است، زیرا mkfs.ext4 پارامترهای صحیح را بهطور خودکار به برنامه badblocks ارسال خواهد کرد.
- -L برچسب_جدید_حجم
- برچسب حجم سیستمفایل را به برچسب_جدید_حجم تنظیم میکند. حداکثر طول برچسب حجم ۱۶ بایت است.
- -m درصد_بلاکهای_رزروشده
- درصد بلاکهای سیستمفایل را که برای مدیر سیستم (کاربر ارشد) رزرو شدهاند مشخص میکند. این کار از تکهتکهشدگی (fragmentation) جلوگیری کرده و به دیمونهای متعلق به root، مانند syslogd(8)، اجازه میدهد تا پس از مسدود شدن نوشتن فرآیندهای غیرممتاز به کار خود ادامه دهند. درصد پیشفرض ۵٪ است.
- -M آخرین_دایرکتوری_سوارشده
- آخرین دایرکتوری سوارشده سیستمفایل را تعیین میکند. این مقدار ممکن است برای ابزارهایی که بر اساس آخرین دایرکتوری سوارشده محل سوار شدن سیستمفایل را مشخص میکنند مفید باشد.
- -n
- باعث میشود mkfs.ext4 سیستمفایل را عملاً نسازد، بلکه نشان دهد که در صورت ساخت سیستمفایل چه اقداماتی انجام میداد. از این ویژگی میتوان برای تعیین مکان سوپربلاکهای پشتیبان در یک سیستمفایل خاص استفاده کرد، به شرطی که همان پارامترهایی که زمان ساخت اولیه استفاده شدهاند مجدداً استفاده شوند (البته با اضافه کردن گزینه -n!).
- -N تعداد_اینودها
- محاسبه پیشفرض تعداد اینودهای رزروشده برای سیستمفایل (که بر اساس تعداد بلاکها و نسبت بایت_بر_اینود است) را بازنویسی میکند. این امر به کاربر امکان میدهد تعداد اینودهای مورد نظر را مستقیماً تعیین کند.
- -o سیستمعامل_سازنده
- مقدار پیشفرض فیلد «creator operating system» سیستمفایل را بازنویسی میکند. این فیلد بهطور پیشفرض روی نام سیستمعاملی تنظیم میشود که برنامه mkfs.ext4 برای آن کامپایل شده است.
- -O [^]ویژگی[,...]
- سیستمفایل
را با
ویژگیهای
مشخصشده
ایجاد کرده
و
گزینههای
پیشفرض
سیستمفایل
را
بازنویسی
میکند.
ویژگیهایی
که بهطور
پیشفرض
فعال هستند
توسط رابطه
base_features در بخش
[defaults] فایل
پیکربندی
/etc/mke2fs.conf یا در
زیربخشهای
[fs_types] برای
انواع
کاربرد
مشخصشده
با گزینه -T
تعیین
میشوند، و
علاوه بر آن
توسط رابطه
features در
زیربخشهای
[fs_types] مربوط
به
سیستمفایل
و انواع
کاربرد
اصلاح
میگردند.
برای
جزئیات
بیشتر به
صفحه
راهنمای
mke2fs.conf(5) مراجعه
فرمایید.
تنظیمات
خاص نوع
سیستمفایل
در بخش [fs_types]
تنظیمات
پیشفرض
سراسری در
[defaults] را لغو
میکند.
مجموعه ویژگیهای سیستمفایل با استفاده از ویژگیهای مشخصشده توسط این گزینه، یا در صورت عدم درج آن، توسط رابطه default_features برای نوع سیستمفایل در حال ساخت، یا در بخش [defaults] فایل پیکربندی ویرایش خواهد شد.
مجموعه ویژگیهای سیستمفایل شامل فهرستی از ویژگیهاست که با کاما از هم جدا شدهاند و باید فعال گردند. برای غیرفعال کردن یک ویژگی، کافی است کاراکتر کلاهک ('^') را در ابتدای نام ویژگی قرار دهید. ویژگیهای دارای وابستگی با موفقیت حذف نخواهند شد. ویژگی شبهسیستمفایل «none» تمامی ویژگیهای سیستمفایل را پاک میکند.
برای اطلاعات بیشتر درباره ویژگیهای قابل تنظیم، لطفاً صفحه راهنمای ext4(5) را ببینید.
- -q
- اجرای بیصدا و خاموش. برای مواقعی که mkfs.ext4 درون یک اسکریپت اجرا میشود مفید است.
- -S
- فقط سوپربلاک و توصیفگرهای گروه را مینویسد. این یک اقدام فوقالعاده اضطراری است که تنها در موارد بسیار نادر که تمام سوپربلاک اصلی و سوپربلاکهای پشتیبان آسیب دیدهاند، و روش بازیابی آخرین تلاش توسط کاربران باتجربه مد نظر است، به کار میرود. این گزینه باعث میشود mkfs.ext4 سوپربلاک و توصیفگرهای گروه را بازآغاز کند بدون اینکه جدول اینودها و بیتمپهای بلاک و اینود را دستکاری نماید. برنامه e2fsck باید بلافاصله پس از استفاده از این گزینه اجرا شود، و هیچ تضمینی وجود ندارد که دادهای قابل نجات باشد. با توجه به تنوع گسترده گزینههای mkfs.ext4 که چیدمان روی دیسک را تحت تأثیر قرار میدهند، هنگام استفاده از این گزینه تعیین دقیقاً همان گزینههای قالببندی اولیه، نظیر اندازه بلاک، نوع سیستمفایل، پرچمهای ویژگی و سایر متغیرها بسیار حیاتی است؛ در غیر این صورت سیستمفایل بیش از پیش تخریب خواهد شد. در برخی موارد، مانند سیستمفایلهایی که تغییر اندازه داده شدهاند یا ویژگیهایی پس از قالببندی در آنها فعال شده است، بازنویسی صحیح همه سوپربلاکها غیرممکن است و حداقل مقداری تخریب در سیستمفایل رخ خواهد داد. بهتر است این عملیات روی یک رونوشت کامل از سیستمفایل اجرا شود تا در صورت عدم موفقیت، گزینههای دیگر قابل آزمایش باشند.
- -t نوع_سیستمفایل
- نوع
سیستمفایلی
را که قرار
است ساخته
شود (مانند
ext2، ext3، ext4 و غیره)
مشخص
میکند. اگر
این گزینه
مشخص نشود،
mkfs.ext4 بهطور
پیشفرض بر
اساس نحوه
فراخوانی
دستور یا بر
اساس
تعاریف
موجود در
فایل /etc/mke2fs.conf
نوع را
انتخاب
میکند. این
گزینه
کنترل
میکند که
چه
ویژگیهای
پیشفرضی
بر اساس بخش
پیکربندی
fstypes در /etc/mke2fs.conf
اعمال شوند.
اگر گزینه -O برای افزودن یا حذف صریح ویژگیهای سیستمفایل استفاده شود، ممکن است سیستمفایل حاصل توسط نوع_سیستمفایل درخواستشده پشتیبانی نشود.
- -T نوع_کاربرد[,...]
- نحوه
استفاده از
سیستمفایل
را مشخص
میکند تا
mkfs.ext4 بتواند
پارامترهای
بهینه را
برای آن
کاربرد
برگزیند.
انواع
کاربردهای
پشتیبانیشده
در فایل
پیکربندی
/etc/mke2fs.conf تعریف
شدهاند.
کاربر
میتواند
یک یا چند
نوع کاربرد
را با
استفاده از
فهرستی
جداشده با
کاما تعیین
کند.
در صورت عدم تعیین این گزینه، mkfs.ext4 یک نوع کاربرد پیشفرض بر اساس اندازه سیستمفایل انتخاب خواهد کرد: اگر اندازه سیستمفایل کمتر از ۳ مگابایت باشد، از نوع floppy استفاده میکند؛ اگر اندازه سیستمفایل بزرگتر یا مساوی ۳ مگابایت و کمتر از ۵۱۲ مگابایت باشد، از نوع small استفاده خواهد کرد؛ اگر اندازه سیستمفایل بزرگتر یا مساوی ۴ ترابایت و کمتر از ۱۶ ترابایت باشد، از نوع big استفاده مینماید؛ اگر اندازه سیستمفایل بزرگتر یا مساوی ۱۶ ترابایت باشد، از نوع huge استفاده خواهد کرد؛ در غیر این صورت، از نوع سیستمفایل پیشفرض default استفاده میکند.
- -U شناسه_UUID
- شناسه یکتای جهانی (UUID) سیستمفایل را به شناسه_UUID تنظیم میکند. فرمت UUID مجموعهای از ارقام هگزادسیمال جداشده با خط تیره است، مانند «c1b9d5a2-f162-11cf-9ece-0020afc76f16». پارامتر شناسه_UUID میتواند یکی از موارد زیر نیز باشد:
- -v
- اجرای با جزئیات کامل خروجی (verbose).
- -V
- شماره نگارش mke2fs را چاپ کرده و خارج میشود.
- -z فایل_لغو
- پیش از بازنویسی یک بلاک سیستمفایل، محتوای قدیمی بلاک را درون یک فایل لغو (undo file) ذخیره میکند. این فایل لغو میتواند با e2undo(8) برای بازگردانی محتوای پیشین سیستمفایل در صورت بروز مشکل استفاده شود. اگر رشته خالی به عنوان آرگومان فایل_لغو داده شود، فایل لغو در فایلی با نام mke2fs-دستگاه.e2undo در دایرکتوری مشخصشده از طریق متغیر محیطی E2FSPROGS_UNDO_DIR یا دستور undo_dir در فایل پیکربندی نوشته خواهد شد.
- هشدار: فایل لغو نمیتواند برای بازیابی پس از قطع برق یا فروپاشی سیستم استفاده شود.
محیط (ENVIRONMENT)
- MKE2FS_SYNC
- در صورت تنظیم بر روی یک مقدار عدد صحیح غیرصفر، از مقدار آن برای تعیین فواصل فراخوانی sync(2) در طول مقداردهی اولیه جدول اینود استفاده میشود.
- MKE2FS_CONFIG
- محل فایل پیکربندی را تعیین میکند (صفحه راهنمای mke2fs.conf(5) را ببینید).
- MKE2FS_FIRST_META_BG
- در صورت تنظیم بر روی یک عدد صحیح غیرصفر، از مقدار آن برای تعیین اولین گروه بلاک فراداده (meta block group) استفاده میشود. این گزینه بیشتر برای مقاصد اشکالزدایی کاربرد دارد.
- MKE2FS_DEVICE_SECTSIZE
- در صورت تنظیم بر روی یک مقدار عدد صحیح غیرصفر، اندازه سکتور منطقی دستگاه دستگاه را تعیین میکند.
- MKE2FS_DEVICE_PHYS_SECTSIZE
- در صورت تنظیم بر روی یک مقدار عدد صحیح غیرصفر، اندازه سکتور فیزیکی دستگاه دستگاه را تعیین میکند.
- MKE2FS_SKIP_CHECK_MSG
- در صورت تنظیم، پیام بررسی خودکار سیستمفایل ناشی از تعداد سوار کردن یا بازه زمانی بررسی را نمایش نمیدهد.
نویسنده (AUTHOR)
این نگارش از mke2fs توسط Theodore Ts'o <tytso@mit.edu> نوشته شده است.
دسترسپذیری (AVAILABILITY)
mkfs.ext4 بخشی از بسته e2fsprogs است و از نشانی http://e2fsprogs.sourceforge.net در دسترس میباشد.
همچنین ببینید (SEE ALSO)
mke2fs.conf(5)، badblocks(8)، dumpe2fs(8)، e2fsck(8)، tune2fs(8)، ext4(5)
| مه ۲۰۲۵ | e2fsprogs |