لینوکس-2

همه چیز در یونیکس فایل است، مگر اینکه فرایند باشد.فایل هایی وجود دارند که بیشتر از یک فایل هستند (مثل named pipes یا sockets). در لینوکس هم مثل یونیکس تفاوتی بین فایل و directory وجود ندارد. در واقع directory فایلی است که شامل اسم فایل های دیگر است. برنامه ها، سرویس ها، دستگاه ها همه فایل هستند.انواع فایلم regular files: فایل های شامل داده های معمولی. ( - )م directory: فایلی که لیستی از فایلهای دیگر است. ( d )فایل های special: مکانیزمی که برای ورودی و خروجی استفاده میشود. اکثر این فایل ها در /dev هستند. ( c )لینکها: سیستمی که فایل یا دایرکتوری را در چندین بخش از درخت فایل قابل رویت میکند. ( l )م (domain) sockets: یک نوع فایل خاص، مثل TCP/IP sockets است که شبکه بین فرایندها را به وسیله file system's access control فراهم میکند. ( s )م Named pipes: تقریبا شبیه sockets هستند و برای ارتباط فرایندها با هم راهی ایجاد میکنند، بدون استفاده از مفاهیم network socket. م ( p )م Block device: م ( b )پارتیشن بندی:لینوکس از بیشتر از یک پارتیشن در یک دیسک استفاده میکند، حتی موقعی که از رویه نصب استاندارد استفاده میکند. یکی از اهداف داشتن چند پارتیشن، داشتن امنیت بیشتر موقع بروز مشکل است. با تقسیم هارد دیسک به پارتیشن ها، داده میتواند گروه بندی و جدا شود. زمانی که اتفاقی می افتد، فقط داده در پارتیشنی که مشکل دارد خراب میشود. برای مثال اگر کاربری برنامه ای بنویسید که شروع به پر کردن دیسک کند و کل دیسک یک پارتیشن بزرگ باشد، اگر دیسک پر شود کل سیستم از کار می افتد.توجه داشته باشید که داشتن journaled file system فقط در شرایط power failure و قطع ارتباط ناگهانی دستگاه های ذخیره سازی باعث امنیت داده میشود. ولی داده را در مقابل خطاهای منطقی و bad blocks محافظت نمیکند. در این موارد باید از RAID استفاده کنیم.تایپها و layout پارتیشن:در سیستم لینوکس دو نوع اصلی پارتیشن بندی وجود دارد:پارتیشن data: سیستم داده لینکوس نرمال، شامل یک پارتیشن root که همه داده های مربوط به شروع و اجرای سیستم را شامل میشود.پارتیشن swap: گسترش حافظه فیزیکی کامپیوتر. حافظه اضافی در هارد دیسک.بیشتر سیستم ها یک پارتیشن root، یک یا چند پارتیشن data و یک یا چند پارتیشن swap دارند. سیستم هایی که در محیط های mixed ممکن است شامل پارتیشنهایی برای system data دیگری باشند، برای مثال پارتیشنی با FAT یا VFAT file system برای MS Windows data.بیشتر سیستم های لینوکس برای تنظیم نوع پارتیشن از fdisk موقع نصب استفاده میکنند. این اتفاق معمولا به صورت خودکار می افتد. اما ممکن است نیاز باشد خودمان نوع پارتیشن را انتخاب کنیم و حتی خودمان پارتیشن بندی را انجام دهیم. پارتیشن های استاندارد لینوکس عدد 82 را برای swap و 83 را برای data دارند.به غیر از این دو، لینوکس از چندین نوع file system دیگر پشتیبانی میکند، برای مثال Reiser و JFS و NFS و FATxx.پارتیشن root استاندارد که با / نشان داده میشود حدود 100 تا 500 مگابایت است و شامل فایل های configuration سیستم، اکثر command های پایه ای، برنامه های سرور، کتابخانه های سیستم، مقداری فضای موقتی و دایرکتوری home کاربر administrative است. یک نصب استاندارد به حدود 250 مگابایت برای پارتیشن root نیاز دارد.فضای swap فقط توسط خود سیستم دسترس پذیر است و موقع عملیات عادی از دید پنهان است. swap سیستمی است که تضمین میکند میتوانید به کارتان ادامه دهید. در لینوکس پیام «حافظه پر شده. لطفا برخی برنامه ها را ببندید و دوباره تلاش کنید» به خاطر این حافظه اضافی نشان داده نمیشود. در حال حاضر swap یا رویه حافظه مجازی خارج از دنیای یونیکس هم به کار گرفته شده است. استفاده از حافظه هارد دیسک کُندتر از حافظه واقعی کامپیوتر است ولی راحتی زیادی به ما میدهد.عموما لینوکس روی دو برابر مقدار حافظه فیزیکی برای swap حساب میکند. موقع نصب یک سیستم، باید بدانید چطور میخواهید این کار را انجام دهید. برای مثال در یک سیستم با 512 مگابایت RAM:گزینه اول: یک پارتیشن swap به اندازه 1 گیگابایتگزینه دوم: دو پارتیشن swap به اندازه 512 مگابایتگزینه سوم با دو هارد دیسک: یک پارتیشن 512 مگابایتی روی هر دیسکوقتی i/o های زیادی داریم آخرین گزینه بهترین نتیجه را میدهد.باید مستندات نرم افزار را مطالعه کنیم. برخی اپلیکیشن ها مثل database، ممکن است به فضای swap بیشتری نیاز داشته باشند. برخی دیگر مانند سیستم های handheld ممکن است هیچ swap ای نداشته باشند. فضای swap ممکن است به نسخه کرنل هم بستگی داشته باشد. کرنل روی یک پارتیشن مجزا هست چون مهم ترین فایل سیستم است. در این حالت باید یک پارتیشن /boot هم داشته باشیم که کرنل (ها) را نگه دارد و فایل های داده را همراهی کند.باقیمانده هارد دیسک (ها) معمولا به پارتیشن های data تقسیم بندی میشود. وقتی داده غیر بحرانی در پارتیشن های مختلف جداسازی میشود، معمولا به صورت الگوی زیر انجام میشود:یک پارتیشن برای برنامه های کاربر ( /usr ) یک پارتیشن برای داده شخصی کاربر ( /home )یک پارتیشن برای داده های موقت مثل print و mail-queue ها ( /var )یک پارتیشن برای شخص ثالث و برنامه های دیگر ( /opt )تغییر اندازه و ویژگی های پارتیشن های موجود امکان پذیر است ولی توصیه نمیشود. تقسیم هارد دیسکها به پارتیشن ها توسط administrator سیستم تشخیص داده میشود. در سیستم های بزرگتر ممکن است با یک نرم افزار مناسب، یک پارتیشن در چند هارد دیسک گسترده شود. اکثر distribution ها اجازه تنظیمات استاندارد برای workstation ها (کاربران متوسط) و برای اهداف سرور را میدهند، همچنین اجازه پارتیشن های سفارشی را هم میدهند. موقع فرایند نصب میتوانید layout پارتیشن خودتان را تعریف کنید و از distribution specific tool خود که رابط کاربری گرافیکی ساده ای دارد، یا از fdisk که یک ابزار متنی برای ساخت پارتیشن ها و تنظیمات آنها است استفاده کنید. هر نصب client یا workstation برای استفاده یک نفر است. نرم افزار انتخاب شده برای نصب، این مسئله را بازتاب میکند و تاکید روی common user packages مانند theme های دسکتاپ، ابزار development، برنامه های client برای ایمیل، نرم افزار چند رسانه ای، وب و سرویس های دیگر است. همه چیز در یک پارتیشن بزرگ قرار میگیرد. فضای swap که دو برابر RAM است اضافه میشود و workstation کلی کامل میشود. بیشترین مقدار فضای دیسک برای استفاده شخصی فراهم میشود اما این عیب را دارد که موقع بروز مشکل داده از بین برود.در سرور داده سیستمی از داده کاربر جدا میشود. برنامه هایی که سرویس ها را ارائه میدهند، جایی جدا از داده بکار گرفته شده در سرویس نگهداری میشوند. در چنین سیستم هایی پارتیشنهای مختلف ایجاد میشوند:یک پارتیشن با همه داده های مورد نیاز برای boot کردنیک پارتیشن با داده configuration و برنامه های سروریک یا چند پارتیشن شامل داده سرور مثل جدولهای database، نامه های کاربر، ftp archive و غیره.یک پارتیشن با اپلیکیشن ها و برنامه های کاربریک یا چند پارتیشن برای فایل های خاص کاربر (دایرکتوری های home)یک یا چند پارتیشن swap (ماشین مجازی)معمولا سرورها حافظه بیشتری دارند و بنابراین فضای swap بیشتری دارند. فرایندهای سروری خاص، مثل database ها، ممکن است بیشتر از حد معمول فضای swap نیاز داشته باشند. برای کارایی بهتر، معمولا swap به پارتیشن های swap مخلتفی تقسیم میشود.