امین سالم
برنامه نویس و متخصص Distributed Ledgers

FHS چیست ؟ معرفی جامع ساختار سلسله مراتبی لینوکس

امروز قصد دارم در این مطلب با ساختار FHS یا همون ساختار سلسله مراتبی فایل سیستم و فایل بندی ها مختلف در لینوکس صحبت کنم.در واقع FHS به ما توضیح میده که فایل ها و دایرکتوری ها چگونه داخل یک توزیع لینوکس منظم و طبقه بندی می شوند. برای مثال از شخصی درخواست میشه که فایل های کانفیگ آپاچی رو تنظیم کنه و تغییرات لازم رو داخل شون اعمال کنه و خب وقتی هیچ دیدی نسبت به FHS و ساختار دایرکتوری لینوکسی نداشته باشه با دردسرهای زیادی به منظور انجام کار خود رو به رو خواهد شد اما وقتی دید کامل و جامعی داشته باشد میدونه که برای مثال باید به داخل پوشه etc بره و دنبال فایل apache.conf بگرده و تنظیمات منظور رو اعمال کنه.ساختار فایل بندی های اصلی لینوکس به صورت یک نمودار درختی می باشد به این صورت که ابتدا یه root داریم و در داخل فایل اصلی root ساختار فایل بندی درختی ما قرار دارد. فایل های اصلی لینوکس به این صورت می باشد :

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

FHS

اطلاعات جامعی که در داخل هر زیرشاخه از root قرار داده می شود به نحو زیر می باشد‌:

  • bin : مهمترین فایل های باینری (اجرایی) در داخل آن قرار دارند.
  • boot : فایل های مهم boot loader رو در داخل این قسمت قرار داده و سیستم عامل رو از این طریق boot خواهد کرد.
  • dev : تمامی device های سیستم چه مجازی و چه واقعی از قبیل مودم ها . USB ها و ... در داخل این فولدر قرار دارند.

FHS_1

  • etc : فایل های مربوط به system configuration ها مخصوص سیستم شما در این پوشه قرار دارد. این پوشه مهم می باشد از این جهت که تمامی فایل های configuration که به دنبال آن خواهید بود در این پوشه قرار دارد.

etc

  • lib : کتابخونه های ضروری سیستمی و همچنین ماژول های کرنل در این پوشه قرار دارند.
  • media : پوشه ای هستش که removable media های شما از قبیل USB Flash در صورت اتصال در این پوشه mount خواهند شد.
  • mnt : دایرکتوری هستش که اگر بخواهیم چیزی رو به صورت موقت mount کنیم در این پوشه قرار می دهیم. کاربرد آن ممکن است با media قدری گیج کننده باشد ولی برای مثال اگر به عنوان یک sysadmin linux بخواهید یک درایو شبکه رو بیارید معمولا در این پوشه قرار می دهیم. البته الزام یا قیدی به منظور mount کردن دستگاه ها در پوشه اخیر ذکر شده وجود ندارد و اگر به جای یکدیگر هم استفاده شوند مشکلی به وجود نمی آید.
  • opt : برنامه های third party در این دایرکتوری قرار داده می شوند. اگر زمانی برنامه مورد نظر ما برای فعالیت بهتر نیاز به یک برنامه جانبی داشت اون برنامه در داخل این دایرکتوری قرار داده می شود. برای مثال اگر oracle نصب نمایید به داخل این پوشه منتقل می شود.
  • sbin : فایل های خیلی مهم و ضروری سیستمی در این دایرکتوری قرار دارند. دستوراتی از قبیل ایجاد کردن پاک کردن و یا چک کردن یک فایل سیستم که همگی یا اکثرا به دسترسی root برای اجرا شدن نیاز دارند. در حالی که درون دایرکتوری bin فایل های روزمره تری وجود دارد مانند dd کردن یا df.

sbin

  • srv : انتظار می رود که سرویس هایی که سیستم عامل شما در اختیارتون قرار میده فایل هاش به داخل این پوشه منتقل شود. که معمولا در سیستم های خانگی کاربرد ندارد.
  • tmp : هر شخصی که بخواهد فایل های را در جایی موقتا ذخیره سازی نماید به داخل این فایل منتقل می شود.
  • usr : همانطور که مشاهده می کنید یک سری فایل های مشابه بالا و فایل سیستم اصلی root نیز در داخل این فایل موجود می باشد که خیلی اطلاعاتی که مربوط به کاربران می باشد به داخل این فایل منتقل شده تا امکان جدا mount کردن و یا share کردن بین گروهی و ... موجود باشد.
  • var : یک دایرکتوری هستش که اطلاعات متغیر مانند فایل های لاگ در داخل آن قرار داده می شود. برای مثال اگر سرویس apache شما به مشکل برخورد که اولین فایلی که باید به منظور چک کردن نحوه فعالیت این سرویس چک شود فایل apache log می باشدتا اتفاقات رخ داده در داخل سرویس مورد نظر را کامل بررسی نمایید یا اگر در حال پرینت گرفتن هستید زمانی که سیستم عامل میخواهد فایل را به پرینتر تحویل دهد قبل از آن به داخل پوشه spool در داخل این دایرکتوری منتقل نماید. در واقع فایل هایی که خیلی متغیر هستند ولی قرار نیست که بعد از هر boot از داخل سیستم مانند دایرکتوری tmp پاک شود.

var

  • home : دایرکتوری home هر کاربر می باشد که هر کاربر یه پوشه home منحصر به فرد مخصوص خود را دارد.
  • root : این دایرکتوری نباید با دایرکتوری مرجع و ریشه "/" اشتباه گرفته شود. این دایرکتوری در واقع پوشه home برای کاربر root می باشد که به این شکل نامگذاری شده است.

تمامی دایرکتوری های توضیح داده شده در واقع طبق Filesystem Hierarchy Standard یا همان FHS می باشد که به این طریق می توان دید جامع تری از لیست فایل های موجود بر روی لینوکس خود به دست آورید.امیدوارم که این آموزش جزئی کمک کوچکی به اطلاعات حوزه لینوکس و متن باز شما کرده باشد.با آرزوی بهترینا برای بهترین ها

نویسنده : امین سالم

منبع : ITPRO

هرگونه نشر و کپی برداری با ذکر منبع و نام نویسنده و یا بدون ذکر نام منبع به منظور نشر اطلاعات و وسیع تر شدن جامعه لینوکس و متن باز باعث خوشحالی بنده می باشد.

#استاندارد_سلسله_مراتبی_فایل_سیستم_ها

امین سالم
امین سالم

برنامه نویس و متخصص Distributed Ledgers

فارغ التحصیل رشته سخت افزار دانشگاه شاهد هستم ، بیشتر فعالیتی که در حوزه شبکه داشته ام در حوزه زیرساخت های ارتباطی سیسکو و مایکروسافت بوده است ، دوره های CISCO(CCNA_CCNP) و MCSE را در مجتمع فنی تهران شعبه ابن سینا سپری کرده ام ، در حوزه رباتیک دارای عناوین مختلف کشوری در مسابقات داخلی هستم و علاقه مند به کارهای عملی در حوزه شبکه می باشد ، در این راستا در چندین شرکت بصورت پروژه ای و کارآموزی پروژه هایی در حوزه زیرساختی ، مایکروسافتی و VOIP را نیز انجام داده ام ، بصورت کلی دستی در برنامه نویسی و

نظرات