ملف Fstab

fstab-linux

مقدمة عن 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 الخاص بالأقراص عندك نستخدم الأمر التالي :
$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 وبعدها اسم القرص المراد توصيله.
# <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 :
# <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 يبقى عليك إضافة أقسامك و وضع الخيارات كما يناسبك 
لا تنسوا متابعتنا عبر مواقع التواصل الإجتماعي وعبر النشرة البريدية للتوصل لكل جديد
نلقاكم في تدوينه أخرى.

Post a Comment

أحدث أقدم