| MOUNT(8) | إدارة النظام | MOUNT(8) |
الاسم
mount - وصل نظام ملفات
موجز
mount [-h|-V]
mount [-l] [-t fstype]
mount -a [-F] [-fnrsvw] [-t نوع_نظام_الملفات] [-O قائمة_الخيارات]
mount [-fnrsvw] [-o options] جهاز|نقطة-الوصل
mount [-fnrsvw] [-o خيارات] [-t نوع_نظام_الملفات] جهاز نقطة_وصل
mount --bind|--rbind|--move olddir newdir
mount --make-[r]{shared|slave|private|unbindable} نقطة_وصل
الوصف
تُرتب جميع الملفات التي يمكن الوصول إليها في نظام Unix في شجرة واحدة كبيرة، وهي الهيكل الهرمي للملفات، وجذرها هو /. يمكن أن تتوزع هذه الملفات عبر عدة أجهزة. يُستخدم الأمر mount لربط نظام ملفات موجود على جهاز ما بشجرة الملفات الكبيرة. وبالعكس، يقوم الأمر umount(8) بفصله مرة أخرى. يُستخدم نظام الملفات للتحكم في طريقة تخزين البيانات على الجهاز أو توفيرها بطريقة افتراضية عبر الشبكة أو خدمات أخرى.
الصيغة القياسية لأمر mount هي:
mount -t type device dir
يخبر هذا النواة بربط نظام الملفات الموجود على جهاز (والذي هو من النوع نوع) في المجلد دليل. الخيار -t نوع اختياري. يستطيع الأمر mount عادةً اكتشاف نظام الملفات آلياً. وتُعد صلاحيات الجزر (root) ضرورية لوصل نظام الملفات بشكل مبدئي. راجع قسم "وصل غير المستخدمين الخارقين" أدناه لمزيد من التفاصيل. تُصبح المحتويات السابقة (إن وُجدت) والمالك ووضع دليل غير مرئيين، وطالما ظل نظام الملفات هذا موصولاً، فإن مسار دليل يشير إلى جذر نظام الملفات على جهاز.
إذا أُعطي المجلد أو الجهاز فقط، على سبيل المثال:
mount /dir
فإن mount سيبحث عن نقطة وصل (وإن لم يجد فإنه يبحث عن جهاز) في ملف /etc/fstab. من الممكن استخدام خياري --target أو --source لتجنب التفسير الغامض للمعطى الممرر. على سبيل المثال:
mount --target /mountpoint
يمكن وصل نظام الملفات ذاته أكثر من مرة، وفي بعض الحالات (مثل أنظمة ملفات الشبكة) يمكن وصل نظام الملفات ذاته على نفس نقطة الوصل لمرات متعددة. لا يطبق الأمر mount أي سياسة للتحكم في هذا السلوك. يتم التحكم في السلوك بالكامل من قِبل النواة وعادة ما يكون خاصاً ببرنامج تشغيل نظام الملفات. الاستثناء هو --all، ففي هذه الحالة تُتجاهل أنظمة الملفات الموصولة بالفعل (راجع --all أدناه لمزيد من التفاصيل).
سرد عمليات الوصل
يُحافظ على وضع السرد للتوافق مع الإصدارات السابقة فقط.
للحصول على مخرجات أكثر متانة وقابلية للتخصيص، استخدم findmnt(8)، خاصة في سكربتاتك. لاحظ أن محارف التحكم في اسم نقطة الوصل تُستبدل بـ '?'.
يسرد الأمر التالي جميع أنظمة الملفات الموصولة (من النوع نوع):
mount [-l] [-t
نوع]
يضيف الخيار -l لصائق إلى هذه القائمة. راجع أدناه.
الإشارة إلى الجهاز ونظام الملفات
يُشار إلى معظم الأجهزة باسم ملف (خاص بجهاز كتلي)، مثل /dev/sda1، ولكن هناك احتمالات أخرى. على سبيل المثال، في حالة وصل NFS، قد يبدو جهاز مثل knuth.cwi.nl:/dir.
أسماء الأجهزة لأقسام القرص غير مستقرة؛ إذ يمكن أن تؤدي إعادة ضبط العتاد، وإضافة أو إزالة جهاز إلى تغييرات في الأسماء. هذا هو السبب في أنه يُوصى بشدة باستخدام معرفات نظام الملفات أو الأقسام مثل UUID أو LABEL. المعرفات (الأوسمة) المتاحة حالياً:
LABEL=لصيقة
UUID=uuid
لاحظ أن mount يستخدم معرفات UUID كسلاسل نصية. ولا تُحوَّل معرفات UUID من سطر الأوامر أو من fstab(5) إلى تمثيل ثنائي داخلي. يجب أن يعتمد التمثيل النصي لمعرف UUID على أحرف صغيرة.
PARTLABEL=لصيقة
PARTUUID=uuid
ID=معرف
يوفر الأمر lsblk --fs نظرة عامة على أنظمة الملفات، واللصائق (LABELs) ومعرفات 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 و /etc/mtab و /proc/mounts
قد يحتوي الملف /etc/fstab (راجع fstab(5))، على أسطر تصف الأجهزة التي تُوصل عادةً وأماكن وصلها والخيارات المستخدمة. يمكن تجاوز الموقع المبدئي لملف fstab(5) باستخدام خيار سطر الأوامر --fstab مسار (راجع أدناه لمزيد من التفاصيل).
الأمر
mount -a [-t نوع]
[-O optlist]
(يُعطى عادةً في سكربت بدء التشغيل) يتسبب في وصل جميع أنظمة الملفات المذكورة في fstab (من النوع المناسب و/أو التي تمتلك أو لا تمتلك الخيارات المناسبة) كما هو محدد، باستثناء تلك التي تحتوي أسطرها على الكلمة المفتاحية noauto. إضافة الخيار -F ستجعل mount يتفرع، بحيث تُوصل أنظمة الملفات بالتوازي.
عند وصل نظام ملفات مذكور في fstab أو mtab، يكفي تحديد الجهاز فقط، أو نقطة الوصل فقط في سطر الأوامر.
حافظ البرنامجان mount و umount(8) تقليديًا على قائمة بأنظمة الملفات الموصولة حاليًا في الملف /etc/mtab. دُعّم /etc/mtab الكلاسيكي العادي عُطّل تمامًا عند وقت التصريف مبدئيًا، لأنه في أنظمة لينكس الحالية يفضل جعل /etc/mtab رابطًا رمزيًا إلى /proc/mounts بدلاً من ذلك. لا يمكن لملف mtab العادي الذي يُدار في مساحة المستخدم أن يعمل بشكل موثوق مع نطاقات الأسماء والحاويات وميزات لينكس المتقدمة الأخرى. إذا فُعّل دعم mtab العادي، فمن الممكن استخدام الملف وكذلك الرابط الرمزي.
إذا لم تُعطَ أي معاملات لـ mount، تُطبع قائمة أنظمة الملفات الموصولة.
إذا كنت ترغب في تجاوز خيارات الوصل من /etc/fstab، عليك استخدام الخيار -o:
mount
جهاز|دليل
-o خيارات
وبعد ذلك ستُلحق خيارات الوصل من سطر الأوامر بقائمة الخيارات من /etc/fstab. يمكن تغيير هذا السلوك المبدئي باستخدام خيار سطر الأوامر --options-mode. السلوك المعتاد هو أن الخيار الأخير هو الذي يسود في حال وجود خيارات متعارضة.
لا يقرأ برنامج mount ملف /etc/fstab إذا حُدّد كل من جهاز (أو LABEL أو UUID أو ID أو PARTUUID أو PARTLABEL) و دليل. على سبيل المثال، لوصل الجهاز foo عند /dir:
mount /dev/foo /dir
يمكن تغيير هذا السلوك المبدئي باستخدام خيار سطر الأوامر --options-source-force لقراءة التشكيلة دائمًا من fstab. بالنسبة للمستخدمين غير الجذريين، يقرأ mount دائمًا تشكيلة fstab.
الوصل لغير المستخدمين الخارقين
عادةً، يمكن للمستخدم الخارق فقط وصل أنظمة الملفات. ومع ذلك، عندما يحتوي fstab على الخيار user في أحد الأسطر، يمكن لأي شخص وصل نظام الملفات المقابل.
وبالتالي، بوجود السطر
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
يمكن لأي مستخدم وصل نظام ملفات iso9660 الموجود على قرص مضغوط مُدخل باستخدام الأمر:
mount /cd
لاحظ أن mount صارم جدًا بشأن المستخدمين غير الجذريين وتُدقق جميع المسارات المحددة في سطر الأوامر قبل تحليل fstab أو تنفيذ برنامج مساعد. يوصى بشدة باستخدام نقطة وصل صالحة لتحديد نظام ملفات، وإلا فقد يفشل mount. على سبيل المثال، من السيئ استخدام مصدر NFS أو CIFS في سطر الأوامر.
منذ إصدار util-linux 2.35، لا يخرج mount عندما تكون صلاحيات المستخدم غير كافية وفقاً لقواعد الأمان الداخلية لـ libmount. بدلاً من ذلك، فإنه يتخلى عن صلاحيات suid ويستمر كمستخدم عادي غير مسؤول (non-root). يدعم هذا السلوك حالات الاستخدام التي لا تكون فيها صلاحيات root ضرورية (على سبيل المثال، أنظمة ملفات fuse، ومساحات أسماء المستخدمين، إلخ).
لمزيد من التفاصيل، راجع fstab(5). يمكن فقط للمستخدم الذي وصل نظام الملفات أن يفصله مرة أخرى. إذا كان يجب أن يتمكن أي مستخدم من فصله، فاستخدم users بدلاً من user في سطر fstab. خيار owner مشابه لخيار user، مع تقييد أن المستخدم يجب أن يكون هو مالك الملف الخاص. قد يكون هذا مفيداً على سبيل المثال لـ /dev/fd إذا جعل سكربت الولوج مستخدم الطرفية مالكاً لهذا الجهاز. خيار group مشابه، مع تقييد أن المستخدم يجب أن يكون عضواً في مجموعة الملف الخاص.
يُقبل خيار الوصل user في حال لم يُحدد اسم مستخدم. إذا استُخدم بالتنسيق user=someone، فيتجاهل الخيار بصمت ويكون مرئياً فقط لمساعدي الوصل الخارجيين (/sbin/mount.<type>) من أجل التوافق مع بعض أنظمة ملفات الشبكة.
عملية الوصل الرابط (Bind mount)
أعد وصل جزء من هرمية الملفات في مكان آخر. الاستدعاء هو:
mount --bind olddir newdir
أو باستخدام مدخلة fstab هذه:
/olddir /newdir none bind
بعد هذا الاستدعاء، ستكون المحتويات نفسها قابلة للوصول في مكانين.
من المهم فهم أن "bind" لا ينشئ أي عقدة من الدرجة الثانية أو عقدة خاصة في VFS الخاص بالنواة. عملية "bind" هي مجرد عملية أخرى لربط نظام ملفات. لا تُخزن المعلومات في أي مكان تفيد بأن نظام الملفات قد وُصل بواسطة عملية "bind". يُعد olddir و newdir مستقلين ويمكن فصل olddir.
يمكن أيضًا إعادة وصل ملف واحد (على ملف واحد). ومن الممكن أيضًا استخدام وصلة ربط لإنشاء نقطة وصل من دليل عادي، على سبيل المثال:
mount --bind foo foo
يُلحِق استدعاء وصل الربط (جزءًا من) نظام ملفات واحد فقط، وليس عمليات الوصل الفرعية الممكنة. يمكن إلحاق كامل الهرمية الملفية بما في ذلك عمليات الوصل الفرعية في مكان ثانٍ باستخدام:
mount --rbind olddir newdir
لاحظ أن خيارات وصل نظام الملفات التي تُديرها النواة ستبقى كما هي في نقطة الوصل الأصلية. خيارات الوصل الخاصة بفضاء المستخدم (مثل _netdev) لن تُنسخ بواسطة mount ومن الضروري تحديد الخيارات صراحةً في سطر الأوامر الخاص بـ mount.
منذ util-linux 2.27 يسمح mount بتغيير خيارات الوصل عن طريق تمرير الخيارات ذات الصلة مع --bind. على سبيل المثال:
mount -o bind,ro foo foo
هذه الميزة غير متاحة من نواة لينكس؛ بل نُفذت في مساحة المستخدم بواسطة استدعاء نظام إعادة وصل mount(2) إضافي. هذا الحل ليس ذرياً (atomic).
الطريقة البديلة (التقليدية) لإنشاء وصل ربط للقراءة فقط هي استخدام عملية إعادة الوصل، على سبيل المثال:
mount --bind olddir newdir
mount -o remount,bind,ro olddir newdir
لاحظ أن الربط للقراءة فقط سينشئ نقطة وصل للقراءة فقط (مدخلة VFS)، لكن الكتلة الفائقة لنظام الملفات الأصلي ستظل قابلة للكتابة، مما يعني أن 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). لمزيد من التفاصيل راجع قسم FILESYSTEM-INDEPENDENT MOUNT OPTIONS.
منذ util-linux 2.31، يتجاهل mount علم bind من ملف /etc/fstab في عملية إعادة وصل (إذا حُدد -o remount في سطر الأوامر). هذا ضروري للتحكم الكامل في خيارات الوصل عند إعادة الوصل عبر سطر الأوامر. في الإصدارات السابقة كان علم الربط يُطبق دائمًا وكان من المستحيل إعادة تعريف خيارات الوصل دون تداخل مع دلالات الربط. سلوك mount هذا لا يؤثر على الحالات التي يُحدد فيها "remount,bind" في ملف /etc/fstab.
منذ util-linux 2.39، قد يستخدم mount واجهة برمجة تطبيقات وصل النواة الجديدة إذا كانت متوفرة. توفر واجهة النواة الجديدة هذه طريقة أكثر دقة للعمل مع سمات نقطة الوصل. على سبيل المثال، ستنشئ عملية -o bind,rw عقدة قراءة-كتابة حتى لو كانت العقدة الأصلية للقراءة فقط. كان هذا مستحيلاً مع استدعاء النظام mount(2) التقليدي القديم، حيث كان علم VFS للقراءة فقط يُورث من العقدة الأصلية.
عملية النقل
انقل شجرة موصولة إلى مكان آخر (بشكل ذري). الاستدعاء هو:
mount --move olddir newdir
سيؤدي هذا إلى جعل المحتويات التي كانت تظهر سابقاً تحت olddir قابلة للوصول الآن تحت newdir. لا يتغير الموقع الفيزيائي للملفات. لاحظ أن olddir يجب أن يكون نقطة وصل.
لاحظ أيضاً أن نقل وصل يقع تحت وصل مشترك غير صالح وغير متاح. استخدم findmnt -o TARGET,PROPAGATION لرؤية أعلام الانتشار الحالية.
عمليات الشجرة الفرعية المشتركة
منذ لينكس 2.6.15، أصبح من الممكن تمييز الوصل وعمليات الوصل الفرعية التابعة له كـ مشارك (shared)، أو خاص (private)، أو تابع (slave)، أو غير قابل للربط (unbindable). يوفر الوصل المشارك القدرة على إنشاء مرايا لذلك الوصل بحيث تنتشر عمليات الوصل والفصل داخل أي من المرايا إلى المرآة الأخرى. يتلقى الوصل التابع الانتشار من سيده، وليس العكس. الوصل الخاص لا يحمل أي قدرات انتشار. الوصل غير القابل للربط هو وصل خاص لا يمكن استنساخه عبر عملية ربط. الدلالات المفصلة موثقة في ملف 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 ملف fstab(5) عندما تُطلب عملية --make-*. يجب تحديد جميع المعلومات اللازمة في سطر الأوامر.
لاحظ أن نواة لينكس لا تسمح بتغيير أعلام انتشار متعددة باستدعاء نظام 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. يقارن أمر mount مصدر نظام الملفات، والهدف (وجذر نظام الملفات لوصل الربط أو btrfs) لاكتشاف أنظمة الملفات الموصلة بالفعل. يُخزن جدول النواة لأنظمة الملفات الموصلة بالفعل في الخبيئة أثناء تنفيذ mount --all. وهذا يعني أن جميع إدخالات fstab المكررة ستُوصل.
تعتمد الوظيفة الصحيحة على /proc (لاكتشاف أنظمة الملفات الموصولة بالفعل) وعلى /sys (لتقييم أوسمة نظام الملفات مثل UUID= أو LABEL=). يوصى بشدة بوصل أنظمة ملفات /proc و /sys قبل تنفيذ mount -a، أو إبقاء /proc و /sys في بداية fstab.
من الممكن استخدام الخيار --all لعملية إعادة الوصل أيضاً. في هذه الحالة تُطبق جميع المرشحات (-t و -O) على جدول أنظمة الملفات الموصولة بالفعل.
منذ الإصدار 2.35 أصبح من الممكن استخدام خيار سطر الأوامر -o لتغيير خيارات الوصل من fstab (راجع أيضاً --options-mode).
لاحظ أن إدخالات swap في fstab تُتجاهل بصمت بواسطة mount -a. استخدم swapon -a لتفعيل أجهزة وملفات التبديل. راجع swapon(8).
لاحظ أن استخدام mount -a لفحص fstab يعد ممارسة سيئة. الحل الموصى به هو findmnt --verify.
--beneath
على سبيل المثال، التحديث من نظام ملفات Btrfs إلى نظام ملفات XFS دون الكشف عن نقطة الوصل الكامنة:
mount -t btrfs /dev/sdA /mnt mount --beneath -t xfs /dev/sdB /mnt umount /mnt
-B، --bind
-c، --no-canonicalize
لاحظ أن mount لا يمرر هذا الخيار إلى مساعدي /sbin/mount.نوع.
--exclusive
راجع أيضاً خيار --onlyonce. الفرق بين --onlyonce و --exclusive هو أن "onlyonce" يضمن عدم وصل نفس المصدر على نفس نقطة الوصل؛ وهذا يعني أن الوصل مرتين على /A غير مسموح به، ولكن الوصل على /A و /B مسموح به. أما الوصل الحصري "exclusive" فيضمن عدم إعادة استخدام نظام الملفات نفسه، بغض النظر عن نقطة الوصل.
-F، --fork
-f, --fake
لم يعد ملف /etc/mtab يُصان في فضاء المستخدم، وبدءًا من الإصدار 2.39، يمكن أن تكون عملية الوصل سلسلة معقدة من العمليات مع اعتماديات بين استدعاءات النظام. يجبر الخيار --fake مكتبة libmount على تخطي كافة عمليات تحضير مصدر الوصل، وتحليل خيارات الوصل، وعملية الوصل الفعلية.
الفرق بين التنفيذ الزائف وغير الزائف شاسع. هذا هو السبب في أن الخيار --fake له أهمية ضئيلة في التنفيذ الحالي لـ mount(8) ويُصان غالبًا من أجل التوافقية مع الإصدارات السابقة.
-i, --internal-only
-L، --label لصيقة
-l، --show-labels
-M، --move
-m، --mkdir[=وضع]
--map-groups، --map-users inner:_outer_:_count_
--map-users /proc/PID/ns/user
-n، --no-mtab
-N، --namespace ns
ينتقل mount إلى فضاء أسماء الوصل عندما يقرأ /etc/fstab، ويكتب /etc/mtab: (أو يكتب إلى /run/mount) ويستدعي mount(2)، وإلا فإنه يعمل في فضاء أسماء الوصل الأصلي. وهذا يعني أن فضاء الأسماء المستهدف ليس بالضرورة أن يحتوي على أي مكتبات أو متطلبات أخرى ضرورية لتنفيذ استدعاء mount(2).
انظر mount_namespaces(7) لمزيد من المعلومات.
-O، --test-opts opts
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
mount LABEL=mydisk -o noatime,nodev,nosuid
لاحظ أن ترتيب الخيارات مهم، حيث يفوز الخيار الأخير في حال وجود خيارات متعارضة. كما أن خيارات سطر الأوامر تتجاوز الخيارات من fstab.
لمزيد من التفاصيل، راجع قسمي FILESYSTEM-INDEPENDENT MOUNT OPTIONS و FILESYSTEM-SPECIFIC MOUNT OPTIONS.
--onlyonce
--options-mode وضع
--options-source source
--options-source-force
-R، --rbind
-r، --ro، --read-only
لاحظ أنه، اعتمادًا على نوع نظام الملفات وحالته وسلوك النواة، قد يستمر النظام في الكتابة على الجهاز. على سبيل المثال، سيقوم ext3 و ext4 بإعادة تشغيل السجل (journal) إذا كان نظام الملفات متسخًا. لمنع هذا النوع من الوصول للكتابة، قد ترغب في وصل نظام ملفات ext3 أو ext4 بخيارات الوصل ro,noload أو ضبط الجهاز الكتلي نفسه على وضع القراءة فقط، راجع أمر blockdev(8).
-s
--source جهاز
--target دليل
--target-prefix دليل
mount --all --target-prefix /chroot -o X-mount.mkdir
يوصل كل ما في fstab النظام إلى /chroot، وتُنشأ جميع نقاط الوصل المفقودة (بسبب X-mount.mkdir). انظر أيضاً --fstab لاستخدام ملف fstab بديل.
-T، --fstab مسار
لاحظ أن mount لا يمرر الخيار --fstab إلى المساعدين /sbin/mount.نوع، مما يعني أن ملفات fstab البديلة ستكون غير مرئية للمساعدين. لا يشكل هذا مشكلة في عمليات الوصل العادية، ولكن عمليات وصل المستخدم (غير الجذر) تتطلب دائماً fstab للتحقق من حقوق المستخدم.
-t، --types fstype
يدعم برنامجا mount و umount(8) الأنواع الفرعية لنظام الملفات. يُعرّف النوع الفرعي بلاحقة '.subtype'. على سبيل المثال 'fuse.sshfs'. يوصى باستخدام تدوين النوع الفرعي بدلاً من إضافة أي بادئة لمصدر الوصل (على سبيل المثال 'sshfs#example.com' مهجور).
إذا لم يُمرر الخيار -t، أو إذا حُدد النوع auto، فسيحاول mount تخمين النوع المطلوب. يستخدم mount مكتبة libblkid(3) لتخمين نوع نظام الملفات؛ وإذا لم يسفر ذلك عن شيء مألوف، سيحاول mount قراءة الملف /etc/filesystems، أو /proc/filesystems إن لم يوجد الأول. ستُجرّب جميع أنواع أنظمة الملفات المدرجة هناك، باستثناء تلك الموسومة بـ "nodev" (مثل devpts و proc و nfs). إذا انتهى /etc/filesystems بسطر يحتوي على * وحيدة، فسيقرأ mount ملف /proc/filesystems بعد ذلك. وأثناء المحاولة، ستُوصل جميع أنواع أنظمة الملفات مع خيار الوصل silent.
قد يكون النوع auto مفيداً للأقراص المرنة التي يوصلها المستخدم. قد يكون إنشاء ملف /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 بتنفيذ البرنامج /sbin/mount.نوع (إذا وُجد) عند استدعائه بالنوع نوع. ونظراً لأن الإصدارات المختلفة من برنامج smbmount لها اتفاقيات استدعاء مختلفة، فقد يتعين أن يكون /sbin/mount.smbfs عبارة عن سكربت صدفة يقوم بإعداد الاستدعاء المطلوب.
-U، --uuid uuid
-v، --verbose
-w، --rw، --read-write
مرادف لـ -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
منذ الإصدار v2.39، يمكن لـ libmount استخدام واجهة وصل نواة جديدة لضبط سمات VFS بشكل تكراري. وللتوافق مع الإصدارات السابقة، لا تُفعّل هذه الميزة مبدئيًا، حتى لو طُلبت عملية تكرارية (مثل rbind). يمكن تحديد وسيط الخيار الجديد "recursive"، على سبيل المثال:
mount -orbind,ro=recursive,noexec=recursive,nosuid /foo /bar
يربط هذا أنظمة الملفات تكراريًا من /foo إلى /bar، مما يجعل /bar وجميع عمليات الوصل الفرعية للقراءة فقط وnoexec، ولكن /bar نفسه فقط سيكون "nosuid". يعد الوسيط الاختياري "recursive" لخيارات وصل VFS ميزة تجريبية.
ملاحظات إعداد القراءة فقط
يُفسر إعداد القراءة فقط (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
atime
noatime
auto
noauto
context=context، و fscontext=context، و defcontext=context، و rootcontext=context
الخيار الشائع الاستخدام للوسائط القابلة للفصل هو context="system_u:object_r:removable_t.
يعمل الخيار fscontext= لجميع أنظمة الملفات، بغض النظر عن دعمها لـ xattr. يضبط خيار fscontext وسم نظام ملفات الشامل على سياق أمني محدد. وسم نظام ملفات هذا منفصل عن اللصائق الفردية على الملفات. إنه يمثل نظام ملفات بأكمله لأنواع معينة من فحص الأذونات، مثل أثناء الوصل أو إنشاء الملفات. لا تزال لصائق الملفات الفردية تُجلب من xattrs الموجودة على الملفات نفسها. يضبط خيار context فعليًا السياق التجميعي الذي يوفره fscontext، بالإضافة إلى توفير الوسم نفسه للملفات الفردية.
يمكنك ضبط السياق الأمني المبدئي للملفات غير الموسومة باستخدام الخيار defcontext=. يتجاوز هذا القيمة المحددة للملفات غير الموسومة في السياسة ويتطلب نظام ملفات يدعم وضع لصائق xattr.
يسمح لك الخيار rootcontext= بوسم inode الجذر لنظام ملفات يوصل بشكل صريح قبل أن يصبح نظام ملفات هذا أو الـ inode مرئيًا لمساحة المستخدم. وُجد أن هذا مفيد لأشياء مثل لينكس عديم الحالة. يمكن استخدام القيمة الخاصة @target لتعيين السياق الحالي لموقع نقطة وصل الهدف.
لاحظ أن النواة ترفض أي طلب إعادة وصل يتضمن خيار السياق، حتى عندما لا يتغير عن السياق الحالي.
تحذير: قد تحتوي قيمة context على فواصل، وفي هذه الحالة يجب وضع القيمة بين علامات اقتباس بشكل صحيح، وإلا فسيقوم mount بتفسير الفاصلة كفاصل بين خيارات الوصل. لا تنسَ أن الصدفة تزيل علامات الاقتباس، وبالتالي يلزم استخدام الاقتباس المزدوج. على سبيل المثال:
mount -t tmpfs none /mnt -o \ 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec'
لمزيد من التفاصيل، انظر selinux(8).
defaults
لاحظ أن المجموعة الفعلية لكافة خيارات الوصل المبدئية تعتمد على النواة ونوع نظام الملفات. انظر بداية هذا القسم لمزيد من التفاصيل.
dev
nodev
diratime
nodiratime
dirsync
exec
noexec
group
iversion
noiversion
mand
nomand
_netdev
nofail
relatime
منذ لينكس 2.6.30، تلتزم النواة مبدئياً بالسلوك الذي يوفره هذا الخيار (ما لم يُحدد noatime)، ويلزم خيار strictatime للحصول على الدلالات التقليدية. بالإضافة إلى ذلك، منذ لينكس 2.6.30، يُحدث دائماً وقت الوصول الأخير للملف إذا كان عمره أكثر من يوم واحد.
norelatime
strictatime
nostrictatime
lazytime
يقلل خيار الوصل هذا بشكل كبير من عمليات الكتابة في جدول الفهارس (inode table) لأحمال العمل التي تنفذ عمليات كتابة عشوائية متكررة في ملفات مخصصة مسبقاً.
تُحدث الطوابع الزمنية على القرص فقط عندما:
nolazytime
suid
nosuid
silent
loud
owner
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، لا يستخدم سلوك "reset-unspecified"، ويعمل كعملية إضافة/إزالة بسيطة ولا تُعدل الأعلام غير المحددة.
تتبع وظيفة إعادة الوصل الطريقة القياسية التي يعمل بها أمر mount مع خيارات من fstab. وهذا يعني أن mount لا يقرأ fstab (أو mtab) فقط عندما يُحدد كل من جهاز و دليل.
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)]
يفرض المعطى recursive تطبيق سمة VFS بشكل تكراري.
يحدد المعطيان vfs و fs الطبقة التي يجب تطبيق علامة القراءة فقط عليها. يحدد fs الكتلة الفائقة لنظام الملفات (نسخة نظام ملفات فريدة في النواة)، ويحدد vfs عقدة الوصل. إذا لم تُحدد أي سمة، تُضبط كلتا الطبقتين على القراءة فقط.
لمزيد من التفاصيل، يرجى الرجوع إلى قسم Read-only Setting Notes.
rw[=(recursive|vfs|fs)]
sync
user
nouser
users
X-*
x-*
لاحظ أنه قبل إصدار util-linux v2.30، لم تكن خيارات x-* تُصان بواسطة libmount وتُخزن في مساحة المستخدم (كانت الوظيفة هي نفسها لـ X-* حالياً)، ولكن نظراً لعدد متزايد من حالات الاستخدام (في initrd و systemd إلخ) وُسعت الوظيفة للحفاظ على تكوينات fstab الحالية قابلة للاستخدام دون تغيير.
X-mount.auto-fstypes=قائمة
الـ قائمة هي قائمة بأسماء أنظمة الملفات مفصولة بفواصل. يُحفز الكشف الآلي عن نظام الملفات بواسطة نوع نظام الملفات "auto" أو عندما لا يُحدد نوع نظام الملفات.
تتبع الـ قائمة كيفية تقييم 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[=وضع]
X-mount.nocanonicalize[=نوع]
يتجاوز خيار سطر الأوامر --no-canonicalize خيار الوصل هذا ويؤثر على جميع تحويلات المسارات والوسوم في جميع الحالات، ولكن من أجل التوافقية مع الإصدارات السابقة، فإنه لا يعدل علامات استدعاء النظام open_tree(2) ولا يسمح بحالة استخدام ربط الوصل (bind-mount) فوق رابط رمزي.
لاحظ أن mount(8) لا يزال ينظف ويحول لمسارات المصدر والهدف المحددة في سطر الأوامر بواسطة المستخدمين غير الجذريين (non-root) إلى الصيغة المعيارية، بغض النظر عن إعداد X-mount.nocanonicalize.
X-mount.noloop
X-mount.subdir=دليل
في الوقت الحالي، تُنفذ هذه الميزة عن طريق وصل مؤقت للدليل الجذري لنظام الملفات في مساحة أسماء غير مشتركة، ثم ربط الدليل الفرعي بنقطة الوصل النهائية وفصل جذر نظام الملفات. يظهر وصل الدليل الفرعي بشكل ذري لبقية النظام رغم تنفيذه عبر عدة استدعاءات نظام mount(2).
لاحظ أن هذه الميزة لن تعمل في جلسة ذات مساحة أسماء وصل خاصة غير مشتركة (بعد unshare --mount) على النوى القديمة أو مع mount(8) دون دعم واجهة برمجة تطبيقات النواة للوصل المستندة إلى واصفات الملفات. في هذه الحالة، تحتاج إلى unshare --mount --propagation shared.
هذه الميزة تجريبية.
X-mount.owner=اسم_مستخدم|UID, X-mount.group=group|GID
X-mount.mode=وضع
X-mount.idmap=id-type:id-mount:id-host:id-range [id-type:id-mount:id-host:id-range], X-mount.idmap=file
يجب تحديد تعيين الهوية باستخدام الصيغة 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
خيارات الوصل الخاصة بنظام الملفات
يسرد هذا القسم الخيارات الخاصة بأنظمة ملفات معينة. يُفضل مراجعة صفحات الدليل الخاصة بنظام الملفات المعني أولاً للحصول على التفاصيل حيثما أمكن ذلك. بعض هذه الصفحات مدرج في الجدول التالي.
| نظام (أنظمة) الملفات | صفحة الدليل |
| btrfs | btrfs(5) |
| cephfs | mount.ceph(8) |
| cifs | mount.cifs(8) |
| ext2, ext3, ext4 | ext4(5) |
| fuse | fuse(8) |
| nfs | nfs(5) |
| tmpfs | tmpfs(5) |
| xfs | xfs(5) |
لاحظ أن بعض الصفحات المدرجة أعلاه قد لا تتوفر إلا بعد تثبيت أدوات فضاء المستخدم المعنية.
تنطبق الخيارات التالية على أنظمة ملفات معينة فقط. جرى فرزها حسب نظام الملفات. تتبع جميع الخيارات العلامة -o.
تعتمد الخيارات المتاحة نوعاً ما على النواة التي تعمل حالياً. قد تتوفر معلومات إضافية في الملفات الخاصة بنظام الملفات في الدليل الفرعي لمصدر النواة Documentation/filesystems.
خيارات الوصل لـ adfs
uid=قيمة و gid=قيمة
ownmask=قيمة و othmask=قيمة
خيارات الوصل لـ affs
uid=قيمة و gid=قيمة
setuid=قيمة و setgid=قيمة
mode=قيمة
protect
usemp
verbose
prefix=سلسلة_محارف
volume=سلسلة_محارف
reserved=قيمة
root=قيمة
bs=قيمة
grpquota|noquota|quota|usrquota
خيارات الوصل لـ debugfs
نظام ملفات debugfs هو نظام ملفات وهمي، يُوصل تقليدياً على /sys/kernel/debug. بدءاً من إصدار النواة 3.4، يمتلك debugfs الخيارات التالية:
uid=n, gid=n
mode=قيمة
خيارات الوصل لـ devpts
نظام ملفات devpts هو نظام ملفات زائف، يُوصل تقليدياً على /dev/pts. ومن أجل الحصول على طرفية زائفة، تفتح العملية /dev/ptmx؛ ثم يُتاح رقم الطرفية الزائفة للعملية ويمكن الوصول إلى تابع الطرفية الزائفة كـ /dev/pts/<الرقم>.
uid=قيمة و gid=قيمة
mode=قيمة
newinstance
تتشارك جميع عمليات وصل devpts التي لا تتضمن خيار newinstance نفس مجموعة فهارس الطرفيات الوهمية (أي النمط القديم). لكل عملية وصل لـ devpts مع خيار newinstance مجموعة خاصة من فهارس الطرفيات الوهمية.
يُستخدم هذا الخيار أساساً لدعم الحاويات (containers) في نواة لينكس. وُفر في إصدارات نواة لينكس بدءاً من 2.6.29. وعلاوة على ذلك، فإن خيار الوصل هذا صالح فقط إذا فُعل CONFIG_DEVPTS_MULTIPLE_INSTANCES في إعدادات النواة.
لاستخدام هذا الخيار بفعالية، يجب أن يكون /dev/ptmx رابطاً رمزياً إلى pts/ptmx. راجع Documentation/filesystems/devpts.txt في شجرة مصدر نواة لينكس للتفاصيل.
ptmxmode=قيمة
مع دعم النسخ المتعددة لـ devpts (راجع خيار newinstance أعلاه)، تمتلك كل نسخة عقدة ptmx خاصة في جذر نظام ملفات devpts (عادة /dev/pts/ptmx).
للتوافق مع إصدارات النواة الأقدم، النمط المبدئي لعقدة ptmx الجديدة هو 0000. يحدد ptmxmode=قيمة نمطاً أكثر نفعاً لعقدة ptmx ويوصى به بشدة عند تحديد خيار newinstance.
نُفذ هذا الخيار فقط في إصدارات نواة لينكس بدءاً من 2.6.29. وعلاوة على ذلك، هذا الخيار صالح فقط إذا فُعل CONFIG_DEVPTS_MULTIPLE_INSTANCES في إعدادات النواة.
خيارات الوصل لـ fat
(ملاحظة: fat ليس نظام ملفات منفصل، بل هو جزء مشترك من أنظمة ملفات msdos و umsdos و vfat.)
blocksize={512|1024|2048}
uid=قيمة و gid=قيمة
umask=قيمة
dmask=قيمة
fmask=قيمة
allow_utime=قيمة
20
2
تُضبط
القيمة
المبدئية
من خيار dmask
أعلاه. (إذا
كان الدليل
قابلاً
للكتابة،
فسيُسمح
أيضاً بـ utime(2).
أي: ~dmask & 022.)
عادةً ما
يفحص utime(2) ما
إذا كانت
العملية
الحالية هي
مالك
الملف، أو
أنها تمتلك
قدرة CAP_FOWNER. لكن
أنظمة
ملفات FAT لا
تملك UID/GID على
القرص، لذا
فإن الفحص
العادي غير
مرن بما
يكفي. يمكن
تخفيف هذا
القيد
باستخدام
هذا
الخيار.
check=قيمة
r[elaxed]
n[ormal]
s[trict]
codepage=قيمة
conv=وضع
cvf_format=module
cvf_option=خيار
debug
discard
dos1xfloppy
errors={panic|continue|remount-ro}
fat={12|16|32}
iocharset=قيمة
nfs={stale_rw|nostale_ro}
stale_rw: يحافظ هذا الخيار على فهرس (خبيئة) لفهارس الـ inodes والتي تُستخدم بواسطة الكود المتعلق بـ nfs لتحسين عمليات البحث. عمليات الملفات الكاملة (قراءة/كتابة) عبر NFS متاحة، ولكن مع إخلاء الخبيئة في خادم NFS، قد يؤدي ذلك إلى أخطاء ESTALE زائفة.
nostale_ro: يسند هذا الخيار رقم الـ inode ومقبض الملف إلى موقع الملف على القرص في مدخل دليل FAT. يضمن ذلك عدم إرجاع ESTALE بعد إخلاء ملف من خبيئة الـ inode. ومع ذلك، فهذا يعني أن عمليات مثل إعادة التسمية والإنشاء وفك الربط قد تجعل مقابض الملفات التي كانت تشير سابقاً إلى ملف واحد تشير إلى ملف مختلف، مما قد يسبب فساداً في البيانات. لهذا السبب، يقوم هذا الخيار أيضاً بوصل نظام الملفات للقراءة فقط.
للحفاظ على التوافق مع الإصدارات السابقة، يُقبل أيضاً الخيار -o nfs، ويكون المبدئي هو stale_rw.
tz=UTC
time_offset=دقائق
quiet
rodir
إذا كنت ترغب في استخدام ATTR_RO كعلامة للقراءة فقط حتى للدليل، فاضبط هذا الخيار.
showexec
sys_immutable
flush
usefree
dots، nodots، dotsOK=[yes|no]
خيارات الوصل لـ hfs
creator=cccc, type=cccc
uid=n, gid=n
dir_umask=n, file_umask=n, umask=n
session=n
part=n
quiet
خيارات الوصل لـ hpfs
uid=قيمة و gid=قيمة
umask=قيمة
case={lower|asis}
conv=وضع
nocheck
خيارات الوصل لـ iso9660
ISO 9660 هو معيار يصف بنية نظام ملفات ليُستخدم على الأقراص المدمجة (CD-ROMs). (يظهر نوع نظام الملفات هذا أيضاً على بعض أقراص DVD. انظر أيضاً نظام ملفات udf.)
تظهر أسماء ملفات iso9660 العادية بتنسيق 8.3 (أي قيود تشبه DOS على طول اسم الملف)، وبالإضافة إلى ذلك تكون جميع الأحرف كبيرة. كما لا يوجد حقل لملكية الملف، أو الحماية، أو عدد الروابط، أو دعم للأجهزة الكتلية/المحرفية، إلخ.
Rock Ridge هو امتداد لـ iso9660 يوفر كل هذه الميزات الشبيهة بـ UNIX. أساساً توجد امتدادات لكل سجل دليل توفر جميع المعلومات الإضافية، وعند استخدام Rock Ridge، لا يمكن تمييز نظام الملفات عن نظام ملفات UNIX عادي (باستثناء أنه للقراءة فقط، بالطبع).
norock
nojoliet
check={r[elaxed]|s[trict]}
uid=قيمة و gid=قيمة
map={n[ormal]|o[ff]|a[corn]}
mode=قيمة
unhide
block={512|1024|2048}
conv=وضع
cruft
session=x
sbsector=xxx
الخيارات التالية هي نفسها الخاصة بنظام vfat، ولا يكون لتحديدها معنى إلا عند استخدام أقراص مرمزة باستخدام ملحقات Joliet من Microsoft.
iocharset=قيمة
utf8
خيارات الوصل لـ jfs
iocharset=خيار
resize=قيمة
nointegrity
integrity
errors={continue|remount-ro|panic}
noquota|quota|usrquota|grpquota
خيارات الوصل لنظام msdos
راجع خيارات الوصل لـ fat. إذا اكتشف نظام ملفات msdos عدم اتساق، فإنه يبلغ عن خطأ ويضبط نظام الملفات للقراءة فقط. يمكن جعل نظام الملفات قابلًا للكتابة مرة أخرى بإعادة وصله.
خيارات الوصل لنظام ncpfs
تمامًا مثل nfs، يتوقع تنفيذ ncpfs وسيطًا ثنائيًا (struct ncp_mount_data) لاستدعاء النظام mount(2). يُنشأ هذا الوسيط بواسطة ncpmount(8) والإصدار الحالي من mount (2.12) لا يعرف شيئًا عن ncpfs.
خيارات الوصل لـ ntfs3
يوفر تعريف نواة ntfs3 خيارات الوصل أدناه - كما هو موثق في https://docs.kernel.org/filesystems/ntfs3.html
iocharset=خيار
مثال: iocharset=utf8
uid=|gid=|umask=
dmask=|fmask=
nohidden
sys_immutable
hide_dot_files
windows_names
discard
force
sparse
showmeta
prealloc
acl
خيارات الوصل لـ overlay
منذ إصدار لينكس 3.18، ينفذ نظام الملفات الوهمي overlay وصلاً اتحادياً (union mount) لأنظمة ملفات أخرى.
يجمع نظام ملفات overlay بين نظامي ملفات - نظام ملفات علوي ونظام ملفات سفلي. عندما يوجد اسم في كلا نظامي الملفات، يكون الكائن في نظام الملفات العلوي مرئياً بينما يكون الكائن في نظام الملفات السفلي إما مخفياً أو، في حالة الأدلة، مدمجاً مع الكائن العلوي.
يمكن أن يكون نظام الملفات السفلي أي نظام ملفات يدعمه لينكس ولا يشترط أن يكون قابلاً للكتابة. يمكن لنظام الملفات السفلي أن يكون نظام overlayfs آخر. عادةً ما يكون نظام الملفات العلوي قابلاً للكتابة، وإذا كان كذلك فيجب أن يدعم إنشاء السمات الموسعة من نوع trusted.*، ويجب أن يوفر d_type صالحاً في استجابات readdir، لذا فإن NFS غير مناسب.
قد تستخدم طبقة فوقية (overlay) للقراءة فقط مكونة من نظامي ملفات للقراءة فقط أي نوع من أنواع أنظمة الملفات. يُدمج الخياران lowerdir و upperdir في دليل مدمج باستخدام:
mount -t overlay overlay \ -olowerdir=/lower,upperdir=/upper,workdir=/work /merged
lowerdir=دليل
upperdir=دليل
workdir=دليل
userxattr
redirect_dir={on|off|follow|nofollow}
on
off
follow
nofollow
index={on|off}
uuid={on|off}
nfs_export={on|off}
باستخدام ميزة "nfs_export"، عند إجراء copy_up لأي كائن سفلي (lower)، يُنشأ مدخل فهرس تحت دليل الفهرس. اسم مدخل الفهرس هو التمثيل الست عشري لمقبض ملف أصل الـ copy up. بالنسبة للكائنات غير الدليلية، يكون مدخل الفهرس رابطاً صلباً لـ inode العلوي. أما بالنسبة لكائن الدليل، فيمتلك مدخل الفهرس سمة موسعة "{trusted|user}.overlay.upper" مع مقظ ملف مرمّز لـ inode الدليل العلوي.
عند ترميز مقبض ملف من كائن نظام ملفات overlay، تطبق القواعد التالية
يتضمن مقبض ملف overlay المرمّز
صيغة الترميز هذه مطابقة لصيغة ترميز مقابض الملفات المخزنة في السمة الموسعة "{trusted|user}.overlay.origin". عند فك ترميز مقبض ملف overlay، تُتبع الخطوات التالية
قد يؤدي فك ترميز مقبض ملف غير دليلي إلى إرجاع dentry غير متصل. سيؤدي إجراء copy_up لذلك الـ dentry غير المتصل إلى إنشاء مدخل فهرس علوي دون اسم مستعار علوي.
عندما يحتوي نظام ملفات overlay على طبقات سفلية متعددة، قد يحتوي دليل في طبقة وسيطة على "توجيه" إلى دليل سفلي. نظرًا لأن "توجيهات" الطبقة الوسيطة غير مفهرسة، فإن مقبض ملف سفلي تم ترميزه من دليل أصل "التوجيه"، لا يمكن استخدامه للعثور على دليل الطبقة الوسيطة أو العليا. وبالمثل، فإن مقبض ملف سفلي تم ترميزه من سليل لدليل أصل "التوجيه"، لا يمكن استخدامه لإعادة بناء مسار overlay متصل. لتخفيف حالات الأدلة التي لا يمكن فك ترميزها من مقبض ملف سفلي، تُنسخ هذه الأدلة للأعلى عند الترميز وتُرمز كمقبض ملف علوي. في نظام ملفات overlay دون طبقة عليا لا يمكن استخدام هذا التخفيف؛ يتطلب تصدير NFS في هذا الإعداد إيقاف تتبع التوجيه (مثلاً "redirect_dir=nofollow").
لا يدعم نظام ملفات overlay مقابض الملفات القابلة للاتصال لغير الأدلة، لذا فإن التصدير باستخدام تهيئة subtree_check في exportfs سيؤدي إلى فشل في البحث عن الملفات عبر NFS.
عند تفعيل ميزة تصدير NFS، يتم التحقق من جميع مدخلات فهرس الأدلة وقت الوصل للتأكد من أن مقابض الملفات العليا ليست قديمة. قد يسبب هذا التحقق عبئًا إضافيًا كبيرًا في بعض الحالات.
ملاحظة: خيارات الوصل index=off,nfs_export=on متضاربة بالنسبة لوصل القراءة والكتابة وستؤدي إلى خطأ.
xino={on|off|auto}
للحصول على وصف مفصل لتأثير هذا الخيار، يرجى الرجوع إلى https://docs.kernel.org/filesystems/overlayfs.html
metacopy={on|off}
بمعنى آخر، هذه عملية نسخ بيانات للأعلى مؤجلة، وتُنسخ البيانات للأعلى عندما تكون هناك حاجة فعلية لتعديل البيانات.
volatile
فائدة الوصل بخيار "volatile" هي حذف جميع أشكال استدعاءات المزامنة (sync) إلى نظام الملفات العلوي.
لتجنب إعطاء شعور كاذب بالأمان، تختلف دلالات syncfs (و fsync) للوصل المتطاير قليلًا عن بقية VFS. إذا حدث أي خطأ في إعادة الكتابة (writeback) على نظام ملفات upperdir بعد حدوث وصل متطاير، فستُرجع جميع وظائف المزامنة خطأً. بمجرد الوصول إلى هذه الحالة، لن يتعافى نظام الملفات، وسيعيد كل استدعاء مزامنة لاحق خطأً، حتى لو لم يواجه upperdir خطأً جديدًا منذ آخر استدعاء مزامنة.
عند وصل overlay بالخيار "volatile"، يُنشأ الدليل "$workdir/work/incompat/volatile". أثناء عملية الوصل التالية، يتحقق overlay من هذا الدليل ويرفض الوصل في حال وجوده. ويعد هذا مؤشراً قوياً على وجوب تخلص المستخدم من الدليلين upper و work وإنشاء دليل جديد. وفي حالات محدودة جداً حيث يعلم المستخدم أن النظام لم يتعطل وأن محتويات upperdir سليمة، يمكن إزالة الدليل "volatile".
خيارات الوصل لـ reiserfs
Reiserfs هو نظام ملفات يعتمد على السجلات (journaling).
conv
hash={rupasov|tea|r5|detect}
rupasov
tea
r5
detect
hashed_relocation
no_unhashed_relocation
noborder
nolog
notail
replayonly
resize=رقم
user_xattr
acl
barrier=none / barrier=flush
خيارات الوصل لـ ubifs
UBIFS هو نظام ملفات وميضي (flash) يعمل فوق وحدات تخزين UBI. لاحظ أن atime غير متاح ودائماً ما يكون معطلاً.
يمكن تحديد اسم الجهاز على أنه
ubiX_Y
ubiY
ubiX:NAME
ubi:NAME
يمكن استخدام الفاصل البديل ! بدلاً من :.
تتوفر خيارات الوصل التالية:
bulk_read
no_bulk_read
chk_data_crc
no_chk_data_crc
compr={none|lzo|zlib}
خيارات الوصل لـ udf
UDF هو نظام ملفات "تنسيق القرص العالمي" الذي حددته OSTA، وهي جمعية تكنولوجيا التخزين الضوئي، وغالباً ما يُستخدم لأقراص DVD-ROM، وعادة ما يكون في شكل نظام ملفات هجين UDF/ISO-9660. ومع ذلك، فهو قابل للاستخدام بشكل مثالي بمفرده على محركات الأقراص ومحركات الفلاش وغيرها من الأجهزة الكتلية. راجع أيضاً iso9660.
uid=
gid=
umask=
mode=
dmode=
bs=
لمزيد من التفاصيل، راجع صفحة الدليل mkudffs(8) الإصدار 2.0+، وراجع قسمي التوافقية و حجم الكتلة.
unhide
undelete
adinicb
noadinicb
shortad
longad
nostrict
iocharset=
utf8
خيارات الوصل لتنقيح الأخطاء والاستعادة من الكوارث
novrs
session=
anchor=
lastblock=
خيارات وصل تاريخية غير مستخدمة قد تظهر ويجب إزالتها
uid=ignore
gid=ignore
volume=
partition=
fileset=
rootdir=
خيارات الوصل لـ ufs
ufstype=قيمة
old
44bsd
ufs2
5xbsd
sun
sunx86
hp
nextstep
nextstep-cd
openstep
onerror=قيمة
panic
lock|umount|repair
خيارات الوصل لـ umsdos
انظر خيارات الوصل لـ msdos. يُنهى الخيار dotsOK صراحةً بواسطة umsdos.
خيارات الوصل لـ vfat
بدءاً، خيارات الوصل لـ fat مُتعرَّف عليها. عُطِّل الخيار dotsOK صراحةً بواسطة vfat. وعلاوة على ذلك، توجد
uni_xlate
posix
nonumtail
utf8
shortname=وضع
lower
win95
winnt
mixed
خيارات الوصل لـ usbfs
devuid=uid و devgid=gid و devmode=وضع
busuid=uid و busgid=gid و busmode=وضع
listuid=uid و listgid=gid و listmode=وضع
دعم DM-VERITY
يوفر هدف verity لـ device-mapper فحصاً شفافاً للنزاهة للقراءة فقط للأجهزة الكتلية باستخدام واجهة برمجة تطبيقات التشفير (crypto API) الخاصة بالنواة. يمكن لأمر وصل فتح جهاز dm-verity وإجراء تحقق من النزاهة قبل وصل نظام ملفات الجهاز. يتطلب libcryptsetup مع libmount (اختيارياً عبر dlopen(3)). إذا كان libcryptsetup يدعم استخراج تجزئة الجذر (root hash) لجهاز موصول بالفعل، ستُعاد الأجهزة الموجودة للاستخدام آلياً في حال التطابق. خيارات الوصل لـ dm-verity:
verity.hashdevice=مسار
verity.roothash=hex
verity.roothashfile=مسار
verity.hashoffset=إزاحة
verity.fecdevice=مسار
verity.fecoffset=إزاحة
verity.fecroots=قيمة
verity.roothashsig=مسار
verity.oncorruption={ignore|restart|panic}
متاح منذ 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، وجهاز hash verity ووُصلت صورة نظام ملفات مُحقق منها إلى /mnt. ستتحقق النواة من أن hash الجذر مُوقع بواسطة مفتاح من حلقة مفاتيح النواة في حال استُخدم roothashsig.
دعم أجهزة LOOP
هناك نوع آخر محتمل وهو الوصل عبر جهاز حلقي. على سبيل المثال، الأمر
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، أُضيف دعم التدمير الآلي لأجهزة loop، مما يعني أن أي جهاز loop خُصص بواسطة وصل سيُحرر بواسطة فصل بصرف النظر عن /etc/mtab.
يمكنك أيضاً تحرير جهاز حلقي يدوياً، باستخدام losetup -d أو umount -d.
منذ util-linux v2.29، يعيد mount استخدام الجهاز الحلقي بدلاً من تهيئة جهاز جديد إذا كان نفس الملف الساند مستخدماً بالفعل لجهاز حلقي ما بنفس الإزاحة وحد الحجم. هذا ضروري لتجنب عطب نظام الملفات.
حالة الخروج
يملك mount قيم حالة الخروج التالية (يمكن دمج البتات باستخدام OR):
0
1
2
4
8
16
32
64
يعيد الأمر mount -a القيمة 0 (نجح الكل)، أو 32 (فشل الكل)، أو 64 (فشل البعض، ونجح البعض).
126
المساعدات الخارجية
صيغة مساعدي الوصل الخارجيين هي:
/sbin/mount.suffix spec dir [-sfnv] [-N namespace] [-o options] [-t نوع.subtype]
حيث suffix هو نوع نظام الملفات، والخيارات -sfnvoN لها نفس معنى خيارات الوصل العادية. يُستخدم الخيار -t لأنظمة الملفات التي تدعم الأنواع الفرعية (على سبيل المثال /sbin/mount.fuse -t fuse.sshfs).
لا يمرر أمر وصل خيارات الوصل unbindable، و runbindable، و private، و rprivate، و slave، و rslave، و shared، و rshared، و auto، و noauto، و comment، و x-*، و loop، و offset، و sizelimit إلى مساعدات mount.<suffix>. تُستخدم جميع الخيارات الأخرى في قائمة مفصولة بفواصل كوسيط للخيار -o.
تُعاد قيمة حالة الخروج للمساعد كحالة خروج لأمر وصل(8). تُستخدم القيمة 126 إذا وُجد برنامج مساعد الوصل، ولكن فشل استدعاء execl().
البيئة
LIBMOUNT_FORCE_MOUNT2={always|never|auto}
LIBMOUNT_FSTAB=<مسار>
LIBMOUNT_DEBUG=all
LIBBLKID_DEBUG=all
LOOPDEV_DEBUG=all
الملفات
راجع أيضاً قسم "الملفات /etc/fstab و /etc/mtab و /proc/mounts" أعلاه.
/etc/fstab
/run/mount
/etc/mtab
/etc/mtab~
/etc/mtab.tmp
/etc/filesystems
تاريخ
وُجد الأمر mount في الإصدار 5 من AT&T UNIX.
العلل
من المحتمل أن يتسبب نظام ملفات تالف في انهيار النظام.
بعض أنظمة ملفات لينكس لا تدعم الخيارين -o sync و -o dirsync (أنظمة الملفات ext2 و ext3 و ext4 و fat و vfat تدعم التحديثات المتزامنة (على غرار BSD) عندما تُوصل بالخيار sync).
قد لا يتمكن الخيار -o remount من تغيير معاملات الوصل (جميع المعاملات الخاصة بـ ext2fs، باستثناء sb، قابلة للتغيير عند إعادة الوصل، على سبيل المثال، لكن لا يمكنك تغيير gid أو umask لـ fatfs).
من المحتمل ألا يتطابق الملفان /etc/mtab و /proc/mounts في الأنظمة التي تستخدم ملف mtab عادياً. يعتمد الملف الأول فقط على خيارات الأمر mount، لكن محتوى الملف الثاني يعتمد أيضاً على النواة وإعدادات أخرى (مثلاً على خادم NFS بعيد — في حالات معينة قد يُبلغ الأمر mount عن معلومات غير موثوقة حول نقطة وصل NFS بينما يحتوي الملف /proc/mount عادةً على معلومات أكثر موثوقية). وهذا سبب آخر لاستبدال ملف mtab بوصلة رمزية إلى ملف /proc/mounts.
فحص الملفات على أنظمة ملفات NFS المشار إليها بواصفات الملفات (أي عائلات وظائف fcntl و ioctl) قد يؤدي إلى نتائج غير متسقة بسبب غياب فحص الاتساق في النواة حتى لو استُخدم خيار الوصل 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/.
| 2026-05-18 | util-linux 2.42.1 |