FSTAB(5) قالب‌های پرونده FSTAB(5)

fstab - اطلاعات ایستا درباره سیستم‌های فایل

/etc/fstab

پروندهٔ fstab حاوی اطلاعات توصیفی درباره سیستم‌های فایلی است که رایانه می‌تواند سوار (mount) کند. پروندهٔ fstab فقط توسط برنامه‌ها خوانده می‌شود و روی آن نوشته نمی‌شود؛ مسئولیت ایجاد و نگهداری درست این پرونده بر عهدهٔ مدیر سیستم است. ترتیب رکوردها در fstab حائز اهمیت است، زیرا دستورهای fsck(8)، mount(8) و umount(8) برای انجام وظایف خود، به ترتیب از رکوردهای fstab عبور می‌کنند.

این پرونده نه‌تنها توسط mount(8) خوانده می‌شود، بلکه اغلب توسط بسیاری از ابزارها و سرویس‌های دیگر نیز استفاده می‌شود، و عملکرد صحیح ممکن است به گام‌های اضافی نیاز داشته باشد. برای مثال، در سیستم‌های مبتنی بر systemd توصیه می‌شود پس از ویرایش fstab از دستور systemctl daemon-reload استفاده شود.

برای جزئیات مربوط به پیکربندی فضای حافظه مجازی مبادله (swap) در fstab به صفحهٔ راهنمای swapon(8) مراجعه کنید.

هر سیستم فایل در یک خط جداگانه توصیف می‌شود و فیلدها با نویسه‌های تب (tab) یا فاصله (space) از یکدیگر جدا می‌گردند. خط قبل از تحلیل (parse) شدن به فیلدها تقسیم می‌شود. این بدان معناست که هرگونه فاصله یا نویسهٔ تب درون فیلدها باید با \040 یا \011 فرار (escape) داده شود، حتی در رشته‌های نقل‌قول‌شده (مانند LABEL="foo\040bar").

خطوطی که با '#' شروع می‌شوند، توضیحات (کامنت) هستند. خطوط خالی نادیده گرفته می‌شوند.

در ادامه یک نمونهٔ متداول از مدخل fstab آورده شده است:

LABEL=t-home2   /home      ext4    defaults,auto_da_alloc      0  2

این فیلد دستگاه بلوکی ویژه، سیستم فایل راه دور، تصویر سیستم فایل برای سوار کردن دستگاه loop، یا پرونده یا دستگاه مبادله (swap) که باید فعال شود را توصیف می‌کند.

برای عملیات سوار کردن عادی، این فیلد حاوی (پیوندی به) گره دستگاه بلوکی ویژه (ایجادشده توسط mknod(2)) برای دستگاه مورد نظر خواهد بود؛ مانند /dev/cdrom یا /dev/sdb7. برای اتصالات NFS، این فیلد به صورت <host>:<dir> است؛ مانند knuth.aeb.nl:/. برای سیستم‌های فایلی که فضای ذخیره‌سازی ندارند، می‌توان از هر رشته‌ای استفاده کرد و این رشته برای مثال در خروجی df(1) نمایش داده خواهد شد. کاربرد رایج، استفاده از proc برای procfs، و mem، none یا tmpfs برای tmpfs است. سایر سیستم‌های فایل ویژه مانند udev و sysfs معمولاً در fstab فهرست نمی‌شوند.

به جای نام دستگاه می‌توان از LABEL=<label> یا UUID=<uuid> استفاده کرد. این روش توصیه می‌شود، زیرا نام‌های دستگاه‌ها اغلب حاصل ترتیب شناسایی سخت‌افزار هستند و با افزودن یا حذف دیسک‌های دیگر ممکن است تغییر کنند؛ برای نمونه 'LABEL=Boot' یا 'UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'. (برای تنظیم برچسب‌ها روی سیستم‌های فایل از ابزارهای ویژه آن سیستم فایل مانند e2label(8)، xfs_admin(8) یا fatlabel(8) استفاده کنید).

همچنین امکان استفاده از PARTUUID= و PARTLABEL= وجود دارد. این شناسه‌های پارتیشن برای نمونه در جدول پارتیشن GUID ‏(GPT) پشتیبانی می‌شوند.

برای جزئیات بیشتر درباره شناسه‌های دستگاه به mount(8)، blkid(8) یا lsblk(8) مراجعه کنید.

توجه داشته باشید که mount(8) از شناسه‌های UUID به صورت رشته استفاده می‌کند. نمایش رشته‌ای UUID باید مبتنی بر حروف کوچک باشد. اما هنگام مشخص کردن شناسه حجم برای سیستم‌های فایل FAT یا NTFS از حروف بزرگ استفاده می‌شود (مانند UUID="A40D-85E7" یا UUID="61DB7756DB7779B3").

این فیلد نقطهٔ سوار کردن (هدف) را برای سیستم فایل توصیف می‌کند. برای فضای swap، این فیلد باید برابر با none مشخص شود. اگر نام نقطهٔ سوار کردن شامل فاصله یا نویسهٔ تب باشد، می‌توان آن‌ها را به ترتیب به صورت \040 و \011 فرار داد.

این فیلد نوع سیستم فایل را توصیف می‌کند. لینوکس از انواع مختلفی از سیستم‌های فایل پشتیبانی می‌کند: ext4، xfs، btrfs، f2fs، vfat، ntfs، hfsplus، tmpfs، sysfs، proc، iso9660، udf، squashfs، nfs، cifs و موارد بسیار دیگر. برای جزئیات بیشتر به mount(8) مراجعه کنید.

مدخل swap نشان‌دهنده یک پرونده یا پارتیشن برای استفاده به عنوان فضای مبادله (swap) است؛ مقایسه کنید با swapon(8). مدخل none برای اتصالات نوع bind یا move کاربرد دارد.

می‌توان بیش از یک نوع را در یک فهرست با کاما جدا کرد.

دستورهای mount(8) و umount(8) از زیرنوع‌های سیستم فایل پشتیبانی می‌کنند. زیرنوع با پسوند '.subtype' مشخص می‌شود؛ برای نمونه 'fuse.sshfs'. توصیه می‌شود به جای اضافه کردن هرگونه پیشوند به فیلد نخست در fstab از شیوه نگارش زیرنوع استفاده شود (برای مثال 'sshfs#example.com' منسوخ شده است).

این فیلد گزینه‌های سوار کردن مربوط به سیستم فایل را توصیف می‌کند.

این فیلد به صورت فهرستی از گزینه‌ها که با کاما از هم جدا شده‌اند قالب‌بندی می‌شود و برای mount(8) یا swapon(8) اختیاری است. عرف معمول این است که دست‌کم از کلیدواژهٔ "defaults" در آن استفاده شود.

معمولاً شامل نوع اتصال (ro یا rw، پیش‌فرض rw است) به همراه هرگونه گزینهٔ اضافی مناسب برای نوع سیستم فایل (از جمله گزینه‌های تنظیم عملکرد) می‌باشد. برای جزئیات به mount(8) یا swapon(8) نگاه کنید.

گزینه‌های پایه و مستقل از سیستم فایل عبارتند از:

defaults

استفاده از گزینه‌های پیش‌فرض. مقدار پیش‌فرض به هسته و سیستم فایل بستگی دارد. دستور mount(8) هیچ مجموعه گزینهٔ پیش‌فرضِ کدگذاری‌شده‌ای ندارد. پیش‌فرض هسته معمولاً rw، suid، dev، exec، auto، nouser و async است.

noauto

هنگام اجرای mount -a (مثلاً در زمان راه‌اندازی سیستم) سوار نشود.

user

اجازه به کاربر عادی برای سوار کردن.

owner

اجازه به مالک دستگاه برای سوار کردن.

comment

یا x-<name> برای استفاده توسط برنامه‌های نگه‌دارندهٔ fstab.

nofail

در صورت عدم وجود دستگاه، خطایی گزارش نشود.

این فیلد توسط dump(8) استفاده می‌شود تا مشخص کند کدام سیستم‌های فایل باید پشتیبان‌گیری (dump) شوند. در صورت عدم وجود، مقدار پیش‌فرض صفر است (پشتیبان‌گیری نشود).

این فیلد توسط fsck(8) استفاده می‌شود تا ترتیب بررسی سیستم‌های فایل را در زمان راه‌اندازی سیستم تعیین کند. سیستم فایل ریشه (root) باید با fs_passno برابر با 1 مشخص شود. سایر سیستم‌های فایل باید مقدار fs_passno برابر با 2 داشته باشند. سیستم‌های فایل روی یک دیسک به صورت متوالی بررسی می‌شوند، اما سیستم‌های فایل روی دیسک‌های مختلف هم‌زمان بررسی خواهند شد تا از قابلیت اجرای موازی در سخت‌افزار استفاده شود. در صورت عدم وجود، مقدار پیش‌فرض صفر است (سیستم فایل بررسی نشود).

/etc/fstab، <fstab.h>

روش صحیح خواندن رکوردها از fstab استفاده از توابع getmntent(3) یا کتابخانه libmount است.

کلیدواژهٔ ignore به عنوان نوع سیستم فایل (فیلد سوم) دیگر توسط ابزار mount مبتنی بر libmount پشتیبانی نمی‌شود (از نسخهٔ util-linux v2.22).

این سند نحوهٔ کار با fstab در util-linux و libmount را شرح می‌دهد. برای systemd به مستندات systemd مراجعه کنید؛ تفاوت‌های اندکی وجود دارد.

قالب اولیه و نیاکان این ساختار پروندهٔ fstab در 4.0BSD پدیدار شد.

getmntent(3)، fs(5)، findmnt(8)، mount(8)، swapon(8)

برای گزارش باگ‌ها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.

پروندهٔ fstab بخشی از بستهٔ util-linux است که می‌توان آن را از آرشیو هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux.

2026-09-02 util-linux 2.42.3