آشنایی با سیستم عامل لینوکس
توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد
آشنایی با سیستم عامل لینوکس دارای ۳۵ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد آشنایی با سیستم عامل لینوکس کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی آشنایی با سیستم عامل لینوکس،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از متن آشنایی با سیستم عامل لینوکس :
مدیریت سیستم در لینوکس
مقوله مدیریت سیستم همواره از مباحث سطح بالا در یک سیستم عامل به حساب میآید. مدیران سیستم معمولاً از پرمشغلهترین دستاندرکاران سیستمهای اطلاعاتی به حساب میآیند. در این شماره و شمارههای آینده ماهنامه شبکه به برخی مسائل و ابزارهای مدیریتی در سیستم عامل لینوکس خواهیم پرداخت.
مفهوم مدیریت سیستم
مدیریت سیستم در لینوکس همواره جایگاه ویژهای را در میان مشاغل و تخصصهای مرتبط با فناوری اطلاعات دارا بوده است. در حال حاضر بسیاری از متخصصان IT در نرمافزارهای مربوط به این سیستمعامل که امروزه به نام نرمافزارهای اپنسورس شناخته میشوند، دارای مهارتها و تجارب خوبی هستند. مثلاً عدهای از آنها به خوبی قادرند یک وب سرور مبتنی بر آپاچی را پیکربندی و راهاندازی کنند یا برخی دیگر میخواهند لینوکس را در نقش یک سرور میزبان دامنه (DNS) یا سرور اختصاص آدرس IP در یک شبکه (DHCP) تنظیم کنند و به کار گمارند.
بهطور کلی مشغله این دسته از ادارهکنندگان سیستم، راهاندازی سرورهای لینوکسی در نقشهای مختلف و ارائه سرویسهای گوناگون شبکهای است. اما آیا واقعاً مدیریت سیستم در لینوکس به همین موارد محدود میشود؟ یا آیا این مسائل اصولاً جزء وظایف یک مدیر سیستم محسوب میگردد؟ در یک کلمه میتوان گفت: خیر. دلیل آن هم کاملاً روشن است. یک سرویس شبکهای یا یک سرویس شبکه ممکن است فقط یک بار نصب و راهاندازی شود، اما صدها بار در طول سال مورد بازبینی و عملیات نگهداری (Maintenance) برای بهبود کارایی یا رفع اشکال قرار گیرد.
در واقع واژه <مدیریت سیستم> نیز به اینگونه امورِ مربوط به تعمیر و نگهداری بسیار نزدیکتر است تا به مسائل مربوط به تنظیم و راهاندازی. بنابراین بسیار واضح است که برای یک مدیر سیستم، آشنایی با مباحث مربوط به نصب و راهاندازی و تسلط بر امور مربوط به نگهداری سیستم مثل مدیریت کاربران، فایلها، امنیت، فایل سیستم، سرعت و کارایی سیستم شرط لازم و کافی برای تصدی این پست شغلی است.
به عنوان مثال، در یک وبسایت که روزانه هزاران بار مورد بازدید کاربران اینترنت قرار میگیرد، امکان بروز رویدادی که سرور میزبان را به شدت دچار افت سرعت و کارایی کند، بسیار محتمل است. در این وضعیت شاید مدیر سیستمی که چندان به مسائل مربوط به نگهداری و کنترل ترافیک مسلط نباشد، راهحل را در توقف و راهاندازی مجدد سرور یا همان Reset کردن بیابد، اما کاملاً روشن است که بسیاری از ایرادات ممکن است با این روش مقابله، سازگار یا قابل رفع نباشند.
بنابراین یک مدیر سیستم مسلط به امور مانیتورینگ و نگهداری سیستم، میتواند عمکرد سرور را در ساعات اوج ترافیک مشخص نماید و با توجه به میزان کارکرد پردازنده (CPU) یا تعداد عمل خواندن و نوشتن اطلاعات در هارددیسک (R/W)، مشکل را مکانیابی کند. پس از طی این مراحل، وی قادر است مثلاً با افزایش ظرفیت محاسباتی یا سرعت عملR/W یا راهاندازی یک سرور مجازی کمکی مشکل را تا حد مطلوبی کاهش دهد یا حتی در برخی موارد بدون صرف هزینهای برای تعویض پردازنده، هارددیسک و امثال آن یا اضافه نمودن سرور، با استفاده از نرمافزارهای مدیریت سیستم مثل Xen میتواند به هر برنامه قابل اجرا روی سرور، حد معینی را جهت استفاده از پردازنده یا سایر منابع سیستم اختصاص دهد تا از تداخل برنامههای مختلف و همزمان، در کارایی یکدیگر جلوگیری کند.
اما اگر بخواهیم وظایف روزانه یک مدیر سیستم را برشماریم، این مسئله بستگی به نوع محیطی دارد که وی در آن مشغول به کار است. طبیعی است که وظایف روزانه مدیرسیستم یک شبکه محلی کوچک، با مدیر یک سرویسدهنده اینترنتی با تعداد زیادی وبسرور کاملاً متفاوت باشد، اما این تفاوت را شاید بتوان به گونهای، در تعداد و حجم این وظایف (به دلیل بیشتر بودن تعداد کامپیوترهای موجود در شبکه، سرورها یا کلاینتهای قابل اتصال و استفاده از شبکه) دانست. البته بسیاری از وظایف مدیر سیستم نیز مستقل از نوع محیط هستند و به عبارتی، بین تمام مدیران سیستمهای کوچک و بزرگ مشترکند.
یکی از این وظایف، مانیتورینگ و پیشگیری یا حداکثر رفع ایراد زودهنگام از مشکلات قابل بروز در سطح شبکه است. به عنوان مثال، کشف مشکل مربوط به اشتراک فایل یا چاپگر در سطح یک شبکه محلی کوچک یا مشکل سرویس بانک اطلاعاتی در وب سرور یک سایت مهم را نباید تا هنگام مراجعه و گلایه کاربران به تعویق انداخت. این یکی از وظایف مهم یک مدیر سیستم است که با کنترل و مانیتورینگ منظم و متناوبِ عملکرد سیستم و شبکه، بروز مشکل را تا حد امکان پیشبینی میکند یا درصورت وقوع، آن را در همان ساعات اولیه و با استفاده از راهکارهای از پیش تعیین شده برطرف نماید.
در محیط لینوکس، امروزه بسیاری از مدیران سیستم قادرند با استفاده از ابزارهای مختلف که برای مانیتورینگ سیستم در جامعه اپنسورس طراحی و ساخته شده، از عهده این امر مهم برآیند؛ ضمن اینکه هنوز هم بسیاری از دستورات مدیریتی خط فرمان در لینوکس، کاربرد مناسبی در این زمینه دارند.
شکل ۱
LinuxConf
این برنامه یک ابزار بصری یا ویژوال برای مدیریت در محیط لینوکس است. این ابزار در برخی توزیعهای لینوکس موجود است. بهعلاوه، فایلهای قابل کامپایل یا پچهای قابلنصب آن به دو صورت بستههای ردهت (RPM) و دبیان قابل دسترس است و میتوان آن را با هر دو واسط کاربر Gnome و KDE نصب و اجرا کرد.
(شکل ۱) این برنامه قادر است تنظیماتی در سطح شبکه یا روی کامپیوتر میزبان به عنوان سرور یا کلاینت شبکه انجام دهد. و دارای سه زبانه یا Tab اصلی است که به نامهای Config ،Control و Status، محل اعمال تنظیمات، کنترل و مدیریت و مانیتورینگ وضعیت سیستم، سرور وسرویسهای شبکهای هستند.
LinuxConf طوری طراحی شده است که مدیر سیستم میتواند با خاطری آسوده، تنظیمات مورد نظر خود را انجام دهد و پس از آن با کلیک دکمه Accept، یکباره تمام تنظیمات انجام شده را با هم به سیستم منتقل نماید.
شکل ۲
Webmin
همان طور که از نام آن برمیآید، ابزاری تحت وب برای مدیریت لینوکس است که میتوان از آن برای مدیریت این سیستم عامل و شبکه تحت آن از راه دور، استفاده نمود.
این برنامه نیز به نوبه خود قادر است بسیاری از وظایف مدیریتی سیستم یا شبکه مثل مدیریت کاربران و گروههای کاربری، کنترل سرویسهای شبکهای چون وبسرور، ایمیل سرور، کنترل سختافزارهای سرور مثل پارتیشنهای هارددیسک، RAID و امثال آن، مدیریت فایلها و بسیاری امور دیگر را انجام دهد.
این برنامه نخستینبار و با مجوز نرمافزار آزاد BSD در لینوکس Caldera به کاربران عرضه گردید، اما در حال حاضر، توسعهدهندگان و شرکتهای توسعهدهنده یا توزیعکننده لینوکس قادرند با استفاده از مجوز GPL ماجولهای موردنظر خود را به صورت برنامههای کامپایل شده CGI، به آن اضافه کنند. این ویژگی یعنی قابلیت اضافه نمودن Plug inهای ساخت توسعهدهندگان به هسته اصلی Webmin، از نقاط مثبت این ابزار است. (شکل ۲)
شکل ۳
YAST
شاید بتوان گفت که یکی از زیباترین و جالبترین برنامههای مدیریت در محیط لینوکس،برنامهای به نامYet Another System Tool) YAST) است که اولین بار با لینوکس آلمانی SUSE به کاربران معرفی شد.
نسخه اولیه YAST صرفاً یک برنامه ساده بود که بیشتر برای مدیریت پارتیشنها، بستههای نرمافزاری و برخی تنظیمات سیستمی دیگر مورداستفاده قرار میگرفت، اما اکنون نسخههای جدید YAST2 برنامههای بصری بسیار قدرتمندی هستند که تمام ابزار لازم برای مدیریت سیستمعامل لینوکس را در اختیار مدیرسیستم قرار میدهند. (شکل ۳)
این برنامه دارای قسمتها و ماجولهای مختلفی است که مدیریت سیستم و شبکه را به نحو بسیار مطلوبی در یک واسط کاربر مشترک، متمرکز نموده و کار را برای مدیرسیستم آسان کرده است.
لینوکس SUSE به دلیل بهرهگیری از برنامه YAST سالها است در برابر رقبای دیرینهای چون ردهت یا فدورا، از لحاظ آسانی در مدیریت سیستم و شبکه، خودنمایی میکند. همانطورکه در شکل نیز مشاهده میکنید، زبانههای مختلف موجود در این ابزار، ماجولهای مربوط به مدیریت سیستم را به بهترین و شفافترین شیوه، دستهبندی مینماید و مدیرسیستم را از درگیر شدن بیمورد با فرامین پیچیده و وقتگیر خط فرمان معاف میکند. YAST ابزاری است که بررسی آن، مقالهای مفصلتر را میطلبد که در آینده به آن خواهیم پرداخت.
مجازیسازی در لینوکس
مجازیسازی و به ویژه پروژه Xen، یکی از مهمترین موضوعاتی هستند که در راس وقایع یک ساله اخیر دنیای اپنسورس بودهاند. پشتیبانی سه توزیع قدرتمند لینوکس (فدوراکور، دبیان و OpenSuSE) از این پروژه، همکاری گروه توسعهدهنده برنامه مجازیسازی VMWare با پروژه Xen، تمایل شرکتهای بزرگی مانند اینتل و سانمایکروسیستمز به توسعه Xen، و نهایتاً بهبود چشمگیر کارایی این برنامه در نسخههای جدید، روی هم رفته باعث جلب توجه محافل و صنعت مجازیسازی به سوی این برنامه اپنسورس شد و هزاران شرکت اقدام به آزمایش و به کارگیری آن نمودند که حاصل آن، انتشار هزاران گزارش، بررسی، مقاله و اسناد علمی معتبر درباره Xen و نهایتاً پیشرفت بیشتر در توسعه آن شد. در این نوشتار ابتداً نگاهی به این پروژه و ویژگیهای آن خواهیم انداخت و در ادامه راهاندازی یک ماشینمجازی در لینوکس را بررسی مینماییم.
Xen چیست؟
Xen Virtual Machine Monitor) Xen VMM) یک پروژه اپنسورس است که در آزمایشگاههای کامپیوتر دانشگاه کمبریج انگلیس توسعه داده میشود. خروجی این پروژه یک برنامه مجازیسازی به نام Xen است که امکان ساخت و برپاسازی چندین ماشین مجازی با قابلیت اجرا توسط سیستمعاملهای مختلف روی یک سختافزار واحد را فراهم میکند. با این ابزار، سیستمعاملهای میهمان به هسته لینوکس (نسخههای ۲۴ و ۲۶) متصل میشوند و امکان یکپارچهسازی آنها برای هسته سیستمعاملهای NetBSD/FreeBSD نیز وجود دارد. نتیجتاً کاربران قادر خواهند بود با برنامه Xen چندین سیستمعامل میهمان را روی سیستمعاملهای خانواده یونیکس بدون نیاز به تغییر و اصلاح کد و ساختار هسته سیستمعامل مادر راهاندازی نمایند. در این میان شرکت سانمایکروسیستمز نیز تلاش میکند Xen را برای سیستمعامل سولاریس سازگار نماید.
جالب است به این نکته اشاره شود که پروژه توسعه برنامه Xen از ابتدا منبعباز نبود و چندین سال یک پروژه اصطلاحاً کد بسته تلقی میشد در عوض پروژههای منبعبازی مانند Bochs IA-32 Emulator و qemu در دنیای اپنسورس مطرح بودند که عمدتاً برنامههای شبیهسازی معماریهای سختافزاری بوده و ابداً از کارایی و قابلیتهای مورد انتظار برخوردار نبودهاند. در حقیقت موفقیت پروژه Xen در مقایسه با دیگر پروژههای منبعباز، سازگاری و یکپارچهسازی با هسته سیستمعامل لینوکس و فراهمسازی بستری برای پشتیبانی سختافزار سیستمهای کامپیوتری مانند اینتل و ایامدی است.
جهش دیگر Xen در آگوست ۲۰۰۵ بود که شرکت XenSource (شرکت رسمی پشتیبان و توسعهدهنده تجاری پروژه Xen اقدام به انتشار Intel Developer Forum) IDF) نمود که امکان استفاده Xen روی سکوهای سختافزاری مبتنی بر Intel TV را فراهم نمود و در پی آن امکان اجرای مجازی ویندوز اکسپی سرویسپک دو، در کنار لینوکس فراهم شد. در چنین شرایطی برنامه مجازیسازی تجاری VMWare که برای سرورهای ESX نیز توسعه داده میشود، همکاری جدیدی را با توسعهدهندگان Xen برای دسترسی به کدهای منبع VMware ESX Server و رابط کاربری آن آغاز کرد. مزیت برجسته برنامه VMWare در عدم یکپارچهسازی و اتصال سیستمعامل میهمان و ارائه راهکارهای اجرای سیستمعاملهای میهمان روی ویندوز است.
در این زمان واقعه مهم دیگری نیز برای Xen روی داد و آن، پشتیبانی توزیع لینوکس Fedora Core4، دبیان و SuSE Professional9.3 از این برنامه و اضافهشدن آن به توزیع لینوکس سرور RHEL5 بود. پروژه فدورا حتی به ارائه بستههای نرمافزاری RPM برنامه Xen پرداخت. تمام این وقایع موجب شد برنامه Xen به عنوان گزینه اول برنامه مجازیسازی برای لینوکس و دنیای اپنسورس مطرح شود و شرکتهای سختافزاری مانند IBM و HP به سوی این محصول حرکت نمایند و دیگر توزیعها و برنامههای اپنسورس Xen را در محصولات خود به کار بگیرند.
ساختار لایهای Xen
روش مجازیسازی
تفاوت عمده Xen با دیگر برنامههای مجازیسازی و شبیهساز در شیوه پیادهسازی ماشینهای مجازی روی یک سیستم است. برنامه Xen از تکنیک Paravirtualization برای پیادهسازی سیستمعاملهای میهمان بهره میگیرد.
Paravirtualization سیستمعامل و سختافزار مادر را در یک سطح و ماشینهای مجازی را در سطحهای دیگر پیادهسازی میکند. مزیت این روش، عدم تداخل فرایندهای اجرایی سیستمعامل و امکان افزودن پروسههای جدید به هسته سیستمعامل بدون کامپایل هسته یا دستکاری آن است.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.