شبکه-اینترنت، سخت افزار-زیرساخت

عضو سازمان نظام صنفی و مشاور در حوزه شبکه-اینترنت، سخت افزار-زیرساخت

شبکه-اینترنت، سخت افزار-زیرساخت

عضو سازمان نظام صنفی و مشاور در حوزه شبکه-اینترنت، سخت افزار-زیرساخت

سیستم فایل در UNIX/Linux چیست!

 سیستم فایل در UNIX/Linux  چیست!


یک درک مفهومی از سیستم فایل، به خصوص ساختمان داده و اقلام وابسته به آن،  میتواند به شما در اینکه یک مدیر سیستم موفق باشید کمک کند. نویسنده مقاله تعداد زیادی از مدیران سیستم تازه کار را دیده است که هیچگونه اطلاعاتی در این خصوص نداشته اند. دانش مفهومی در این خصوص به شما در موقعیت های اضطراری کمک شایانی خواهد کرد.


فایل چیست؟

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


پوشه چیست؟

به زبان ساده گروهی از فایلها می باشد. پوشه ها به دو گروه تقسیم میشوند:

·         پوشه ریشه – به زبان صریح، بر روی سیستم شما تنها یکی از آنها وجود دارد که با نماد / ( اسلش ) نام گذاری شده است که ریشه کل سیستم فایل شما هست و قابل تغییر نام و پاک کردن نیست.

·         زیر پوشه – پوشه های زیر ( / )، که توسط کاربر مجاز! قابل ایجاد، تغییر نام و پاک کردن است.

پوشه ها برای بهتر مرتب نگه داشتن فایلها و سایر پوشه ها  است.


لینوکس از سیستم فایلهای متععدی پشتیبانی میکند

·         Ext2: شبیه سیستم فایل یونیکسی است، حاوی مفاهیمی نظیر بلاک ها، آینودها و پوشه ها می باشد.

·         Ext3: Ext2 بهبود یافته با قابلیت های ژورنالینگ است. ژورنالینگ امکان بازیافت سریع سیستم فایل را به همراه پشتیبانی از POSIX ACL (Access Control List )  می دهد.

·         Isofs (iso9660): توسط سی دی رام ها استفاده میشود.

·         Sysfs: یک فایل سیستم مبتنی بر رم که از ابتدا مبتنی بر ramfs بود. برای بارگذاری اشیا کرنل کاربرد دارد تا کاربر نهایی بتواند از آن به سهولت استفاده کند.

# cat /proc/cpuinfo

·         Procfs: مثل یک رابط با ساختمان داده داخلی کرنل عمل میکند.برای گرفتن اطلاعاتی راجع به سیستم  و تغییر پارامترهای خاص کرنل در زمان اجرا با دستور sysctl استفاده میشود.به عنوان مثال با دستور زیر میتوانید اطلاعات پردازنده را مشاهده کنید:

·         یا می توانید routing/forwarding بسته های آی پی را بین درگاه های مختلف با دستور زیر فعال یا غیر فعال کنید:

# cat /proc/sys/net/ipv4/ip_forward
# echo "1" > /proc/sys/net/ipv4/ip_forward
# echo "0" > /proc/sys/net/ipv4/ip_forward

·         NFS: سیستم فایل شبکه اجازه میدهد تعداد زیادی کاربر یا سیستم دسته ای از فایلها را  با استفاده از روش Client/Server به اشتراک بگذارند.NFS امکان به اشتراک گذاری تمامی سیستم فایلهای گفته شده را می دهد.

·         لینوکس از NTFS,vfat شرکت میکروسافت و بسیاری سیستم فایل های دیگر پشتیبانی میکند. برای اطلاع از کلیه سیستم فایلهایی که توسط لینوکس پشتیبانی  میشوند به مستندات منبع کرنل لینوکس خود مراجعه کنید.

 

شما با هر یک از دو دستور زیر می توانید فایل سیستم های نصب شده روی سیستمتان را ببینید:

$ mount

 

یا

$ cat /proc/mounts


سیستم فایل  لینوکس/یونیکس  چیست؟

سیستم فایل یونیکس مجموعه ای فایل ها و پوشه های ذخیره شده است. هر سیستم فایل در کل یک پارتیشن مجزا ذخیره شده است. در ادامه تعدادی از سیستم فایلها معرفی میشود:

·         / : سیستم فایل خاصی که فایل ها را تحت پوشه های متعددی مانند /tmp, /dev و نظایر آن ذخیره میکند.

·         /usr: برنامه های کاربردی تحت آن ذخیره میشود

·         /var: فایل های گزارش، ایمیل و سایر داده ها ذخیره می شود.

·         /tmp: فایل های موقت ذخیره میشود.

( توجه کنید در لینوکس و یونیکس میتوان تعداد زیادی پوشه تحت تنها یک سیستم فایل در مسیر / داشت، یا تعداد زیادی سیستم فایل، هر کدام در پارتیشن مربوط به خود که تحت پوشه های زیر مجموعه / ، mount شده باشند.

از نظر کاربر نهایی تفاوت چندانی نباید احساس شود، به جز اینکه یکی از پارتیشنها پر شده باشد و کاربر با پیام عدم وجود فضای خالی در یکی یا چند تا از پوشه ها مواجه شود)

برای اطلاعات بیشتر مقاله "اهمیت پارتیشن های لینوکسی" را ببینید.


اما نهایتا سیستم فایل چیست؟

سیستم فایل به دو رسته تقسیم می شود:

·         User data: داده واقعی ذخیره شده در فایل ها می باشد.

·         Metadata: اطلاعات ذخیره شده ساختار سیستم فایل نظیر  Superblock, Inodes و پوشه ها می باشد.

 

در بخش بعد در مورد اشیا  Metadata - Superblock, Inodes و پوشه ها با استفاده از دستورات لینوکس صحبت خواهیم کرد تا درک و مهارت بیشتری در خصوص مفاهیم آن حاصل شود.