MOUNT(8) دستورات مدیریت سیستم MOUNT(8)

mount - سوار کردن و اتصال یک سیستم پرونده

mount [-h|-V]

mount [-l] [-t fstype]

mount -a [-fFnrsvw] [-t fstype] [-O optlist]

mount [-fnrsvw] [-o options] device|mountpoint

mount [-fnrsvw] [-t fstype] [-o options] device mountpoint

mount --bind|--rbind|--move olddir newdir

mount --make-[shared|slave|private|unbindable|rshared|rslave|rprivate|runbindable] mountpoint

دستور mount سیستمهای پرونده موجود بر روی دستگاههای مختلف را به درخت دایرکتوری لینوکس متصل میکند.

تمام پرونده‌های قابل دسترسی در یک سیستم یونیکس در یک درخت واحد بزرگ، یعنی سلسله‌مراتب فایل‌ها، که ریشه آن / است، چیده شده‌اند. این پرونده‌ها می‌توانند در میان چندین دستگاه پخش شده باشند. دستور mount برای پیوست کردن سیستم پرونده موجود روی یک دستگاه به این درخت بزرگ فایل‌ها به کار می‌رود. در مقابل، دستور umount(8) مجدداً آن را جدا می‌کند. سیستم پرونده برای کنترل نحوه ذخیره‌سازی داده‌ها روی دستگاه یا ارائه آن‌ها به شکل مجازی از طریق شبکه یا سایر سرویس‌ها استفاده می‌شود.

شکل استاندارد دستور mount به صورت زیر است:

mount -t type device dir

این دستور به هسته لینوکس اعلام می‌کند که سیستم پرونده موجود بر روی device (که از نوع type است) را به دایرکتوری dir متصل کند. گزینه -t type اختیاری است. دستور mount معمولاً قادر است نوع سیستم پرونده را به صورت خودکار تشخیص دهد. به طور پیش‌فرض دسترسی‌های ریشه (root) برای اتصال یک سیستم پرونده الزامی است. برای جزئیات بیشتر به بخش «اتصالات کاربران غیر ریشه» در ادامه مراجعه کنید. محتویات قبلی (در صورت وجود)، مالک و حالت دسترسی دایرکتوری dir نامرئی می‌شوند، و تا زمانی که این سیستم پرونده متصل بماند، مسیر dir به ریشه سیستم پرونده روی device اشاره می‌کند.

اگر فقط دایرکتوری یا فقط دستگاه داده شود، برای مثال:

mount /dir

آن‌گاه mount به دنبال یک نقطه اتصال (و در صورت نیافتن، به دنبال یک دستگاه) در پرونده /etc/fstab می‌گردد. می‌توان از گزینه‌های --target یا --source برای جلوگیری از تفسیر مبهم آرگومان داده‌شده استفاده کرد. برای مثال:

mount --target /mountpoint

یک سیستم پرونده ممکن است بیش از یک بار متصل شود، و در برخی موارد (مانند سیستم‌های پرونده شبکه‌ای) همان سیستم پرونده ممکن است چندین بار روی یک نقطه اتصال سوار شود. دستور mount هیچ سیاستی را برای کنترل این رفتار اعمال نمی‌کند. تمامی این رفتارها توسط هسته کنترل شده و معمولاً وابسته به درایور سیستم پرونده است. استثنا گزینه --all است؛ در این حالت سیستم‌های پرونده‌ای که هم‌اکنون متصل هستند نادیده گرفته می‌شوند (برای جزئیات بیشتر به --all در زیر مراجعه کنید).

حالت فهرست کردن فقط برای سازگاری با نسخه‌های گذشته حفظ شده است.

برای خروجی پایدارتر و قابل سفارشی‌سازی‌تر، از findmnt(8) استفاده کنید، به‌ویژه در اسکریپت‌های خود. توجه داشته باشید که نویسه‌های کنترلی در نام نقطه اتصال با '?' جایگزین می‌شوند.

دستور زیر تمام سیستم‌های پرونده متصل‌شده (از نوع type) را فهرست می‌کند:

mount [-l] [-t type]

گزینه -l برچسب‌ها را به این فهرست اضافه می‌کند. در زیر مشاهده کنید.

بیشتر دستگاه‌ها با یک نام پرونده (یک دستگاه ویژه بلوکی) مانند /dev/sda1 مشخص می‌شوند، اما گزینه‌های دیگری نیز وجود دارد. برای مثال در اتصال NFS، ممکن است device به شکل knuth.cwi.nl:/dir باشد.

نام دستگاه‌های پارتیشن‌های دیسک ناپایدار هستند؛ بازپیکربندی سخت‌افزار و افزودن یا حذف دستگاه می‌تواند موجب تغییر نام‌ها شود. به همین دلیل اکیداً توصیه می‌شود از شناسه‌های سیستم پرونده یا پارتیشن مانند UUID یا LABEL استفاده شود. شناسه‌های پشتیبانی‌شده کنونی (تگ‌ها):

LABEL=label

شناسه خوانا برای انسان سیستم پرونده. همچنین -L را ببینید.

UUID=uuid

شناسه منحصربه‌فرد جهانی سیستم پرونده (UUID). قالب UUID معمولاً مجموعه‌ای از ارقام هگزادسیمال است که با خط تیره جدا شده‌اند. همچنین -U را ببینید.

توجه داشته باشید که mount از UUIDها به عنوان رشته متنی استفاده می‌کند. مقادیر UUID از خط فرمان یا از fstab(5) به نمایش دودویی داخلی تبدیل نمی‌شوند. نمایش رشته‌ای UUID باید با حروف کوچک باشد.

PARTLABEL=label

شناسه خوانا برای انسان پارتیشن. این شناسه مستقل از سیستم پرونده است و با عملیات‌های mkfs یا mkswap تغییر نمی‌کند. برای مثال در جدول‌های پارتیشن GUID (GPT) پشتیبانی می‌شود.

PARTUUID=uuid

شناسه منحصربه‌فرد جهانی پارتیشن. این شناسه مستقل از سیستم پرونده است و با عملیات‌های mkfs یا mkswap تغییر نمی‌کند. برای مثال در جدول‌های پارتیشن GUID (GPT) پشتیبانی می‌شود.

ID=id

شناسه دستگاه بلوکی سخت‌افزاری تولیدشده توسط udevd. این شناسه معمولاً بر پایه WWN (شناسه ذخیره‌سازی یکتا) است و توسط تولیدکننده سخت‌افزار اختصاص می‌یابد. برای جزئیات بیشتر به ls /dev/disk/by-id مراجعه کنید؛ وجود این دایرکتوری و اجرای udevd الزامی است. این شناسه برای استفاده عمومی توصیه نمی‌شود زیرا شناسه به طور دقیق تعریف نشده و به udev، قوانین udev و سخت‌افزار وابسته است.

دستور lsblk --fs نمای کلی سیستم‌های پرونده، برچسب‌ها و UUIDهای دستگاه‌های بلوکی موجود را فراهم می‌کند. دستور blkid -p <device> جزئیات مربوط به یک سیستم پرونده روی دستگاه مشخص‌شده را ارائه می‌دهد.

فراموش نکنید که هیچ تضمینی برای یکتا بودن واقعی UUIDها و برچسب‌ها وجود ندارد، به ویژه اگر دستگاه را جابه‌جا، به اشتراک‌گذاری یا کپی کنید. از lsblk -o +UUID,PARTUUID برای بررسی یکتایی واقعی UUIDها در سیستم خود استفاده کنید.

پیکربندی توصیه‌شده، استفاده از تگ‌ها (مانند UUID=uuid) به جای پیوندهای نمادین udev در مسیر /dev/disk/by-{label,uuid,id,partuuid,partlabel} در پرونده /etc/fstab است. تگ‌ها خواناتر، مقاوم‌تر و قابل حمل‌تر هستند. دستور mount(8) در لایه‌های درونی خود از پیوندهای نمادین udev استفاده می‌کند، بنابراین استفاده از پیوندهای نمادین در /etc/fstab مزیتی نسبت به تگ‌ها ندارد. برای اطلاعات بیشتر libblkid(3) را ببینید.

سیستم پرونده proc به هیچ دستگاه خاصی مرتبط نیست و هنگام اتصال آن، می‌توان از هر کلمه کلیدی دلخواه - برای مثال proc - به جای مشخصات دستگاه استفاده کرد. (انتخاب مرسوم none چندان مناسب نیست: پیام خطای «none already mounted» از سوی mount می‌تواند گیج‌کننده باشد.)

پرونده /etc/fstab (به fstab(5) مراجعه کنید) ممکن است شامل خطوطی باشد که توصیف می‌کنند چه دستگاه‌هایی معمولاً در کجا و با چه گزینه‌هایی متصل می‌شوند. مکان پیش‌فرض پرونده fstab(5) را می‌توان با گزینه خط فرمان --fstab path بازنویسی کرد (برای جزئیات بیشتر به ادامه مراجعه کنید).

دستور

mount -a [-t type] [-O optlist]

(که معمولاً در اسکریپت بوت سیستم اجرا می‌شود) باعث می‌شود تمام سیستم‌های پرونده ذکرشده در fstab (از نوع مناسب و/یا دارای یا فاقد گزینه‌های مربوطه) همان‌طور که مشخص شده متصل شوند، به جز مواردی که خط آن‌ها حاوی کلمه کلیدی noauto است. افزودن گزینه -F باعث فورک شدن mount می‌شود تا سیستم‌های پرونده به صورت موازی سوار شوند.

هنگام اتصال سیستم پرونده‌ای که در fstab یا mtab ذکر شده است، کافی است در خط فرمان فقط دستگاه یا فقط نقطه اتصال را مشخص کنید.

برنامه‌های mount و umount(8) به طور سنتی فهرستی از سیستم‌های پرونده متصل‌شده کنونی را در پرونده /etc/mtab نگهداری می‌کردند. پشتیبانی از پرونده معمولی کلاسیک /etc/mtab به طور پیش‌فرض در زمان کامپایل کاملاً غیرفعال شده است، زیرا در سیستم‌های لینوکس امروزی بهتر است /etc/mtab به جای آن یک پیوند نمادین به /proc/mounts باشد. پرونده معمولی mtab که در فضای کاربری نگهداری می‌شود نمی‌تواند به طور قابل اعتماد با فضاهای نام (namespaces)، کانتینرها و سایر ویژگی‌های پیشرفته لینوکس کار کند. اگر پشتیبانی سنتی mtab فعال باشد، می‌توان هم از پرونده معمولی و هم از پیوند نمادین استفاده کرد.

اگر هیچ آرگومانی به mount داده نشود، فهرست سیستم‌های پرونده متصل‌شده چاپ می‌شود.

اگر می‌خواهید گزینه‌های اتصال را از /etc/fstab بازنویسی کنید، باید از گزینه -o استفاده کنید:

mount device|dir -o options

و سپس گزینه‌های اتصال خط فرمان به انتهای فهرست گزینه‌های /etc/fstab اضافه خواهند شد. این رفتار پیش‌فرض را می‌توان با استفاده از گزینه خط فرمان --options-mode تغییر داد. رفتار معمول این است که در صورت وجود گزینه‌های متناقض، آخرین گزینه اعمال می‌شود.

اگر هر دو پارامتر device (یا LABEL، UUID، ID، PARTUUID یا PARTLABEL) و dir مشخص شده باشند، برنامه mount پرونده /etc/fstab را نمی‌خواند. برای مثال، برای اتصال دستگاه foo در /dir:

mount /dev/foo /dir

این رفتار پیش‌فرض را می‌توان با استفاده از گزینه خط فرمان --options-source-force تغییر داد تا همیشه پیکربندی از fstab خوانده شود. برای کاربران غیر ریشه، mount همیشه پیکربندی fstab را می‌خواند.

به طور معمول، تنها کاربر ارشد (superuser) می‌تواند سیستم‌های پرونده را متصل کند. با این حال، اگر fstab شامل گزینه user در یک خط باشد، هر کاربری می‌تواند سیستم پرونده مربوطه را متصل کند.

بنابراین، با داشتن خطی مانند

/dev/cdrom /cd iso9660 ro,user,noauto,unhide

هر کاربری می‌تواند با استفاده از دستور زیر سیستم پرونده iso9660 موجود در یک CDROM درج‌شده را متصل کند:

mount /cd

توجه داشته باشید که mount در مورد کاربران غیر ریشه بسیار سخت‌گیر است و تمام مسیرهای مشخص‌شده در خط فرمان قبل از پردازش fstab یا اجرای برنامه‌های کمکی بررسی و اعتبارسنجی می‌شوند. اکیداً توصیه می‌شود برای تعیین سیستم پرونده از یک نقطه اتصال معتبر استفاده کنید، در غیر این صورت ممکن است mount با شکست مواجه شود. برای مثال، استفاده از منبع NFS یا CIFS در خط فرمان برای کاربران غیر ریشه ایده مناسبی نیست.

از نسخه util-linux 2.35، در صورتی که دسترسی‌های کاربر طبق قوانین امنیتی داخلی libmount ناکافی باشد، mount خارج نمی‌شود. در عوض، دسترسی‌های suid را کنار گذاشته و به عنوان کاربر عادی غیر ریشه ادامه می‌دهد. این رفتار از سناریوهایی پشتیبانی می‌کند که در آن‌ها مجوزهای ریشه ضروری نیستند (مانند سیستم‌های پرونده fuse، فضاهای نام کاربری و غیره).

برای جزئیات بیشتر به fstab(5) مراجعه کنید. تنها کاربری که یک سیستم پرونده را متصل کرده می‌تواند آن را جدا کند. اگر لازم است هر کاربری بتواند آن را جدا کند، به جای user در خط fstab از users استفاده کنید. گزینه owner شبیه به گزینه user است، با این محدودیت که کاربر باید مالک پرونده دستگاه ویژه باشد. این امر مثلاً برای /dev/fd در صورتی که اسکریپت ورود کاربر کنسول را مالک این دستگاه کند، مفید است. گزینه group نیز مشابه است، با این محدودیت که کاربر باید عضو گروه پرونده دستگاه ویژه باشد.

گزینه اتصال user در صورتی که هیچ نام کاربری مشخص نشده باشد پذیرفته می‌شود. در صورت استفاده در قالب user=someone، گزینه نادیده گرفته شده و فقط برای برنامه‌های کمکی خارجی اتصال (/sbin/mount.<type>) جهت سازگاری با برخی سیستم‌های پرونده شبکه‌ای قابل مشاهده است.


هشدار

هنگام استفاده از فراخوانی سیستمی سنتی mount(2) (در هسته‌های قدیمی‌تر بدون رابط برنامه‌نویسی اتصال جدید)، مسیر مقصد اتصال در زمان فراخوانی سیستم توسط هسته تحلیل می‌شود. این بدان معناست که یک پنجره آسیب‌پذیری ذاتی بین زمان بررسی و زمان استفاده (TOCTOU) بین بررسی مجوز و عملیات واقعی اتصال وجود دارد. اگر یک دایرکتوری والد مقصد اتصال توسط کاربر غیرمجاز قابل نوشتن باشد، می‌توان یک بخش مسیر را تعویض کرد تا اتصال به مکانی ناخواسته هدایت شود. رابط برنامه‌نویسی جدید اتصال (موجود از لینوکس 5.2) این مشکل را با استفاده از تفکیک مقصد مبتنی بر توصیف‌گر پرونده (file descriptor) برطرف کرده است. مدیران سیستم باید اطمینان حاصل کنند که مسیرهای مقصد برای اتصالات user از دایرکتوری‌های قابل نوشتن توسط کاربران غیرمجاز عبور نمی‌کند.

برای مسیرهای منبع اتصال، mount(8) فقط مسیرهایی را که با /dev/ شروع می‌شوند برای کاربران غیرمجاز متعارف‌سازی (حل پیوندهای نمادین) می‌کند و بررسی می‌کند که نتیجه در داخل /dev/ باقی بماند. مسیرهای منبع خارج از /dev/ (مانند ایمیج‌های دیسک در دایرکتوری‌های قابل نوشتن توسط کاربر) دقیقاً همان‌طور که در fstab آمده حفظ می‌شوند.

تشخیص خودکار نوع سیستم پرونده برای کاربران غیرمجاز منحصراً متکی به فراداده‌های udev است تا کاوش مستقیم دستگاه؛ این بدان معناست که ایمیج‌های پرونده‌ای که در udev ثبت نشده‌اند، نیازمند نوع سیستم پرونده صریح در fstab هستند.

اتصال مجدد بخشی از سلسله‌مراتب فایل‌ها در مکانی دیگر. فراخوانی به صورت زیر است:

mount --bind olddir newdir

یا با استفاده از این مدخل در fstab:

/olddir /newdir none bind

پس از این فراخوانی، همان محتویات در دو مکان قابل دسترسی هستند.

درک این نکته مهم است که «bind» هیچ گره درجه دو یا ویژه‌ای در VFS هسته ایجاد نمی‌کند. «bind» صرفاً یک عملیات دیگر برای پیوست کردن سیستم پرونده است. هیچ جا این اطلاعات ذخیره نمی‌شود که سیستم پرونده با یک عملیات «bind» متصل شده است. مسیرهای olddir و newdir مستقل هستند و olddir می‌تواند جدا (unmount) شود.

همچنین می‌توان یک تک‌پرونده را (بر روی یک تک‌پرونده دیگر) متصل کرد. علاوه بر این، می‌توان از bind mount برای ایجاد نقطه اتصال از یک دایرکتوری معمولی استفاده کرد، برای مثال:

mount --bind foo foo

فراخوانی bind mount فقط (بخشی از) یک سیستم پرونده واحد را متصل می‌کند، نه اتصالات فرعی احتمالی را. کل سلسله‌مراتب فایل‌ها شامل اتصالات فرعی را می‌توان با دستور زیر در مکان دوم متصل کرد:

mount --rbind olddir newdir

توجه داشته باشید که گزینه‌های اتصال سیستم پرونده نگهداری‌شده توسط هسته همانند نقطه اتصال اولیه باقی خواهند ماند. گزینه‌های اتصال فضای کاربری (مانند _netdev) توسط mount کپی نمی‌شوند و لازم است گزینه‌ها را به طور صریح در خط فرمان mount مشخص کنید.

از نسخه util-linux 2.27، دستور mount اجازه می‌دهد گزینه‌های اتصال را با ارسال گزینه‌های مربوطه همراه با --bind تغییر دهید. برای مثال:

mount -o bind,ro foo foo

این ویژگی توسط هسته لینوکس پشتیبانی نمی‌شود؛ بلکه در فضای کاربری با یک فراخوانی سیستمی اتصال مجدد اضافی mount(2) پیاده‌سازی شده است. این راه‌حل اتمیک (اتمی) نیست.

روش جایگزین (کلاسیک) برای ایجاد یک اتصال bind فقط‌خواندنی، استفاده از عملیات اتصال مجدد (remount) است، برای مثال:

mount --bind olddir newdir

mount -o remount,bind,ro olddir newdir

توجه داشته باشید که یک bind فقط‌خواندنی یک نقطه اتصال فقط‌خواندنی (مدخل VFS) ایجاد می‌کند، اما ابربلوک (superblock) سیستم پرونده اصلی همچنان قابل نوشتن خواهد بود، به این معنی که olddir قابل نوشتن است، اما newdir فقط‌خواندنی خواهد بود.

همچنین می‌توان فلگ‌های مدخل VFS شامل nosuid، nodev، noexec، noatime، nodiratime، relatime و nosymfollow را از طریق عملیات "remount,bind" تغییر داد. سایر فلگ‌ها (برای مثال فلگ‌های خاص سیستم پرونده) نادیده گرفته می‌شوند. فراخوانی سیستمی سنتی mount(2) اجازه تغییر بازگشتی گزینه‌های اتصال را نمی‌دهد (مثلاً با -o rbind,ro). معناشناسی بازگشتی با فراخوانی سیستمی جدید هسته mount_setattr(2) امکان‌پذیر است و از زمان libmount در util-linux v2.39 با یک آرگومان گزینه‌ای آزمایشی جدید "recursive" پشتیبانی می‌شود (مثلاً -o rbind,ro=recursive). برای جزئیات بیشتر به بخش گزینه‌های اتصال مستقل از سیستم پرونده مراجعه کنید.

از نسخه util-linux 2.31، دستور mount فلگ bind از /etc/fstab را در عملیات remount نادیده می‌گیرد (در صورتی که -o remount در خط فرمان مشخص شده باشد). این برای کنترل کامل گزینه‌های اتصال در هنگام اتصال مجدد از طریق خط فرمان ضروری است. در نسخه‌های قبلی، فلگ bind همیشه اعمال می‌شد و بازتعریف گزینه‌های اتصال بدون تداخل با مفهوم bind غیرممکن بود. این رفتار mount تأثیری بر وضعیت‌هایی که "remount,bind" در پرونده /etc/fstab مشخص شده باشد ندارد.

از نسخه util-linux 2.39، دستور mount در صورت در دسترس بودن از رابط کاربری جدید اتصال هسته استفاده می‌کند. این رابط جدید هسته روش دقیق‌تری را برای کار با ویژگی‌های نقطه اتصال فراهم می‌کند. برای مثال، عملیات -o bind,rw یک گره خواندنی-نوشتنی ایجاد می‌کند حتی اگر گره اصلی فقط‌خواندنی بوده باشد. این کار با فراخوانی سیستمی سنتی mount(2) که در آن فلگ VFS فقط‌خواندنی از گره اصلی به ارث برده می‌شد، غیرممکن بود.

انتقال یک درخت متصل‌شده به مکانی دیگر (به صورت اتمیک). فراخوانی به صورت زیر است:

mount --move olddir newdir

این دستور باعث می‌شود محتویاتی که قبلاً زیر olddir ظاهر می‌شدند، اکنون زیر newdir قابل دسترسی باشند. مکان فیزیکی پرونده‌ها تغییری نمی‌کند. توجه داشته باشید که olddir باید یک نقطه اتصال باشد.

همچنین توجه داشته باشید که انتقال یک اتصال واقع در زیر یک اتصال اشتراکی (shared mount) نامعتبر و غیرپشتیبانی‌شده است. از findmnt -o TARGET,PROPAGATION برای مشاهده فلگ‌های انتشار کنونی استفاده کنید.

از نسخه لینوکس 2.6.15 امکان علامت‌گذاری یک اتصال و اتصالات فرعی آن به عنوان shared (اشتراکی)، private (اختصاصی)، slave (پیرو) یا unbindable (غیرقابل اتصال) فراهم شده است. یک اتصال اشتراکی امکان ایجاد آینه‌هایی از آن اتصال را فراهم می‌کند، به طوری که اتصالات و جداسازی‌ها در هر یک از آینه‌ها به آینه دیگر منتشر می‌شود. یک اتصال پیرو (slave) انتشارات را از ارباب (master) خود دریافت می‌کند، اما نه برعکس. یک اتصال اختصاصی هیچ قابلیت انتشاری ندارد. یک اتصال غیرقابل پیوند یک اتصال اختصاصی است که نمی‌توان آن را از طریق عملیات bind شبیه‌سازی کرد. معناشناسی دقیق در پرونده Documentation/filesystems/sharedsubtree.txt در درخت منابع هسته مستند شده است؛ همچنین mount_namespaces(7) را ببینید.

عملیات‌های پشتیبانی‌شده عبارتند از:

mount --make-shared mountpoint
mount --make-slave mountpoint
mount --make-private mountpoint
mount --make-unbindable mountpoint

دستورات زیر امکان تغییر بازگشتی نوع تمام اتصالات زیر یک نقطه اتصال معین را فراهم می‌کنند:

mount --make-rshared mountpoint
mount --make-rslave mountpoint
mount --make-rprivate mountpoint
mount --make-runbindable mountpoint

دستور mount هنگام درخواست عملیات --make-* پرونده fstab(5) را نمی‌خواند. تمام اطلاعات لازم باید در خط فرمان مشخص شوند.

توجه داشته باشید که هسته لینوکس اجازه تغییر چندین فلگ انتشار را با یک فراخوانی سیستمی mount(2) نمی‌دهد و این فلگ‌ها را نمی‌توان با سایر گزینه‌ها و عملیات‌های اتصال ترکیب کرد.

از نسخه util-linux 2.23، دستور mount می‌تواند برای انجام تغییرات انتشار (توپولوژی) بیشتری با یک فراخوانی mount(8) و همچنین انجام آن همراه با سایر عملیات‌های اتصال استفاده شود. فلگ‌های انتشار با فراخوانی‌های سیستمی اضافی mount(2) پس از موفقیت عملیات‌های اتصال پیشین اعمال می‌شوند. توجه داشته باشید که این کاربرد اتمیک نیست. امکان مشخص کردن فلگ‌های انتشار در fstab(5) به عنوان گزینه‌های اتصال وجود دارد (private، slave، shared، unbindable، rprivate، rslave، rshared، runbindable).

برای مثال:

mount --make-private --make-unbindable /dev/sda1 /foo

معادل است با:

mount /dev/sda1 /foo
mount --make-private /foo
mount --make-unbindable /foo

مجموعه کامل گزینه‌های اتصال که توسط یک فراخوانی mount استفاده می‌شود، ابتدا با استخراج گزینه‌های سیستم پرونده از جدول fstab، سپس اعمال هر گزینه‌ای که با آرگومان -o مشخص شده است، و در نهایت اعمال گزینه -r یا -w (در صورت وجود) تعیین می‌شود.

دستور mount تمام گزینه‌های خط فرمان را به برنامه‌های کمکی اتصال /sbin/mount.suffix منتقل نمی‌کند. رابط بین mount و برنامه‌های کمکی اتصال در ادامه در بخش کمک‌کننده‌های خارجی (EXTERNAL HELPERS) شرح داده شده است.

گزینه‌های خط فرمان موجود برای دستور mount عبارتند از:

-a, --all

اتصال تمام سیستم‌های پرونده (از نوع‌های داده‌شده) ذکرشده در fstab (به جز آن‌هایی که خط آن‌ها حاوی کلمه کلیدی noauto است). سیستم‌های پرونده به ترتیب ورودشان در fstab متصل می‌شوند. دستور mount منبع، مقصد (و ریشه سیستم پرونده را برای bind mount یا btrfs) مقایسه می‌کند تا سیستم‌های پرونده‌ای که قبلاً متصل شده‌اند را تشخیص دهد. جدول هسته مربوط به سیستم‌های پرونده از قبل متصل‌شده در طول اجرای mount --all کش می‌شود. این بدان معناست که تمام مدخل‌های تکراری fstab متصل خواهند شد.

عملکرد صحیح به /proc (برای تشخیص سیستم‌های پرونده متصل‌شده) و به /sys (برای ارزیابی تگ‌های سیستم پرونده مانند UUID= یا LABEL=) وابسته است. اکیداً توصیه می‌شود سیستم‌های پرونده /proc و /sys پیش از اجرای mount -a متصل شوند، یا در ابتدای fstab نگهداری شوند.

امکان استفاده از گزینه --all برای عملیات اتصال مجدد (remount) نیز وجود دارد. در این حالت تمام فیلترها (-t و -O) بر روی جدول سیستم‌های پرونده از قبل متصل‌شده اعمال می‌شوند.

از نسخه 2.35 امکان استفاده از گزینه خط فرمان -o برای تغییر گزینه‌های اتصال از fstab وجود دارد (همچنین --options-mode را ببینید).

توجه داشته باشید که استفاده از mount -a برای بررسی صحت fstab روش نامناسبی است. راهکار توصیه‌شده استفاده از findmnt --verify می‌باشد.

-B, --bind

اتصال مجدد یک زیردرخت در مکانی دیگر (به طوری که محتویات آن در هر دو مکان در دسترس باشد). بخش بالا را تحت عنوان عملیات اتصال اتصالی (Bind mount operation) ببینید.

-c, --no-canonicalize

عدم متعارف‌سازی هیچ‌یک از مسیرها یا تگ‌ها در طول فرآیند اتصال. دستور mount به طور خودکار تمام مسیرها را (از خط فرمان یا fstab) متعارف‌سازی می‌کند. این گزینه را می‌توان همراه با فلگ -f برای مسیرهایی که قبلاً متعارف شده‌اند استفاده کرد. این گزینه برای برنامه‌های کمکی که mount -i را صدا می‌زنند در نظر گرفته شده است. اکیداً توصیه می‌شود از این گزینه خط فرمان برای عملیات‌های اتصال معمولی استفاده نکنید. همچنین گزینه‌های اتصال X-mount.nocanonicalize را ببینید.

توجه داشته باشید که mount این گزینه را به برنامه‌های کمکی /sbin/mount.type ارسال نمی‌کند.

-F, --fork

(همراه با -a استفاده می‌شود.) برای هر دستگاه یک فرآیند فرعی از mount ایجاد می‌کند. این کار اتصالات را روی دستگاه‌های مختلف یا سرورهای مختلف NFS به صورت موازی انجام می‌دهد. مزیت این روش سرعت بیشتر است و زمان‌های انتظار NFS نیز به صورت موازی سپری می‌شوند. عیب آن این است که ترتیب عملیات‌های اتصال نامشخص خواهد بود. بنابراین اگر می‌خواهید هم /usr و هم /usr/spool را متصل کنید، نمی‌توانید از این گزینه استفاده کنید.

-f, --fake

باعث می‌شود همه‌چیز به جز فراخوانی‌های سیستمی واقعی مرتبط با اتصال انجام شود. گزینه --fake در اصل برای نوشتن یک مدخل در /etc/mtab بدون انجام اتصال واقعی طراحی شده بود.

پرونده /etc/mtab دیگر در فضای کاربری نگهداری نمی‌شود، و با شروع از نسخه 2.39، عملیات اتصال می‌تواند زنجیره‌ای پیچیده از عملیات‌ها با وابستگی‌های میان فراخوانی‌های سیستم باشد. گزینه --fake برنامه libmount را مجبور می‌کند از تمام مراحل آماده‌سازی منبع، تحلیل گزینه‌ها و فرآیند اتصال واقعی صرف‌نظر کند.

تفاوت بین اجرای ساختگی (fake) و غیرساختگی بسیار زیاد است. به همین دلیل گزینه --fake اهمیت بسیار ناچیزی برای پیاده‌سازی کنونی mount(8) دارد و بیشتر برای سازگاری با گذشته حفظ شده است.

-i, --internal-only

حتی در صورت وجود برنامه کمکی /sbin/mount.filesystem، آن را فراخوانی نکن.

-L, --label label

اتصال پارتیشنی که دارای label (برچسب) مشخص‌شده است.

-l, --show-labels

افزودن برچسب‌ها در خروجی دستور mount. برای این کار، mount باید مجوز خواندن دستگاه دیسک را داشته باشد (مثلاً set-user-ID root باشد). می‌توان چنین برچسبی را برای ext2، ext3 یا ext4 با استفاده از ابزار e2label(8)، برای XFS با xfs_admin(8)، یا برای reiserfs با reiserfstune(8) تنظیم کرد.

-M, --move

انتقال یک زیردرخت به مکانی دیگر. بخش بالا تحت عنوان عملیات انتقال (The move operation) را ببینید.

-m, --mkdir[=mode]

امکان ایجاد دایرکتوری مقصد (نقطه اتصال) در صورتی که هنوز وجود نداشته باشد. نام مستعاری برای "-o X-mount.mkdir[=mode]" است، که حالت پیش‌فرض آن 0755 می‌باشد. برای جزئیات بیشتر به X-mount.mkdir در ادامه مراجعه کنید.

--map-groups, --map-users inner:_outer_:_count_

افزودن نگاشت کاربر/گروه مشخص‌شده به یک نگاشت X-mount.idmap. این گزینه‌ها را می‌توان چندین بار مشخص کرد تا نگاشت‌های کاملی برای کاربران و گروه‌ها ایجاد شود. برای جزئیات بیشتر X-mount.idmap را در ادامه ببینید.

--map-users /proc/PID/ns/user

استفاده از فضای نام کاربری مشخص‌شده برای نگاشت کاربر و گروه در یک اتصال نگاشت‌شده با شناسه (id-mapped). این نام مستعاری برای "-o X-mount.idmap=/proc/PID/ns/user" است و نمی‌توان آن را دو بار یا همراه با قالب گزینه inner:_outer_:_count_ بالا استفاده کرد. برای جزئیات بیشتر X-mount.idmap را در ادامه ببینید.

-n, --no-mtab

اتصال بدون نوشتن در پرونده /etc/mtab. این امر برای مثال زمانی که /etc روی یک سیستم پرونده فقط‌خواندنی قرار دارد ضروری است.

-N, --namespace ns

انجام عملیات اتصال در فضای نام اتصالی که توسط ns مشخص شده است. ns یا PID فرآیندی است که در آن فضای نام اجرا می‌شود یا پرونده ویژه‌ای که نمایانگر آن فضای نام است.

دستور mount هنگام خواندن /etc/fstab، نوشتن در /etc/mtab (یا نوشتن در /run/mount) و فراخوانی mount(2) به فضای نام اتصال تغییر وضعیت می‌دهد، در غیر این صورت در فضای نام اتصال اصلی اجرا می‌شود. این بدان معناست که فضای نام مقصد نیازی به داشتن کتابخانه‌ها یا پیش‌نیازهای دیگر برای اجرای فراخوانی mount(2) ندارد.

برای اطلاعات بیشتر mount_namespaces(7) را ببینید.

-O, --test-opts opts

محدود کردن مجموعه سیستم‌های پرونده‌ای که گزینه -a به آن‌ها اعمال می‌شود. از این نظر مانند گزینه -t است، با این تفاوت که -O بدون -a بی‌فایده است. برای مثال دستور:

mount -a -O no_netdev

تمام سیستم‌های پرونده به جز آن‌هایی را که گزینه netdev در فیلد گزینه‌های پرونده /etc/fstab آن‌ها مشخص شده است متصل می‌کند.

این گزینه با -t متفاوت است زیرا هر گزینه دقیقاً مطابقت داده می‌شود؛ وجود no در ابتدای یک گزینه، بقیه گزینه‌ها را نفی نمی‌کند.

گزینه‌های -t و -O اثر تجمعی دارند؛ یعنی دستور:

mount -a -t ext2 -O _netdev

تمام سیستم‌های پرونده ext2 دارای گزینه _netdev را متصل می‌کند، نه تمام سیستم‌های پرونده‌ای را که یا ext2 هستند یا گزینه _netdev دارند.

-o, --options opts

استفاده از گزینه‌های اتصال مشخص‌شده. آرگومان opts فهرستی جداشده با کاما است. برای مثال:

mount LABEL=mydisk -o noatime,nodev,nosuid

توجه داشته باشید که ترتیب گزینه‌ها مهم است، زیرا در صورت وجود گزینه‌های متناقض، آخرین گزینه برنده است. همچنین گزینه‌های خط فرمان به طور پیش‌فرض گزینه‌های fstab را بازنویسی می‌کنند.

برای جزئیات بیشتر به بخش‌های گزینه‌های اتصال مستقل از سیستم پرونده و گزینه‌های اتصال ویژه سیستم‌های پرونده مراجعه کنید.

--onlyonce

دستور mount را مجبور می‌کند بررسی کند آیا سیستم پرونده از قبل متصل شده است یا خیر. این رفتار برای --all پیش‌فرض است؛ در غیر این صورت، به درایور سیستم پرونده در هسته بستگی دارد. برخی از سیستم‌های پرونده ممکن است بیش از یک بار روی یک نقطه اتصال سوار شوند (مانند tmpfs).

--options-mode mode

نحوه ترکیب گزینه‌های حاصل از fstab/mtab با گزینه‌های خط فرمان را کنترل می‌کند. مقدار mode می‌تواند یکی از مقادیر ignore، append، prepend یا replace باشد. برای مثال append به این معناست که گزینه‌های fstab به انتهای گزینه‌های خط فرمان اضافه می‌شوند. مقدار پیش‌فرض prepend است — بدین معنی که گزینه‌های خط فرمان پس از گزینه‌های fstab ارزیابی می‌شوند. توجه داشته باشید که در صورت وجود گزینه‌های متناقض، آخرین گزینه اعمال خواهد شد.

--options-source source

منبع گزینه‌های پیش‌فرض. آرگومان source فهرستی جداشده با کاما از fstab، mtab و disable است. مقدار disable پرونده‌های fstab و mtab را غیرفعال کرده و --options-source-force را فعال می‌سازد. مقدار پیش‌فرض fstab,mtab است.

--options-source-force

استفاده از گزینه‌های fstab/mtab حتی اگر هر دو پارامتر device و dir مشخص شده باشند.

-R, --rbind

اتصال مجدد یک زیردرخت و تمام اتصالات فرعی احتمالی در مکانی دیگر (به طوری که محتویات آن در هر دو مکان در دسترس باشد). بخش بالا تحت عنوان عملیات اتصال اتصالی (Bind mount operation) را ببینید.

-r, --read-only

اتصال سیستم پرونده به صورت فقط‌خواندنی. مترادف آن -o ro است.

توجه داشته باشید که بسته به نوع سیستم پرونده، وضعیت آن و رفتار هسته، ممکن است سیستم همچنان بر روی دستگاه بنویسد. برای مثال ext3 و ext4 در صورت کثیف بودن سیستم پرونده، ژورنال را بازپخش می‌کنند. برای جلوگیری از این نوع دسترسی نوشتن، می‌توانید سیستم پرونده ext3 یا ext4 را با گزینه‌های ro,noload متصل کنید یا خود دستگاه بلوکی را روی حالت فقط‌خواندنی تنظیم کنید، به دستور blockdev(8) مراجعه کنید.

-s

تحمل گزینه‌های اتصال شلخته و نادقیق (sloppy) به جای بروز خطا. این گزینه گزینه‌های اتصالی را که توسط نوع سیستم پرونده پشتیبانی نمی‌شوند نادیده می‌گیرد. همه سیستم‌های پرونده از این گزینه پشتیبانی نمی‌کنند. در حال حاضر فقط توسط برنامه کمکی mount.nfs پشتیبانی می‌شود.

--source device

اگر تنها یک آرگومان برای دستور mount داده شود، ممکن است آن آرگومان به عنوان مقصد (نقطه اتصال) یا مبدا (دستگاه) تفسیر شود. این گزینه به شما امکان می‌دهد صریحاً تعریف کنید که آرگومان مذکور منبع اتصال است.

--target directory

اگر تنها یک آرگومان برای دستور mount داده شود، ممکن است به عنوان مقصد یا مبدا تفسیر شود. این گزینه به شما امکان می‌دهد صریحاً تعریف کنید که آرگومان مقصد اتصال است.

--target-prefix directory

افزودن دایرکتوری مشخص‌شده به ابتدای تمام مقصدهای اتصال. از این گزینه می‌توان برای پیروی از fstab استفاده کرد، در حالی که عملیات‌های اتصال در مکان دیگری انجام می‌شوند، برای مثال:

mount --all --target-prefix /chroot -o X-mount.mkdir

همه موارد را از fstab سیستم به /chroot متصل می‌کند و تمام نقاط اتصال ناموجود ایجاد می‌شوند (به لطف X-mount.mkdir). همچنین --fstab را برای استفاده از یک fstab جایگزین ببینید.

-T, --fstab path

یک پرونده fstab جایگزین را مشخص می‌کند. اگر path یک دایرکتوری باشد، پرونده‌های موجود در آن توسط strverscmp(3) مرتب می‌شوند؛ پرونده‌هایی که با "." شروع می‌شوند یا فاقد پسوند .fstab هستند نادیده گرفته می‌شوند. این گزینه را می‌توان بیش از یک بار مشخص کرد. این گزینه بیشتر برای اسکریپت‌های initramfs یا chroot که در آن‌ها پیکربندی‌های اضافی فراتر از پیکربندی استاندارد سیستم تعیین می‌شود طراحی شده است.

توجه داشته باشید که mount گزینه --fstab را به برنامه‌های کمکی /sbin/mount.type ارسال نمی‌کند، به این معنی که پرونده‌های fstab جایگزین برای برنامه‌های کمکی نامرئی خواهند بود. این امر برای اتصالات عادی مشکلی ایجاد نمی‌کند، اما اتصالات کاربری (غیر ریشه) همیشه برای تایید حقوق کاربر نیازمند fstab هستند.

-t, --types fstype

آرگومان بعد از -t برای مشخص کردن نوع سیستم پرونده به کار می‌رود. نوع‌های سیستم پرونده‌ای که در حال حاضر پشتیبانی می‌شوند به هسته در حال اجرا بستگی دارند. برای فهرست کامل سیستم‌های پرونده به /proc/filesystems و /lib/modules/$(uname -r)/kernel/fs مراجعه کنید. رایج‌ترین آن‌ها ext2، ext3، ext4، xfs، btrfs، vfat، sysfs، proc، nfs و cifs هستند.

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

اگر هیچ گزینه -t داده نشود، یا نوع auto مشخص شده باشد، mount سعی می‌کند نوع مورد نظر را حدس بزند. نوع سیستم پرونده ابتدا با استفاده از فراداده‌های udev و سپس با کاوش مستقیم دستگاه از طریق libblkid(3) برای کاربران ریشه تعیین می‌شود. اگر هیچ‌یک از این روش‌ها نوع را مشخص نکند، mount به عنوان راهکار جایگزین تمام نوع‌های فهرست‌شده در /etc/filesystems یا در صورت عدم وجود آن پرونده، در /proc/filesystems را امتحان می‌کند. نوع‌های برچسب‌خورده با "nodev" (مانند devpts، proc و nfs) نادیده گرفته می‌شوند. اگر انتهای /etc/filesystems خطی با یک ستاره تنها (*) باشد، mount پس از آن /proc/filesystems را می‌خواند. در هنگام امتحان، تمام نوع‌های سیستم پرونده با گزینه اتصال silent متصل می‌شوند.

برای کاربران غیرمجاز (غیر ریشه)، کاوش مستقیم دستگاه از طریق libblkid(3) غیرفعال است و تشخیص نوع سیستم پرونده منحصراً متکی بر فراداده‌های udev است. این بدان معناست که ایمیج‌های پرونده‌ای که در udev ثبت نشده‌اند نیازمند تعیین صریح نوع سیستم پرونده در fstab هستند.

ایجاد یک پرونده /etc/filesystems می‌تواند برای تغییر ترتیب کاوش (مثلاً امتحان vfat قبل از msdos یا ext3 قبل از ext2) یا در صورت استفاده از بارگذار خودکار ماژول هسته مفید باشد.

بیش از یک نوع را می‌توان در یک فهرست جداشده با کاما، هم برای گزینه -t و هم در مدخل /etc/fstab مشخص کرد. فهرست انواع سیستم پرونده برای گزینه -t می‌تواند با پیشوند no همراه باشد تا سیستم‌های پرونده‌ای را که نباید عملیاتی روی آن‌ها انجام شود مشخص کند. پیشوند no در صورت درج در یک مدخل /etc/fstab هیچ اثری ندارد.

پیشوند no می‌تواند همراه با گزینه -a معنی‌دار باشد. برای مثال دستور:

mount -a -t nomsdos,smbfs

تمام سیستم‌های پرونده به جز آن‌هایی که از نوع msdos و smbfs هستند را متصل می‌کند.

برای بیشتر نوع‌ها، تمام کاری که برنامه mount باید انجام دهد اجرای یک فراخوانی سیستمی ساده mount(2) است و هیچ دانش دقیقی درباره نوع سیستم پرونده لازم نیست. با این حال برای چند نوع معدود (مانند nfs، nfs4، cifs، smbfs، ncpfs) کدهای ویژه‌ای لازم است. سیستم‌های پرونده nfs، nfs4، cifs، smbfs و ncpfs یک برنامه اتصال جداگانه دارند. به منظور فراهم ساختن امکان برخورد یکسان با همه نوع‌ها، mount هنگام فراخوانی با نوع type برنامه /sbin/mount.type را (در صورت وجود) اجرا می‌کند. از آنجا که نسخه‌های مختلف برنامه smbmount قواعد فراخوانی متفاوتی دارند، ممکن است /sbin/mount.smbfs لازم باشد یک اسکریپت شل باشد که فراخوانی مورد نظر را تنظیم می‌کند.

-U, --uuid uuid

اتصال پارتیشنی که دارای uuid مشخص‌شده است.

-v, --verbose

فعال کردن حالت پرگو (نمایش با جزئیات). از نسخه 2.41، اگر رابط برنامه‌نویسی جدید اتصال هسته در دسترس باشد، پیام‌های اطلاعاتی هسته را نیز چاپ خواهد کرد.

-w, --rw, --read-write

اتصال سیستم پرونده به صورت خواندنی-نوشتنی. حالت خواندنی-نوشتنی پیش‌فرض هسته است و پیش‌فرض دستور mount این است که در صورت شکست فراخوانی پیشین mount(2) با فلگ‌های خواندنی-نوشتنی بر روی دستگاه‌های محافظت‌شده در برابر نوشتن، حالت فقط‌خواندنی را امتحان کند.

مترادف آن -o rw است.

توجه داشته باشید که مشخص کردن -w در خط فرمان، دستور mount را مجبور می‌کند که هرگز اتصال فقط‌خواندنی را روی دستگاه‌های محافظت‌شده در برابر نوشتن یا سیستم‌های پرونده فقط‌خواندنی متصل‌شده امتحان نکند.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نگارش و خروج.

برخی از این گزینه‌ها تنها زمانی کاربرد دارند که در پرونده /etc/fstab درج شده باشند.

برخی از این گزینه‌ها ممکن است به طور پیش‌فرض در هسته سیستم فعال یا غیرفعال باشند. برای بررسی تنظیمات کنونی گزینه‌های موجود در /proc/mounts را مشاهده کنید. توجه داشته باشید که سیستم‌های پرونده همچنین دارای گزینه‌های اتصال پیش‌فرض مخصوص به خود هستند (برای مثال خروجی tune2fs -l را برای سیستم‌های پرونده extN ببینید).

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

گزینه‌های nosuid، noexec، nodiratime، relatime، noatime، strictatime و nosymfollow فقط توسط لایه هسته سیستم پرونده مجازی تفسیر می‌شوند و به جای خود سیستم پرونده، بر روی گره نقطه اتصال اعمال می‌گردند. برای مشاهده نمای کلی کاملی از سیستم‌های پرونده و گزینه‌های VFS، دستور زیر را امتحان کنید:

findmnt -o TARGET,VFS-OPTIONS,FS-OPTIONS

از نسخه 2.39، libmount می‌تواند از رابط جدید اتصال هسته برای تنظیم ویژگی‌های VFS به صورت بازگشتی استفاده کند. جهت حفظ سازگاری با گذشته، این ویژگی به طور پیش‌فرض فعال نیست، حتی اگر عملیات بازگشتی (مانند rbind) درخواست شده باشد. می‌توان آرگومان گزینه‌ای جدید "recursive" را مشخص کرد، برای مثال:

mount -orbind,ro=recursive,noexec=recursive,nosuid /foo /bar

این دستور سیستم‌های پرونده را از /foo به /bar به صورت بازگشتی متصل می‌کند، و باعث می‌شود /bar و تمام اتصالات فرعی آن فقط‌خواندنی و noexec شوند، اما تنها خود /bar دارای ویژگی "nosuid" خواهد بود. آرگومان اختیاری "recursive" برای گزینه‌های اتصال VFS یک ویژگی آزمایشی (EXPERIMENTAL) است.

تنظیم فقط‌خواندنی (ro یا rw) توسط سیستم پرونده مجازی و خود سیستم پرونده تفسیر می‌شود، و به نحوه تعیین گزینه در خط فرمان mount(8) بستگی دارد. برای سازگاری با گذشته، پیش‌فرض این است که در طول عملیات‌های استاندارد اتصال برای هر دو لایه اعمال شود.

عملیات "-o bind,remount,ro" فقط بر روی نقطه اتصال VFS اعمال می‌شود، در حالی که عملیات "-o remount,ro" هم بر روی VFS و هم بر روی ابربلوک سیستم پرونده اعمال می‌گردد. این معناشناسی امکان ایجاد یک نقطه اتصال فقط‌خواندنی را فراهم می‌کند در حالی که سیستم پرونده از طریق نقطه اتصال دیگر همچنان قابل نوشتن باقی می‌ماند.

از نسخه 2.41، کتابخانه libmount امکان استفاده از آرگومان‌های اختیاری vfs و fs (مانند ro=fs) را برای مشخص کردن لایه اعمال تنظیم فقط‌خواندنی داراست. برای مثال با استفاده از دستور:

mount -o ro=vfs /dev/sdc1 /A

سیستم پرونده در سطح ابربلوک به صورت خواندنی-نوشتنی متصل می‌شود، اما گره /A روی حالت فقط‌خواندنی تنظیم خواهد شد. در نسخه‌های قبلی، برای دستیابی به همین نتیجه به یک عملیات اضافی "-o bind,remount,ro" نیاز بود.

گزینه‌های زیر برای هر سیستم پرونده‌ای که متصل می‌شود اعمال می‌شوند، اما همه سیستم‌های پرونده لزوماً از آن‌ها پشتیبانی نمی‌کنند. برای مثال گزینه sync فقط بر روی سیستم‌های پرونده ext2، ext3، ext4، fat، vfat، ufs و xfs اثر دارد.

async

تمام ورودی/خروجی‌های سیستم پرونده باید به صورت ناهمگام (asynchronous) انجام شوند. (همچنین گزینه sync را ببینید.)

atime

از قابلیت noatime استفاده نکن، بنابراین زمان دسترسی اینود توسط پیش‌فرض‌های هسته کنترل می‌شود. همچنین توضیحات مربوط به گزینه‌های اتصال relatime و strictatime را ببینید.

noatime

زمان‌های دسترسی اینود در این سیستم پرونده به‌روزرسانی نشود (مثلاً برای دسترسی سریع‌تر در محل ذخیره اخبار جهت افزایش سرعت سرورهای خبر). این قابلیت برای تمام انواع اینودها (پوشه‌ها نیز) کار می‌کند، بنابراین شامل nodiratime نیز می‌شود.

auto

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

noauto

فقط می‌تواند به صورت صریح متصل شود (یعنی گزینه -a باعث اتصال این سیستم پرونده نخواهد شد).

context=context, fscontext=context, defcontext=context, and rootcontext=context

گزینه context= هنگام اتصال سیستم‌های پرونده‌ای که از ویژگی‌های گسترده (xattr) پشتیبانی نمی‌کنند، مانند فلاپی یا دیسک سخت قالب‌بندی‌شده با VFAT، یا سیستم‌هایی که به طور معمول تحت SELinux اجرا نمی‌شوند، مانند یک دیسک ext3 یا ext4 از یک ایستگاه کاری غیر SELinux، مفید است. همچنین می‌توانید از context= در سیستم‌های پرونده‌ای که به آن‌ها اعتماد ندارید، مانند دیسک فلاپی استفاده کنید. این گزینه به سازگاری با سیستم‌های پرونده پشتیبانی‌کننده از xattr در هسته‌های اولیه نسخه 2.4.<x> نیز کمک می‌کند. حتی در جایی که xattr پشتیبانی می‌شود، می‌توانید با اختصاص یک بافت امنیتی واحد به کل دیسک، در زمان برچسب‌گذاری تک‌تک فایل‌ها صرفه‌جویی کنید.

یک گزینه پرکاربرد برای رسانه‌های جداشدنی context="system_u:object_r:removable_t است.

گزینه fscontext= برای همه سیستم‌های پرونده، بدون توجه به پشتیبانی آن‌ها از xattr کار می‌کند. گزینه fscontext برچسب فراگیر سیستم پرونده را بر روی یک بافت امنیتی خاص تنظیم می‌کند. این برچسب سیستم پرونده از برچسب‌های جداگانه روی پرونده‌ها مجزاست. این گزینه کل سیستم پرونده را برای انواع خاصی از بررسی‌های مجوز، مانند زمان اتصال یا ایجاد پرونده، نمایندگی می‌کند. برچسب‌های پرونده‌های مجزا همچنان از xattrهای روی خود پرونده‌ها به دست می‌آیند. گزینه context در واقع بافت مجموعه‌ای را که fscontext فراهم می‌کند تنظیم کرده و علاوه بر آن همان برچسب را به پرونده‌های مجزا نیز اعمال می‌کند.

می‌توانید با استفاده از گزینه defcontext= بافت امنیتی پیش‌فرض را برای پرونده‌های بدون برچسب تعیین کنید. این مقدار تنظیم‌شده برای پرونده‌های بدون برچسب در خط‌مشی (policy) را لغو می‌کند و نیازمند سیستم پرونده‌ای است که از برچسب‌گذاری xattr پشتیبانی کند.

گزینه rootcontext= به شما امکان می‌دهد اینود ریشه سیستم پرونده در حال اتصال را قبل از این‌که آن سیستم پرونده یا اینود برای فضای کاربری قابل مشاهده شود، به طور صریح برچسب‌گذاری کنید. این ویژگی برای مواردی مانند لینوکس بدون حالت (stateless Linux) مفید شناخته شده است. مقدار ویژه @target می‌تواند برای انتساب بافت کنونی مکان نقطه اتصال مقصد استفاده شود.

توجه داشته باشید که هسته هرگونه درخواست اتصال مجدد (remount) را که شامل گزینه context باشد رد می‌کند، حتی اگر نسبت به بافت کنونی تغییری نکرده باشد.

هشدار: مقدار context ممکن است شامل کاما باشد، که در این صورت مقدار باید به درستی درون علامت نقل‌قول قرار گیرد، در غیر این صورت mount کاما را به عنوان جداکننده میان گزینه‌های اتصال تفسیر خواهد کرد. فراموش نکنید که پوسته علامت‌های نقل‌قول را حذف می‌کند و بنابراین نقل‌قول دوگانه الزامی است. برای مثال:

mount -t tmpfs none /mnt -o \
'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'

برای جزئیات بیشتر selinux(8) را ببینید.

defaults

استفاده از گزینه‌های پیش‌فرض: rw، suid، dev، exec، auto، nouser و async.

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

dev

تفسیر دستگاه‌های ویژه کاراکتری یا بلوکی در سیستم پرونده.

nodev

عدم تفسیر دستگاه‌های ویژه کاراکتری یا بلوکی در سیستم پرونده.

diratime

به‌روزرسانی زمان دسترسی اینود دایرکتوری در این سیستم پرونده. این حالت پیش‌فرض است. (این گزینه در صورت تنظیم noatime نادیده گرفته می‌شود.)

nodiratime

عدم به‌روزرسانی زمان دسترسی اینود دایرکتوری در این سیستم پرونده. (این گزینه هنگام تنظیم noatime به طور ضمنی فعال است.)

dirsync

تمام به‌روزرسانی‌های دایرکتوری در سیستم پرونده باید به صورت همگام (synchronous) انجام شوند. این امر بر فراخوانی‌های سیستمی زیر تأثیر می‌گذارد: creat(2)، link(2)، unlink(2)، symlink(2)، mkdir(2)، rmdir(2)، mknod(2) و rename(2).

exec

اجازه اجرای پرونده‌های باینری و سایر پرونده‌های اجرایی داده شود.

noexec

اجازه اجرای مستقیم هیچ باینری در سیستم پرونده متصل‌شده داده نشود.

group

به یک کاربر عادی اجازه می‌دهد سیستم پرونده را متصل کند در صورتی که یکی از گروه‌های آن کاربر با گروه دستگاه مطابقت داشته باشد. این گزینه شامل گزینه‌های nosuid و nodev نیز می‌شود (مگر این‌که توسط گزینه‌های بعدی بازنویسی شود، مانند خط گزینه group,dev,suid).

iversion

هر بار که اینود تغییر کند، فیلد i_version افزایش می‌یابد.

noiversion

عدم افزایش فیلد i_version اینود.

mand

اجازه قفل‌گذاری اجباری (mandatory locking) روی این سیستم پرونده داده شود. به fcntl(2) مراجعه کنید. این گزینه در لینوکس 5.15 منسوخ شده است.

nomand

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

_netdev

سیستم پرونده بر روی دستگاهی قرار دارد که نیازمند دسترسی به شبکه است (برای جلوگیری از تلاش سیستم برای اتصال این سیستم‌های پرونده تا زمان فعال شدن شبکه در سیستم استفاده می‌شود).

nofail

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

relatime

به‌روزرسانی زمان‌های دسترسی اینود نسبت به زمان تغییر محتوا یا مشخصات. زمان دسترسی تنها در صورتی به‌روزرسانی می‌شود که زمان دسترسی قبلی قبل‌تر از زمان کنونی تغییر محتوا یا وضعیت یا برابر با آن باشد. (مشابه noatime، اما عملکرد mutt(1) یا سایر برنامه‌هایی را که نیاز دارند بدانند آیا پرونده از زمان آخرین تغییر خوانده شده است یا خیر، مختل نمی‌کند.)

از لینوکس 2.6.30، هسته به رفتاری که توسط این گزینه ارائه می‌شود پیش‌فرض است (مگر این‌که noatime مشخص شده باشد)، و گزینه strictatime برای به دست آوردن رفتار سنتی لازم است. علاوه بر این، از لینوکس 2.6.30، اگر آخرین زمان دسترسی پرونده بیش از ۱ روز قبل باشد، همیشه به‌روزرسانی می‌شود.

norelatime

عدم استفاده از قابلیت relatime. همچنین گزینه اتصال strictatime را ببینید.

strictatime

امکان درخواست صریح به‌روزرسانی کامل atime را فراهم می‌سازد. این امر به هسته امکان می‌دهد به طور پیش‌فرض روی relatime یا noatime باشد اما همچنان به فضای کاربری اجازه دهد آن را بازنویسی کند. برای جزئیات بیشتر درباره گزینه‌های اتصال پیش‌فرض سیستم به /proc/mounts مراجعه کنید.

nostrictatime

استفاده از رفتار پیش‌فرض هسته برای به‌روزرسانی‌های زمان دسترسی اینود.

lazytime

تنها به‌روزرسانی زمان‌ها (atime، mtime، ctime) در نسخه حافظه‌ای اینود پرونده.

این گزینه اتصال به طور چشمگیری عملیات نوشتن در جدول اینود را برای بارهای کاری که نوشتن تصادفی مکرر روی پرونده‌های از پیش تخصیص‌یافته انجام می‌دهند کاهش می‌دهد.

برچسب‌های زمانی روی دیسک تنها زمانی به‌روزرسانی می‌شوند که:

•اینود به دلیل تغییری غیرمرتبط با برچسب‌های زمانی پرونده نیاز به به‌روزرسانی داشته باشد
•برنامه از fsync(2)، syncfs(2) یا sync(2) استفاده کند
•یک اینود حذف‌نشده از حافظه خارج شود
•بیش از ۲۴ ساعت از زمان نوشتن اینود بر روی دیسک گذشته باشد.

nolazytime

عدم استفاده از قابلیت lazytime.

suid

رعایت بیت‌های set-user-ID و set-group-ID یا قابلیت‌های پرونده (capabilities) در هنگام اجرای برنامه‌ها از این سیستم پرونده.

nosuid

عدم رعایت بیت‌های set-user-ID و set-group-ID یا قابلیت‌های پرونده در هنگام اجرای برنامه‌ها از این سیستم پرونده. علاوه بر این، گذارهای دامنه SELinux نیازمند دسترسی nosuid_transition هستند که خود نیازمند قابلیت خط‌مشی nnp_nosuid_transition است.

silent

فعال کردن فلگ خاموش (silent).

loud

غیرفعال کردن فلگ خاموش.

owner

به یک کاربر عادی اجازه می‌دهد در صورتی که مالک دستگاه باشد، سیستم پرونده را متصل کند. این گزینه شامل گزینه‌های nosuid و nodev نیز می‌شود (مگر این‌که توسط گزینه‌های بعدی بازنویسی شود، مانند خط گزینه owner,dev,suid).

remount

تلاش برای اتصال مجدد (remount) یک سیستم پرونده از قبل متصل‌شده. این گزینه معمولاً برای تغییر فلگ‌های اتصال یک سیستم پرونده، به ویژه تبدیل یک سیستم پرونده فقط‌خواندنی به قابل نوشتن استفاده می‌شود. دستگاه یا نقطه اتصال را تغییر نمی‌دهد.

عملیات اتصال مجدد همراه با فلگ bind معناشناسی خاصی دارد. بخش بالا تحت عنوان عملیات اتصال اتصالی (Bind mount operation) را ببینید.

رفتار پیش‌فرض هسته برای فلگ‌های اتصال VFS (nodev, nosuid, noexec, ro) این است که تمام فلگ‌های نامشخص را هنگام اتصال مجدد بازنشانی کند. به همین دلیل mount(8) تلاش می‌کند تنظیمات کنونی را طبق fstab یا /proc/self/mountinfo حفظ کند. این رفتار پیش‌فرض را می‌توان با --options-mode تغییر داد. تغییر بازگشتی فلگ‌های اتصال (پشتیبانی‌شده از v2.39 در سیستم‌های دارای فراخوانی سیستمی mount_setattr(2))، برای مثال mount -o remount,ro=recursive، از رفتار بازنشانی نامشخص‌ها استفاده نمی‌کند و به عنوان یک عملیات ساده افزودن/حذف عمل می‌کند و فلگ‌های نامشخص تغییر نمی‌یابند.

قابلیت اتصال مجدد از روش استاندارد دستور mount در کار با گزینه‌های fstab پیروی می‌کند. این بدان معناست که mount تنها زمانی fstab (یا mtab) را نمی‌خواند که هر دو پارامتر device و dir مشخص شده باشند.

mount -o remount,rw /dev/foo /dir

پس از این فراخوانی تمام گزینه‌های اتصال قدیمی جایگزین می‌شوند و اطلاعات دلخواه از fstab (یا mtab) نادیده گرفته می‌شوند، به جز گزینه loop= که به صورت داخلی توسط دستور mount تولید و نگهداری می‌شود.

mount -o remount,rw /dir

پس از این فراخوانی، mount پرونده fstab را می‌خواند و این گزینه‌ها را با گزینه‌های خط فرمان (-o) ادغام می‌کند. اگر هیچ نقطه اتصالی در fstab یافت نشود، به گزینه‌های اتصال از /proc/self/mountinfo ارجاع می‌دهد.

دستور mount امکان استفاده از --all را برای اتصال مجدد تمام سیستم‌های پرونده از قبل متصل‌شده که با فیلتر مشخص‌شده (-O و -t) مطابقت دارند، فراهم می‌سازد. برای مثال:

mount --all -o remount,ro -t vfat

تمام سیستم‌های پرونده vfat از قبل متصل‌شده را در حالت فقط‌خواندنی مجدداً متصل می‌کند. هر یک از سیستم‌های پرونده با معناشناسی mount -o remount,ro /dir مجدداً متصل می‌شوند. این بدان معناست که دستور mount پرونده fstab یا mtab را خوانده و این گزینه‌ها را با گزینه‌های خط فرمان ادغام می‌کند.

ro[=(recursive|vfs|fs)]

اتصال سیستم پرونده به صورت فقط‌خواندنی. آرگومان اختیاری یک ویژگی آزمایشی است که تنها توسط رابط کاربری اتصال مبتنی بر توصیف‌گر پرونده در هسته پشتیبانی می‌شود و برای فراخوانی سیستمی قدیمی mount(2) نادیده گرفته می‌شود.

آرگومان recursive ویژگی VFS را مجبور می‌کند به صورت بازگشتی اعمال شود.

آرگومان‌های vfs و fs لایه‌ای را مشخص می‌کنند که فلگ فقط‌خواندنی باید بر روی آن اعمال شود. گزینه fs ابربلوک سیستم پرونده (نمونه منحصربه‌فرد سیستم پرونده در هسته) و vfs گره اتصال را مشخص می‌کند. اگر هیچ ویژگی مشخص نشود، هر دو لایه روی فقط‌خواندنی تنظیم می‌شوند.

برای جزئیات بیشتر به بخش نکات تنظیم فقط‌خواندنی مراجعه کنید.

rw[=(recursive|vfs|fs)]

اتصال سیستم پرونده به صورت خواندنی-نوشتنی. آرگومان اختیاری یک ویژگی آزمایشی است که تنها توسط رابط کاربری اتصال مبتنی بر توصیف‌گر پرونده در هسته پشتیبانی می‌شود و برای فراخوانی سیستمی قدیمی mount(2) نادیده گرفته می‌شود.

آرگومان recursive ویژگی VFS را مجبور می‌کند به صورت بازگشتی اعمال شود.

آرگومان‌های vfs و fs لایه‌ای را مشخص می‌کنند که فلگ خواندنی-نوشتنی باید بر روی آن اعمال شود. گزینه fs ابربلوک سیستم پرونده و vfs گره اتصال را مشخص می‌کند. اگر هیچ ویژگی مشخص نشود، هر دو لایه روی خواندنی-نوشتنی تنظیم می‌شوند.

برای جزئیات بیشتر به بخش نکات تنظیم فقط‌خواندنی مراجعه کنید.

sync

تمام ورودی/خروجی‌ها به سیستم پرونده باید به صورت همگام (synchronous) انجام شوند. در مورد رسانه‌های دارای تعداد دفعات نوشتن محدود (مانند فلش‌مموری‌ها یا کارت‌های حافظه)، sync ممکن است طول عمر رسانه را کاهش دهد.

user

به یک کاربر عادی اجازه می‌دهد سیستم پرونده را متصل کند. نام کاربری اتصال‌دهنده در پرونده mtab نوشته می‌شود تا بتواند دوباره آن را جدا کند. این گزینه شامل گزینه‌های noexec، nosuid و nodev نیز می‌شود (مگر این‌که توسط گزینه‌های بعدی، مانند خط گزینه user,exec,dev,suid لغو شود).

nouser

تنها به کاربر ارشد اجازه اتصال سیستم پرونده داده شود. این حالت پیش‌فرض است.

users

به هر کاربری اجازه می‌دهد سیستم پرونده را متصل و جدا کند حتی اگر کاربر دیگری آن را متصل کرده باشد. این گزینه شامل گزینه‌های noexec، nosuid و nodev نیز می‌شود (مگر این‌که توسط گزینه‌های بعدی، مانند خط گزینه users,exec,dev,suid لغو شود).

X-*

تمام گزینه‌های دارای پیشوند "X-" به عنوان کامنت یا گزینه‌های ویژه برنامه‌های فضای کاربری تفسیر می‌شوند. این گزینه‌ها در فضای کاربری (مانند پرونده mtab) ذخیره نمی‌شوند و به برنامه‌های کمکی mount.type یا فراخوانی سیستمی mount(2) نیز ارسال نمی‌گردند. قالب پیشنهادی X-appname.option است.

x-*

مشابه گزینه‌های X-*، اما به طور دائمی در فضای کاربری ذخیره می‌شوند. این بدان معناست که این گزینه‌ها برای umount(8) یا سایر عملیات‌ها نیز در دسترس هستند. توجه داشته باشید که نگهداری گزینه‌های اتصال در فضای کاربری حساس و پیچیده است، زیرا لازم است از ابزارهای مبتنی بر libmount استفاده شود و هیچ تضمینی وجود ندارد که گزینه‌ها همیشه در دسترس باشند (برای مثال پس از عملیات جابه‌جایی اتصال یا در یک فضای نام غیراشتراکی).

توجه داشته باشید که پیش از util-linux v2.30 گزینه‌های x-* توسط libmount نگهداری و در فضای کاربری ذخیره نمی‌شدند (عملکرد آن‌ها همانند X-* کنونی بود)، اما به دلیل افزایش کاربردها (در initrd، systemd و غیره) این قابلیت گسترش یافته تا پیکربندی‌های موجود fstab بدون تغییر قابل استفاده بمانند.

X-mount.auto-fstypes=list

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

آرگومان list فهرستی جداشده با کاما از نام‌های سیستم پرونده است. تشخیص خودکار سیستم پرونده با نوع سیستم پرونده "auto" یا زمانی که نوع سیستم پرونده مشخص نشده باشد فعال می‌شود.

آرگومان list از نحوه ارزیابی الگوهای نوع توسط mount پیروی می‌کند (برای جزئیات بیشتر به -t مراجعه کنید). تنها نوع‌های مشخص‌شده سیستم پرونده مجاز خواهند بود، یا اگر فهرست با "no" شروع شود، تمام نوع‌های مشخص‌شده ممنوع خواهند بود.

برای مثال X-mount.auto-fstypes="ext4,btrfs" تنها ext4 و btrfs را می‌پذیرد و X-mount.auto-fstypes="novfat,xfs" تمام سیستم‌های پرونده را به جز vfat و xfs می‌پذیرد.

توجه داشته باشید که کاما به عنوان جداکننده میان گزینه‌های اتصال استفاده می‌شود، بدین معنی که مقادیر auto-fstypes باید به درستی نقل‌قول شوند؛ فراموش نکنید که پوسته علامت‌های نقل‌قول را حذف می‌کند و بنابراین نقل‌قول دوگانه لازم است. برای مثال:

mount -t auto -o’X-mount.auto-fstypes="noext2,ext3"' /dev/sdc1 /mnt/test

X-mount.mkdir[=mode]

امکان ایجاد یک دایرکتوری مقصد (نقطه اتصال) را در صورتی که هنوز وجود نداشته باشد فراهم می‌سازد. آرگومان اختیاری mode حالت دسترسی به سیستم پرونده را که برای mkdir(2) به کار می‌رود در نمادگذاری هشت‌هشتی (octal) مشخص می‌کند. حالت پیش‌فرض 0755 است. این قابلیت تنها برای کاربران ریشه یا زمانی که mount بدون مجوزهای suid اجرا می‌شود پشتیبانی می‌گردد. این گزینه همچنین به شکل x-mount.mkdir پشتیبانی می‌شود، اما این نوع نگارش از v2.30 منسوخ شده است. همچنین گزینه خط فرمان --mkdir را ببینید.

X-mount.nocanonicalize[=type]

امکان غیرفعال کردن متعارف‌سازی مسیرهای منبع و مقصد اتصال را فراهم می‌آورد. به طور پیش‌فرض دستور mount تمام مسیرها را به مسیرهای مطلق خود بدون پیوندهای نمادین تبدیل می‌کند. با این حال این رفتار ممکن است در شرایط خاصی نامطلوب باشد، مانند زمان bind کردن یک اتصال بر روی یک پیوند نمادین، یا پیوند نمادین روی یک پوشه یا پیوند نمادین دیگر. آرگومان اختیاری type می‌تواند "source" یا "target" (نقطه اتصال) باشد. اگر هیچ type مشخص نشود، متعارف‌سازی برای هر دو نوع غیرفعال می‌شود. این گزینه اتصال تأثیری بر تبدیل تگ‌های منبع (مانند LABEL= یا UUID=) و پردازش fstab ندارد.

گزینه خط فرمان --no-canonicalize این گزینه اتصال را بازنویسی می‌کند و بر تمام تبدیل‌های مسیر و تگ در همه شرایط اثر می‌گذارد، اما برای سازگاری با گذشته، فلگ‌های فراخوانی سیستمی open_tree را تغییر نمی‌دهد و مورد کاربرد bind-mount روی یک پیوند نمادین را مجاز نمی‌سازد.

توجه داشته باشید که mount(8) این گزینه را برای کاربران غیرمجاز (غیر ریشه) نادیده می‌گیرد. مسیرهای مقصد همیشه در حالت محدودشده متعارف‌سازی می‌شوند تا تفکیک امن تضمین گردد. مسیرهای منبع تنها زمانی متعارف‌سازی می‌شوند که با /dev/ شروع شوند.

X-mount.noloop

عدم ایجاد و اتصال دستگاه لوپ، حتی اگر منبع اتصال یک پرونده معمولی باشد.

X-mount.subdir=directory

امکان اتصال یک زیردایرکتوری از سیستم پرونده را به جای دایرکتوری ریشه فراهم می‌کند. این گزینه تنها زمانی مؤثر است که یک نمونه جدید از سیستم پرونده به سیستم متصل شود. این گزینه برای عملیات‌هایی مانند اتصال مجدد، bind mount یا انتقال نادیده گرفته می‌شود.

در حال حاضر، این قابلیت با اتصال موقت دایرکتوری ریشه سیستم پرونده در یک فضای نام غیراشتراکی و سپس bind کردن زیردایرکتوری به نقطه اتصال نهایی و جدا کردن ریشه سیستم پرونده پیاده‌سازی شده است. اتصال زیردایرکتوری به صورت اتمیک برای بقیه سیستم نمایان می‌شود هرچند با چندین فراخوانی سیستمی mount(2) پیاده شده است.

توجه داشته باشید که این قابلیت در نشست‌هایی با فضای نام اتصال اختصاصی غیراشتراکی (پس از unshare --mount) در هسته‌های قدیمی یا با mount(8) بدون پشتیبانی از API اتصال هسته مبتنی بر توصیف‌گر پرونده کار نخواهد کرد. در این حالت به unshare --mount --propagation shared نیاز دارید.

برای کاربران غیرمجاز (غیر ریشه)، این قابلیت نیازمند لینوکس 6.15 یا جدیدتر است که در آن زیردایرکتوری مستقیماً روی درخت اتصال جداشده باز می‌شود.

این قابلیت یک ویژگی آزمایشی (EXPERIMENTAL) است.

X-mount.owner=username|UID, X-mount.group=group|GID

تنظیم مالکیت newdir/mountpoint پس از اتصال. نام‌ها در فضای نام اتصال مقصد تفکیک می‌شوند، به -N مراجعه کنید.

X-mount.mode=mode

تنظیم حالت دسترسی newdir/mountpoint پس از اتصال.

X-mount.idmap=id-type:id-mount:id-host:id-range [id-type:id-mount:id-host:id-range], X-mount.idmap=file

از این گزینه برای ایجاد یک اتصال نگاشت‌شده با شناسه (idmapped mount) استفاده کنید. یک اتصال نگاشت‌شده با شناسه امکان تغییر مالکیت تمام فایل‌های واقع در زیر یک اتصال را بر اساس نگاشت شناسه‌ای مرتبط با یک فضای نام کاربری فراهم می‌کند. تغییر مالکیت به طول عمر اتصال گره خورده و به همان اتصال مربوطه محدود است. نگاشت شناسه مربوطه را می‌توان به دو روش مشخص کرد:
•کاربر می‌تواند نگاشت شناسه را مستقیماً مشخص کند.

نگاشت شناسه باید با ساختار id-type:id-mount:id-host:id-range مشخص شود. مشخص کردن u به عنوان پیشوند id-type یک نگاشت UID ایجاد می‌کند، g یک نگاشت GID ایجاد می‌کند و حذف id-type یا مشخص کردن b هم نگاشت UID و هم GID ایجاد می‌کند. پارامتر id-mount شناسه شروع را در اتصال جدید نشان می‌دهد. پارامتر id-host شناسه شروع را در سیستم پرونده نشان می‌دهد. پارامتر id-range نشان می‌دهد چه تعداد شناسه باید نگاشت شوند. امکان مشخص کردن چندین نگاشت شناسه وجود دارد.

نگاشت‌های شناسه‌ای مجزا باید با فاصله از هم جدا شوند. لطفاً توجه داشته باشید که در پرونده /etc/fstab، فاصله‌ها به عنوان جداکننده فیلدها تفسیر می‌شوند. برای جلوگیری از این موضوع، باید آن‌ها را با استفاده از \040 اسکیپ کنید. برای مثال: X-mount.idmap=0:0:1\040500:1000:1.

برای مثال نگاشت شناسه X-mount.idmap=u:1000:0:1 g:1001:1:2 5000:1000:2 یک اتصال نگاشت‌شده ایجاد می‌کند که در آن: UID 0 به UID 1000، شناسه GID 1 به GUID 1001، شناسه GID 2 به GID 1002، شناسه‌های UID و GID 1000 به 5000، و UID و GID 1001 به 5001 در این اتصال نگاشت می‌شوند.

هنگامی که نگاشت شناسه مستقیماً مشخص شود، یک فضای نام کاربری جدید با نگاشت درخواستی اختصاص داده خواهد شد. فضای نام کاربری تازه ایجادشده به این اتصال پیوست خواهد شد.

•کاربر می‌تواند یک پرونده فضای نام کاربری را مشخص کند.

سپس فضای نام کاربری به اتصال پیوست شده و نگاشت شناسه فضای نام کاربری به نگاشت شناسه اتصال تبدیل خواهد شد.

برای مثال، X-mount.idmap=/proc/PID/ns/user فضای نام کاربری فرآیند PID را به این اتصال پیوست خواهد کرد.

nosymfollow

عدم دنبال کردن پیوندهای نمادین هنگام تفکیک مسیرها. پیوندهای نمادین همچنان می‌توانند ایجاد شوند، و دستورات readlink(1)، readlink(2)، realpath(1) و realpath(3) همگی همچنان به درستی کار می‌کنند.

این بخش گزینه‌هایی را فهرست می‌کند که مختص سیستم‌های پرونده خاصی هستند. در صورت امکان، ابتدا باید به صفحات راهنمای اختصاصی هر سیستم پرونده مراجعه کنید. برخی از آن صفحات در جدول زیر فهرست شده‌اند.

سیستم(های) پرونده صفحه راهنما
btrfs btrfs(5)
cifs mount.cifs(8)
ext2, ext3, ext4 ext4(5)
fuse fuse(8)
nfs nfs(5)
tmpfs tmpfs(5)
xfs xfs(5)

توجه داشته باشید که برخی از صفحات فهرست‌شده در بالا ممکن است تنها پس از نصب ابزارهای فضای کاربری مربوطه در دسترس باشند.

گزینه‌های زیر تنها بر سیستم‌های پرونده خاصی اعمال می‌شوند. ما آن‌ها را بر اساس سیستم پرونده مرتب کرده‌ایم. تمام گزینه‌ها پس از فلگ -o قرار می‌گیرند.

این‌که چه گزینه‌هایی پشتیبانی می‌شوند تا حدی به هسته در حال اجرا بستگی دارد. اطلاعات بیشتر ممکن است در پرونده‌های اختصاصی هر سیستم پرونده در زیردایرکتوری Documentation/filesystems در سورس هسته موجود باشد.

uid=value و gid=value

مالک و گروه پرونده‌ها را در سیستم پرونده تنظیم می‌کند (پیش‌فرض: uid=gid=0).

ownmask=value و othmask=value

ماسک دسترسی را به ترتیب برای مجوزهای «owner» و «other» در ADFS تنظیم می‌کند (پیش‌فرض: به ترتیب 0700 و 0077). همچنین /usr/src/linux/Documentation/filesystems/adfs.rst را ببینید.

uid=value و gid=value

مالک و گروه ریشه سیستم پرونده را تنظیم می‌کند (پیش‌فرض: uid=gid=0، اما با گزینه uid یا gid بدون مقدار مشخص، UID و GID فرآیند جاری در نظر گرفته می‌شود).

setuid=value و setgid=value

مالک و گروه تمام پرونده‌ها را تنظیم می‌کند.

mode=value

حالت دسترسی تمام پرونده‌ها را صرف‌نظر از مجوزهای اصلی، بر روی value & 0777 تنظیم می‌کند. مجوز جستجو (search) را به دایرکتوری‌هایی که مجوز خواندن دارند اضافه می‌کند. مقدار در مبنای هشت داده می‌شود.

protect

هیچ تغییری را در بیت‌های حفاظتی سیستم پرونده مجاز نمی‌داند.

usemp

در اولین همگام‌سازی (sync) یا جداسازی (umount)، شناسه‌های UID و GID ریشه سیستم پرونده را بر روی UID و GID نقطه اتصال تنظیم می‌کند و سپس این گزینه را پاک می‌کند. رفتاری عجیب...

verbose

برای هر اتصال موفقیت‌آمیز، یک پیام اطلاعاتی چاپ می‌کند.

prefix=string

پیشوندی که هنگام دنبال کردن پیوند، قبل از نام جلد (volume) استفاده می‌شود.

volume=string

پیشوندی (با حداکثر طول ۳۰) که هنگام دنبال کردن یک پیوند نمادین قبل از '/' استفاده می‌شود.

reserved=value

(پیش‌فرض: 2.) تعداد بلوک‌های استفاده‌نشده در ابتدای دستگاه.

root=value

مکان بلوک ریشه را به طور صریح مشخص می‌کند.

bs=value

اندازه بلوک را مشخص می‌کند. مقادیر مجاز عبارتند از 512، 1024، 2048 و 4096.

grpquota|noquota|quota|usrquota

این گزینه‌ها پذیرفته می‌شوند اما نادیده گرفته می‌شوند. (با این حال، ابزارهای سهمیه‌بندی ممکن است به چنین رشته‌هایی در /etc/fstab واکنش نشان دهند.)

سیستم پرونده debugfs یک سیستم پرونده شبه‌مجازی است که به طور سنتی در /sys/kernel/debug متصل می‌شود. از نگارش هسته 3.4، گزینه‌های زیر را دارد:

uid=n, gid=n

مالک و گروه نقطه اتصال را تنظیم می‌کند.

mode=value

حالت دسترسی نقطه اتصال را تنظیم می‌کند.

سیستم پرونده devpts یک سیستم پرونده شبه‌مجازی است که به طور سنتی در /dev/pts متصل می‌شود. برای دستیابی به یک شبه‌ترمینال، یک فرآیند /dev/ptmx را باز می‌کند؛ سپس شماره شبه‌ترمینال در اختیار فرآیند قرار می‌گیرد و پیرو شبه‌ترمینال به عنوان /dev/pts/<number> قابل دسترسی خواهد بود.

uid=value و gid=value

مالک یا گروه شبه‌ترمینال‌های تازه‌تولیدشده را بر روی مقادیر مشخص‌شده تنظیم می‌کند. اگر مقداری مشخص نشود، بر روی UID و GID فرآیند ایجادکننده تنظیم می‌شوند. برای مثال اگر یک گروه tty با شناسه GID 5 وجود داشته باشد، گزینه gid=5 باعث می‌شود شبه‌ترمینال‌های تازه ایجادشده متعلق به گروه tty باشند.

mode=value

حالت دسترسی شبه‌ترمینال‌های تازه ایجادشده را بر روی مقدار مشخص‌شده تنظیم می‌کند. پیش‌فرض 0600 است. مقدار mode=620 و gid=5 باعث می‌شود "mesg y" در شبه‌ترمینال‌های تازه ایجادشده پیش‌فرض باشد.

newinstance

یک نمونه اختصاصی از سیستم پرونده devpts ایجاد می‌کند، به طوری که شاخص‌های شبه‌ترمینال‌های اختصاص‌یافته در این نمونه جدید، مستقل از شاخص‌های ایجادشده در سایر نمونه‌های devpts باشند.

تمام اتصالات devpts بدون این گزینه newinstance مجموعه شاخص‌های یکسانی از شبه‌ترمینال‌ها را به اشتراک می‌گذارند (حالت سنتی). هر اتصال devpts همراه با گزینه newinstance دارای مجموعه‌ای اختصاصی از شاخص‌های شبه‌ترمینال خواهد بود.

این گزینه عمدتاً برای پشتیبانی از کانتینرها در هسته لینوکس استفاده می‌شود. این قابلیت در هسته‌های لینوکس با شروع از نسخه 2.6.29 پیاده‌سازی شده است. علاوه بر این، این گزینه اتصال تنها در صورتی معتبر است که CONFIG_DEVPTS_MULTIPLE_INSTANCES در پیکربندی هسته فعال باشد.

برای استفاده موثر از این گزینه، /dev/ptmx باید یک پیوند نمادین به pts/ptmx باشد. برای جزئیات به Documentation/filesystems/devpts.txt در درخت سورس لینوکس مراجعه کنید.

ptmxmode=value

حالت دسترسی گره دستگاه جدید ptmx را در سیستم پرونده devpts تنظیم می‌کند.

با پشتیبانی از نمونه‌های چندگانه devpts (گزینه newinstance در بالا را ببینید)، هر نمونه دارای یک گره اختصاصی ptmx در ریشه سیستم پرونده devpts است (معمولاً /dev/pts/ptmx).

برای سازگاری با نسخه‌های قدیمی هسته، حالت پیش‌فرض گره جدید ptmx برابر با 0000 است. گزینه ptmxmode=value حالتی مفیدتر را برای گره ptmx مشخص می‌کند و هنگام تعیین گزینه newinstance اکیداً توصیه می‌شود.

این گزینه فقط در نگارش‌های هسته لینوکس از 2.6.29 پیاده‌سازی شده و نیازمند فعال بودن CONFIG_DEVPTS_MULTIPLE_INSTANCES در هسته است.

(توجه: fat یک سیستم پرونده جداگانه نیست، بلکه بخش مشترکی از سیستم‌های پرونده msdos، umsdos و vfat است.)

blocksize={512|1024|2048}

اندازه بلوک را تنظیم می‌کند (پیش‌فرض 512). این گزینه منسوخ شده است.

uid=value و gid=value

مالک و گروه تمام پرونده‌ها را تنظیم می‌کند. (پیش‌فرض: UID و GID فرآیند جاری.)

umask=value

تنظیم umask (بیت‌ماسک دسترسی‌هایی که وجود ندارند). پیش‌فرض همان umask فرآیند جاری است. مقدار در مبنای هشت داده می‌شود.

dmask=value

تنظیم umask اعمال‌شده تنها برای دایرکتوری‌ها. پیش‌فرض همان umask فرآیند جاری است. مقدار در مبنای هشت داده می‌شود.

fmask=value

تنظیم umask اعمال‌شده تنها برای پرونده‌های معمولی. پیش‌فرض همان umask فرآیند جاری است. مقدار در مبنای هشت داده می‌شود.

allow_utime=value

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

20

اگر فرآیند جاری در گروه شناسه گروه فایل باشد، می‌توانید برچسب زمانی را تغییر دهید.

2

سایر کاربران می‌توانند برچسب زمانی را تغییر دهند.

پیش‌فرض از گزینه 'dmask' تنظیم می‌شود. (اگر دایرکتوری قابل نوشتن باشد، utime(2) نیز مجاز است، یعنی dmask & 022~).

به طور معمول utime(2) بررسی می‌کند که فرآیند جاری مالک پرونده باشد یا قابلیت CAP_FOWNER را داشته باشد. اما سیستم‌های پرونده FAT شناسه UID/GID را روی دیسک ندارند، بنابراین بررسی عادی بیش از حد انعطاف‌ناپذیر است. با این گزینه می‌توانید آن را تعدیل کنید.

check=value

سه سطح مختلف از حساسیت قابل انتخاب است:

r[elaxed]

حروف بزرگ و کوچک پذیرفته شده و معادل دانسته می‌شوند، بخش‌های نام طولانی کوتاه می‌شوند (مثلاً verylongname.foobar به verylong.foo تبدیل می‌شود)، و فاصله‌های ابتدایی و میانی در هر بخش نام پذیرفته می‌شوند.

n[ormal]

مانند حالت relaxed، اما بسیاری از نویسه‌های ویژه (*، ?، <، فاصله‌ها و غیره) رد می‌شوند. این حالت پیش‌فرض است.

s[trict]

مانند حالت normal، اما نام‌هایی که شامل بخش‌های طولانی یا نویسه‌های ویژه‌ای هستند که گاهی در لینوکس به کار می‌روند اما در MS-DOS پذیرفته نمی‌شوند (+، = و غیره) رد می‌شوند.

codepage=value

جدول کد را برای تبدیل به نویسه‌های نام کوتاه در سیستم‌های پرونده FAT و VFAT تنظیم می‌کند. به طور پیش‌فرض، جدول کد 437 استفاده می‌شود.

conv=mode

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

cvf_format=module

درایور را مجبور می‌کند به جای تشخیص خودکار، از ماژول CVF (فایل جلد فشرده‌شده) cvf_module استفاده کند. اگر هسته از kmod پشتیبانی کند، گزینه cvf_format=xxx بارگذاری ماژول CVF بر حسب تقاضا را نیز کنترل می‌کند. این گزینه منسوخ شده است.

cvf_option=option

گزینه‌ای که به ماژول CVF ارسال می‌شود. این گزینه منسوخ شده است.

debug

فعال کردن فلگ debug. رشته نگارش و فهرستی از پارامترهای سیستم پرونده چاپ خواهد شد.

discard

در صورت تنظیم، باعث صدور دستورات discard/TRIM به دستگاه بلوکی در زمان آزادسازی بلوک‌ها می‌شود. این برای دستگاه‌های SSD مفید است.

dos1xfloppy

در صورت تنظیم، از یک پیکربندی بلوک پارامتر BIOS پیش‌فرض جایگزین بر اساس اندازه دستگاه پشتیبان استفاده می‌کند.

errors={panic|continue|remount-ro}

تعیین رفتار FAT در خطاهای بحرانی: panic (ایجاد وحشت هسته)، continue (ادامه بدون انجام اقدامی)، یا remount-ro (اتصال مجدد پارتیشن به صورت فقط‌خواندنی، که رفتار پیش‌فرض است).

fat={12|16|32}

مشخص کردن سیستم پرونده FAT دوازده، شانزده یا سی‌ودو بیتی. روتین تشخیص خودکار نوع FAT را لغو می‌کند. با احتیاط استفاده شود!

iocharset=value

مجموعه نویسه مورد استفاده برای تبدیل بین نویسه‌های ۸ بیتی و نویسه‌های ۱۶ بیتی یونیکد. پیش‌فرض iso8859-1 است. نام‌های پرونده طولانی در قالب یونیکد ذخیره می‌شوند.

nfs={stale_rw|nostale_ro}

این گزینه را تنها در صورتی فعال کنید که می‌خواهید سیستم پرونده FAT را از طریق NFS به اشتراک بگذارید.

stale_rw: شاخصی از اینودهای دایرکتوری نگهداری می‌کند که توسط کدهای مرتبط با NFS برای بهبود جستجو استفاده می‌شود.

nostale_ro: شماره اینود و دستگیره فایل را بر اساس مکان روی دیسک تعیین می‌کند. برای جلوگیری از خراب شدن داده‌ها، این گزینه سیستم پرونده را به صورت فقط‌خواندنی متصل می‌کند.

جهت حفظ سازگاری با گذشته، -o nfs نیز پذیرفته می‌شود که پیش‌فرض آن stale_rw است.

tz=UTC

این گزینه تبدیل برچسب‌های زمانی میان زمان محلی و زمان UTC را غیرفعال می‌کند.

time_offset=minutes

آفست تبدیل برچسب‌های زمانی از زمان محلی FAT به UTC را تنظیم می‌کند.

quiet

فعال کردن فلگ quiet. تلاش‌ها برای chown یا chmod خطایی برنمی‌گردانند هرچند ناموفق خواهند بود.

rodir

در ویندوز، صفت ATTR_RO برای دایرکتوری‌ها نادیده گرفته می‌شود. اگر می‌خواهید صفت ATTR_RO حتی برای دایرکتوری‌ها نیز به عنوان فلگ فقط‌خواندنی عمل کند، این گزینه را تنظیم کنید.

showexec

در صورت تنظیم، بیت‌های مجوز اجرای پرونده تنها در صورتی مجاز خواهند بود که پسوند نام EXE.، COM. یا BAT. باشد. به طور پیش‌فرض تنظیم نشده است.

sys_immutable

در صورت تنظیم، صفت ATTR_SYS در FAT به عنوان فلگ IMMUTABLE در لینوکس مدیریت می‌شود.

flush

در صورت تنظیم، سیستم پرونده تلاش می‌کند زودتر از حالت عادی داده‌ها را روی دیسک فلاش کند.

usefree

استفاده از مقدار «free clusters» ذخیره‌شده در FSINFO برای تعیین تعداد کلاسترهای آزاد بدون پویش کل دیسک.

dots, nodots, dotsOK=[yes|no]

تلاش‌های مختلف برای تحمیل قواعد یونیکس یا داس بر روی سیستم پرونده FAT.

creator=cccc, type=cccc

تنظیم مقادیر خالق/نوع (creator/type) مورد استفاده در مکینتاش برای ساخت پرونده‌های جدید.

uid=n, gid=n

مالک و گروه تمام پرونده‌ها را تنظیم می‌کند. (پیش‌فرض: UID و GID فرآیند جاری.)

dir_umask=n, file_umask=n, umask=n

تنظیم umask مورد استفاده برای تمام پوشه‌ها، پرونده‌ها یا هر دو.

session=n

انتخاب نشست CDROM جهت اتصال.

part=n

انتخاب شماره پارتیشن n از دستگاه. فقط برای CDROMها کاربرد دارد.

quiet

عدم اعلام خطا در مورد گزینه‌های اتصال نامعتبر.

uid=value و gid=value

مالک و گروه تمام پرونده‌ها را تنظیم می‌کند.

umask=value

تنظیم umask برای تمام پرونده‌ها. مقدار در مبنای هشت داده می‌شود.

case={lower|asis}

تبدیل نام تمام فایل‌ها به حروف کوچک، یا حفظ حالت آن‌ها (پیش‌فرض: case=lower).

conv=mode

این گزینه منسوخ شده است.

nocheck

عدم لغو اتصال در صورت شکست برخی بررسی‌های یکپارچگی.

استاندارد ISO 9660 ساختار سیستم پرونده مورد استفاده در CD-ROMها را توصیف می‌کند. (همچنین در برخی DVDها دیده می‌شود؛ سیستم پرونده udf را نیز ببینید.)

نام پرونده‌های استاندارد iso9660 در قالب 8.3 ظاهر می‌شوند و تمام نویسه‌ها با حروف بزرگ هستند. هیچ فیلدی برای مالکیت، دسترسی‌ها، تعداد پیوندها و غیره وجود ندارد.

پروتکل Rock Ridge یک پسوند برای iso9660 است که تمام ویژگی‌های شبه‌یونیکس را فراهم می‌کند و سیستم پرونده شبیه یک سیستم پرونده یونیکسی معمولی (اما فقط‌خواندنی) می‌شود.

norock

غیرفعال کردن استفاده از افزونه‌های Rock Ridge حتی در صورت در دسترس بودن.

nojoliet

غیرفعال کردن استفاده از افزونه‌های Microsoft Joliet حتی در صورت در دسترس بودن.

check={r[elaxed]|s[trict]}

در حالت check=relaxed، نام پرونده قبل از جستجو به حروف کوچک تبدیل می‌شود. (پیش‌فرض: check=strict.)

uid=value و gid=value

اختصاص شناسه کاربر یا گروه به تمام پرونده‌ها. (پیش‌فرض: uid=0, gid=0.)

map={n[ormal]|o[ff]|a[corn]}

برای جلدهای غیر Rock Ridge، ترجمه نام‌ها را کنترل می‌کند (پیش‌فرض: map=normal).

mode=value

برای جلدهای غیر Rock Ridge، حالت دسترسی را به تمام پرونده‌ها اختصاص می‌دهد.

unhide

نمایش پرونده‌های پنهان و مرتبط.

block={512|1024|2048}

اندازه بلوک را تنظیم می‌کند (پیش‌فرض: block=1024).

conv=mode

این گزینه منسوخ شده است.

cruft

نادیده گرفتن بیت‌های مرتبه بالای طول پرونده در صورتی که حاوی اطلاعات نامربوط باشد.

session=x

انتخاب شماره نشست در CDهای چندنشستی.

sbsector=xxx

نشست از بخش xxx آغاز می‌شود.

گزینه‌های زیر مشابه vfat هستند و برای دیسک‌های دارای فرمت Joliet کاربرد دارند:

iocharset=value

مجموعه نویسه برای تبدیل نویسه‌های ۱۶ بیتی یونیکد روی CD به نویسه‌های ۸ بیتی. پیش‌فرض iso8859-1 است.

utf8

تبدیل نویسه‌های ۱۶ بیتی یونیکد روی CD به UTF-8.

iocharset=name

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

resize=value

تغییر اندازه جلد به اندازه value بلوک. JFS تنها از افزایش حجم پشتیبانی می‌کند نه کاهش آن.

nointegrity

عدم نوشتن در ژورنال. کاربرد اصلی آن برای بهبود کارایی هنگام بازیابی پشتیبان است.

integrity

پیش‌فرض. اعمال تغییرات فراداده در ژورنال.

errors={continue|remount-ro|panic}

تعیین رفتار هنگام بروز خطا.

noquota|quota|usrquota|grpquota

این گزینه‌ها پذیرفته می‌شوند اما نادیده گرفته می‌شوند.

گزینه‌های اتصال fat را ببینید. اگر سیستم پرونده msdos ناهمخوانی تشخیص دهد، خطا گزارش کرده و سیستم پرونده را فقط‌خواندنی می‌کند.

همانند nfs، پیاده‌سازی ncpfs انتظار یک آرگومان دودویی به فراخوانی سیستمی mount(2) را دارد که توسط ncpmount(8) ساخته می‌شود.

iocharset=name

مجموعه نویسه هنگام بازگرداندن نام پرونده‌ها. منسوخ شده است.

nls=name

نام جدید گزینه‌ای که قبلاً iocharset نامیده می‌شد.

utf8

استفاده از UTF-8 برای تبدیل نام پرونده‌ها.

uni_xlate={0|1|2}

برای مقادیر ۱ یا ۲ از توالی‌های اسکیپ ۴ بایتی با سبک vfat برای نویسه‌های ناشناخته یونیکد استفاده می‌کند.

posix=[0|1]

در صورت فعال بودن (posix=1)، سیستم پرونده میان حروف بزرگ و کوچک تفاوت قائل می‌شود. این گزینه منسوخ است.

uid=value, gid=value و umask=value

تنظیم مجوزهای پرونده در سیستم پرونده. به طور پیش‌فرض، پرونده‌ها متعلق به root هستند و توسط دیگران قابل خواندن نیستند.

از لینوکس 3.18، سیستم پرونده شبه‌مجازی overlay یک اتصال اشتراکی (union mount) را برای سایر سیستم‌های پرونده پیاده‌سازی می‌کند.

یک سیستم پرونده overlay دو سیستم پرونده را ترکیب می‌کند: یک سیستم پرونده بالایی (upper) و یک سیستم پرونده پایینی (lower). هنگامی که یک نام در هر دو سیستم پرونده وجود دارد، شیء موجود در سیستم پرونده بالایی قابل مشاهده است در حالی که شیء موجود در سیستم پرونده پایینی یا پنهان می‌شود یا در مورد دایرکتوری‌ها، با شیء بالایی ادغام می‌گردد.

سیستم پرونده پایینی می‌تواند هر سیستم پرونده پشتیبانی‌شده توسط لینوکس باشد و نیازی به قابل نوشتن بودن ندارد. سیستم پرونده پایینی حتی می‌تواند یک overlayfs دیگر باشد. سیستم پرونده بالایی معمولاً قابل نوشتن خواهد بود و اگر چنین باشد، باید از ایجاد صفات گسترده trusted.* پشتیبانی کند و یک d_type معتبر در پاسخ‌های readdir ارائه دهد، بنابراین NFS مناسب نیست.

یک overlay فقط‌خواندنی از دو سیستم پرونده فقط‌خواندنی می‌تواند از هر نوع سیستم پرونده‌ای استفاده کند. گزینه‌های lowerdir و upperdir با دستور زیر در یک دایرکتوری ادغام‌شده ترکیب می‌شوند:

mount -t overlay overlay \
  -olowerdir=/lower,upperdir=/upper,workdir=/work /merged

lowerdir=directory

هر سیستم پرونده‌ای، نیازی به قرار داشتن روی یک سیستم پرونده قابل نوشتن ندارد.

upperdir=directory

دایرکتوری upperdir معمولاً روی یک سیستم پرونده قابل نوشتن قرار دارد.

workdir=directory

دایرکتوری workdir باید یک پوشه خالی در همان سیستم پرونده upperdir باشد.

userxattr

استفاده از فضای نام صفت‌های گسترده "user.overlay." به جای "trusted.overlay.". این گزینه برای اتصال بدون مجوزهای ویژه overlayfs مفید است.

redirect_dir={on|off|follow|nofollow}

اگر قابلیت redirect_dir فعال باشد، دایرکتوری به بالا کپی می‌شود (نه محتویات آن). سپس صفت گسترده "{trusted|user}.overlay.redirect" روی مسیر مکان اصلی از ریشه overlay تنظیم می‌شود. در نهایت دایرکتوری به مکان جدید منتقل می‌شود.

on

تغییر مسیرها فعال هستند.

off

تغییر مسیرها ایجاد نمی‌شوند و تنها در صورتی دنبال می‌شوند که ویژگی "redirect_always_follow" در پیکربندی هسته/ماژول فعال باشد.

follow

تغییر مسیرها ایجاد نمی‌شوند، اما دنبال می‌شوند.

nofollow

تغییر مسیرها ایجاد نمی‌شوند و دنبال هم نمی‌گردند.

index={on|off}

شاخص اینود. اگر این ویژگی غیرفعال باشد و فایلی با پیوندهای سخت چندگانه به بالا کپی شود، پیوند «شکسته» خواهد شد.

uuid={on|off}

می‌تواند برای جایگزینی UUID سیستم پرونده زیرین در دستگیره‌های فایل با مقدار null و در عمل غیرفعال کردن بررسی‌های UUID استفاده شود.

nfs_export={on|off}

هنگامی که سیستم‌های پرونده زیرین از صادرات NFS پشتیبانی کنند و ویژگی "nfs_export" فعال باشد، یک سیستم پرونده overlay می‌تواند به NFS صادر شود.

xino={on|off|auto}

ویژگی "xino" یک شناسه شیء منحصربه‌فرد را از st_ino شیء واقعی و یک شاخص fsid زیرین ترکیب می‌کند. برای توضیحات دقیق اثر این گزینه لطفاً به پیوند زیر مراجعه کنید:

https://docs.kernel.org/filesystems/overlayfs.html

metacopy={on|off}

هنگامی که ویژگی کپی به بالای فراداده فعال باشد، overlayfs تنها فراداده را در هنگام انجام عملیات خاص فراداده مانند chown/chmod به بالا کپی می‌کند. کل فایل بعداً در هنگام باز شدن برای نوشتن کپی خواهد شد.

volatile

اتصالات فرّار (volatile) هیچ تضمینی برای بقا پس از خرابی سیستم ندارند. اکیداً توصیه می‌شود این گزینه تنها زمانی به کار رود که داده‌های نوشته‌شده در overlay را بتوان بدون تلاش قابل توجه بازسازی کرد. مزیت آن حذف تمام فراخوانی‌های sync به سیستم پرونده بالایی است.

سیستم پرونده Reiserfs یک سیستم پرونده ژورنالی است.

conv

به نرم‌افزار reiserfs نگارش 3.6 دستور می‌دهد یک سیستم پرونده نگارش 3.5 را متصل کرده و از فرمت 3.6 برای اشیاء تازه‌ایجادشده استفاده کند.

hash={rupasov|tea|r5|detect}

انتخاب تابع هش مورد استفاده برای یافتن پرونده‌ها در دایرکتوری‌ها. گزینه r5 پیش‌فرض است.

hashed_relocation و no_unhashed_relocation

تنظیم تخصیص‌دهنده بلوک‌ها برای بهبود کارایی.

noborder

غیرفعال کردن الگوریتم تخصیص مرزی.

nolog

غیرفعال کردن ژورنال‌سازی.

notail

به طور پیش‌فرض reiserfs پرونده‌های کوچک و دنباله‌های پرونده را مستقیماً درون درخت ذخیره می‌کند. این گزینه بسته‌بندی فایل‌ها در درخت را غیرفعال می‌کند.

replayonly

بازپخش تراکنش‌های موجود در ژورنال بدون اتصال واقعی سیستم پرونده.

resize=number

گزینه‌ای برای اتصال مجدد جهت گسترش برخط پارتیشن‌های reiserfs.

user_xattr

فعال کردن صفات گسترده کاربر. به صفحه راهنمای attr(1) مراجعه کنید.

acl

فعال کردن فهرست‌های کنترل دسترسی POSIX. به صفحه راهنمای acl(5) مراجعه کنید.

barrier=none / barrier=flush

غیرفعال/فعال کردن موانع نوشتن در کدهای ژورنال‌سازی (پیش‌فرض barrier=flush است).

سیستم پرونده UBIFS یک سیستم پرونده فلش است که روی جلدهای UBI کار می‌کند. توجه داشته باشید که atime پشتیبانی نمی‌شود و همیشه خاموش است.

نام دستگاه را می‌توان به صورت ubiX_Y، ubiY، ubiX:NAME یا ubi:NAME مشخص کرد.

گزینه‌های اتصال موجود عبارتند از:

bulk_read

فعال کردن خواندن یک‌باره و حجیم داده‌ها (bulk-read).

no_bulk_read

عدم خواندن حجیم. این حالت پیش‌فرض است.

chk_data_crc

بررسی چکسام‌های CRC-32 داده‌ها. این حالت پیش‌فرض است.

no_chk_data_crc

عدم بررسی چکسام CRC-32 برای داده‌ها.

compr={none|lzo|zlib}

انتخاب فشرده‌ساز پیش‌فرض برای پرونده‌های جدید.

سیستم پرونده UDF یا «Universal Disk Format» برای DVD-ROMها، دیسک‌های نوری، فلش‌مموری‌ها و دستگاه‌های بلوکی دیگر استفاده می‌شود.

uid= و gid=

تمام پرونده‌ها متعلق به کاربر و گروه داده‌شده می‌شوند. مقدار forget باعث عدم ذخیره uids/gids روی رسانه می‌شود.

umask=، mode= و dmode=

تنظیم ماسک دسترسی و حالت مجوزهای پرونده‌ها و دایرکتوری‌ها در مبنای هشت.

bs=

تنظیم اندازه بلوک سیستم پرونده.

unhide و undelete

نمایش پرونده‌های پنهان یا حذف‌شده.

adinicb / noadinicb

جاسازی یا عدم جاسازی داده‌ها درون اینود (پیش‌فرض adinicb است).

shortad / longad

استفاده از توصیف‌گرهای آدرس کوتاه یا بلند UDF (پیش‌فرض longad است).

nostrict

غیرفعال کردن انطباق دقیق با استاندارد.

iocharset= و utf8

تنظیم مجموعه نویسه NLS یا استفاده از UTF-8.

novrs

نادیده گرفتن توالی شناسایی جلد و تلاش برای اتصال در هر حالتی.

session=

انتخاب شماره نشست برای رسانه‌های نوری چندنشستی (پیش‌فرض آخرین نشست است).

anchor=

بازنویسی مکان استاندارد لنگر (پیش‌فرض 256 است).

lastblock=

تنظیم آخرین بلوک سیستم پرونده.

گزینه‌های uid=ignore، gid=ignore، volume=، partition=، fileset= و rootdir= پیاده‌سازی نشده‌اند و نادیده گرفته می‌شوند.

ufstype=value

سیستم پرونده UFS در سیستم‌های عامل گوناگون استفاده می‌شود. به دلیل تفاوت‌های میان پیاده‌سازی‌ها، کاربر باید نوع آن را مشخص کند:

old (قالب قدیمی و پیش‌فرض، فقط‌خواندنی)، 44bsd (برای سیستم‌های بر پایه BSD)، ufs2 یا 5xbsd (در FreeBSD 5.x به صورت خواندنی-نوشتنی)، sun (برای SunOS یا سولاریس در Sparc)، sunx86 (سولاریس x86)، hp (برای HP-UX)، nextstep، nextstep-cd و openstep (مورد استفاده در macOS نیز هست).

onerror=value

تعیین رفتار در زمان بروز خطا: panic (ایجاد وحشت هسته)، یا گزینه‌های lock، umount، repair که فعلاً فقط پیامی در کنسول چاپ می‌کنند.

گزینه‌های اتصال msdos را ببینید. گزینه dotsOK صریحاً توسط umsdos غیرفعال می‌شود.

ابتدا گزینه‌های اتصال fat شناخته می‌شوند. گزینه dotsOK صریحاً توسط vfat غیرفعال می‌شود. علاوه بر این:

uni_xlate

ترجمه نویسه‌های غیرقابل‌مدیریت یونیکد به توالی‌های اسکیپ ویژه.

posix

اجازه دادن به دو پرونده که نام آن‌ها تنها در بزرگی و کوچکی حروف تفاوت دارد. این گزینه منسوخ است.

nonumtail

تلاش برای ایجاد نام کوتاه بدون شماره توالی پیش از امتحان name~num.ext.

utf8

استفاده از رمزگذاری ایمن UTF-8 برای سیستم پرونده.

shortname=mode

رفتار ایجاد و نمایش نام‌هایی را که در ساختار 8.3 می‌گنجند تعریف می‌کند: lower، win95، winnt یا mixed (پیش‌فرض از لینوکس 2.6.32).

devuid=، devgid= و devmode=

تنظیم مالک، گروه و حالت پرونده‌های دستگاه در usbfs (پیش‌فرض: uid=gid=0, mode=0644).

busuid=، busgid= و busmode=

تنظیم مالک، گروه و حالت دایرکتوری‌های گذرگاه در usbfs (پیش‌فرض: uid=gid=0, mode=0555).

listuid=، listgid= و listmode=

تنظیم مالک، گروه و حالت پرونده devices (پیش‌فرض: uid=gid=0, mode=0444).

مقصد verity در دِوایس‌مپر (device-mapper) امکان بررسی شفاف و فقط‌خواندنی یکپارچگی دستگاه‌های بلوکی را با استفاده از API رمزنگاری هسته فراهم می‌سازد. دستور mount می‌تواند دستگاه dm-verity را باز کرده و اعتبارسنجی یکپارچگی را پیش از اتصال سیستم پرونده دستگاه انجام دهد. نیازمند libcryptsetup در libmount است (اختیاراً از طریق dlopen(3)). اگر libcryptsetup از استخراج هش ریشه دستگاه از قبل متصل‌شده پشتیبانی کند، دستگاه‌های موجود در صورت تطابق به طور خودکار مجدداً استفاده خواهند شد. گزینه‌های اتصال برای dm-verity:

verity.hashdevice=path

مسیر دستگاه درخت هش مرتبط با جلد منبع جهت ارسال به dm-verity.

verity.roothash=hex

هش کدگذاری‌شده با هگزادسیمال ریشه verity.hashdevice. مانعة‌الجمع با verity.roothashfile.

verity.roothashfile=path

مسیر پرونده حاوی هش کدگذاری‌شده با هگزادسیمال ریشه verity.hashdevice. مانعة‌الجمع با verity.roothash.

verity.hashoffset=offset

اگر دستگاه درخت هش در جلد منبع تعبیه شده باشد، مقدار offset (پیش‌فرض: 0) توسط dm-verity برای دسترسی به درخت استفاده می‌شود.

verity.fecdevice=path

مسیر دستگاه تصحیح خطای پیشرو (FEC) مرتبط با جلد منبع جهت ارسال به dm-verity. اختیاری است. نیازمند کامپایل هسته با CONFIG_DM_VERITY_FEC است.

verity.fecoffset=offset

اگر دستگاه FEC درون جلد منبع تعبیه شده باشد، offset (پیش‌فرض: 0) توسط dm-verity برای دسترسی به ناحیه FEC استفاده می‌شود. اختیاری است.

verity.fecroots=value

بایت‌های توازن (parity) برای FEC (پیش‌فرض: 2). اختیاری است.

verity.roothashsig=path

مسیر امضای pkcs7(1ssl) برای رشته هگز هش ریشه. نیازمند crypt_activate_by_signed_key() از cryptsetup و کامپایل هسته با CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG است. برای استفاده مجدد از دستگاه، امضاها باید یا توسط همه اتصالات یک دستگاه استفاده شوند یا توسط هیچ‌کدام. اختیاری است.

verity.oncorruption=ignore|restart|panic

به هسته دستور می‌دهد هنگام تشخیص خرابی نادیده بگیرد، راه‌اندازی مجدد کند یا دچار وحشت (panic) شود. به طور پیش‌فرض عملیات ورودی/خروجی به سادگی با شکست مواجه می‌شود. نیازمند لینوکس 4.1 یا جدیدتر، و libcryptsetup 2.3.4 یا جدیدتر است. اختیاری است.

پشتیبانی‌شده از util-linux v2.35.

برای مثال از دستورات:

mksquashfs /etc /tmp/etc.raw
veritysetup format /tmp/etc.raw /tmp/etc.verity --root-hash-file=/tmp/etc.roothash
openssl smime -sign -in /tmp/etc.roothash -nocerts -inkey private.key \
-signer private.crt -noattr -binary -outform der -out /tmp/etc.roothash.p7s
mount -o verity.hashdevice=/tmp/etc.verity,verity.roothashfile=/tmp/etc.roothash,\
verity.roothashsig=/tmp/etc.roothash.p7s /tmp/etc.raw /mnt

یک ایمیج squashfs از دایرکتوری /etc، دستگاه هش verity ایجاد می‌کند و ایمیج اعتبارسنجی‌شده سیستم پرونده را در /mnt متصل می‌نماید. در صورت استفاده از roothashsig، هسته بررسی خواهد کرد که هش ریشه با کلیدی از دسته‌کلید هسته امضا شده باشد.

یک حالت ممکن دیگر، اتصال از طریق دستگاه لوپ (loop device) است. برای مثال دستور:

mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3

دستگاه لوپ /dev/loop3 را به گونه‌ای تنظیم می‌کند که متناظر با پرونده /tmp/disk.img باشد، و سپس این دستگاه را در /mnt متصل می‌کند.

اگر هیچ دستگاه لوپ صریحی ذکر نشود (و فقط گزینه '-o loop' داده شود)، آن‌گاه mount سعی می‌کند یک دستگاه لوپ استفاده‌نشده را یافته و از آن استفاده کند، برای مثال:

mount /tmp/disk.img /mnt -o loop

دستور mount در صورتی که نوع سیستم پرونده مشخص نشده باشد یا برای libblkid شناخته‌شده باشد، به طور خودکار یک دستگاه لوپ از یک پرونده معمولی ایجاد می‌کند، برای مثال:

mount /tmp/disk.img /mnt

mount -t ext4 /tmp/disk.img /mnt

این نوع اتصال سه گزینه به نام‌های loop، offset و sizelimit را می‌شناسد که در واقع گزینه‌های متعلق به losetup(8) هستند. (این گزینه‌ها را می‌توان علاوه بر گزینه‌های خاص سیستم پرونده به کار برد.)

از لینوکس 2.6.25، تخریب خودکار دستگاه‌های لوپ پشتیبانی می‌شود، به این معنی که هر دستگاه لوپی که توسط mount تخصیص داده شود، مستقل از /etc/mtab توسط umount آزاد خواهد شد.

شما همچنین می‌توانید یک دستگاه لوپ را به صورت دستی با استفاده از losetup -d یا umount -d آزاد کنید.

از نسخه util-linux v2.29، اگر همان پرونده پشتیبان قبلاً برای یک دستگاه لوپ با همان مقدار offset و sizelimit استفاده شده باشد، دستور mount به جای راه‌اندازی یک دستگاه جدید، از همان دستگاه لوپ مجدداً استفاده می‌کند. این امر برای جلوگیری از آسیب دیدن سیستم پرونده ضروری است.

دستور mount مقادیر وضعیت خروج زیر را بازمی‌گرداند (بیت‌ها می‌توانند با یکدیگر OR شوند):

0

موفقیت‌آمیز

1

فراخوانی نادرست یا مجوزهای ناکافی

2

خطای سیستمی (کمبود حافظه، عدم امکان fork، نبود دستگاه لوپ خالی)

4

اشکال داخلی در mount

8

وقفه توسط کاربر

16

مشکل در نوشتن یا قفل کردن /etc/mtab

32

شکست در اتصال

64

برخی از اتصالات با موفقیت انجام شدند

دستور mount -a مقادیر 0 (همه موفق)، 32 (همه ناموفق) یا 64 (برخی ناموفق، برخی موفق) را بازمی‌گرداند.

126

شکست در اجرای برنامه کمکی خارجی اتصال /sbin/mount.<type> (از util-linux v2.41)

نحو برنامه‌های کمکی خارجی اتصال به صورت زیر است:

/sbin/mount.suffix spec dir [-sfnv] [-N namespace] [-o options] [-t type.subtype]

که در آن suffix نوع سیستم پرونده است و گزینه‌های -sfnvoN همان معنای گزینه‌های عادی اتصال را دارند. گزینه -t برای سیستم‌های پرونده‌ای با پشتیبانی از زیرنوع به کار می‌رود (برای مثال /sbin/mount.fuse -t fuse.sshfs).

دستور mount گزینه‌های اتصال unbindable، runbindable، private، rprivate، slave، rslave، shared، rshared، auto، noauto، comment، x-*، loop، offset و sizelimit را به برنامه‌های کمکی mount.<suffix> ارسال نمی‌کند. تمام گزینه‌های دیگر در یک فهرست جداشده با کاما به عنوان آرگومان گزینه -o استفاده می‌شوند.

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

LIBMOUNT_FORCE_MOUNT2={always|never|auto}

اجبار به استفاده از فراخوانی سیستمی سنتی mount(2) (نیازمند پشتیبانی از رابط جدید اتصال مبتنی بر توصیف‌گرهای پرونده). پیش‌فرض auto است؛ در این حالت، libmount تلاش می‌کند هوشمندانه عمل کند و تنها برای مشکلات شناخته‌شده از mount(2) کلاسیک استفاده نماید. اگر رابط جدید در دسترس نباشد، libmount همچنان می‌تواند از mount(2) سنتی استفاده کند، حتی اگر این متغیر روی never تنظیم شده باشد.

LIBMOUNT_FSTAB=<path>

مکان پیش‌فرض پرونده fstab را بازنویسی می‌کند (برای suid نادیده گرفته می‌شود).

LIBMOUNT_DEBUG=all

خروجی اشکال‌زدایی libmount را فعال می‌کند.

LIBBLKID_DEBUG=all

خروجی اشکال‌زدایی libblkid را فعال می‌کند.

LOOPDEV_DEBUG=all

خروجی اشکال‌زدایی راه‌اندازی دستگاه لوپ را فعال می‌کند.

همچنین بخش «فایل‌های /etc/fstab و /etc/mtab و /proc/mounts» را در بالا ببینید.

/etc/fstab

جدول سیستم‌های پرونده

/run/mount

دایرکتوری خصوصی زمان اجرای libmount

/etc/mtab

جدول سیستم‌های پرونده متصل‌شده یا پیوند نمادین به /proc/mounts

/etc/mtab~

پرونده قفل (در سیستم‌های دارای پیوند نمادین mtab استفاده نمی‌شود)

/etc/mtab.tmp

پرونده موقت (در سیستم‌های دارای پیوند نمادین mtab استفاده نمی‌شود)

/etc/filesystems

فهرستی از انواع سیستم پرونده برای امتحان

یک دستور mount در نسخه ۵ سیستم‌عامل یونیکس AT&T وجود داشت.

این احتمال وجود دارد که یک سیستم پرونده آسیب‌دیده موجب خرابی (crash) سیستم شود.

برخی از سیستم‌های پرونده لینوکس از -o sync و -o dirsync پشتیبانی نمی‌کنند (سیستم‌های پرونده ext2، ext3، ext4، fat و vfat هنگامی که با گزینه sync متصل شوند، از به‌روزرسانی‌های همگام پشتیبانی می‌کنند).

گزینه -o remount ممکن است قادر به تغییر پارامترهای اتصال نباشد (برای مثال، تمام پارامترهای خاص ext2fs به جز sb با remount قابل تغییر هستند، اما نمی‌توانید gid یا umask را برای fatfs تغییر دهید).

این احتمال وجود دارد که پرونده‌های /etc/mtab و /proc/mounts در سیستم‌های دارای پرونده عادی mtab با هم تطابق نداشته باشند. پرونده اول تنها بر اساس گزینه‌های دستور mount است، اما محتوای پرونده دوم به هسته و سایر تنظیمات نیز بستگی دارد (مثلاً در یک سرور دوردست NFS). این دلیل دیگری برای جایگزینی پرونده mtab با پیوند نمادین به /proc/mounts است.

بررسی پرونده‌ها در سیستم‌های پرونده NFS که با توصیف‌گر پرونده ارجاع داده شده‌اند ممکن است به دلیل عدم بررسی سازگاری در هسته حتی در صورت استفاده از گزینه noac به نتایج ناسازگار منجر شود.

گزینه loop همراه با گزینه‌های offset یا sizelimit ممکن است در هسته‌های قدیمی‌تر در صورتی که دستور mount نتواند پیکربندی صحیح اندازه دستگاه بلوکی را تایید کند با شکست مواجه شود. این وضعیت را می‌توان با استفاده دستی از دستور losetup(8) قبل از فراخوانی mount حل کرد.

Karel Zak <kzak@redhat.com>

mount(2), umount(2), filesystems(5), fstab(5), nfs(5), xfs(5), mount_namespaces(7), xattr(7), e2label(8), findmnt(8), losetup(8), lsblk(8), mke2fs(8), mountd(8), nfsd(8), swapon(8), tune2fs(8), umount(8), xfs_admin(8)

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

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

مه ۲۰۲۵ util-linux