اطلاعیه

بستن
No announcement yet.

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

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

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

    fstab مخفف File System Table محل برای اطلاعات ثابت سیستم فایل است. نگاشت های پارتیشن ها به دایرکتوری های مورد نظر به همراه گزینه های آنها در این فایل ذخیره می شود. برای راه اندازی لینوکس حداقل سه دایرکتوری root یا ریشه، دایرکتوری boot و حافظه swap لازم است. در این فایل پس از راه اندازی سیستم حداقل دایرکتوری هایی که هستند این سه دایرکتوری گفته شده به همراه یک دایرکتوری منطقی به نام proc وجود دارند.

    دستورهایی که با این فایل کار می کنند، مانند دستور mount است که برای اتصال یک پارتیشن یا دایرکتوری به دایرکتوری دیگر بکار می رود. فایل fstab در دایرکتوری etc/ قرار دارد و برای مشاهده آن همه می توانند از دستور cat استفاده کنند ولی فقط کاربر root حق ویرایش آنرا دارد و می تواند از ویرایشگر vi استفاده کند. جای دیگری که از این فایل استفاده می شود در راه اندازی NFS یا Network File System است. در هر خط این فایل، یک سیستم فایل(پارتیشن) بصورت مجزا نوشته می شوند. فیلد ها با چندین Space و یا Tab از هم جدا می شوند. اطلاعات درون این فایل ثابت یا Static است و هنگام بوت شدن سیستم این فایل خوانده می شود و پارتیشن های نوشته شده در این فایل، لود خواهند شد. پس یکی از فایل هایی که هنگام بوت شدنف توسط سیستم خوانده می شود همین فایل است. هنگامی که سیستم را با دستور shutdown راه اندازی مجدد می کنید و طوری آنرا تنظیم کردید که پس از بوت شدن مججد برنامه fsck سیستم فایل را بررسی کندف این دستور این فایل را می خواند.

    فرمت کلی هر خط از این فایل بصورت 6 فیلد زیر است :
    FS_REMOTE_FS MOUNT_POINT FS_TYPE MOUNT_OPTIONS DUMP_OPTIONS FSCK_OPTIONS


    فیلد اول : این فیلد پارتیشن(Device) یا دایرکتوری را که قصد Mount کردن آنرا دارید را تعیین می کند. این پارتیشن یا دایرکتوری، یا بصورت محلی هستند و یا بصورت راه دور و از یک سیستم دیگر که این حالت برای پیاده سازی NFS و mount کردن یک سیستم فایل درون شبکه استفاده می شود. در هنگام استفاده از این حالت باید آدرس IP و یا نام سروی که سیستم فایل را اشتراکی کرده است را بیاورید. مانند مثال زیر :

    کد PHP:
    nfssrv.falearn.ir:/tmp/sharefiles 
    حالت بالا برای NFS استفاده می شود.

    فیلد دوم : Mount Point یعنی نقطه اتصال و تعیین می کند که پارتیشن یا دایرکتوری را که درفیلد اول مشخص کردید به کدام دایرکتوری باید مصتل شود. بهد از متصل یا Mount کردن دایرکتوری فیلد اول روی دایرکتوری فیلد دوم، دایرکتوری دوم همانند دایرکتوری اول و با همان محتوا خواهد بود. معمولا برای نقطه اتصال یک دایرکتوری در زیر دایرکتوری mnt/ می سازند و فیلد اول را به آن متصل یا Mount می کنند.

    کد PHP:
    mkdir /mnt/sharefiles 
    فیلد سوم : این فیلد نوع سیستم فایل برای نقطه اتصال را نشان می دهد. انواع ext2,ext3,ext4 برای توزیع های لینوکسی، نوع vfat برای ویندوزی ها، نوع ufs برای سیستم عامل های BSD و auto برای فلاپی و CD/DVD ها و swap برای حافظه swap بکار می رود.البته استفاده از فرمت vfat به منزله این نیست که می توانیم از ویندوز های xp به بعد که از NTFS استفاده می کنند را به سیستم mount کنیم بلکه باید از ابزار های این کار و از سامبا(Samba) استفاده کنیم.

    فیلد چهارم : این فیلد شامل گزینه ها یا Options های هنگام Mount شدن بکار می روند. گزینه هایی مانند auto و یا ro/rw که روی دایرکتوری نقطه اتصال بکار می روند. چند گزینه مهم در زیر گفته شده است. گزینه ها بدون فاصله و با کاما(,) از هم جدا می شوند.

    auto و noauto : گزینه پیش فرض auto است و به این معنی است که سیستم فایل یا پارتیشن باید هنگام بوت شدن بصورت خودکار mount شوند در غیر اینصورت شما باید اینکار را با کاربر ریشه و بعد وارد شدن به سیستم و بصورت دستی با دستور mount انجام دهید. همانطور گه گفته شد این حالت پیش فرض است و اگر می خواهید پارتیشن بصورت خوکار mount نشود باید از گزینه noauto استفاده کنید.

    user و nouser : گزینه ای کاربردی و مهم. user اجازه می دهد که کاربران معمولی هم بتوانند mount کنند. ولی اگر می خواهید که کاربران معمولی نتوانند این کار را انجام دهند از nouser استفاده کنید. nouser بصورت پیش فرض است. در خط زیر گزینه پیش فرض nouser است ولی اگر می خواهید کاربران معمولی هم پارتیشن را به یک دایرکتوری دیگر mount کنند باید user را بعد default اضافه کنید. برای جلوگیری از صدمه زدن به سیستم توسط کاربران معمولی و تازه کار گزینه nouser بصورت پیش فرض استفاده شده است.

    کد PHP:
    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 است.

    sysnc و async : این دو گزینه به ورودی و خروجی اشاره می کنند(Input/Output). گزینه sync مخفف synchronously است و اشاره به همگام سازی I/O دارد. بطور مثال با فلاپی ها بکار می رود و مفهوم آن این سات که وقتی شما یک فایل را با دستور cp روی فلاپی کپی می کنید، تغییرات بصورت همزمان با اجرای دستور روی فلاپی بصورت فیزیکی نوشته می شوند. در نقطه مقابل آن گزینه async که مخفف asynchronously است. وقتی async را استفاده می کنید تغییرات مدتی پس از اجرای دستور cp روی فلاپی بصورت فیزیکی نوشته می شوند. البته این حالت بد نیست و برخی مواقع مفید هم هست ولی شاید باعث بروز مشکلاتی هم بشود. اگر شما بدون unmounting کردن فلاپی آنرا بیرون بکشید چون کپی ها مدتی پس از اجرا شدن دستور روی فلاپی نوشته می شوند ممکن است هنوز کپی نشده باشند. پس بطور خلاصه برای استفاده از async می توان این طور گفت که پس از اجرا شدن دستور ابتدا آنرا unmount کنید. async بصورت پیش فرض است.

    در گزینه های بالا گفیتیم برخی ها بصورت پیش فرض هستند گزینه دیگری به نام default وجود دارد که پیش فرض هایی مانند async, exec,rw,auto را در بر می گیرد.

    فیلد های ششم و هفتم : dump یک سرویس پشتیبان گیری و fsck سرویسی برای بررسی کردن سیستم فایل است. بجای این دو فیلد اعدادی بکار می روند که معنی خوشان را دارند. فیلد 5 تعیین کننده اجرای dump و گرفتن پشتیبان از سیستم فایل است، در این فیلد عدد 0 یعنی عدم dump و عدد 1 یعنی اجرای dump. فیلد ششم در ارتباط با برنامه fsck است. عدد 0 یعنی سیستم فایل توسط fsck بررسی نشود.

    مثال ها :

    کد PHP:
    dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0/

    dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 12:14 AM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X