| SYSTEMD-FSTAB-GENERATOR(8) | systemd-fstab-generator | SYSTEMD-FSTAB-GENERATOR(8) |
نام (NAME)
systemd-fstab-generator - مولد واحدهای مانت سیستمد از فایل /etc/fstab
خلاصه دستور (SYNOPSIS)
/usr/lib/systemd/system-generators/systemd-fstab-generator
توضیحات (DESCRIPTION)
systemd-fstab-generator یک مولد است که /etc/fstab (برای جزئیات به fstab(5) مراجعه کنید) را در مراحل اولیه راهاندازی سیستم و هنگام بارگذاری مجدد پیکربندی مدیر سیستم به واحدهای بومی سیستمد ترجمه میکند. این امر در صورت لزوم واحدهای مانت و سواپ را ایجاد خواهد کرد.
فیلد passno مانند یک مقدار بولی ساده در نظر گرفته میشود و اطلاعات مربوط به ترتیب اولویت نادیده گرفته میشود. با این حال، در صورتی که فایلسیستم ریشه بررسی شود، پیش از تمام فایلسیستمهای دیگر بررسی خواهد شد.
برای اطلاعات بیشتر درباره گزینههای مانت ویژه /etc/fstab که توسط این مولد پشتیبانی میشوند، به systemd.mount(5) و systemd.swap(5) مراجعه کنید.
یکی از موضوعات ویژه، مدیریت پیوندهای نمادین است. پیادهسازیهای قدیمی init از پیوندهای نمادین در /etc/fstab پشتیبانی میکردند. از آنجا که واحدهای مانت اتصالهایی را که مقصد آنها یک پیوند نمادین است رد میکنند، این مولد هنگام پردازش /etc/fstab برای افزایش سازگاری با گذشته، تمام پیوندهای نمادین را تا جای ممکن حل میکند. اگر مقصد پیوند نمادین در زمان اجرای این مولد وجود نداشته باشد، فرض میشود که مقصد پیوند نمادین همان مقصد نهایی مانت است.
دستور systemd-fstab-generator مشخصات systemd.generator(7) را پیادهسازی میکند.
خط فرمان هسته (KERNEL COMMAND LINE)
systemd-fstab-generator پارامترهای خط فرمان هسته زیر را پشتیبانی میکند:
fstab=, rd.fstab=
در نسخه 186 اضافه شد.
root=
با تنظیم روی "gpt-auto"، "gpt-auto-force"، "dissect"، "dissect-force" شناسایی خودکار فایلسیستم ریشه را بهطور صریح درخواست میکنید که در systemd-gpt-auto-generator(8) پیادهسازی شده است.
از "fstab" استفاده کنید تا شناسایی خودکار فایلسیستم ریشه را صراحتاً از طریق /etc/fstab درون initrd درخواست کنید، نه از طریق خط فرمان هسته.
از "tmpfs" استفاده کنید تا یک فایلسیستم tmpfs(5) به عنوان فایلسیستم ریشه سیستمعامل مانت شود. این مقدار در ترکیب با mount.usr= (در ادامه مشاهده کنید) برای ترکیب یک فایلسیستم ریشه موقت با یک فایلسیستم مجزا و تغییرناپذیر /usr/ مفید است. همچنین به systemd.volatile= در ادامه مراجعه کنید.
از "bind:..." استفاده کنید تا پوشه دیگری را به عنوان فایلسیستم ریشه سیستمعامل بهصورت bind مانت کنید (در نسخه 258 اضافه شد). این گزینه انتظار یک نام مسیر مطلق را دارد که به یک پوشه موجود در ساختار سلسلهمراتبی فایلهای initrd برای بوت شدن اشاره کند. از آنجا که فایلسیستم ریشه حاصل باید رفتاری مشابه ریشه معمول سیستمعامل داشته باشد، مانت bind با گزینههای dev، suid و exec برقرار میشود (یعنی فلگهای nodev، nosuid و noexec که در غیر این صورت از فایلسیستمی که پوشه مبدا روی آن قرار دارد، مانند /run/ به ارث برده میشدند، پاک میشوند)، مگر آنکه از طریق rootflags= بازنویسی شوند.
مقدار را برابر با "off" قرار دهید تا مانت شدن فایلسیستم ریشه غیرفعال شود.
توجه داشته باشید که مقادیر بیشتری برای root= ممکن است پشتیبانی شوند که در بستههای جانبی پیادهسازی شدهاند.
در نسخه 217 اضافه شد.
rootfstype=
در نسخه 217 اضافه شد.
rootflags=
توجه داشته باشید که برخلاف اکثر گزینههای خط فرمان هسته، این تنظیم گزینههای مشخصشده در فایلهای پیکربندی را بازنویسی نمیکند (بهویژه: رشته گزینههای مانت در /etc/fstab). به systemd-remount-fs.service(8) مراجعه کنید.
در نسخه 217 اضافه شد.
mount.usr=
مقدار را برابر با "dissect" قرار دهید تا شناسایی خودکار فایلسیستم /usr/ را بهطور صریح درخواست کنید که در systemd-gpt-auto-generator(8) پیادهسازی شده است.
مقدار را برابر با "off" قرار دهید تا مانت فایلسیستم مجزای /usr/ غیرفعال شود.
mount.usr= توسط initrd رعایت میشود.
در نسخه 217 اضافه شد.
mount.usrfstype=
در غیر این صورت، این مقدار از مدخل مربوط به /usr/ در /etc/fstab واقع بر روی فایلسیستم ریشه خوانده میشود.
mount.usrfstype= توسط initrd رعایت میشود.
در نسخه 217 اضافه شد.
mount.usrflags=
در غیر این صورت، این مقدار از مدخل مربوط به /usr/ در /etc/fstab واقع بر روی فایلسیستم ریشه خوانده میشود.
mount.usrflags= توسط initrd رعایت میشود.
در نسخه 217 اضافه شد.
roothash=, usrhash=
در نسخه 251 اضافه شد.
systemd.volatile=
اگر برابر با "no" باشد (پیشفرض)، این مولد هیچ تغییری در درخت مانت ایجاد نمیکند و سیستم در حالت عادی بوت میشود.
اگر برابر با "yes" باشد، این مولد اطمینان حاصل میکند که systemd-volatile-root.service(8) در initrd اجرا شود. این سرویس جدول مانت را پیش از انتقال به سیستم میزبان تغییر میدهد، بهطوری که یک فایلسیستم حافظه فرّار ("tmpfs") به عنوان پوشه ریشه استفاده میشود و فقط /usr/ از فایلسیستم ریشه پیکربندیشده در حالت فقطخواندنی (read-only) درون آن مانت میشود. به این ترتیب سیستم در حالت کاملاً بدون وضعیت (stateless) کار میکند، که در آن تمام پیکربندیها و وضعیتها هنگام بوت بازنشانی شده و هنگام خاموش شدن سیستم از دست میروند، زیرا /etc/ و /var/ از فایلسیستم حافظه فرّار (که در ابتدا پر نشده است) ارائه میشوند.
اگر روی "state" تنظیم شود، این مولد نقطه مانت پوشه ریشه را دستنخورده باقی میگذارد، اما یک فایلسیستم "tmpfs" را روی /var/ مانت میکند. در این حالت، پیکربندی عادی سیستم (یعنی محتوای "/etc/") اعمال میشود (و ممکن است در حین اجرای سیستم تغییر کند)، اما وضعیت سیستم (یعنی محتوای "/var/") هنگام راهاندازی بازنشانی شده و هنگام خاموش شدن از دست میرود.
اگر این تنظیم روی "overlay" قرار گیرد، فایلسیستم ریشه به عنوان یک مانت "overlayfs" برقرار میشود که پوشه ریشه فقطخواندنی را با یک "tmpfs" قابلنوشتن ترکیب میکند، بهگونهای که هیچ تغییری روی دیسک ذخیره نمیشود، اما با این حال میتوان در فایلسیستم تغییراتی اعمال کرد که البته تمام این تغییرات با راهاندازی مجدد (reboot) از بین خواهند رفت.
توجه داشته باشید که در هیچیک از این حالتها، پوشه ریشه، /etc/، /var/ یا هر منبع دیگری که در فایلسیستم ریشه ذخیره شده است، بهصورت فیزیکی حذف نمیشوند. بنابراین بوت کردن موقت سیستمی که معمولاً در حالت غیرفرّار کار میکند به حالت فرّار، بدون از دست رفتن دادهها کاملاً ایمن است.
توجه داشته باشید که بهجز حالت "overlay"، فعال کردن این تنظیم فقط در سیستمعاملهایی بهدرستی کار میکند که قادر باشند فقط با مانت بودن /usr/ راهاندازی شوند و توانایی پر کردن خودکار /etc/ و همچنین /var/ را در حالت "systemd.volatile=yes" داشته باشند.
همچنین برای روشی جهت ترکیب فایلسیستم "tmpfs" با یک فایلسیستم معمولی /usr/ (که از طریق mount.usr= پیکربندی میشود) به root=tmpfs در بالا مراجعه کنید. تمایز اصلی میان systemd.volatile=yes و ترکیب root=tmpfs با mount.usr= این است که حالت اول روی یک فایلسیستم ریشه معمولی عمل میکند و موقتاً فایلها و پوشههای بالاتر از زیرپوشه /usr/ آن را میپوشاند، در حالی که حالت دوم هیچ فایلی را پنهان نمیکند، بلکه صرفاً یک tmpfs خالی را به عنوان فایلسیستم ریشه مانت کرده و آن را با یک فایلسیستم انتخابشده توسط کاربر برای /usr/ ترکیب میکند.
در نسخه 233 اضافه شد.
systemd.swap=
در نسخه 246 اضافه شد.
systemd.mount-extra=WHAT:WHERE[:FSTYPE[:OPTIONS]], rd.systemd.mount-extra=WHAT:WHERE[:FSTYPE[:OPTIONS]]
مثال:
systemd.mount-extra=/dev/sda1:/mount-point:ext4:rw,noatime
در نسخه 254 اضافه شد.
systemd.swap-extra=WHAT[:OPTIONS], rd.systemd.swap-extra=WHAT[:OPTIONS]
مثال:
systemd.swap-extra=/dev/sda2:x-systemd.makefs
در نسخه 254 اضافه شد.
اعتبارنامههای سیستم (SYSTEM CREDENTIALS)
fstab.extra
در نسخه 254 اضافه شد.
همچنین ببینید (SEE ALSO)
systemd(1), fstab(5), systemd.mount(5), systemd.swap(5), systemd-cryptsetup-generator(8), systemd-gpt-auto-generator(8), kernel-command-line(7), Known Environment Variables[1]
یادداشتها (NOTES)
- 1.
- Known Environment Variables
| systemd 261.2 |