اموزش لینوکس-قسمت ششم

اموزش لینوکس-قسمت ششم-ساختار فایل

اولا که از لطف همه دوستان ممنونم و برای این تاخیر طولانی از همه عذر میخوام.لطف کنید از این به بعد اگر انتقاد یا پیشنهادی داشتید به ID خودم بفرستید.
و اما مبحث امروز:
متن زیرترجمه بخشی از یک PDF در باره لینوکس است.
برخی مطالب در قسمت های قبل تکرار شده اند اما در اینجا مطالب با جزئیات بیشتر و دقیق تر آورده شده است.
بحث کلی این قسمت و قسمت های اینده حول مفهوم فایل ها و سیستم انها در لینوکس است. امید است که مفید واقع گردد.

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

مروری کلی بر سیستم فایل در لینوکس

فایلها
یک توصیف ساده از سیستم یونیکس که برای لینوکس نیز به کار می رود عبارت است از: "در سیستم یونیکس همه چیز فایل است و اگر فایل نباشد یک فرایند خواهد بود"
عبارت فوق صحیح است زیرا تعدادی فایل خاص وجود دارد که تنها فایل محسوب نمی شوند (برای مثال pipes یا sockets ) اما برای سادگی گفته می شود که همه چیز فایل است.سیستم لینوکس نیز درست همانند یونیکس، هیچ تفاوتی بین فایل و دایرکتوری قائل نمی شود، زیرا دایرکتوری همان فایل است که شامل اسامی سایر فایل هاست.برنامه ها، خدمات، متن ها، عکس ها همگی فایل هستند.دستگاه های ورودی و خروجی و سایر دستگاه های دیگر نیز با توجه به سیستم، فایل در نظر گرفته می شوند.
برای مدیریت تمام این فایل ها به شیوه ای منظم، ترجیح می دهیم که به انها همانند درختی مرتب نگاه کنیم.( به عنوان مثال همانند ساختار هارد دیسک در MS_DOS ) شاخه های بزرگتر شاخه های بیشتری دارندو شاخه های انتهایی شامل برگ های درخت یا فایل های معمولی هستند.از حالا از این تصویر درختی استفاده خواهیم کرد، اما در اینده خواهیم دید که این تصویر کاملا صحیح نمی باشد.

filestructure.jpg


مرتب سازی فایل ها
اغلب فایل ها تنها فایل هستند که به انها فایل های عادی(Regular files) گفته می شود.این فایل ها شامل داده های معمولی هستند مانند فایل های متنی، فایل ها یا برنامه های اجرایی، ورودی یا خروجی برنامه ها و ....
در سیستم لینوکس به طور معمول فرض می شود که با هر چه که مواجه می شوید فایل است اما موارد استثنایی نیز وجود دارد.
دایرکتوریها: فایل ها و لیست سایر فایل ها.
فایل های خاص: مکانیزمی که برای ورودی و خروجی به کار می رود.اکثر فایل های خاص در /dev قرار دارند.در اینده دراین باره بیشتر بحث خواهیم کرد.
پیوندها: سیستمی است که سبب می شود فایل یا دایرکتوری در چندین قسمت از درخت فایل سیستم قابل مشاهده باشد.در این باره جزئیات بیشتر را خواهیم گفت.
(دامنه) sockets :یکی از انواع فایل های خاص که شبیه socket های TCP/IP است و به وسیله کنترل دسترسی به سیستم فایل، امنیت فرایند های داخلی شبکه را تامین می کند.
Named pipes: کمابیش عملکردی شبیه socket ها دارد و راهی برای ارتباط فرایند ها با یکدیگر بدون استفاده از معنای socket شبکه را شکل می دهد.
نماد مفهوم
- فایل عادی
d دایرکتوری
L پیوند
c فایل های خاص
s socket
p Named paipe
برای اینکه همیشه مجبور نباشیم برای یافتن نوع فایل در یک لیست طولانی جستجو کنیم، بیشتر سیستم ها به دنبال نام فایل، پسوندی را شامل یکی از کارکتر های “/=*|@” اضافه می کنند که نشاندهنده نوع فایل می باشد.
شما به عنوان یک کاربر تنها با فایل های ساده، فایل های اجرایی،دایرکتوری ها و پیوندها سر و کار خواهید داشت.فایل های خاص برای ایجاد سیستم به نوع دلخواه است و تنها مدیران سیستم و برنامه نویسان با انها سر و کار خواهند داشت.
حال قبل از اینکه به فایل ها و دایرکتوری های مهم نگاهی بیندازیم بد نیست کمی بیشتر در مورد پارتیشن ها بدانیم.

linux-structure.jpg


در باره پارتیشن بندی

چرا پارتیشن؟
اغلب مردم دانش مبهمی راجع به پارتیشن ها دارند، زیرا تمامی سیستم های عامل توانایی ایجاد و یا پاک کردن انها را دارند.
به نظر عجیب می رسد که لینوکس حتی زمانی که از مراحل نصب استاندارد استفاده می کند، نیاز به بیش از یک پارتیشن روی یک دیسک دارد. و این نیاز به شرح و تفصیل بیشتر دارد.
هدف داشتن پارتیشن های مختلف در واقع دست یابی به امنیت داده ای بالاتر در هنگام بروز حادثه است.با تقسیم کردن هارد دیسک به چندین پارتیشن داده ها می توانند به صورت گروهبندی شده و جداگانه باشند.
زمانی که حادثه ای در پارتیشنی رخ دهد، تنها داده های همان پارتیشن اسیب می بینند در حالیکه سایر داده ها در دیگر پارتیشن ها اسیبی نمی بینند.
به دلایل امنیتی و قدرت عمل سیستم، از پارتیشن ها استفاده می شود،و بنا براین نفوذ در بخشی از سیستم به این معنی نیست که کل کامپیوتر در خطر است.و این مهمترین دلیل استفاده از پارتیشن بندی است.
به خاطر داشته باشید که چنین سیستم فایلی تنها امنیت داده ها را در هنگام بروز اشکال و یا قطع
ناگهانی ابزارهای حافظه تامین می کند.و داده های شما را در مقابل ساختار نادرست و یا اشکالات منطقی در سیستم فایل حفاظت نمی کند.در این مواقع لازم است که از راه حل های RAID
Array Of Inexpensive Disks) (Redundant استفاده کنید.

انواع وطرحبندی پارتیشن
2 پارتیشن عمده در سیستم لینوکس وجود دارد:
پارتیشن داده: داده های نرمال سیستم لینوکس، شامل پارتیشن ریشه(root) که حاوی کلیه داده ها برای شروع و اجرای سیستم است.
پارتیشن swap :توسعه حافظه فیزیکی کامپیوتر ، حافظه یدکی روی هارد دیسک.(حافظه مجازی)
اغلب سیستم ها شامل پارتیشن ریشه،1 یا چند پارتیشن داده و یک یا چند پارتیشن swap می باشند.
سیستم های محیط های ترکیبی ممکن است حاوی پارتیشن هایی برای سایر داده های سیستم باشند، به عنوان مثال پارتیشنی با سیستم فایل FAT یاVFAT برای داده MS Windows .
اکثر سیستم های لینوکس هنگام نصب برای تنظیم نوع پارتیشن از fdisk استفاده می کنند.معمولا این کار به صورت خودکار انجام می شود.گرچه بعضی اوقات ممکن است این قدر خوش شانس نباشید.در این موارد شما نیاز دارید که خودتان نوع پارتیشن ها را تعیین کنید و حتی عمل پارتیشن بندی را نیز خودتان انجام دهید.ابزار fdisk در این مورد به شما کمک خواهد کرد.
جدا از این ها، لینوکس از انواع مختلفی از سیستم های فایلی دیگر نیز حمایت می کند.همانند JFS،NFS،fatXX و بسیاری از سیستم های فایلی که در دیگر سیستم عامل ها در به کار می روند.
پارتیشن استاندارد ریشه(که با یک سلش مجزا نشان داده می شود،/) حدودا 100 تا 500 مگا بایت فضا اشغال می کند و شامل فایل های پیکر بندی سیستم، اصلی ترین دستورات و برنامه های سرویس دهنده، کتابخانه های سیستم، برخی فضاهای موقتی و دایرکتوری خانه ی(home) کاربر اصلی
یا همان مدیر(administrative) می باشد.یک نصب استاندارد نیازمند حدودا 250 مگا بایت فضا برای پارتیشن ریشه است.

structure.jpg


فضای swap تنها برای خود سیستم قابل دسترس است، و در حین عملیات عادی سیستم از دید ما پنهان است.swap سیستمی است که همانند سیستم های نرمال یونیکس به شما اطمینان می دهد که هر اتفاقی که بیفتد شما می توانید به کار خود ادامه دهید.به علت این فضای کمکی شما هیچ گاه در لینوکس با پیغام های خطایی مثل حافظه بیش از حد مجاز و یا ابتدا برخی از کارها را متوقف کرده و مجدد امتحان کتید، مواجه نخواهید شد. Swap یا حافظه مجازی مدت زیادی است که مورد قبول سیستم های عامل خارج از دنیای یونیکس واقع شده است.
به طور طبیعی استفاده از حافظه روی هارد کند تر از استفاده از تراشه های واقعی حافظه کامپیوتر است اما داشتن چنین حافظه ای بسیار راحت است.
لینوکس معمولا اندازه swap را 2 برابر مقدار حافظه فیزیکی حساب می کند.هنگام نصب سیستم باید بدانید که چگونه عمل کنید.مثالی از سیستمی با 512 مگا بایت RAM:
اولین امکان: 1 پارتیشن swap با 1 گیگ فضا.
دومین امکان: 2 پارتیشن swap با 512 مگا بایت فضا.
سومین امکان:( با 2 هارد دیسک) 1 پارتیشن با 512 مگا بایت روی هر دیسک.
انتخاب اخر زمانی که دستگاه های I/O زیادی وجود داشته باشند بهترین نتیجه را می دهد.
برای راهنمایی بیشتر مستندات نرم افزار را مطالعه کنید. برخی کاربرد ها همچون پایگاه داده
(DB:Data Base) ، احتمالا به فضای swap بیشتری احتیاج دارند. برخی دیگر ممکن است از هیچ swap استفاده نکنند.فضای swap همچنین به نگارش هسته تان بستگی دارد.
هسته در بسیاری از توزیع های لینوکس در پارتیشن مجزایی قرار دارد.زیرا مهمترین فایل سیستم محسوب می شود.در این حالت یک پارتیشن /boot نیز وجود دارد که هسته(ها) را شامل می شود.
بقیه فضای هارد دیسک معمولا بین پارتیشن های داده تقسیم می شود، با وجودیکه ممکن است کلیه داده های غیر بحرانی سیستم در یک پارتیشن قرار بگیرند. برای مثال زمانی که نصب استاندارد ایستگاه کاری (workstation) را اجرا می کنید.زمانی که داده های غیر بحرانی در پارتیشن های متفاوت قرار می گیرند، معمولا الگوی زیر اتفاق می افتد:
یک پارتیشن برای برنامه های کاربر (/user)
یک پارتیشن شامل داده های شخصی کاربر (/home)
یک پارتیشن برای ذخیره داده های موقتی مثل چاپ_و mail_ صف ها(/var)
یک پارتیشن برای سومین بخش و نرم افزار اضافی(/opt)
یک بار که پارتیشن ها ساخته شدند،می توانید تعداد بیشتری به انها اضافه کنید.تغییر اندازه یا تغییر ویژگی های پارتیشن های موجود امکان پذیر است اما توصیه نمی شود.
تصمیم تقسیم هارد دیسک ها به پارتیشن ها توسط مدیر سیستم(administrator) صورت می گیرد.مدیر در سیستم های بزرگتر حتی ممکن است با استفاده از نرم افزار مناسب یک پارتیشن را روی چندین هارد دیسک توسعه دهد.در حین فرایند نصب شما می توانید طرح پارتیشن خودتان را با استفاده از ابزار خاص توزیع در حال نصب، که معمولا یک رابط گرافیکی و یا fdisk (ابزاری متنی برای ایجاد پارتیشن ها و تنظیم ویزگی هایشان)است،تعریف کنید.
نصب ایستگاه کاری یا مشتری(client) اساسا برای استفاده یک شخص است.نرم افزار انتخابی برای نصب این موضوع را منعکس می کند و تاکید اصلی بر روی بسته های عمومی کاربر، مانند زمینه دسکتاپ زیبا، ابزارهای توسعه، برنامه های مشتری برای E_mail، نرم افزار چند رسانه ای، وب و دیگر خدمات است.
همه چیز با هم در یک پارتیشن بزرگ قرار می گیرد، فضای swap با دو برابر ظرفیت RAM نیز اضافه می گردد و ایستگاه کاری شما به طور کلی کامل شده و بیشترین فضای ممکن دیسک را برای استفاده شخصی فراهم می کند.
در سرویس دهنده، داده های سیستم تمایل دارند که از داده های کاربر مجزا باشند.برنامه هایی که خدمات را ارائه می دهند در جایی متفاوت با جایی که داده های مربوط به این خدمات وجود دارند، نگهداری می شوند.پارتیشن های متفاوتی در اینگونه سیستم ها ایجاد می شوند:
یک پارتیشن با تمام داده های لازم برای راه اندازی ماشین
یک پارتیشن با داده های پیکربندی و برنامه های سرویس دهنده
یک یا چند پارتیشن شامل داده های سرویس دهنده مانند جداول پایگاه داده،mail های کاربران،ارشیو ftpو غیره.
یک پارتیشن با درخواست ها و برنامه های کاربران
یک یا چند پارتیشن برای فایل های خاص کاربران(دایرکتوری های کاربران)
یک یا چند پارتیشن swap (حافظه مجازی)
خدمات دهنده ها معمولا حافظه بیشتر و در نتیجه فضای swap بیشتری دارند.مطمئنا فرایندهای خدمات دهنده (server) مانند پایگاه داده،به فضای swap بیش از حد معمول احتیاج دارد.برای اجرای بهتر، swap معمولا به پارتیشن های swap متفاوتی تقسیم می شود.
فرمان dfدر یک سیستم در حال اجرا، اطلاعات در مورد پارتیشن ها می تواند با استفاده از دستور
df
(disk full or disk free) نشان داده شود.درلینوکس df نگارش GNU است و –h یا گزینه human readable
را که قابلیت خوانایی را بسیار تقویت می کند، حمایت می کند.توجه داشته باشید که سیستم های یونیکس تجاری معمولا نگارش df و دیگر دستورات خاص خودشان را دارند.رفتار انها معمولا مشابه است، گرچه ابزار عمومی با نگارش GNU ، خصوصیات بهتر و بیشتری دارند.
دستور df تنها اطلاعات پارتیشن های فعال و غیر swap را نمایش می دهد که می تواند شامل پارتیشن های سایر سیستم های شبکه باشد

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد