مفاهيم اوليه در سيستم عامل گنو/لينوکس

مفاهيم اوليه در سيستمعامل گنو/لينوکس
در ايـن قسمت لازم میدانيم مفاهيم اوليه اي را که هر کاربر تازه کار گنو/لينوکس در ابتداي کار با آنها برخورد و تعامل خواهد داشت را به طور اجمالي شرح دهيم.

هسته لينوکس .
همانطور کـه پيـش از ايـن نيـز اشاره شـد، هسـته لينوکـس بخـش مرکزی تشکيـل دهنده سـيستـم عامل گنو/لينوکس است. بخشی که به طور مستقيم با سخت افزار سيستـم شما در ارتباط است.

ابزارهای پروژه گنو
ابزارهای ايجاد شده توسـط پروژه گنـو هسـتند کـه بـا ترکيـب هسـته لينوکـس تشکيـل يـک سـيستـم عامل کامـل موسـوم بـه گنـو/لينوکـس را میدهنـد. برخـی از ايـن ابزارهـا عبارتنـد از کتابخانـه زبان C ،مجموعـه کامپايلرهای GCC ،ويرايشگر متن، پوسته فرمان يا مفسر خط فرمان و...

پوسته فرمان
پوسـته فرمان يـا خـط فرمان مهم تريـن ويژگـی مشترک بيـن سـيستم عامل های سـازگار بـا يونيکـس اسـت. پوسـته فرمان توسـط ابزارهايـي موسـوم بـه مفسـر خـط فرمان کنترل میشونـد. در گنـو/لينوکـس مفسـر پيشگزيده خط فرمان مفسر Bash است که از ابزارهای توسعه يافته توسط پروژه گنو میباشد. در برابر امکانات، ويژگيهـا و سـهولت کارکردی کـه در پوسـته فرمانهای سـيستم عاملهاي خانواده يونيکـس وجود دارد، خط فرمان سيستم عامل هايي مانند داس و ويندوز بازيچه ای بيش نيستند.

محيط X
محيط X يا Window X ايجاد کننده زيـرسـاختارهای لازم بـرای بـرنامه های با رابط کاربری گرافيکی و ميــزکارهای مختـلف اسـت. مثـل اين X است که نحوه کشيدن پنجره ها بر روی صفحه نمايش و يا عمليات ماوس و صـفحه کليد را بر روی پنجره هـا در سـطوح پاييـن کنترل میکنـد. بـا اسـتفاده از ايـن امکانات است که ميزکارهای مختلف مانند GNOME و KDE میتوانند کار کنند. X برای نخستـين بار در سال ۱۹۸۴ در دانشگاه MIT ايجاد شد. توزيع های جــديد گــنو/لينوکس از سيستم Org.X که نواده سيستم X اوليه است استفاده میکنند.

ميزکارهای گرافيکی
همانطور که در بالا اشاره شد، ميزکارهای گرافيکی رابط کاربری هستند که از آن برای تعامل با سيستم استفاده میشود. تعداد زيادي ميزکار گرافيکی برای گنو/لينوکس و سيستم عامل های سازگار با يونيکس وجــود دارد کــه مهمترين آنـها عبارتند از xFCE، KDE، GNOME و IceWM

ساختار فايل سيستم
سيستم فايل هر کامپيوتر، امکان ذخيره سازي فايلها و اطلاعات را روي آن فراهم میسازد. هنگامي که از داخل برنامه واژه پرداز خود سندي را ذخيره میکنيد، اين سيستم فايل است که تعيين میکند سند چگونه و کجا ذخيره شود. ابزارهاي ذخيره سازي مانند فلپـي ديسکها، ديسکهاي سخت، درايوهاي ROM­CD ،درايوهاي Zip و... تا قبل از اينکه سيستم عامل سيستم فايل را روي آنها تشکيل دهد، قابل استفاده نيستند. سـيستم فايلهاي گوناگونـي براي سـيستم عامل هاي مبتنـي بر يونيکـس و گنـو/لينوکـس ارائه شده انـد کـه برخي از آنها عبارتند از reiserfs ،xfs ،ext3 ،ext2 و غيره. ايــن سـيستم فايــلها در جزئيات فني داراي تفاوت هايي با هم هستند ولي از نظر ساختاري کـه ايـجـاد میکنند مشـابه بوده و تفاوت چنداني باهم ندارند.

سيستم فايل يا درخت؟
سيستم فايل سيستم عامل هاي مبتني بر يونيکس وگنو/لينوکس بصورت يک درخت وارونه پياده سازي شده است. در يونيکس و گنو/لينوکس ديگر شما چيــزي بــه نام درايـوهاي C ،A و ... نـداريد. تمام ابزارها و سيستم فايلها شاخه هايي از اين درخت وارونه هستند. مرکز اين درخت ريشه يا root نام دارد که بالاترين سطح سيستم فايل را تشکيل میدهد و آنرا با کاراکتر / )اسلش( نمايش میدهند. زير ريشه، پوشه هايي قرار دارند که ساير قسمتهاي سيستم فايل را تشکيل میدهند. سيستم فايل از تعداد زيادي پوشـه تشکيـل شده اسـت کـه ايـن پوشه هـا تقريبـا در تمامـي سـيستم عامل هاي مبتنـي بر يونيکـس و گنو/لينوکس مشترک هستند. اکنون به تشريح تک تک اين شاخه ها ميپردازيم.

پارتيشنها
در ســيستم فايــل ســيستم عاملهاي مبتنــي بر لينوکــس و يونيکــس، ديســکهاي ســخت میتواننــد پارتيشن هاي متعددي داشته باشند. در اين صورت هر پارتيشن داراي يک نقطه اتصال يا point mount میباشد که در آن نقطه به درخت سيستم فايل متصل میشود. مثلا میتوانيد اطلاعات کاربران سيستم را در يـک پارتيشـن جداگانـه ذخيره نموده و نقطـه اتصـال آنرا home تعييـن کنيـد کـه محـل قرارگيري اطلاعات کاربران است و به همين ترتيب.

بخشهاي درخت سيستم فايل
اکنون به بررسي تک تک شاخه هاي سيستم فايل میپردازيم. توجه داشته باشيد که دسترسي به اکثر اين شاخه ها فقط توسط کاربر ريشه امکان پذير است.
شاخه bin :در اين شاخه، دستورات سيستم عامل که براي تمامی کاربران قابل دستيابي هستند و برخي دستورات مديريتي سيستم قرار میگيرند.
 شاخه boot :اين شاخه که میتواند در يک پارتيشن جداگانه بوده و به پوشه boot متصل شده باشد، حاوي برنامه راه انداز بوت سيستم عامل میباشد. مانند Grub و Lilo.
 شاخه dev :محل قرارگيري نقطه دسترسیهاي ابزارهاي سخت افزاري است. مثل تمام پورتها، پارتيشنها و... در اينجا داراي يک فايل هستند. براي مثال فايل fd0/dev نشان دهنده فلاپي درايو سيستم است و به همين ترتيبب. بسياري از برنامه هاي کاربردي از اين فايلها دسترسي براي خواندن و نوشتن داده ها بر روي ابزار مورد نظرشان استفاده میکنند. مثل يک برنامه کاربردي فايل fd0/dev را باز کرده و در آن مینويسد. در حقيقت اطلاعات روي درايو فلپي و ديسکي که در آن قرار دارد، نوشته خواهد شد.
 شاخه etc :در اين شاخه فايلهاي پيکربندي برنامه هاي سرويس دهنده و برخي فايلهاي سيستمي ديگر قرار میگيرند. مثلا فايل پيکربندي سرويس دهنده وب آپاچي در سیستم هاي دبيان در conf.http/apache/etc قرار دارد و به همين ترتيب.
 شاخه home :در اين شاخه دايرکتوریهاي خانگي کاربران سيستم و اطلاعات آنها قرار میگيرد. بهتر است اين شاخه در يک پارتيشن جداگانه قرار گرفته و متصل شود. اين کار حفاظت از داده هاي کاربران را بالاتر خواهد برد. ضمنا در صورت نياز به فرمت و نصب مجدد سبيستم، اطلاعات کاربران دست نخورده باقي مانده و پس از نصب مجدد، کليه تنظيمات شخصي و اطلاعات آنها بدون تغيير باقي خواهند ماند.
 شاخه lib :اين شاخه همانطور که از نام آن پيداست، محل قرار گيري فايلهاي کتابخانه برنامه ها است. اين کتابخانه ها توسط برنامه هاي کاربردي و ابزارهاي برنامه نويسي بکار گرفته میشوند.
 شاخه media :اين شاخه معمول داراي زيرشاخهه ايي مانند floppy و cdrom بوده و محل اتصال سنتي درايوهاي فلپي و ROM-CD میباشد. همچنين پارتيشنها ديگر ديسک سخت را نيز میتوانيد در اين شاخه متصل نماييد. البته اجباري به اين کار وجود ندارد. مثلا در سيستم هاي مبتني بر دبيان، درايوهاي فلپي و CDROM در شاخههاي floppy و cdrom که در زير ريشه قرار دارند، متصل میشوند. اتصال و برداشتن اتصال پارتيشن ها و درايوها با استفاده از دستور mount صورت میگيرد. اشتراکات شبکه را نيز میتوانيد در اين شاخه متصل نماييد. اين شاخه جايگزين شاخه قديمی mnt شده است.
 شاخه proc :اين شاخه يک سيستم فايل مجازي است که برخي اطلاعات مربوط به سيستم و هسته از آن قابل دستيابي میباشد. مثل فايل version در اين شاخه حاوي اطلاعات هسته سيستم عامل مانند نسخه آن و ... میباشد.
 شاخه sbin :دستورات و برنامه هاي مديريتي سيستم در اين شاخه قرار میگيرند که مخصوص کاربر root است.
 شاخه tmp :محل قرارگيري برخي فايلهاي موقتي برنامه هاي کاربردي است.
 شاخه usr :بسياري از برنامه هاي کاربردي در اين شاخه نصب میشوند. مثل Xwindow در اين شاخه قرار دارد. همچنين برخي دستورات و دستورات مديريتي نيز در مسيرهاي bin/usr و sbin/usr قرار میگيرند.
 شاخه var :اين شاخه که معمولا در کامپيوترهاي سرويس دهنده در يک پارتيشن جداگانه قرار میگيرد، مخصوص برنامه هاي سرويس دهندهاي مانند وب و FTP و بانک هاي اطلاعاتي است. مثل فايلهاي مربوط به يک وب سايت میتوانند در www/var /قرار گيرند. به دليل اينکه در برخي از حملت DOS ديسک سخت سيستم با فايلهاي آشغال پر میشود، اين شاخه را در يک پارتيشن جداگانه قرار میدهند که در صورت قرارگيري تحت حمله و پرشدن احتمالي ديسک سخت، کل سيستم عامل دچار وقفه نگردد و آسيب به همان قسمت محدود شود. تمامي شاخه هايي که در بال توضيح داده شد، میتوانند در پارتيشن هاي جداگانه قرار داده شوند. ولي ضرورتي ندارد.

پارتيشن swap
هنگام نصب لينوکس، پارتيشني به نام swap میسازيد. کاربرد اين پارتيشن چيست؟ اين پارتيشن که تحت ساختار سيستم فايل جايي متصل نمیشـود، مـحل قرارگيري حافظه مجازي روي ديسک سخت اسـت، میباشـد. بهتـر اسـت حجـم آنرا برابر يـا دو برابر حافظـه سـيستم خود تعييـن نماييـد. هنگامـی کـه لينوکس با کمبود حافظه مواجه شود و نياز به تخصيص حافظه بيشتر برای برنامه های کاربردی وجود داشته باشد، از فضای swap میتواند بعنوان حافظه مجازی استفاده کند.

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

فايلهای پيکربندی چه هستند؟
يکـی از مزيت های سـيستم عامل گنـو/لينوکـس و سـيستم عامل های خانواده يونيکـس در ايـن اسـت کـه تنظيمات برنامه های کاربردی و سـرويس دهنده های مختلف در فايل های متنی ساده ذخيره میشوند. به اين فايل های متنی ساده فايل های پيکربندی )Files Configuration )اطلاق میگردد. بنابراين در هر شرايطی با يک ويرايشگر متنی ساده نيز میتوان اشکالات ايجاد شده در تنظيمات را برطرف کرد و يا تنظيمات جديـد را بـه سـرعت و سـادگی اضافـه نمود. برای کاربران ماهـر انجام برخـی از تنظيمات بر روی فايل های پيکربندی ساده تر و سريعتر از استفاده از ابزارهای مديريتی گرافيکی است.

مفهوم کتابخانه )Library)
بـا ايـن واژه سـرو کار بسـياری خواهيـد داشـت. بسـياری از برنامه های کاربردی وجود دارنـد کـه برای پياده سازی بخشی از عملکردهای خود يا ايجاد اقلامـی مانند رابط کاربری، از توابعی استفاده میکنند که در برنامه های ديگری گنجانده شده اند. برای مثال، واژه نامه چند زبانه xFarDic که بعدا با آن آشنا خواهيد شد، برای ايجاد رابط کاربری خود از توابعی که برنامه wxGTK در اختيار قرار میدهد استفاده میکند. به اين گونه برنامه هايي که برنامه های کاربردی ديگر از آنها برای ايجاد و پياده سازی بخشی از امکانات خـود استفاده میکنند، کتـابخـانه )Library )اطـلاق میگـردد. وجـود اين کتابخانه ها فرايند برنامه نويسـی را بسـيار تسـهيل میکنـد. مثل، برنامه نويسـی کـه مايـل بـه نوشتـن يـک ابزار واژه نامـه اسـت، سعي خود را بر ايجاد عملکردهای خاص واژه نامه متمرکز میکند و نه بر ساخت توابعی که مثل پنجره را در محيط گرافيکی رسم میکنند، يا دگمه ها را بر روی پنجره میکشند و...
  • 0 کاربر این مقاله را مفید می دانند
آیا این پاسخ مفید بود؟

مقالات مرتبط

بهترین پارتیشن بندی در لینوکس

در سیستم‌های گنولینوکسی برخلاف سیستم‌های ویندوزی پارتیشن‌ها با نام‌های C ، D و... شناخته نمی‌شود....

فدورا، ردهت و سایر نسخه های لینوکس

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

نصب Apache و پیکربندي آن بر روی سنتوس

نصب Apache و پیکربندي آن براي شروع ابتدا با استفاده از نرم افزار PuTTY با دسترسی root به سرور...

نصب PHP و پیکربندي آن بر روی سنتوس

نصب PHP و پیکربندي آن براي نصب PHP میتوانید از دستور زیر استفاده کنید : Yum Install PHP پس از...

نصب MySQL و پیکربندي آن روی سنتوس

نصب MySQL و پیکربندي آن براي نصب MySQl سرور میتوانید از دستور زیر استفاده کنید : Yum Install...