کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

کاوشگر لینوکس

آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

فایل سیستم دریونیکس و گنو/ لینوکس (2) :

یکی از قابلیتهای ویژه و مهم گنو/لینوکس امکان پشتیبانی از انواع متنوع فایل سیستم هاست . این موضوع لینوکس را قادر میسازد که بخوبی با دیگر سیستمهای عامل غیر هم خانواده خود (مثل ویندوز و ... ) در یک رایانه همزیستی نموده و در کنار این سیستمها نصب و بخوبی کار کند .

تا کنون تقریبا بیش از 15 نوع فایل سیستم شامل ext, ext2, xia, minix, umsdos, msdos,fat ,fat16,fat32, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs و  ufs و ext3 و reiserfs  بطور کامل و نیز فایل سیستم  ntfs  مربوط به ویندوز های خانواده NT  بصورت محدود توسط هسته لینوکس پشتیبانی میشود و با گذشت زمان بر این تعداد افزوده خواهد شد .

درمحیط گنو/لینوکس مثل یونیکس فایل سیستمهای مختلف از شیوه نامگذاری با حروف انگلیسی مثل (C D E F و ...) تبعیت نمی کنند ، در عوض طبق یک قاعده کلی همه فایل سیستمها در زیر مجموعه یک ساختار درختی مثل ریشه و تنه و شاخه های یک درخت به هم پیوسته به نظر میرسند .

(یک مثال ملموس تر : فایل سیستم فلاپی دیسک فرمت شده در ویندوز FAT  و فایل سیستم فلاپی دیسک فرمت شده در لینوکس معمولا EXT2  و فایل سیستم هارد دیسک در هنگام نصب ویندوزXP یا FAT32  و یا NTFS میباشد و ... ).

همه فایل سیستمهای موجود صرفنظر از نوع آنها توسط هسته کرنل گنو/لینوکس مدیریت شده و هر یک در داخل یک دایرکتوری خاص خود با نام دلخواه یا تعین شده توسط سیستم سوار یا  mount  میشوند . بدینگونه است که محتویات فایل سیستم مذکور در یک دایرکتوری مربوط به خود برای مشاهده و ویرایش در اختیار کاربران لینوکس قرار میگیرد و به این دایرکتوری اصطلاحا mount point  یا نقطه اتصال فایل سیستم گقته میشود .

بدیهی است که امکان اتصال فایل سیستمها در دایرکتوریهای دیگر توسط کاربران و یا قطع ارتباط موقت یا دائم فایل سیستم با نقطه اتصال خود یعنی همان دایرکتوری مربوطه همواره فراهم است و این امر بستگی به سطح دسترسی کاربر به منابع سیستم و یا همان اختیاراتی دارد که مدیر سیستم برای وی تعین نموده است .یعنی یک کاربر معمولی فقط میتواند فایل سیستمی را متصل یا از حالت اتصال خارج کند که اجازه این کار توسط مدیر سیستم یا همان super user  یا administrator  به وی داده شده باشد  و این فرایند همیشه توسط هسته کرنل لینوکس مدیریت و نظارت میشود.

وقتی یک دیسک ذخیره سازی اطلاعات مثل هارد دیسک برای ذخیره کردن اطلاعات توسط برنامه هائی مثل fdisk آماده سازی میشود یک ساختار منطقی (مجازی) شامل چند پارتیشن بر روی آن ایجاد میشود و هر یک از این پارتیشنها به نوبه خود میتواند زیستگاه یک فایل سیستم باشند .

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

در اینجا باید توجه داشت که کلیه ایزار ها و قطعات کامپیوتری که حاوی فایل سیستمها باشند اصطلاحا block device نامیده می شوند ، بعنوان مثال نخستین پارتیشن از نخستین دیسک سخت  معمولی نوع IDE (هارد دیسک) نصب شده در هر کامپیوتر با نام /dev/hda1  (که در ویندوز درایو  : C   نامیده میشود) خود یک block device است .

سیستم های گنو/لینوکس این بلوکها را بصورت ساده و خطی شناسائی کرده و دسته بندی میکند .

مفهوم فایل سیستم همواره ارتباط با سخت افزار سیستم  شما ندارد چرا که بعنوان مثال نحوه مدیریت اطلاعات بر روی شبکه یا NFS  - network file system  نیز نوعی از فایل سیستم مجازی است که میتواند درصورت بر قراری ارتباط شبکه ای در یک دایرکتوری موجود متصل یا mount  شده و درست مثل یک فایل سیستم معمولی از راه دور مورد استفاده قرار گیرد . پس مشاهده میکنید که کنترل کننده های سخت افزاری متنوع و درایوهای گوناگون در نحوه عملکرد فایل سیستم تغییری ایجاد نمیکنند .

باید دانست که نه کاربران کامپیوتر و نه برنامه های کاربردی هیچیک بطور مستقیم  فایلها و اطلاعات موجود بر روی دیسکها را مدیریت نمیکنند و این وظیفه مهم را فایل سیستم به انجام رسانده و رابط فایل سیستم و برنامه های کاربردی یا کاربران هم هسته کرنل kernel سیستم عامل می باشد .

 

منبع : www.tldp.org

جعبه سیاه مایکروسافت Black box

شرکت مایکروسافت در یک حرکت جدید که باعث حیرت صاحبنظران عرصه IT  در جهان گردیده اعلام داشته که نسخه خاصی از نرم افزار کنترل عملکرد کاربران را با نام جعبه سیاه (مشابه جعبه سیاه هواپیما) در قلب سیستم عامل جدید خود قرار خواهد داد تا بدینوسیله تلاش نماید تا اطلاعات کاملتری از کامپیوترهای مجهز به این سیستم عامل جمع آوری کرده و علل نقصان نرم افزار خود در محیطهای مختلف را بهتر کشف کند . این شرکت که با این اقدام خود حریم خصوصی کاربران را به شدت تحدید نموده اعلام داشته که جعبه سیاه ویندوز جدید اطلاعات کاملی ، از جمله نوع برنامه های کاربردی نصب شده در سیستم کاربران و حتی محتوای متون و فایلهای  ایجاد شده توسط برنامه های کاربردی مختلف را کسب و برای سازندگان ویندوز ارسال خواهد نمود تا توسعه دهندگان این سیستم عامل با قدرت و توانائی زیاد بر عملکرد کاربران ویندوز مسلط بوده و بتوانند مشکلات مختلف سیستم عامل خود را بهتر حل و فصل نمایند .

منبع :  www.techrepublic.com

مفهوم فایل سیستم دریونیکس و لینوکس (1):

اگر بخواهیم یک توصیف ساده در مورد سیستمهای یونیکس و مشابه آن یعنی لینوکس ارائه کنیم باید بگوئیم :

در یک سیستم مبتنی بر یونیکس هر چیزی یک فایل است یا یک فایل نماینده خود را دارد و اگر چیزی یک فایل نباشد حتما یک روند یا پروسه process است .

این توصیف براستی حقیقت دارد چرا که در یونیکس فایلهای مخصوصی وجود دارند که وظایفی بیشتر از یک فایل بر عهده دارند(برای مثال pipe ها و socket ها).

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

در یک سیستم گنو/لینوکس درست مثل یونیکس هیچ تفاوتی بین فایل و دایرکتوری وجود ندارد ، به این معنی که یک دایرکتوری هم خود یک فایل است که حاوی اسامی تعدادی فایل یا دایرکتوری دیگر است .

برنامه ها ، سرویسها ، متنها و تصاویر و سایر موارد مشابه و همچنین دستگاههای ورودی و خروجی input and output devices  و عموما همه ابزارهای سیستمی همگی با یک فایل به سیستم معرفی میشوند .

حال با این تفکر اگر بخواهیم همگی این فایلهای متنوع را در یک ساختار منطقی مرتب کرده و نگهداری کنیم باید به آنها بصورت یک ساختار درختی شکل نگاه کنیم که روی هارد دیسک استقرار یافته است (مثل سیستم عامل DOS).

این ساختار درختی از یک ریشه اصلی یا ROOT تشکیل شده و شاخه های بزرگتر منشعب شده از آن دارای زیر شاخه و شاخه های انتهائی دارای برگهائی هستند که همان فایلهای ما میباشند.

(این توصیف یک تصویر عمومی و نه کاملا حقیقی از فایل سیستم یونیکس است و در ادامه دلائل تفاوت اندکی که بین واقعیت موجود و این تصویر مجازی وجود دارد را بررسی میکنیم) .

انواع فایلها :

1 - فایلهای معمولی regular files:

·                     بیشتر فایلها فقط فایل معمولی هستند که حاوی اطلاعات معمولی مثل متن ، کدهای اجرائی برنامه ها ، خروجی و ورودی برنامه های کاربردی دیگر میباشند .

2 – فایلهای اختصاصی :

·                     دایرکتوری : فایلی حاوی اسامی دیگر فایلها

·                     فایلهای ویژه : حاوی مکانیزمهای چگونگی ورود و خروج اطلاعات به کامپیوتر (همه فایلهای موجود در مسیر /dev  از این دسته هستند .

·                     لینکها : سیستمی را فراهم میکنند که یک فایل یا دایرکتوری در نقاط مختلف ساختار درختی بدون نیاز به تکرار محتوی قابل مشاهده و در دسترس باشند .

·                     Domain یا sockets  : نوع بخصوصی از فایلها که همانند سوکتهای tcp/ip  روندهائی را که برای کنترل دسترسی به فایل سیستم در شبکه بصورت کنترل شده فراهم میکنند.

·                     Named piped : کمابیش عملی همانند سوکتها انجام میدهند ولی متفاوت با روالی که سوکتها در پیش میگیرند.

همانطوریکه میدانید از دستور ls  در محیط shell  برای مشاهده ساختار فایلها و پوشه های موجود در یک مسیر خاص استفاده میشود.

حال باید بدانید که افزودن گزینه  -l  به انتهای دستور ls  نتایجی کاملتر به شرح زیر در پی دارد:

taheri:~/Documents> ls –l

total 80

rw-rw-r--   1 meta   meta  31744 Feb 21 17:56 intro-

Linux.doc

rw-rw-r--   1 meta   meta   41472 Feb 21 17:56 Linux.doc-

drwxrwxr-x   2 meta   meta    4096 Feb 25 11:50 course

.

.

.

همانطوریکه ملاحظه میشود اولین کاراکتر سمت چپ آغازگر هر سطر از اطلاعات در مورد فایلهای معمولی علامت ( - ) و  اولین کاراکتر سمت چپ آغازگر هر سطر از اطلاعات مربوط به دایرکتوریها علامت ( d ) .

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

 

Meaning

Symbol

Regular file

-

Directory

d

Link

l

Special file

c

Socket

s

Named pipe

p

اکنون زمان آن فرا رسیده تا ضمن درک مفهوم پارتیشن و پارتیشن بندی به عمق مفهوم فایل سیستم لینوکس بر روی منابع متنوع ذخیره سازی اطلاعات بیندیشیم :

مفهوم پارتیشن :

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

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

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

بطور کلی در یونیکس و لینوکس دو نوع پارتیشن میتوان ایجاد کرد که عبارتند از : پارتیشنها اطلاعات data  و پارتیشنهای swap .

پارتیشنها اطلاعات یا data  برای ذخیره کردن دائمی اطلاعات و پارتیشنهای swap یا حافظه موقت برای شبیه سازی حافظه ram در مواقع ضروری برروی هارد دیسک ایجاد میشوند. ابزارهای پارتیشن بندی در یونیکس و لینوکس عبارتند از fdisk  و disk druid .

فرمت بندی پارتیشنهای ایجاد شده formatting :

پس از پارتیشن بندی برای ذخیره سازی اطلاعات بر روی پارتیشن و ایجاد ساختارهای فایل سیستم بر روی آنها میبایست نخست هر پارتیشن را بطور جداگانه و با فرمت خاص و مورد نظر قالب بندی یا فرمت نمود .

در محیط یونیکس و لینوکس فرمت کردن با قالبهای reiserFS  و EXT3  و EXT2 و ... امکان پذیر است و پس از فرمات کردن و نصب سیستم عامل بر روی هارد دیسک ساختار درختی فایل سیستم به شکل زیر ایجاد و همه پارتیشنها و حتی همه هارد دیسکها و سایر رسانه های ذخیره سازی اطلاعات جداگانه در زیر مجموعه یک فایل سیستم مدیریت خواهند شد .



file system