| MKFS.EXT3(8) | دستورهای مدیریتی و نگهداری | MKFS.EXT3(8) |
نام (NAME)
mkfs.ext3 - ساخت سیستمفایل ژورنالدار ext3 در لینوکس
خلاصه دستور (SYNOPSIS)
mkfs.ext3 [ گزینهها ] دستگاه [ تعداد_بلاکها ]
توضیحات (DESCRIPTION)
دستور mkfs.ext3 برای ساخت سیستمفایل ژورنالدار ext3 بر روی یک دستگاه استفاده میشود. معمولاً این دستگاه یک پارتیشن دیسک (یا فایل) با نام دستگاه است.
اندازه سیستمفایل توسط تعداد_بلاکها (یا fs-size) مشخص میشود. اگر تعداد_بلاکها دارای پسوند نباشد، بر حسب کیلوبایتهای توان ۲ تفسیر میشود، مگر اینکه گزینه -b اندازه_بلاک مشخص شده باشد، که در این صورت تعداد_بلاکها بر حسب تعداد بلاکهای اندازه_بلاک تفسیر خواهد شد. اگر به اندازه سیستمفایل پسوندهای «k»، «m»، «g»، «t» (چه با حروف بزرگ چه کوچک) اضافه شود، بر حسب کیلوبایت، مگابایت، گیگابایت، ترابایت و غیره با توان ۲ تفسیر میشود. اگر تعداد_بلاکها مشخص نشود، mkfs.ext3 سیستمفایل را بر اساس اندازه کل دستگاه ایجاد خواهد کرد.
هنگامی که mke2fs به صورت mkfs.XXX (مانند mkfs.ext2، mkfs.ext3 یا mkfs.ext4) اجرا میشود، گزینه -t XXX بهطور ضمنی در نظر گرفته میشود؛ بنابراین mkfs.ext3 سیستمفایلی مناسب برای استفاده با ext3 ایجاد خواهد کرد، mkfs.ext4 سیستمفایلی برای ext4 و به همین ترتیب.
مقادیر پیشفرض پارامترها برای سیستمفایل تازهایجادشده، در صورتی که توسط گزینههای زیر لغو نشوند، توسط فایل پیکربندی /etc/mke2fs.conf کنترل میشوند. برای جزئیات بیشتر به صفحه راهنمای mke2fs.conf(5) مراجعه کنید.
گزینهها (OPTIONS)
- -b اندازه_بلاک
- اندازه بلاکها را بر حسب بایت مشخص میکند. مقادیر معتبر اندازه بلاک، توانهای ۲ از ۱۰۲۴ تا ۶۵۵۳۶ هستند (البته توجه داشته باشید که هسته لینوکس تنها قادر به مانت کردن سیستمفایلهایی با اندازه بلاک کوچکتر یا مساوی با اندازه صفحه حافظه سیستم است؛ ۴ کیلوبایت روی سیستمهای x86، و تا ۶۴ کیلوبایت روی ppc64 یا aarch64 بسته به پیکربندی هسته). در صورت حذف، اندازه بلاک بهصورت تجربی بر اساس اندازه سیستمفایل و کاربرد مورد انتظار از آن تعیین میشود (گزینه -T را ببینید). در بیشتر موارد متداول، اندازه بلاک پیشفرض ۴ کیلوبایت است. اگر قبل از اندازه_بلاک علامت منفی («-») قرار گیرد، mkfs.ext3 از روشهای اکتشافی برای تعیین اندازه بلاک مناسب استفاده میکند، با این قید که اندازه بلاک حداقل اندازه_بلاک بایت خواهد بود. این ویژگی برای دستگاههای سختافزاری خاصی که نیاز دارند اندازه بلاک مضربی از ۲ کیلوبایت باشد، مفید است.
- -c
- بررسی دستگاه از نظر وجود بلاکهای خراب (bad blocks) پیش از ایجاد سیستمفایل. اگر این گزینه دو بار مشخص شود، یک آزمون کندتر خواندن-نوشتن به جای آزمون سریع فقط-خواندنی استفاده خواهد شد.
- -C اندازه_کلاستر
- اندازه کلاستر را بر حسب بایت برای سیستمفایلهایی که از ویژگی bigalloc استفاده میکنند مشخص میکند. مقادیر معتبر اندازه کلاستر از ۲ تا ۳۲۷۶۸ برابر اندازه بلاک سیستمفایل متغیر بوده و باید توانی از ۲ باشند. اندازه کلاستر تنها در صورتی قابل تعیین است که ویژگی bigalloc فعال باشد (برای جزئیات بیشتر درباره bigalloc به صفحه راهنمای ext4(5) مراجعه کنید). در صورت فعال بودن bigalloc، اندازه کلاستر پیشفرض ۱۶ برابر اندازه بلاک است.
- -d دایرکتوری_ریشه|tarball
- محتویات دایرکتوری دادهشده یا فایل فشرده tarball را در دایرکتوری ریشه سیستمفایل کپی میکند. ورودی tarball تنها در صورتی در دسترس است که mke2fs با پشتیبانی از libarchive کامپایل شده باشد و کتابخانه اشتراکی libarchive در زمان اجرا موجود باشد. مقدار ویژه «-» یک tarball را از ورودی استاندارد میخواند.
- -D
- استفاده از ورودی/خروجی مستقیم (Direct I/O) هنگام نوشتن روی دیسک. این کار مانع از کثیف شدن حجم زیادی از حافظه بافر کش توسط mke2fs میشود، که ممکن است بر سایر برنامههای در حال اجرا روی یک سرور شلوغ تأثیر بگذارد. با این حال، این گزینه باعث میشود که mke2fs بسیار کندتر اجرا شود، بنابراین استفاده از Direct I/O یک موازنهسازی در عملکرد است.
- -e رفتار_خطا
- تغییر رفتار کد هسته هنگام تشخیص خطاها. در تمام موارد، بروز خطای سیستمفایل باعث میشود که e2fsck(8) سیستمفایل را در بوت بعدی بررسی کند. رفتار_خطا میتواند یکی از موارد زیر باشد:
- continue
- ادامه اجرای عادی.
- remount-ro
- مانت مجدد سیستمفایل به صورت فقط-خواندنی.
- panic
- ایجاد وحشت هسته (kernel panic).
- -E گزینههای_پیشرفته
- تنظیم گزینههای پیشرفته برای سیستمفایل. گزینههای پیشرفته با کاما از یکدیگر جدا میشوند و ممکن است با استفاده از علامت مساوی («=») یک آرگومان دریافت کنند. گزینه -E در نسخههای اولیه mke2fs به صورت -R بود. گزینه -R همچنان برای سازگاری با گذشته پذیرفته میشود، اما منسوخ شده است. گزینههای پیشرفته زیر پشتیبانی میشوند:
- assume_storage_prezeroed[= <0 برای غیرفعال، 1 برای فعال>]
- در صورت فعال بودن، mke2fs فرض میکند که دستگاه ذخیرهسازی از پیش صفر شده است، از صفر کردن ژورنال و جدولهای اینود صرفنظر کرده و فلگهای گروه بلاک را علامتگذاری میکند تا نشان دهد که جدول اینود صفر شده است.
- discard
- تلاش برای دور ریختن (discard) بلاکها در زمان اجرای mkfs (دور ریختن اولیه بلاکها روی دستگاههای حالت جامد SSD و فضاهای ذخیرهسازی دارای تخصیص تنک مفید است). هنگامی که دستگاه اعلام کند دور ریختن دادهها را نیز صفر میکند (هرگونه خواندن بعدی پس از discard و قبل از نوشتن، صفر برمیگرداند)، تمام جدولهای اینود که هنوز صفر نشدهاند به عنوان صفرشده علامتگذاری میشوند. این امر مقداردهی اولیه سیستمفایل را به میزان قابل توجهی سرعت میبخشد. این گزینه به صورت پیشفرض فعال است.
- encoding=نام_کدگذاری
- ویژگی casefold را در سوپربلاک فعال کرده و نام_کدگذاری را به عنوان کدگذاری مورد استفاده تنظیم میکند. اگر نام_کدگذاری مشخص نشود، از کدگذاری تعریفشده در mke2fs.conf(5) استفاده میشود.
- encoding_flags=فلگهای_کدگذاری
- تعریف
پارامترها
برای
عملیات
کدگذاری
نویسههای
نام فایل.
اگر فلگی با
استفاده از
این
پارامتر
تغییر
نکند، از
مقدار
پیشفرض آن
استفاده
میشود.
فلگهای_کدگذاری
باید
فهرستی
جداشده با
کاما از
فلگهایی
باشد که
باید فعال
شوند. برای
غیرفعال
کردن یک
فلگ، آن را
با پیشوند
«no» به
فهرست
اضافه کنید.
تنها فلگی که در حال حاضر میتوان تنظیم کرد strict است که به این معنی است که رشتههای نامعتبر باید توسط سیستمفایل رد شوند. در پیکربندی پیشفرض، فلگ strict غیرفعال است.
- lazy_itable_init[= <0 برای غیرفعال، 1 برای فعال>]
- در صورت فعال بودن و همچنین فعال بودن ویژگی uninit_bg، جدول اینود به طور کامل توسط mke2fs مقداردهی اولیه نخواهد شد. این کار مقداردهی اولیه سیستمفایل را به طرز محسوسی سرعت میبخشد، اما مستلزم آن است که هسته در اولین مانت سیستمفایل، مقداردهی اولیه را در پسزمینه به پایان برساند. در صورت حذف مقدار، به طور پیشفرض روی ۱ قرار میگیرد تا صفر کردن تنبل جدول اینود فعال شود.
- lazy_journal_init[= <0 برای غیرفعال، 1 برای فعال>]
- در صورت فعال بودن، اینود ژورنال به طور کامل توسط mke2fs صفر نخواهد شد. این کار مقداردهی اولیه سیستمفایل را به طرز محسوسی سرعت میبخشد، اما در صورتی که سیستم پیش از یک بار بازنویسی کامل ژورنال کرش کند، ریسک کوچکی به همراه دارد. در صورت حذف مقدار، به طور پیشفرض روی ۱ قرار میگیرد تا صفر کردن تنبل اینود ژورنال فعال شود.
- mmp_update_interval=بازه
- تنظیم بازه بهروزرسانی اولیه MMP به بازه ثانیه. مشخص کردن بازه برابر ۰ به معنای استفاده از بازه پیشفرض است. بازه مشخصشده باید کمتر از ۳۰۰ ثانیه باشد. نیاز به فعال بودن ویژگی mmp دارد.
- nodiscard
- عدم تلاش برای دور ریختن بلاکها در زمان اجرای mkfs.
- no_copy_xattrs
- به طور معمول mke2fs ویژگیهای گسترشیافته فایلها را در سلسلهمراتب دایرکتوری مشخصشده از طریق گزینه اختیاری -d کپی میکند. این گزینه کپی را غیرفعال کرده و فایلها را در سیستمفایل تازهایجادشده بدون هیچگونه ویژگی گسترشیافته رها میکند.
- num_backup_sb=<0|1|2>
- اگر ویژگی سیستمفایل sparse_super2 فعال باشد، این گزینه کنترل میکند که آیا ۰، ۱ یا ۲ سوپربلاک پشتیبان در سیستمفایل ایجاد شود.
- offset=آفست
- ایجاد سیستمفایل با یک آفست مشخص از ابتدای دستگاه یا فایل. این میتواند هنگام ایجاد ایمیجهای دیسک برای ماشینهای مجازی مفید باشد.
- orphan_file_size=اندازه
- تنظیم اندازه فایل برای ردیابی اینودهای پیوندزدودهشده (unlinked) اما همچنان باز و اینودهایی با کوتاهسازی در حال انجام. فایل بزرگتر مقیاسپذیری بهتری را فراهم میکند؛ رزرو چند بلاک به ازای هر پردازنده ایدهآل است.
- packed_meta_blocks[= <0 برای غیرفعال، 1 برای فعال>]
- قرار دادن بیتمپهای تخصیص و جدول اینود در ابتدای دیسک. این گزینه برای اثربخشی نیاز دارد که ویژگی سیستمفایل flex_bg فعال باشد، و همچنین ژورنال را در ابتدای سیستمفایل ایجاد میکند. این گزینه برای دستگاههای فلش که از حافظه فلش SLC در ابتدای دیسک استفاده میکنند مفید است. همچنین محدوده بلاکهای پیوسته داده را به حداکثر میرساند، که میتواند برای موارد کاربرد خاص، مانند درایوهای Shingled پشتیبانیشده مفید باشد.
- quotatype
- مشخص کردن اینکه کدام انواع سهمیهبندی (usrquota، grpquota، prjquota) باید در سیستمفایل ایجادشده فعال شوند. آرگومان این گزینه پیشرفته باید فهرستی جداشده با دونقطه (:) باشد. این گزینه تنها در صورتی اثر دارد که ویژگی quota تنظیم شده باشد. انواع کوتای پیشفرض در صورت مشخص نشدن این گزینه، هر دو کوتای کاربر و گروه هستند. اگر ویژگی پروژه فعال باشد، کوتای پروژه نیز مقداردهی اولیه خواهد شد.
- resize=حداکثر_تغییر_اندازه_برخط
- رزرو فضای کافی به طوری که جدول توصیفگر گروه بلاک بتواند برای پشتیبانی از سیستمفایلی با حداکثر_تغییر_اندازه_برخط بلاک رشد کند.
- revision=ویرایش_سیستمفایل
- مشخص کردن شماره ویرایش سیستمفایل. سیستمفایلهای ویرایش ۰ سازگاری با هستههای لینوکس پیش از نسخه ۱.۲ (مربوط به پیش از ۱۹۹۵) را فراهم میکنند. این گزینه فقط برای آزمایش یا افرادی که میخواهند از سیستمهای لینوکس بسیار اولیه و تاریخی استفاده کنند نیاز است. پیشفرض فعلی (که توسط تمام سیستمهای مدرن لینوکس پشتیبانی میشود) ویرایش ۱ است.
- root_owner[=uid:gid]
- مشخص کردن شناسه کاربری عددی (UID) و شناسه گروهی (GID) دایرکتوری ریشه. اگر هیچ UID:GID مشخص نشود، از UID و GID کاربری که mke2fs را اجرا میکند استفاده خواهد شد. در mke2fs نسخه 1.42 و پیش از آن، UID و GID دایرکتوری ریشه بهطور پیشفرض روی UID و GID کاربر اجراکننده دستور mke2fs تنظیم میشد. گزینه root_owner= امکان تعیین صریح این مقادیر را فراهم کرده و از بروز عوارض جانبی برای کاربرانی که انتظار ندارند محتویات سیستمفایل بر اساس کاربر اجراکننده mke2fs تغییر کند جلوگیری مینماید.
- root_perms[=مجوزها]
- مشخص کردن مجوزهای دایرکتوری ریشه در قالب اکتال (هشتهشتی). اگر مجوزی مشخص نشود، مجوزهای دایرکتوری ریشه مطابق با umask پیشفرض سیستمفایل تنظیم خواهد شد.
- stride=اندازه_گام
- پیکربندی سیستمفایل برای یک آرایه RAID با اندازه_گام بلاک سیستمفایل. این تعداد بلاکهایی است که قبل از رفتن به دیسک بعدی، روی دیسک خوانده یا نوشته میشود که گاهی اوقات به آن chunk size (اندازه تکه) نیز میگویند. این امر بیشتر بر محل قرارگیری متادیتای سیستمفایل مانند بیتمپها در زمان اجرای mke2fs تأثیر میگذارد تا از قرار دادن آنها روی یک دیسک واحد که میتواند به کارایی لطمه بزند، جلوگیری شود. همچنین ممکن است توسط تخصیصدهنده بلاک استفاده شود.
- stripe_width=پهنای_استرایپ
- پیکربندی سیستمفایل برای یک آرایه RAID با پهنای_استرایپ بلاک سیستمفایل در هر استرایپ. این مقدار معمولاً برابر با اندازه_گام * N است، که در آن N تعداد دیسکهای حامل داده در RAID است (مثلاً در RAID 5 یک دیسک پَریتی وجود دارد، بنابراین N برابر با تعداد دیسکهای آرایه منهای ۱ خواهد بود). این گزینه به تخصیصدهنده بلاک اجازه میدهد تا در صورت امکان هنگام نوشتن دادهها، از عملیات خواندن-اصلاح-نوشتن پَریتی در یک استرایپ RAID جلوگیری کند.
- test_fs
- تنظیم یک فلگ در سوپربلاک سیستمفایل که نشان میدهد این سیستمفایل ممکن است با استفاده از کد آزمایشی هسته، مانند سیستمفایل ext4dev مانت شود.
- -F
- اجبار mke2fs به ایجاد سیستمفایل، حتی اگر دستگاه مشخصشده یک پارتیشن روی یک دستگاه ویژه بلاکی نباشد، یا اگر سایر پارامترها نامعقول باشند. برای اجبار mke2fs به ایجاد سیستمفایل حتی در صورتی که سیستمفایل به نظر در حال استفاده یا مانتشده باشد (کاری که واقعاً خطرناک است)، این گزینه باید دو بار مشخص شود.
- -g بلاک_در_گروه
- مشخص کردن تعداد بلاکها در یک گروه بلاک. معمولاً هیچ دلیلی وجود ندارد که کاربر این پارامتر را تنظیم کند، زیرا مقدار پیشفرض برای سیستمفایل بهینه است. (برای مدیرانی که روی آرایههای RAID سیستمفایل ایجاد میکنند، ترجیح داده میشود به جای دستکاری تعداد بلاکها در هر گروه، از پارامتر RAID stride بهعنوان بخشی از گزینه -E استفاده شود.) این گزینه عموماً توسط توسعهدهندگانی که در حال آمادهسازی موارد آزمایشی هستند به کار میرود.
- اگر ویژگی bigalloc فعال باشد، گزینه -g تعداد کلاسترها را در یک گروه بلاک مشخص میکند.
- -G تعداد_گروهها
- مشخص کردن تعداد گروههای بلاکی که برای ایجاد یک گروه بلاک مجازی بزرگتر (یا «گروه flex_bg») در یک سیستمفایل با یکدیگر بستهبندی میشوند. این امر محلیبودن متادیتا و عملکرد را در بارهای کاری با متادیتای سنگین بهبود میبخشد. تعداد گروهها باید توانی از ۲ باشد و تنها در صورتی میتواند مشخص شود که ویژگی سیستمفایل flex_bg فعال باشد.
- -i بایت_به_ازای_اینود
- مشخص کردن نسبت بایت به اینود. mke2fs به ازای هر بایت_به_ازای_اینود بایت فضا روی دیسک، یک اینود ایجاد میکند. هرچه نسبت بایت_به_ازای_اینود بزرگتر باشد، اینودهای کمتری ساخته خواهد شد. این مقدار عموماً نباید کوچکتر از اندازه بلاک سیستمفایل باشد، چرا که در آن صورت اینودهایی بیش از آنچه قابل استفاده است ساخته میشود. هشدار داده میشود که پس از ایجاد سیستمفایل، تغییر این نسبت ممکن نیست؛ بنابراین در تصمیمگیری درباره مقدار مناسب این پارامتر دقت کنید. توجه داشته باشید که تغییر اندازه سیستمفایل برای حفظ این نسبت، تعداد اینودها را تغییر میدهد.
- -I اندازه_اینود
- مشخص کردن اندازه هر اینود بر حسب بایت. مقدار اندازه_اینود باید توانی از ۲ و بزرگتر یا مساوی ۱۲۸ باشد. هر چه اندازه_اینود بزرگتر باشد، جدول اینود فضای بیشتری اشغال خواهد کرد و این امر فضای قابل استفاده سیستمفایل را کاهش داده و میتواند بر عملکرد تأثیر منفی بگذارد. تغییر این مقدار پس از ایجاد سیستمفایل امکانپذیر نیست.
- سیستمفایلهایی با اندازه اینود ۱۲۸ بایت از برچسبهای زمانی پس از ۱۹ ژانویه ۲۰۳۸ پشتیبانی نمیکنند. اینودهای ۲۵۶ بایت یا بزرگتر از برچسبهای زمانی گسترشیافته، شناسههای پروژه و قابلیت ذخیره برخی ویژگیهای گسترشیافته در جدول اینود برای بهبود عملکرد پشتیبانی میکنند.
- اندازه پیشفرض اینود توسط فایل mke2fs.conf(5) کنترل میشود. در فایل mke2fs.conf همراه با e2fsprogs، اندازه پیشفرض اینود برای همه سیستمفایلها ۲۵۶ بایت است، به جز GNU Hurd که تنها از اینودهای ۱۲۸ بایتی پشتیبانی میکند.
- -j
- ایجاد سیستمفایل همراه با یک ژورنال ext3. اگر گزینه -J مشخص نشود، از پارامترهای پیشفرض ژورنال برای ایجاد ژورنالی با اندازه مناسب (با توجه به اندازه سیستمفایل) در داخل سیستمفایل استفاده خواهد شد. توجه داشته باشید که برای استفاده واقعی از ژورنال باید از هستهای استفاده کنید که دارای پشتیبانی از ext3 باشد.
- -J گزینههای_ژورنال
- ایجاد ژورنال ext3 با استفاده از گزینههای مشخصشده در خط فرمان. گزینههای ژورنال با کاما از یکدیگر جدا میشوند و ممکن است با علامت مساوی («=») یک آرگومان دریافت کنند. گزینههای ژورنال زیر پشتیبانی میشوند:
- device=ژورنال_خارجی
- اتصال
سیستمفایل
به دستگاه
بلاکی
ژورنال
واقع در
ژورنال_خارجی.
ژورنال
خارجی باید
قبلاً با
دستور زیر
ایجاد شده
باشد:
mke2fs -O journal_dev ژورنال_خارجی
توجه داشته باشید که ژورنال_خارجی باید با همان اندازه بلاک سیستمفایل جدید ایجاد شده باشد. علاوه بر این، اگرچه پشتیبانی از اتصال چند سیستمفایل به یک ژورنال خارجی واحد وجود دارد، هسته لینوکس و e2fsck(8) هنوز از ژورنالهای خارجی مشترک پشتیبانی نمیکنند.
به جای مشخص کردن مستقیم نام دستگاه، ژورنال_خارجی میتواند با LABEL=برچسب یا UUID=UUID نیز مشخص شود تا ژورنال خارجی از طریق برچسب حجم یا UUID ذخیرهشده در سوپربلاک ext2 در ابتدای ژورنال شناسایی گردد. از dumpe2fs(8) برای نمایش برچسب حجم و UUID دستگاه ژورنال استفاده کنید. همچنین گزینه -L دستور tune2fs(8) را ببینید.
- fast_commit_size=اندازه_تعهد_سریع
- ایجاد یک ناحیه ژورنال تعهد سریع (fast commit) اضافی با اندازه اندازه_تعهد_سریع کیلوبایت. این گزینه تنها در صورتی معتبر است که ویژگی fast_commit در سیستمفایل فعال باشد. اگر این گزینه مشخص نشود و ویژگی fast_commit فعال باشد، اندازه ناحیه fast commit بهطور پیشفرض برابر با journal-size تقسیم بر ۶۴ مگابایت خواهد بود. اندازه کل ژورنال همراه با ویژگی fast_commit برابر با journal-size به علاوه ( fast-commit-size * 1024) مگابایت است. اندازه کل ژورنال نباید بیشتر از ۱۰٬۲۴۰٬۰۰۰ بلاک سیستمفایل یا نصف کل اندازه سیستمفایل (هر کدام که کوچکتر باشد) باشد.
- location=محل_ژورنال
- مشخص کردن محل ژورنال. آرگومان محل_ژورنال میتواند به صورت شماره بلاک مشخص شود، یا اگر عدد دارای پسوند واحدها (مانند «M»، «G» و غیره) باشد، به عنوان آفست از ابتدای سیستمفایل تفسیر میشود.
- size=اندازه_ژورنال
- ایجاد یک ژورنال داخلی (یعنی ذخیرهشده درون سیستمفایل) با اندازه اندازه_ژورنال مگابایت. اندازه ژورنال باید حداقل ۱۰۲۴ بلاک سیستمفایل باشد (یعنی ۱ مگابایت در صورت استفاده از بلاکهای ۱ کیلوبایتی، ۴ مگابایت در صورت استفاده از بلاکهای ۴ کیلوبایتی و غیره) و نباید بیشتر از ۱۰٬۲۴۰٬۰۰۰ بلاک سیستمفایل یا نصف کل اندازه سیستمفایل (هر کدام که کوچکتر باشد) باشد.
- تنها یکی از گزینههای size یا device میتواند برای یک سیستمفایل ارائه شود.
- -l نام_فایل
- خواندن فهرست بلاکهای خراب از نام_فایل. توجه داشته باشید که شمارههای بلاک در فهرست بلاکهای خراب باید با همان اندازه بلاک مورد استفاده توسط mke2fs تولید شده باشند. در نتیجه، گزینه -c در mke2fs روش بسیار سادهتر و کمخطاتری برای بررسی دیسک از نظر وجود بلاکهای خراب قبل از قالببندی آن است، زیرا mke2fs بهطور خودکار پارامترهای صحیح را به برنامه badblocks ارسال میکند.
- -L برچسب_جدید_حجم
- تنظیم برچسب حجم برای سیستمفایل به برچسب_جدید_حجم. حداکثر طول برچسب حجم ۱۶ بایت است.
- -m درصد_بلاکهای_رزرو
- مشخص کردن درصد بلاکهای رزرو شده سیستمفایل برای کاربر ارشد (کاربر ریشه). این کار مانع از تکهتکه شدن (fragmentation) شده و به دیمونهای متعلق به root، مانند syslogd(8)، اجازه میدهد تا پس از اینکه فرآیندهای غیرممتاز از نوشتن در سیستمفایل منع شدند، همچنان به درستی کار کنند. درصد پیشفرض ۵٪ است.
- -M آخرین_دایرکتوری_مانت
- تنظیم آخرین دایرکتوری مانتشده برای سیستمفایل. این ویژگی ممکن است برای ابزارهایی مفید باشد که بر اساس آخرین دایرکتوری مانتشده تشخیص میدهند سیستمفایل کجا باید مانت شود.
- -n
- باعث میشود mke2fs در واقع سیستمفایلی ایجاد نکند، بلکه نشان دهد که اگر قرار بود سیستمفایل را بسازد چه کاری انجام میداد. این میتواند برای تعیین محل سوپربلاکهای پشتیبان یک سیستمفایل خاص استفاده شود، مادامی که همان پارامترهای mke2fs که هنگام ایجاد اولیه سیستمفایل استفاده شده بودند، دوباره استفاده شوند (البته همراه با افزودن گزینه -n!).
- -N تعداد_اینودها
- محاسبه پیشفرض تعداد اینودهایی را که باید برای سیستمفایل رزرو شوند لغو میکند (که بر اساس تعداد بلاکها و نسبت bytes-per-inode است). این به کاربر اجازه میدهد تا تعداد اینودهای مورد نظر را مستقیماً مشخص کند.
- -o سیستمعامل_سازنده
- مقدار پیشفرض فیلد «سیستمعامل سازنده» (creator operating system) سیستمفایل را لغو میکند. فیلد سازنده بهطور پیشفرض روی نام سیستمعاملی تنظیم است که فایل اجرایی mke2fs برای آن کامپایل شده است.
- -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
- اجرای بیصدا. در صورتی که mke2fs درون یک اسکریپت اجرا شود کاربرد دارد.
- -S
- فقط نوشتن سوپربلاک و توصیفگرهای گروه. این یک اقدام فوقالعاده و حساس است که تنها در موارد بسیار نادری که تمامی سوپربلاک اصلی و سوپربلاکهای پشتیبان خراب شده باشند و یک روش بازیابی آخرین شانس توسط کاربران باتجربه مورد نظر باشد، به کار میرود. این گزینه باعث میشود که mke2fs سوپربلاک و توصیفگرهای گروه را مجدداً مقداردهی اولیه کند، در حالی که به جدول اینود و بیتمپهای بلاک و اینود دست نمیزند. برنامه e2fsck باید بلافاصله پس از استفاده از این گزینه اجرا شود، و هیچ تضمینی وجود ندارد که دادهها قابل نجات باشند. به دلیل تنوع زیاد گزینههای ممکن mke2fs که بر چینش دیسک تأثیر میگذارند، هنگام استفاده از این گزینه بسیار حیاتی است که دقیقاً همان گزینههای قالببندی، مانند blocksize، fs-type، فلگهای ویژگیها و سایر مقادیر تنظیمی مشخص شوند، در غیر این صورت سیستمفایل بیشتر خراب خواهد شد. در برخی موارد، مانند سیستمفایلهایی که تغییر اندازه داده شدهاند یا پس از فرمتبندی ویژگیهایی در آنها فعال شده است، بازنویسی درست همه سوپربلاکها غیرممکن است و حداقل مقداری خرابی در سیستمفایل رخ خواهد داد. بهتر است این کار روی یک رونوشت کامل از سیستمفایل انجام شود تا در صورت عدم موفقیت، گزینههای دیگر قابل امتحان باشند.
- -t نوع_سیستمفایل
- مشخص کردن
نوع
سیستمفایل
(مانند ext2، ext3، ext4
و غیره) که
باید ایجاد
شود. اگر
این گزینه
مشخص نشود،
mke2fs یک
پیشفرض را
بر اساس
نحوه اجرای
دستور (برای
مثال با
استفاده از
نامی به شکل
mkfs.ext2، mkfs.ext3 و غیره)
یا بر اساس
مقدار
پیشفرض
تعریفشده
توسط فایل
/etc/mke2fs.conf انتخاب
خواهد کرد.
این گزینه
کنترل
میکند که
کدام
گزینههای
سیستمفایل
بر اساس بخش
پیکربندی
fstypes در /etc/mke2fs.conf
بهطور
پیشفرض
استفاده
شوند.
اگر گزینه -O برای افزودن یا حذف صریح گزینههای سیستمفایل مورد استفاده قرار گیرد، ممکن است سیستمفایل حاصل توسط نوع_سیستمفایل درخواستشده پشتیبانی نشود. (مثلاً «mke2fs -t ext3 -O extent /dev/sdXX» سیستمفایلی ایجاد میکند که توسط پیادهسازی ext3 در هسته لینوکس پشتیبانی نمیشود؛ و «mke2fs -t ext3 -O ^has_journal /dev/hdXX» سیستمفایلی ایجاد میکند که ژورنال ندارد و در نتیجه توسط کد سیستمفایل ext3 در هسته لینوکس پشتیبانی نخواهد شد.)
- -T نوع_کاربرد[,...]
- مشخص کردن
نحوه
استفاده از
سیستمفایل،
تا mke2fs
بتواند
پارامترهای
بهینه
سیستمفایل
را برای آن
کاربرد
انتخاب کند.
انواع
کاربردهای
پشتیبانیشده
در فایل
پیکربندی
/etc/mke2fs.conf تعریف
شدهاند.
کاربر
میتواند
یک یا چند
نوع کاربرد
را با
استفاده از
فهرستی
جداشده با
کاما مشخص
کند.
اگر این گزینه مشخص نشود، mke2fs یک نوع کاربرد پیشفرض منفرد را بر اساس اندازه سیستمفایل ایجادشونده انتخاب میکند. اگر اندازه سیستمفایل کمتر از ۳ مگابایت باشد، mke2fs از نوع سیستمفایل floppy استفاده خواهد کرد. اگر اندازه سیستمفایل بزرگتر یا مساوی ۳ اما کمتر از ۵۱۲ مگابایت باشد، mke2fs(8) از نوع سیستمفایل small استفاده میکند. اگر اندازه سیستمفایل بزرگتر یا مساوی ۴ ترابایت اما کمتر از ۱۶ ترابایت باشد، mke2fs(8) از نوع سیستمفایل big استفاده میکند. اگر اندازه سیستمفایل بزرگتر یا مساوی ۱۶ ترابایت باشد، mke2fs(8) از نوع سیستمفایل huge استفاده خواهد کرد. در غیر این صورت، mke2fs(8) از نوع سیستمفایل پیشفرض default استفاده میکند.
- -U UUID
- تنظیم شناسه منحصربهفرد سراسری (UUID) سیستمفایل به UUID. قالب UUID مجموعهای از ارقام هگزادسیمال است که با خط تیره از هم جدا شدهاند، مانند این: «c1b9d5a2-f162-11cf-9ece-0020afc76f16». پارامتر UUID همچنین میتواند یکی از موارد زیر باشد:
- -v
- اجرای پرگو (با جزئیات کامل).
- -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
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، مقدار آن برای تعیین اولین گروه مِتابلاک استفاده میشود. این متغیر عمدتاً برای مقاصد اشکالزدایی کاربرد دارد.
- MKE2FS_DEVICE_SECTSIZE
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، مقدار آن برای تعیین اندازه قطاع (sector size) منطقی دستگاه استفاده میشود.
- MKE2FS_DEVICE_PHYS_SECTSIZE
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، مقدار آن برای تعیین اندازه قطاع فیزیکی دستگاه استفاده میشود.
- MKE2FS_SKIP_CHECK_MSG
- در صورت تنظیم، پیام بررسی خودکار سیستمفایل ناشی از تعداد دفعات مانت یا بازه زمانی بررسی نمایش داده نمیشود.
نویسنده (AUTHOR)
این نسخه از mke2fs توسط تئودور تسو (Theodore Ts'o) <tytso@mit.edu> نوشته شده است.
در دسترس بودن (AVAILABILITY)
دستور mke2fs بخشی از بسته e2fsprogs است و از نشانی http://e2fsprogs.sourceforge.net قابل دریافت میباشد.
همچنین ببینید (SEE ALSO)
mke2fs.conf(5), badblocks(8), dumpe2fs(8), e2fsck(8), tune2fs(8), ext4(5)
| مه ۲۰۲۵ | e2fsprogs |