فایل fstab در لینوکس چیست؟

fstab مخفف File System Table محلی برای اطلاعات ثابت سیستم است. نگاشت های پارتیشن ها به دایرکتوری های مورد نظر به همراه گ

آموزش و رفع مشکلات مرتبط به انواع فایل سیستم در لینوکس
ارسال پست
نمایه کاربر
phoenix
مدیر کل سایت
مدیر کل سایت
پست در این موضوع: 1
پست: 201
تاریخ عضویت: شنبه 29 مهر 1396, 11:10 am
محل اقامت: مشهد
نوع دسکتاپ: LXQT
تماس:

فایل fstab در لینوکس چیست؟

پست توسط phoenix » جمعه 19 آبان 1396, 11:36 am

fstab مخفف File System Table محلی برای اطلاعات ثابت سیستم است. نگاشت های پارتیشن ها به دایرکتوری های مورد نظر به همراه گزینه های آنها در این فایل ذخیره میشود.برای راه اندازی لینوکس حداقل سه دایرکتوری root, دایرکتوری boot و حافظه swap لازم است.در این فایل پس از راه اندازی سیستم حداقل دایرکتوری هایی که هستند این سه دایرکتوری گفته شده و به همراه یک دایرکتوری منطقی به نام proc وجود دارند.
دستورهایی که با این فایل کار میکنند مانند دستور mount است که برای اتصال یک پارتیشن یا دایرکتوری به دایرکتوری دیگر بکار میرود. فایل fstab در دایرکتوری etc/ قرار دارد و برای مشاهده آن همه میتوانند از دستور cat استفاده کنند ولی فقط کاربر root حق ویرایش آن را دارد و میتواند از ویرایشگر vi استفاده کند. جای دیگری که از این فایل استفاده میشود در اره اندازی NFS یا Network File System است. در هر خط این فایل یک سیستم فایل (پارتیشن) بصورت مجزا نوشته میشوند.فیلدها با چندین Space و یا tab از هم جدا میشوند اطلاعات درون این فایل ثابت یا Static است و هنگام boot شدن سیستم این فایل خوانده مشود و پارتیشن های نوشته شده در این فایل load خواهند شد پس یکی از فایلهای که هنگام boot شدن توسط سیستم خوانده میشود همین فایل است. هنگامیکه سیستم را با دستور shutdown راه اندازی مجدد میکنید و طوری آنرا تمظیم کردید که پس از boot شدن مجدد برنامه fsck سیستم فایل را بررسی کند این دستور این فایل را میخواند.
فرمت کلی هر خط از این فایل بصورت ۶ فیلد زیر است:

کد: انتخاب همه

FS_REMOTE_FS MOUNT_POINT FS_TYPE MOUNT_OPTIONS DUMP_OPTIONS FSCK_OPTIONS
فیلد اول:این فیلد پارتیشن یا دایرکتوری را که قصد MOUNT کردن آن را دارید را تعیین میکند. این پارتیشن یا دایرکتوری یا بصورت محلی هستند و یا بصورت راه دور و از یک سیستم دیگر که این حالت برای پیاده سازی nfs و mount گردن یک سیتم فایل درون شبکه استفاده میشود در هنگام استفاده از این حالت باید آدرس ip و یا نام سروری که سیستم فایل را اشتراکی کرده است را بیاورید.مانند مثال زیر:

کد: انتخاب همه

nfssrv.linuxfedora.ir:/tmp/sharefiles
حالت بالا برای nfs استفاده میشود.
فیلد دوم: mount point یعنی نقطه اتصال و تعیین می کند که پارتیشن یا دایرکتوری را که در فیلد اول مشخص کردید به کدام دایرکتوری باید متصل شود. بعد از متصل یا mount کردن دایرکتوری فیلد اول روی دایرکتوری فیلد دوم دایرکتوری دوم همانند دایرکتوری اول و با همان محتوا خواهد بود معمولا برای نقطه اتصال یک دایرکتوری در زیر دایرکتوری mnt/ می سازند و فیلد اول را به آن متصل یا mount میکنند.
فیلد سوم: این فیلد نوع سیستم فایل برای نقطه اتصال را نشان میدهد. انواع ext2,ext3 و ext4 برای توزیع های لینوکسی نوع vfat برای ویندوزی ها نوع ufs برای سیستم عامل های BSD و auto برای فلاپی و CD/DVD ها و SWAP برای حافظه بکار میرود.البته استفاده از فرمت vfat به منزله این نیست که میتوانیم از ویندوزهای xp به بعد که از ntfs استفاده میکنند را به سیستم mount کنیم بلکه باید از ابزارهای این کار و از samba استفاده کنیم.
فیلد چهارم: این فیلد شامل گزینه ها یا option های هنگام mount شدن بکار می روند. گزینه هایی مانند auto و یا ro/rw که روی دایرکتوری نقطه اتصال بکار میروند چند گزینه مهم در زیر گفته شده است گزینه ها بدون فاصله و با کاما(,) از هم جدا میشوند.
noauto و auto : گزینه گیش فرض auto است به این معنی است که سیستم فایل یا پارتیشن باید هنگام boot شدن بصورت خودکار mount شوند در غیر اینصورت شما باید اینکار را با کاربر root و بعد وارد شدن به سیستم و بصورت دستی با دستور mount انجام دهید. همانطور که گفته شد این حالت پیش فرض است و اگر میخواهید پارتیشن بصورت خودکار mount نشود باید از گزینه noauto استفاده کنید.
nouser و user : گزینه ای کاربردی و مهم user اجازه میدهد که کاربران معمولی هم بتوانند mount کنند. ولی اگر میخواهید که کاربران معمولی نتوانند این کار را انجام دهند از nouser استفاده کنید. nouser بصورت پیش فرض است. در خط زیر گزینه پیش فرض nouser است ولی اگر میخواهید کاربران معمولی هم پارتیشن را به یک دایرکتوری دیگر mount کنند باید user را بعد از default اضافه کنید. برای جلوگیری از صدمه زدن به سیستم توسط کاربران معمولی و تازه کار گزینه nouser بصورت پیش فرض استفاده شود.

کد: انتخاب همه

/dev/hdb1 /home ext2 defaults 1 2
exec و noexec : گزینه exec باعث میشود تا بتوان فایل های باینری را اجرا کرد. noexec برعکس exec است و از اجرای فایل های باینری جلوگیری میکند. این گزینه زمانی بکار می آید که نمی خواهید فایل های باینری که در پارتیشن دارید در نقطه اتصال اجرا شوند پیش فرض exec است. فرض کنید یک دایرکتوری را از یک سیستم عامل مانند freebsd در شبکه با nfs اشتراکی میکنید و این دایرکتوری شامل فایلهای معمولی و باینری است و شما نمیخواهید که فایل های باینری اجرا شوند پس از گزینه noexec استفاده میکنید.
ro/rw : گزینه ro یعنی read-only و فقط کاربران حق دیدن فایل ها و محتوا را دارند ولی نمی تواند دایرکتوری یا فایل جدید ایجاد یا در یک دایرکتوری nfs چیزی کپی کنند. اما rw یعنی read-write که هم اجازه خواندن و هم اجازه نوشتن را میدهد که به این معنی است میتوانید فایل و دایرکتوری هم ایجاد کنید. حالت پیش فرض rw است.
async و sysnc : این دو گزینه به ورودی و خروجی اشاره میکنند گزینه sync مخفف synchronously است و اشاره به همگام سازی I/o دارد. بطور مثال با فلاپی ها بکار میرود و مفهوم آن این است که وقتی شما یک فایل را با دستور cp روی فلاپی کپی کنید. تغییرات بصورت همزمان با اجرای دستور روی فلاپی بصورت فیزیکی نوشته میشوند. در نقطه مقابل آن گزینه async که مخفف asynchronously است.وقتی async را استفاده میکنید تغییرات مدتی پس از اجرای دستور cp روی فلاپی بصورت فیزیکی نوشته میشوند. البته این حالت بد نیست و برخی مواقع مفید هم هست ولی شاید باعث بروز مشکلاتی هم بشود اگر شما بدون unmounting کردن فلاپی آن را بیرون بکشید چون کپی ها مدتی پس از اجرا شدن دستور روی فلاپی نوشته میشوند ممکن است هنوز کپی نشده باشند.پس بطور خلاصه برای استفاده از async میتوان اینطور گفت که پس از اجرا شدن دستور ابتدا آن را unmount کنید.async بصورت پیش فرض است.
در گزینه های بالا گفتیم برخی ها بصورت پیش فرض هستند گزینه دیگری به نام default وجود دارد که پیش فرض هایی مانند:auto,rw,exec,async را بر می گیرد.
فیلدهای پنجم و ششم: dump یک سرویس پشتیبان گیری و fsck سرویسی برای بررسی کردن سیستم فایل است. به جای این دو فیلد اعدادی بکار میروند که معنی خودشان را دارند.فیلد ۵ تعیین کننده اجرای dump و گرفتن پشتیبان از سیستم فایل است در این فیلد 0 یعنی عدم dump و عدد 1 یعنی اجرا dump فیلد ششم در ارتباط با برنامه fsck است عدد 0 یعنی سیستم فایل توسط fsck بررسی نشود.

کد: انتخاب همه

/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,synce 0 0
تصویر برای ادامه کار و بالا رفتن کیفیت آموزش ها نیاز به حمایت مالی شما داریم پس لطفا از ما حمایت کنید
از اونجایی که برای جمع آوری و ترجمه و تالیف یک پست آموزشی زمان و زحمت زیادی صرف شده است.
لطفاً در صورت استفاده از این مطلب در سایت یا مقاله و ..... حتما با ذکر منبع و لینک برگشتی باشد.

مسلما این حمایت شما دوستان موجب پایداری اینگونه اثرها خواهد بود سربلند و پیروز باشین

ارسال پست

بازگشت به “آموزش - سوالات و مشکلات فایل سیستم در لینوکس”