تبليغاتX
گام به گام با لينوكس
گام به گام با لينوكس
جمعه هشتم آذر 1387
ساختار سیستم فایل لینوکس و یونیکس ...  

 ‫سیستم فایل هر کامپیوتر، امکان ذخیره سازی فایل‌ها و اطلاعات را روی آن فراهم می‌سازد. هنگامی که از داخل ‫برنامه واژه پرداز خود سندی را ذخیره می‌کنید، این سیستم فایل است که تعیین می‌کند سند چگونه و کجا ذخیره ‫شود. ‫ابزارهای ذخیره سازی مانند فلاپی دیسک‌ها، دیسک‌های سخت، درایوهای ‪ سی دی رام و غیره . تا قبل از ‫اینکه سیستم‌عامل سیستم فایل را روی آنها تشکیل دهد، قابل استفاده نیستند. ‫سیستم فایلهای گوناگونی برای سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس ارائه شده‌اند که برخی از آنها عبارتند ‫از  ext2، ext3، xfs، reiserfsو   ‪ غیره. این سیستم فایل‌ها در جزئیات فنی دارای تفاوت‌هایی با هم هستند ولی از ‫نظر ساختاری که ایجاد می‌کنند مشابه بوده و تفاوت چندانی باهم ندارند.

 در این مقاله ما وارد جزئیات فنی هر نوع ‫از سیستم فایلها نشده و تنها ساختار آنها را بررسی خواهیم کرد. ‫سیستم فایل یا درخت؟ ‫سیستم فایل سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس بصورت یک درخت وارونه پیاده سازی شده است. در ‫یونیکس و لینوکس دیگر شما چیزی به نام درایوهای ‪ A، Cو ... ندارید. تمام ابزارها و سیستم فایلها شاخه‌هایی از ‫این درخت وارونه هستند. مرکز این درخت ریشه یا ‪ rootنام دارد که بالترین سطح سیستم فایل را تشکیل می‌دهد. ‫زیر ریشه، پوشه‌هایی قرار دارند که سایر قسمت‌های سیستم فایل را تشکیل می‌دهند که اکنون درباره آنها توضیح ‫می‌دهم. سیستم فایل از تعداد زیادی پوشه تشکیل شده‌است که این پوشه‌ها تقریبا در تمامی ‫سیستم‌عامل‌های مبتنی بر یونیکس و لینوکس مشترک هستند. اکنون به تشریح تک تک این شاخه‌ها پرداخته و در ‫میان آن توضیحات اضافه را به شما ارائه خواهم کرد. ‫پارتیشن‌ها ‫در سیستم فایل سیستم‌عامل‌های مبتنی بر لینوکس و یونیکس، دیسک‌های سخت می‌توانند پارتیشن‌های متعددی ‫داشته باشند. در این صورت هر پارتیشن دارای یک نقطه اتصال یا ‪ mount pointمی‌باشد که در آن نقطه به ‫درخت سیستم فایل متصل می‌شود. مثل می‌توانید اطلعات کاربران سیستم را در یک پارتیشن جداگانه ذخیره ‫نموده و نقطه اتصال آنرا ‪ homeتعیین کنید که محل قرارگیری اطلعات کاربران است و به همین ترتیب. ‫بخش‌های درخت سیستم فایل ‫اکنون به بررسی تک تک شاخه‌های سیستم فایل می‌پردازیم. توجه داشته باشید که دسترسی به اکثر این شاخه‌ها ‫فقط توسط کاربر ریشه امکان پذیر است. ‫شاخه ‪ :binدر این شاخه، دستورات سیستم‌عامل که برای تمام کاربران قابل دستیابی هستند و برخی دستورات‫مدیریتی سیستم قرار می‌گیرند. ‫شاخه ‪ :bootاین شاخه که می‌تواند در یک پارتیشن جداگانه بوده و به پوشه ‪ bootمتصل شده باشد، حاوی‫برنامه راه‌نداز بوت سیستم عامل می‌باشد. مانند ‪ Grubو ‪.Lilo ‫شاخه ‪ :devمحل قرارگیری نقطه دسترسی‌های ابزارهای سخت افزاری است. مثل تمام پورت‌ها، پارتیشن‌ها و...‫در اینجا دارای یک فایل هستند. برای مثال فایل 0‪ dev/fdنشاندهنده فلپی درایو سیستم است و به همین ترتیب. ‫بسیاری از برنامه‌های کاربردی از این فایلهای دسترسی برای خواندن و نوشتن داده‌ها بر روی ابزار مورد نظرشان ‫استفاده می‌کنند. مثل یک برنامه کاربردی فایل 0‪ dev/fdرا باز کرده و در آن می‌نویسد. در حقیقت اطلعات روی ‫درایو فلپی و دیسکی که در آن قرار دارد، نوشته خواهد شد. ‫-شاخه ‪ :etcدر این شاخه فایل‌های پیکربندی برنامه‌های سرویس دهنده و برخی فایلهای سیستمی دیگر قرار ‫می‌گیرند. مثل فایل پیکربندی سرویس دهنده وب آپاچی در سیستم‌های دبیان در ‪ etc/apache/http.confقرار ‫دارد و به همین ترتیب. ‫شاخه ‪ :homeدر این شاخه دایرکتوری‌های خانگی کاربران سیستم و اطلعات آنها قرار می‌گیرد. بهتر است این‫شاخه در یک پارتیشن جداگانه قرار گرفته و متصل شود. این کار حفاظت از داده‌های کاربران را بالتر خواهد برد. ‫ضمنا در صورت نیاز به فرمت و نصب مجدد سیستم، اطلعات کاربران دست نخورده باقی مانده و پس از نصب ‫مجدد، کلیه تنظیمات شخصی و اطلعات آنها بدون تغییر باقی خواهند ماند. ‫شاخه ‪ :libاین شاخه همانطور که از نام آن پیداست، محل قرار گیری فایل‌های کتابخانه برنامه‌ها است. این‫کتابخانه‌ها توسط برنامه‌های کاربردی و ابزارهای برنامه نویسی بکار گرفته می‌شوند. ‫شاخه ‪ :mntاین شاخه معمول دارای زیرشاخه‌هایی مانند ‪ floppyو ‪ cdromبوده و محل اتصال سنتی درایوهای‫فلپی و ‪ CD-ROMمی‌باشد. همچنین پارتیشن‌ها دیگر دیسک سخت را نیز می‌توانید در این شاخه متصل نمایید. البته ‫اجباری به این کار وجود ندارد. مثل در سیستم‌های مبتنی بر دبیان، درایوهای فلپی و ‪ CDROMدر شاخه‌های ‪floppy ‫و ‪ cdromکه در زیر ریشه قرار دارند، متصل می‌شوند. اتصال و برداشتن اتصال پارتیشن‌ها و درایوها با استفاده از ‫دستور ‪ mountصورت می‌گیرد. اشتراکات شبکه را نیز می‌توانید در این شاخه متصل نمایید. ‫شاخه ‪ :procاین شاخه یک سیستم فایل مجازی است که برخی اطلعات مربوط به سیستم و هسته از آن قابل‫دستیابی می‌باشد. مثل فایل ‪ versionدر این شاخه حاوی اطلعات هسته سیستم عامل مانند نسخه آن و ... ‫می‌باشد. ‫شاخه ‪ :sbinدستورات و برنامه‌های مدیریتی سیستم در این شاخه قرار می‌گیرند که مخصوص کاربر ‪root‫است. ‫شاخه ‪ :tmpمحل قرارگیری برخی فایلهای موقتی برنامه‌های کاربردی است.‫شاخه ‪ :usrبسیاری از برنامه‌های کاربردی در این شاخه نصب می‌شوند. مثل ‪ Xwindowدر این شاخه قرار دارد.‫همچنین برخی دستورات و دستورات مدیریتی نیز در مسیرهای ‪ usr/binو ‪ usr/sbinقرار می‌گیرند. ‫شاخه ‪ :varاین شاخه که معمول در کامپیوترهای سرویس دهنده در یک پارتیشن جداگانه قرار می‌گیرد، مخصوص‫برنامه‌های سرویس دهنده‌ای مانند وب و ‪ FTPو بانکهای اطلعاتی است. مثل فایل‌های مربوط به یک وب سایت ‫می‌توانند در ‪ var/wwwقرار گیرند. به دلیل اینکه در برخی از حملت ‪ DOSدیسک سخت سیستم با فایل‌های ‫آشغال پر می‌شود، این شاخه را در یک پارتیشن جداگانه قرار می‌دهند که در صورت قرارگیری تحت حمله و پرشدن ‫احتمالی دیسک سخت، کل سیستم عامل دچار وقفه نگردد و آسیب به همان قسمت محدود شود. ‫تمامی شاخه‌هایی که در بال توضیح داده شد، می‌توانند در پارتیشن‌های جداگانه قرار داده شوند. ولی ضرورتی ‫ندارد. ‫پارتیشن ‪swap ‫هنگام نصب لینوکس، پارتیشنی به نام ‪ swapمی‌سازید. کاربرد این پارتیشن چیست؟ این پارتیشن که تحت ساختار ‫سیستم فایل جایی متصل نمی‌شود، محل قرارگیری ‪ swapping fileلینوکس که همان حافظه مجازی روی دیسک ‫سخت است، می‌باشد. بهتر است حجم آنرا برابر یا ۲ برابر حافظه سیستم خود تعیین نمایید.

 

بیان دیگر اینکه :