| MKE2FS(8) | دستورهای مدیریتی و نگهداری | MKE2FS(8) |
نام (NAME)
mke2fs - ایجاد سیستمفایل ext2/ext3/ext4 در لینوکس
خلاصه دستور (SYNOPSIS)
mke2fs [ -c | -l فایل_بلاکهای_خراب ] [ -b اندازه_بلاک ] [ -C اندازه_کلاستر ] [ -d دایرکتوری_ریشه ] [ -D ] [ -g بلاک_در_گروه ] [ -G تعداد_گروهها ] [ -i بایت_به_ازای_آینود ] [ -I اندازه_آینود ] [ -j ] [ -J گزینههای_ژورنال ] [ -N تعداد_آینودها ] [ -n ] [ -m درصد_رزرو ] [ -o سیستمعامل_سازنده ] [ -O [^]ویژگی[,...] ] [ -q ] [ -r نسخه_سیستمفایل ] [ -E گزینههای_پیشرفته ] [ -v ] [ -F ] [ -L برچسب_حجم ] [ -M آخرین_دایرکتوری_سوارشده ] [ -S ] [ -t nنوع_سیستمفایل ] [ -T nنوع_کاربری ] [ -U شناسه_یکتا ] [ -V ] [ -e رفتار_خطا ] [ -z فایل_لغو ] دستگاه [ تعداد_بلاکها ]
mke2fs -O journal_dev [ -b اندازه_بلاک ] [ -L برچسب_حجم ] [ -n ] [ -q ] [ -v ] ژورنال_خارجی [ اندازه_سیستمفایل ]
توضیحات (DESCRIPTION)
دستور mke2fs برای ایجاد سیستمفایلهای خانواده ext (شامل ext2، ext3 و ext4) بر روی یک پارتیشن یا دستگاه ذخیرهسازی استفاده میشود که معمولاً یک پارتیشن دیسک (یا فایل) با نام دستگاه است.
اندازه سیستمفایل توسط تعداد_بلاکها (یا fs-size) مشخص میشود. اگر تعداد_بلاکها دارای پسوند نباشد، بر مبنای توانهایی از دو بر حسب کیلوبایت تفسیر میشود، مگر اینکه گزینه -b اندازه_بلاک مشخص شده باشد، که در این صورت تعداد_بلاکها بهعنوان تعداد بلوکهای با اندازه اندازه_بلاک تفسیر میگردد. اگر پسوندهای 'k'، 'm'، 'g'، 't' (چه با حروف بزرگ چه کوچک) به آن افزوده شود، بهصورت توانهایی از دو بر حسب کیلوبایت، مگابایت، گیگابایت، ترابایت و غیره محاسبه میشود. اگر تعداد_بلاکها مشخص نشود، mke2fs سیستمفایل را بر اساس اندازه واقعی دستگاه ایجاد خواهد کرد.
اگر 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 اندازه_بلاک
- اندازه بلوکها را بر حسب بایت مشخص میکند. مقادیر معتبر برای اندازه بلوک توانهایی از ۲ از ۱۰۲۴ تا ۶۵۵۳۶ هستند (با این حال توجه داشته باشید که هسته لینوکس تنها قادر است سیستمفایلهایی با اندازه بلوک کوچکتر یا مساوی با اندازه صفحه سیستم (page size) را سوار کند - ۴ کیلوبایت در سیستمهای x86، و تا ۶۴ کیلوبایت در ppc64 یا aarch64 بسته به پیکربندی هسته). در صورت مشخص نشدن، اندازه بلوک بهصورت مکاشفهای بر اساس اندازه سیستمفایل و کاربرد مورد انتظار سیستمفایل تعیین میشود (گزینه -T را ببینید). در اکثر موارد متداول، اندازه بلوک پیشفرض ۴ کیلوبایت است. اگر پیش از اندازه_بلاک علامت منفی ('-') قرار گیرد، mke2fs از روشهای مکاشفهای برای تعیین اندازه بلوک مناسب استفاده خواهد کرد، با این قید که اندازه بلوک حداقل برابر با اندازه_بلاک بایت باشد. این قابلیت برای دستگاههای سختافزاری خاصی که نیاز دارند اندازه بلوک مضربی از ۲ کیلوبایت باشد کاربرد دارد.
- -c
- پیش از ایجاد سیستمفایل، دستگاه را برای یافتن بلوکهای خراب بررسی میکند. اگر این گزینه دو بار مشخص شود، بهجای یک آزمون سریع فقطخواندنی، یک آزمون کندتر خواندن-نوشتن انجام میشود.
- -C اندازه_کلاستر
- اندازه کلاستر را بر حسب بایت برای سیستمفایلهایی که از ویژگی bigalloc استفاده میکنند مشخص میکند. مقادیر معتبر برای اندازه کلاستر از ۲ تا ۳۲۷۶۸ برابر اندازه بلوک سیستمفایل متغیر بوده و باید توانی از ۲ باشد. اندازه کلاستر تنها در صورتی قابل تعیین است که ویژگی bigalloc فعال باشد. (برای جزئیات بیشتر در مورد bigalloc به صفحه راهنمای ext4 (5) مراجعه کنید.) اندازه کلاستر پیشفرض در صورت فعال بودن bigalloc، شانزده برابر اندازه بلوک است.
- -d دایرکتوری_ریشه|تاربال
- محتویات دایرکتوری دادهشده یا فایل تاربال را در دایرکتوری ریشه سیستمفایل کپی میکند. ورودی تاربال تنها در صورتی در دسترس است که mke2fs با پشتیبانی از libarchive کامپایل شده باشد و کتابخانه اشتراکی libarchive در زمان اجرا موجود باشد. مقدار ویژه "-" یک فایل تاربال را از ورودی استاندارد میخواند.
- -D
- هنگام نوشتن روی دیسک از ورودی/خروجی مستقیم (Direct I/O) استفاده میکند. این کار مانع از آن میشود که mke2fs بخش زیادی از حافظه بافر کش را کثیف (dirty) کند، که میتواند بر سایر برنامههای در حال اجرا روی یک سرور شلوغ تأثیر منفی بگذارد. با این حال، این گزینه باعث میشود mke2fs بسیار کندتر اجرا شود، بنابراین استفاده از ورودی/خروجی مستقیم نوعی دادوستد و سبکسنگین کردن کارایی است.
- -e رفتار_خطا
- رفتار کد هسته را در هنگام تشخیص خطاها تغییر میدهد. در تمامی حالات، بروز خطای سیستمفایل باعث میشود e2fsck(8) در بوت بعدی، سیستمفایل را بررسی کند. رفتار_خطا میتواند یکی از موارد زیر باشد:
- continue
- ادامه اجرای عادی.
- remount-ro
- سوار کردن مجدد سیستمفایل بهصورت فقطخواندنی.
- panic
- ایجاد یک وحشت هسته (kernel panic).
- -E گزینههای_پیشرفته
- تنظیم گزینههای پیشرفته برای سیستمفایل. گزینههای پیشرفته با کاما از هم جدا میشوند و ممکن است با استفاده از علامت مساوی ('=') آرگومان دریافت کنند. گزینه -E در نسخههای پیشین mke2fs بهصورت -R بود. گزینه -R همچنان برای سازگاری با گذشته پذیرفته میشود، اما منسوخ شده است. گزینههای پیشرفته زیر پشتیبانی میشوند:
- assume_storage_prezeroed[= <0 برای غیرفعال، 1 برای فعال>]
- در صورت فعال بودن، mke2fs فرض میکند که دستگاه ذخیرهسازی قبلاً با صفر پر شده است (prezeroed)، از صفر کردن ژورنال و جدولهای آینود صرفنظر میکند و پرچمهای گروه بلوک را علامتگذاری میکند تا مشخص شود جدول آینود صفر شده است.
- discard
- تلاش برای دورانداختن بلوکها (discard/TRIM) در زمان اجرای mkfs (دورانداختن اولیه بلوکها روی دستگاههای حالت جامد و فضاهای ذخیرهسازی با تخصیص پویا / نازک (sparse / thin-provisioned) مفید است). هنگامی که دستگاه اعلام کند دورانداختن موجب صفر شدن دادهها نیز میشود (هرگونه خواندن بعدی پس از 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=اندازه
- اندازه فایل را برای ردیابی آینودهای بدون پیوند اما همچنان باز و آینودهای با کوتاهسازی (truncate) در حال انجام تنظیم میکند. فایل بزرگتر امکان مقیاسپذیری بهتری را فراهم میسازد؛ رزرو چند بلوک به ازای هر پردازنده (CPU) ایدهآل است.
- packed_meta_blocks[= <0 برای غیرفعال، 1 برای فعال>]
- بیتمپهای تخصیص و جدول آینود را در ابتدای دیسک قرار میدهد. این گزینه برای اثربخشی نیازمند فعال بودن ویژگی سیستمفایل flex_bg است، و همچنین ژورنال را در ابتدای سیستمفایل ایجاد میکند. این گزینه برای دستگاههای فلش که از حافظه SLC در ابتدای دیسک استفاده میکنند سودمند است. همچنین محدوده بلوکهای داده پیوسته را به حداکثر میرساند، که میتواند برای کاربردهای تخصصی خاص مانند دیسکهای Shingled پشتیبانیشده مفید باشد.
- quotatype
- مشخص میکند که چه نوع سهمیهبندیهایی (usrquota، grpquota، prjquota) باید در سیستمفایل ایجادشده فعال شوند. آرگومان این گزینه پیشرفته باید یک فهرست جداشده با دونقطه باشد. این گزینه تنها در صورتی اثر دارد که ویژگی quota تنظیم شده باشد. انواع سهمیهبندی پیشفرضی که در صورت مشخص نشدن این گزینه مقداردهی میشوند، هر دو سهمیه کاربر و گروه هستند. اگر ویژگی project فعال باشد، سهمیهبندیهای پروژه نیز مقداردهی اولیه خواهند شد.
- resize=حداکثر_تغییر_اندازه_برخط
- فضای کافی رزرو میکند تا جدول توصیفکننده گروه بلوک بتواند برای پشتیبانی از سیستمفایلی با حداکثر_تغییر_اندازه_برخط بلوک رشد کند.
- revision=بازنگری_سیستمفایل
- شماره بازنگری سیستمفایل را مشخص میکند. سیستمفایلهای بازنگری ۰ سازگاری با هستههای لینوکس پیش از ۱.۲ (مربوط به پیش از ۱۹۹۵) را فراهم میکنند. این مورد تنها برای آزمایش یا کاربرانی که میخواهند از سیستمهای بسیار قدیمی و تاریخی لینوکس استفاده کنند مورد نیاز است. مقدار پیشفرض کنونی (که توسط تمام سیستمهای لینوکس مدرن پشتیبانی میشود) بازنگری ۱ است.
- root_owner[=uid:gid]
- شناسه کاربری (UID) و شناسه گروهی (GID) عددی دایرکتوری ریشه را مشخص میکند. اگر هیچ UID:GID مشخص نشود، از شناسه کاربری و گروهی کاربری که mke2fs را اجرا میکند استفاده میشود. در mke2fs نسخه ۱.۴۲ و پیش از آن، UID و GID دایرکتوری ریشه بهطور پیشفرض بر روی UID و GID کاربری که دستور mke2fs را اجرا میکرد تنظیم میشد. گزینه root_owner= امکان تعیین صریح این مقادیر را فراهم میآورد و از اثرات جانبی برای کاربرانی که انتظار ندارند محتویات سیستمفایل بر اساس کاربری که mke2fs را اجرا میکند تغییر کند جلوگیری مینماید.
- root_perms[=مجوزها]
- مجوزهای دایرکتوری ریشه را در قالب اکتال (مبنای ۸) مشخص میکند. اگر مجوزی مشخص نشود، مجوزهای دایرکتوری ریشه مطابق با umask پیشفرض سیستمفایل تنظیم خواهد شد.
- stride=اندازه_گام
- سیستمفایل را برای یک آرایه RAID با اندازه_گام بلوک سیستمفایل پیکربندی میکند. این تعداد بلوکهایی است که پیش از انتقال به دیسک بعدی روی دیسک خوانده یا نوشته میشود، که گاهی به آن chunk size (اندازه تکه) نیز گفته میشود. این گزینه بیشتر بر محل قرارگیری متادادههای سیستمفایل مانند بیتمپها در زمان mke2fs تأثیر میگذارد تا از قرار دادن آنها روی یک دیسک منفرد (که میتواند به کارایی آسیب بزند) جلوگیری شود. همچنین ممکن است توسط تخصیصدهنده بلوک استفاده شود.
- stripe_width=عرض_نواره
- سیستمفایل را برای یک آرایه RAID با عرض_نواره بلوک سیستمفایل در هر نواره (stripe) پیکربندی میکند. این مقدار معمولاً برابر با اندازه_گام * N است، که در آن N تعداد دیسکهای حامل داده در RAID است (برای مثال در RAID 5 یک دیسک پاریتی وجود دارد، بنابراین N برابر با تعداد دیسکهای آرایه منهای ۱ خواهد بود). این گزینه به تخصیصدهنده بلوک اجازه میدهد در صورت امکان هنگام نوشتن دادهها، از عملیات خواندن-اصلاح-نوشتن پاریتی در یک نواره RAID جلوگیری کند.
- test_fs
- پرچمی را در سوپربلاک سیستمفایل تنظیم میکند که نشان میدهد میتوان آن را با استفاده از کدهای آزمایشی هسته، مانند سیستمفایل ext4dev، سوار کرد.
- -F
- اجبار mke2fs به ایجاد سیستمفایل، حتی اگر دستگاه مشخصشده یک پارتیشن روی یک دستگاه خاص بلاکی نباشد، یا در صورتی که سایر پارامترها نامعقول به نظر برسند. به منظور اجبار mke2fs به ایجاد یک سیستمفایل حتی در حالتی که به نظر برسد سیستمفایل در حال استفاده است یا سوار شده است (کاری که واقعاً خطرناک است)، این گزینه باید دو بار مشخص شود.
- -g بلوک_در_گروه
- تعداد بلوکها در یک گروه بلوک را مشخص میکند. بهطور کلی دلیلی وجود ندارد که کاربر هرگز این پارامتر را تنظیم کند، زیرا مقدار پیشفرض برای سیستمفایل بهینه است. (برای مدیرانی که در حال ایجاد سیستمفایل روی آرایههای RAID هستند، ترجیح داده میشود که از پارامتر RAID مربوط به stride بهعنوان بخشی از گزینه -E بهجای دستکاری تعداد بلوکها در هر گروه استفاده شود.) این گزینه عموماً توسط توسعهدهندگانی که در حال توسعه موارد آزمایشی هستند استفاده میشود.
- اگر ویژگی bigalloc فعال باشد، گزینه -g تعداد کلاسترها را در یک گروه بلوک مشخص میکند.
- -G تعداد_گروهها
- تعداد گروههای بلوکی را که برای ایجاد یک گروه بلوک مجازی بزرگتر (یا "گروه flex_bg") در یک سیستمفایل ext4 در کنار هم فشرده میشوند مشخص میکند. این کار محلیسازی متاداده و کارایی را در بارهای کاری سنگین متاداده بهبود میبخشد. تعداد گروهها باید توانی از ۲ باشد و تنها زمانی میتواند مشخص شود که ویژگی سیستمفایل 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 ذخیرهشده در سوپربلاک ext2 در ابتدای ژورنال یافت شود. برای نمایش برچسب حجم و UUID یک دستگاه ژورنال از dumpe2fs(8) استفاده کنید. همچنین گزینه -L در tune2fs(8) را ببینید.
- fast_commit_size=اندازه_تعهد_سریع
- ایجاد یک ناحیه ژورنال تعهد سریع اضافی به اندازه اندازه_تعهد_سریع کیلوبایت. این گزینه تنها در صورتی معتبر است که ویژگی fast_commit روی سیستمفایل فعال باشد. اگر این گزینه مشخص نشود و ویژگی fast_commit فعال باشد، اندازه ناحیه تعهد سریع بهطور پیشفرض برابر با اندازه_ژورنال تقسیم بر ۶۴ مگابایت خواهد بود. اندازه کل ژورنال در صورت تنظیم ویژگی fast_commit برابر است با اندازه_ژورنال + ( اندازه_تعهد_سریع * ۱۰۲۴) مگابایت. اندازه کل ژورنال نباید از ۱۰,۲۴۰,۰۰۰ بلوک سیستمفایل یا نصف اندازه کل سیستمفایل (هر کدام کوچکتر باشد) بیشتر باشد.
- location=مکان_ژورنال
- مشخص کردن مکان ژورنال. آرگومان مکان_ژورنال میتواند بهعنوان شماره بلوک تعیین شود، یا اگر عدد دارای پسوند واحدها (مانند 'M'، 'G' و غیره) باشد، بهعنوان افست از ابتدای سیستمفایل تفسیر میشود.
- size=اندازه_ژورنال
- ایجاد یک ژورنال داخلی (یعنی ذخیرهشده در داخل سیستمفایل) با اندازه اندازه_ژورنال مگابایت. اندازه ژورنال باید حداقل ۱۰۲۴ بلوک سیستمفایل باشد (یعنی ۱ مگابایت در صورت استفاده از بلوکهای ۱ کیلوبایتی، ۴ مگابایت در صورت استفاده از بلوکهای ۴ کیلوبایتی و غیره) و نمیتواند از ۱۰,۲۴۰,۰۰۰ بلوک سیستمفایل یا نصف اندازه کل سیستمفایل (هر کدام کوچکتر باشد) بیشتر شود.
- تنها یکی از گزینههای size یا device میتواند برای یک سیستمفایل تعیین شود.
- -l نام_فایل
- خواندن فهرست بلوکهای خراب از نام_فایل. توجه داشته باشید که شماره بلوکها در فهرست بلوکهای خراب باید با همان اندازه بلوکی ایجاد شده باشند که توسط mke2fs استفاده میشود. در نتیجه، گزینه -c در mke2fs روش بسیار سادهتر و با احتمال خطای کمتری برای بررسی دیسک از نظر بلوکهای خراب پیش از فرمت کردن آن است، زیرا mke2fs پارامترهای صحیح را بهطور خودکار به برنامه badblocks ارسال خواهد کرد.
- -L برچسب_حجم_جدید
- تنظیم برچسب حجم برای سیستمفایل بر روی برچسب_حجم_جدید. حداکثر طول برچسب حجم ۱۶ بایت است.
- -m درصد_بلوکهای_رزرو
- مشخص کردن درصد بلوکهای سیستمفایل که برای کاربر ارشد (super-user) رزرو شدهاند. این کار از تکهتکه شدن جلوگیری میکند و به دیمنهای تحت مالکیت root مانند syslogd(8) اجازه میدهد پس از اینکه فرآیندهای بدون امتیاز از نوشتن در سیستمفایل منع شدند، همچنان بهدرستی به کار خود ادامه دهند. درصد پیشفرض ۵٪ است.
- -M آخرین_دایرکتوری_سوارشده
- تنظیم آخرین دایرکتوری سوارشده برای سیستمفایل. این میتواند برای ابزارهایی که بر اساس آخرین دایرکتوری سوارشده محل سوار شدن سیستمفایل را تعیین میکنند مفید باشد.
- -n
- باعث میشود mke2fs در عمل سیستمفایل را نسازد، بلکه آنچه را در صورت ایجاد سیستمفایل انجام میداد نمایش دهد. این قابلیت میتواند برای تعیین محل سوپربلاکهای پشتیبان در یک سیستمفایل خاص مورد استفاده قرار گیرد، تا زمانی که همان پارامترهای mke2fs که در زمان ایجاد اولیه سیستمفایل ارسال شده بودند دوباره استفاده شوند (البته با اضافه شدن گزینه -n!).
- -N تعداد_آینودها
- محاسبه پیشفرض تعداد آینودهایی را که باید برای سیستمفایل رزرو شوند (که بر اساس تعداد بلوکها و نسبت بایت_به_ازای_آینود است) لغو میکند. این به کاربر اجازه میدهد تعداد آینودهای مورد نظر را مستقیماً مشخص نماید.
- -o سیستمعامل_سازنده
- مقدار پیشفرض فیلد «سیستمعامل سازنده» سیستمفایل را لغو میکند. فیلد سازنده بهطور پیشفرض روی نام سیستمعاملی تنظیم میشود که فایل اجرایی 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 که بر چیدمان روی دیسک تأثیر میگذارند، بسیار حیاتی است که در هنگام استفاده از این گزینه دقیقاً همان گزینههای فرمت، مانند اندازه بلوک، نوع سیستمفایل، پرچمهای ویژگی و سایر مقادیر تنظیمی مشخص شوند، در غیر این صورت سیستمفایل بیشتر خراب خواهد شد. در برخی موارد، مانند سیستمفایلهایی که تغییر اندازه داده شدهاند یا ویژگیهایی پس از زمان فرمت در آنها فعال شده است، رونویسی صحیح همه سوپربلاکها غیرممکن است و دستکم مقداری خرابی در سیستمفایل رخ خواهد داد. بهتر است این دستور بر روی یک رونوشت کامل از سیستمفایل اجرا شود تا در صورت عدم موفقیت، گزینههای دیگر قابل آزمایش باشند.
- -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 رشتهای از ارقام هگزادسیمال جداشده با خط تیره است، مانند این: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". پارامتر شناسه_یکتا میتواند یکی از موارد زیر نیز باشد:
- -v
- اجرای پرگو (نمایش با جزئیات کامل).
- -V
- چاپ شماره نسخه mke2fs و خروج.
- -z فایل_لغو
- پیش از
بازنویسی
یک بلوک
سیستمفایل،
محتوای
قبلی آن
بلوک را در
یک فایل لغو
(undo file) ذخیره
میکند. این
فایل لغو را
میتوان با
e2undo(8) برای
بازگرداندن
محتوای
قبلی
سیستمفایل
در صورت
بروز خطا
استفاده
کرد. اگر
رشته خالی
بهعنوان
آرگومان
فایل_لغو
ارسال شود،
فایل لغو در
فایلی با
نام
mke2fs-دستگاه.e2undo
در
دایرکتوری
مشخصشده
از طریق
متغیر
محیطی E2FSPROGS_UNDO_DIR
یا
دستورالعمل
undo_dir در فایل
پیکربندی
نوشته
خواهد شد.
هشدار: از فایل لغو نمیتوان برای بازیابی پس از قطعی برق یا خرابی سیستم (crash) استفاده کرد.
متغیرهای محیطی (ENVIRONMENT)
- MKE2FS_SYNC
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، از مقدار آن برای تعیین فواصل فراخوانی sync(2) در طول مقداردهی اولیه جدول آینود استفاده میشود.
- MKE2FS_CONFIG
- مکان فایل پیکربندی را تعیین میکند (به mke2fs.conf(5) مراجعه کنید).
- MKE2FS_FIRST_META_BG
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، از مقدار آن برای تعیین نخستین گروه متا بلوک استفاده میشود. این بیشتر برای اهداف اشکالزدایی کاربرد دارد.
- MKE2FS_DEVICE_SECTSIZE
- اگر روی یک مقدار عددی صحیح غیرصفر تنظیم شود، از مقدار آن برای تعیین اندازه سکتور منطقی دستگاه استفاده میشود.
- 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 |