ملف Fstab
مقدمة عن fstab :
هو من أهم ملفات الموجودة على أي توزيعة وببساطة هو الملف المسؤول عن توصيل الأقراص وتعريفها أثناء عملية الإقلاع, تستطيع إيجاده داخل المسار التالي :
/etc/fstab
ما الفائدة منه ؟
له العديد من الفوائد , فمثلا في حال كنت تملك نظامين تشغيل في قرص واحد بأنظمة ملفات مختلفة مثل ntfs فستحتاج توصيل هذه الأقراص عبر fstab من أجل تعريفها لتوزيعتك والتعامل معها و أيضا لو كنت تملك قرصين تخزين فستحتاج إلى اضافة القرص الثاني أو اذا أنشأت قرص swap بعد عملية التثبيت فستحتاج إضافته يدوياً أو اذا أردت جعل قرص home مشترك لدى عدة توزيعات إلخ ....
مثال عن ملف fstab :
# <file system> <dir> <type> <options> <dump> <pass>
UUID=686733b3-e543-447b-9ad4-445754898225 swap swap 0 0
UUID=686733b3-e543-447b-9ad4-445754898225 / ext4 defaults 0 1
UUID=ad4f06e2-731b-495a-b3dd-da66e7041c34 /mnt/home ext4 defaults 0 2
UUID=768cd5c2-ac8b-4f2e-9cc9-b2b47e76a070 /mnt/file ext4 defaults 0 2
كان ذلك هو الشكل الإعتيادي لملف fstab , حيث يحتوي على ستة حقول :
- <file system> : القسم أو قرص التخزين المراد توصيله.
- <dir> : نقطة التوصيل التي سيربط بها file system.
- <type> : نظام الملفات المستعمل في القرص أو القسم المراد توصيله.
- <options> : خيارات وصل نظام الملفات.
- <dump> : لعمل نسخة إحتياطية.
- <pass> : تستخدم من قِبَل اﻷمر fsck لتحديد أي نظام ملفات سيتم فحصه.
كانت هذه نظرة عامة عن ملف fstab دعنا الأن نبدأ بالتوضيح أكثر :
طبعا لتحرير ملف ftsab استخدم المحرر الذي تحبه nano , gedit إلخ....
أنا شخصيا أحب إستعمال nano :
sudo nano /etc/fstab
الان ندعى نبدأ فهم كل قسم بالتفصيل لنعرف كيف سنحرر الملف.
<file system> عند تحديد القرص غالبا ما نستعمل المعرف UUID و لمعرفة UUID الخاص بالأقراص عندك نستخدم الأمر التالي :
<file system> عند تحديد القرص غالبا ما نستعمل المعرف UUID و لمعرفة UUID الخاص بالأقراص عندك نستخدم الأمر التالي :
$lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
|-sda1 swap swapfs 686733b3-e543-447b-9ad4-445754898225 [SWAP]
|-sda2 ext4 rootfs 86cfcfc2-cc8c-4d4a-9b73-cf583882d747 116.6G 10% /
|-sda3 ext4 homefs ad4f06e2-731b-495a-b3dd-da66e7041c34 55G 14% /mnt/home
`-sda4 ext4 file 768cd5c2-ac8b-4f2e-9cc9-b2b47e76a070 60.6G 0% /mnt/file
فعند بدأ الكتابة ستكتب = UUID و تضع الرقم الخاص بالقرص كما تراها في المثال الأول.
أو يمكنك إستخدام ال Label في حال تم تعينها أثناء إنشاء القرص وستجدها واضحة في الأمر السابق ولإستعمالها إكتب = LABEL وبعدها اسم القرص المراد توصيله.
<dir> يجب دائما عمل نقطة نصل بها الأقراص لا بد من عمل نقطة إما في mnt/ أو medai/ على سبيل المثال إذا أردت توصيل القسم dev/sda3/ سأقوم بإنشاء نقطة بإسم file يمكنك إختيار أي اسم وسأضعها في mnt وذلك عبر الترمنال :
أو يمكنك إستخدام ال Label في حال تم تعينها أثناء إنشاء القرص وستجدها واضحة في الأمر السابق ولإستعمالها إكتب = LABEL وبعدها اسم القرص المراد توصيله.
# <file system> <dir> <type> <options> <dump> <pass>
LABEL=Arch_Linux / ext4 defaults,noatime 0 1
LABEL=Arch_Swap none swap defaults 0 0
و أخيرا يمكنك أيضا كتابة sda أو hda أو sdb حسب القسم و بهذا الشكل مع رقمها dev/sdyx/ .# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2
إنتهينا من القسم الأول .<dir> يجب دائما عمل نقطة نصل بها الأقراص لا بد من عمل نقطة إما في mnt/ أو medai/ على سبيل المثال إذا أردت توصيل القسم dev/sda3/ سأقوم بإنشاء نقطة بإسم file يمكنك إختيار أي اسم وسأضعها في mnt وذلك عبر الترمنال :
sudo mkdir /mnt/file
و أيضا سأغير الأذونات كي أستطيع التعديل فيها كيفما أشاء :
sudo chmod 777 /mnt/file
والأن سأضيفها في fstab :
<type> هناك العديد من نظم الملفات لنذكر بعضها :
# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda3 /mnt/file ext4 defaults 0 1
هذا هو كل ما تحتاجه في dir .<type> هناك العديد من نظم الملفات لنذكر بعضها :
- vfat للتعامل مع fat بكل أنواعه 16 , 32 ..
- ntfs-3g للتعامل مع أقراص ntfs ويجب تثبيت حزمة ntfs-3g
- ext4, ext3, ext2, jfs, reiserfs الخ ...
- udf,iso9660 لكل من cd,dvd
- swap
- auto للتحديد التلقائي
<options> تقريبا هذه الأطول في الشرح ولكنها بسيطة حيث هي ستحدد بعض الخيارات المهمة أثناء التعامل مع القسم .
- auto لعمل توصيل تلقائي أثناء الإقلاع.
- noauto لمنع التوصيل التلقائي أثناء الإقلاع.
- exec للسماح بتنفيذ المكاتب الثنائية مثل (bin , .run.).
- noexec لعدم السماح بتنفيذ المكاتب الثنائية.
- ro لجعل القسم قابل للقراء فقط.
- rw لجلع القسم قابل للقراءة والكتابة.
- synce جعل الإدخال و الإخراج متزامن.
- users تمكين المستخدم من عمل توصيل للقرص.
- nousers جعل التوصيل مقتصر فقط على الروت .
- noatime إيقاف تحديث أوقات الوصول.
- defaults يعني تعين القيم الإفتراضية التالية (rw,suid,dev,exec,auto,nouser,async)
هذه تقريباً أهم الخيارات و أكثرها إستخدام.
<dump> تحتوي خيارين إما 1 وهو يعني القيام بعملية النسخ أو 0 لعدم القيام وذلك بشرط ان تكون dump مثبتة على التوزيعة .
<pass> تحتوي ثلاث خيارات 0 لتجاهل الفحص و 1 للإشارة إلى القسم الذي يفترض البدأ به وهذا الخيار يوضع لقسم الجذر(الروت) و أخيرا رقم 2 للإشارة إلى الأقسام التي ستلي رقم 1 في الفحص.
إلى هنا نحن قد شرحنا كل قسم في fstab يبقى عليك إضافة أقسامك و وضع الخيارات كما يناسبك
لا تنسوا متابعتنا عبر مواقع التواصل الإجتماعي وعبر النشرة البريدية للتوصل لكل جديد
نلقاكم في تدوينه أخرى.
إرسال تعليق