فایل سیستم در GNU/Linux بر اساس یک ساختار سلسله مراتبی سازماندهی شده است. اگر شما با محیط و سیستم عامل ویندوز شرکت مایکروسافت کار کرده باشد و بخواهید با لینوکس کار کنید شاید اولین تفاوتی که در استفاده از این دو سیستم عامل متوجه شوید همین متفاوت بودن ساختار File System است.
بر خلاف سیستم عامل ویندوز که برای هر پارتیشن یک سلسله مراتب با Hierarchy متفاوت در نظر می گیرد در سیستم عامل های تابع GNU/Linux همگی پارتیشن ها در نهایت از یک ساختار سلسله مراتبی واحد پیروی می کنند. در دوره آموزش لینوکس اسنشیالز و قسمت بررسی ساختار لینوکس به بررسی دایرکتوری های لینوکس هم می پردازیم. بالاترین سطح در فایل سیستم لینوکس دایرکتوری ریشه یا root directory می باشد که به شکل یک علامت اسلش یا / شناسایی می شود.سایر دایرکتوری های موجود در لینوکس زیرمجموعه این پوشه می باشند. لیست دایرکتوری های پیشفرض در لینوکس را به همراه توضیحات در ادامه مشاهده می کنید :
/ : تمامی دایرکتوری های موجود در لینوکس زیرمجموعه این دایرکتوری ریشه هستند ، / بالاترین سطح فایل سیستم در لینوکس می باشد.
bin/ : ابزارهای خط فرمان کاربردی و ضروری لینوکس در این دایرکتوری قرار دارند
boot/ : در این دایرکتوری فایل های startup لینوکس که شامل فایل های Kernel نیز می شوند وجود دارند
dev/ : فایل های مربوط به دستگاه ها یا Device Files در این دایرکتوری قرار دارند
etc/ : بیشتر فایل های تنظیمات لینوکس در این دایرکتوری قرار گرفته است
home/ : تقریبا تمام دایرکتوری های خانگی home folder ها که محل ذخیره فایل های همه کاربران است در این دایرکتوری است
lib/ : برخی از ابزاهای خط فرمانی و از طرفی اکثر کتابخانه ها یا Library های مورد استفاده در Kernel در این دایرکتوری قرار دارد
media/ : نقط اتصال یا mount point رسانه های ذخیره سازی removable از قبیل فلاپی دیسک ، DVD و فایل های Zip دیسک می باشد
mnt/ : کاربردی شبیه به همان media دارد با این تفاوت که قدیمی است و معمولا از رسانه های جدید پشتیبانی نمی کند
net/ : نقطع اتصال یا mount point پیشفرض دایرکتوری های تحت شبکه است ، چیزی شبیه به map در سیستم عامل ویندوز
opt/ : محل پیشفرض قرارگیری فایل های نرم افزارهای جانبی سیستم
proc/ : این قسمت در واقع یک فایل سیستم مجازی است که در حال حاضر پردازش های مربوط به Kernel را انجام می دهد که شامل اختصاص IRQ ها ، آدرس های I//O ، کانال های DMA و تنظیمات IP Forwarding و ... می باشد.
root/: دایرکتوری پیشفرض کاربر root یا همان کاربر superuser می باشد
sbin/ : دستورات مدیریتی سیستم یا System Administration Commands از این دایرکتوری صادر می شود
selinux/ : تنظیمات امنیتی لینوکس که بهتر است با عنوان Security Enhanced Linux در نظر گرفته شود
tmp/ : پوشه موقتی یا Temporary لینوکس است که در سیستم عامل RHEL بصورت متناوب حذف می شود
usr/ : برنامه ها ، کتابخانه ها ، مستندات و ... مربوط به نرم افزارهای نصب شده توسط کاربران در این دایرکتوری قرار می گیرد
var/ : داده های مربوط به متغیرها یا Variable ها شامل فایل های لاگ و Spool های پرینتر از این دایرکتوری استفاده می کند.
دوره آموزشی LPIC3 از موسسه LPI کانادا در واقع بالاترین سطح از دوره های آموزش لینوکس در سطح بین المللی به حساب می آیند. دوره LPIC3 بصورت ویژه برای یادگیری لینوکس برای ورود به سازمان های بزرگ و شرکت هایی است که بصورت تخصصی و فوق تخصصی از لینوکس استفاده می کنند. گواهینامه های آموزش لینوکس انیستیتو حرفه ای لینوکس کانادا یا همان LPI بصورت چند سطحی و سلسله مراتبی ارائه می شوند که گواهینامه LPIC 3 در بالاترین سطح از مدارک این موسسه و سایر مدارک بین المللی لینوکس به حساب می آید.
برای یادگیری و ورود به دنیای آموزش دوره LPIC 3 شما باید پیشنیازهایی مثل دوره آموزش لینوکس اسنشیالز ( Linux Essentials یا آموزش مقدماتی لینوکس ، دوره آموزشی LPIC 1 ( دوره مدیریت لینوکس ) و دوره آموزشی LPIC 2 ( مهندسی شبکه لینوکس ) را به خوبی یاد گرفته باشید و برای پیدا کردن یک گرایش فوق تخصصی در لینوکس وارد دوره LPIC 3 شوید.
گواهینامه LPIC-3 نقطه اوج برنامه صدور گواهینامه حرفه ای چند سطحی موسسه حرفه ای لینوکس (LPI) است. LPIC-3 برای لینوکس حرفه ای در سطح سازمانی طراحی شده است و نشان دهنده بالاترین سطح گواهینامه حرفه ای لینوکس از نظر توزیع بی طرف در صنعت است. چهار گواهینامه تخصصی LPIC-3 جداگانه در دسترس است.
گذراندن هر یک از چهار امتحان، گواهینامه LPIC-3 را برای آن تخصص اعطا می کند. دوره آموزشی LPIC3 شامل 4 دوره فوق تخصصی است که به ترتیب دوره آموزشی LPIC 3 Mixed Environment یا محیط های ترکیبی ، دوره آموزشی LPIC 3 Security یا امنیت در لینوکس ، دوره آموزشی LPIC 3 Virtualization and containerization با محوریت مجازی سازی و در نهایت دوره آموزشی LPIC 3 High Availability and storage clusters با محوریت راه اندازی سرویس های کلاسترینگ در لینوکس ، می باشند.
این روزها در شبکه های بزرگ سازمانی ، حتی با وجود قالب سیستم عامل ویندوز و سرویس اکتیودایرکتوری ، از سرویس های مبتنی بر لینوکس نیز استفاده می شوند. گسترش استفاده از لینوکس در کنار ویندوز در شبکه های سازمانی باعث شده است که مدیران شبکه این روزها باید بصورت ترکیبی هم از ویندوز و هم از لینوکس استفاده کنند.
در دوره آموزش LPIC 3 Mixed Environment بصورت ویژه بر روی شبکه هایی تاکید شده است که در کنار هم از ویندوز و لینوکس استفاده می کنند. ترکیب کردن اکتیودایرکتوری و لینوکس از جمله مهمترین مباحثی است که در دوره LPIC 3 Mixed Environment بر آن تاکید شده است. یادگیری حرفه ای سرویس سامبا ( Samba ) ، سرویس OpenLDAP ، سرویس های احراز هویت لینوکس ( Linux Identity Management ) و و همچنین رفع اشکال ، Tuning یا بهینه سازی سرویس از جمله مهمترین مباحثی است که در دوره آموزش LPIC 3 Mixed Environments آموزش داده می شود.
مبانی سرویس Samba ، ترکیب کردن سرویس Samba و سرویس اکتیودایرکتوری مایکروسافت ، تنظیمات Samba برای اشتراک گذاری اطلاعات در شبکه و ... از جمله سرفصل های مهم این دوره LPIC 3 می باشد. گذراندن دوره LPIC 3 Mixed Environment این روزها به مدیرهای شبکه مایکروسافتی هم توصیه می شود.
امنیت مهمترین مبحث این روزها در حوزه فناوری اطلاعات است. دوره آموزشی LPIC 3 Security را می توان مهمترین دوره آموزشی LPIC 3 دانست. همانطور که از اسم این دوره مشخص است ، بصورت ویژه بر روی تنظیمات امنیتی سیستم عامل لینوکس متمرکز شده است.
مهمترین محوریت آموزشی دوره LPIC 3 Security به ترتیب مباحث رمزنگاری اطلاعات ( Cryptography ) ، مکانیزم های کنترل دسترسی ( Access Control ) ، امنیت نرم افزارها ( Application Security ) ، امنیت فرآیندها ( Operations Security ) ، امنیت شبکه ( Network Security ) ، شناخت تهدیدات و ارزیابی آسیب پذیری ها ( Threats and vulnerability Assessment ) می باشد.
به عنوان یک متخصص لینوکس شما باید درک خوبی از مباحث امنیت در این سیستم عامل داشته باشید . دوره آموزشی LPIC 3 Security را می توان الزامی ترین دوره LPIC 3 لینوکس دانست که یادگیری آن به همه مدیرهای شبکه لینوکسی شدیدا توصیه می شود.
این روزها کمتر سازمان ، شرکت یا مرکز داده ای را پیدا می کنید که از فناوری های مجازی سازی در آنها استفاده نشده باشد. از محبوب ترین تکنولوژی های مجازی سازی در لینوکس می توانیم به KVM ، OVirt ، QEMU و Xen اشاره کنیم. محوریت این دوره آموزش LPIC 3 Virtualization and containerization یادگیری نرم افزارهای مجازی سازی و ساخت Container در لینوکس است.
اگر قصد دارید به عنوان یک کارشناس دواپس ( DevOps در آینده مشغول به کار شوید ، قطعا یادگیری دوره LPIC 3 مجازی سازی و Container سازی را توصیه می کنیم. شناخت و کار کردن با ابزارهایی مثل Docker و Kubernetes از جمله سایر موضوع هایی است که بصورت تخصصی در این دوره آموزشی به آنها پرداخته می شود.
شما در دوره LPIC 3 Virtualization نرم افزارهای مجازی سازی را یاد می گیرید که نصب کنید ، نگهداری کنید و البته رفع اشکال کنید. در عین حال شما نحوه طراحی ، پیاده سازی و نگهداری یک شبکه مجازی سازی شده را نیز به خوبی آموزش خواهید دید. سه سرفصل اصلی در آزمون بین المللی LPIC3 Virtualization and containerization وجود دارد که به ترتیب Full Virtualization ، Container Virtualization و VM Deployment and provisioning می باشند.
دوره آموزش LPIC 3 High Availability and Storage Clusters را بصورت خاص می توان حرفه ای ترین دوره برای مدیران شبکه لینوکسی دانست . مخاطب این دوره فقط افرادی است که بصورت تخصصی و فوق تخصصی در سازمان های بسیار بزرگی که دارای سرویس های حساس لینوکسی هستند دانست.
در واقع هر جا صحبت از کیفیت بسیار بالا در دسترسی به سرویس های لینوکسی باشد ، دوره LPIC 3 High Availability and storage clusters راهگشاست. این دوره LPIC 3 بصورت ویژه همانطور که از نامش هم پیداست در بحث سرویس های High Availability و ذخیره سازی داده یا Storage Clusters متمرکز است.
عنوان های آموزشی این دوره آموزش LPIC3 اصلا قابل ترجمه نیستند ! به زبان ساده آنقدر عنوان های حرفه ای هستند که ترجمه کردن آنها کمی بی معنی می شود. خلاصه سرفصل های آموزشی LPIC 3 High Availability and storage clusters عبارتند از High Availability Cluster Management ، High Availability Cluster Storage ، High Availability Distributed Storage ، Single Node High Availability که در این دوره کاملا آموزش داده می شوند.
یکی از مهمترین نکاتی که باید در زمان یادگیری دوره های آموزش LPIC3 باید در نظر بگیرید این است که یادگیری این دوره های لینوکس قطعا نیاز به پشنیاز دارد و شما نمی توانید بصورت مستقیم و بدون داشتن پیش زمینه وارد این دوره های آموزشی لینوکس شوید.
داشتن دانش دوره آموزش Linux Essentials ، دوره آموزشی LPIC1 و دوره آموزشی LPIC2 برای ورود به این دوره ها الزامی است. قبلا در خصوص نحوه یادگیری لینوکس و مسیر راه یا نقشه راه لینوکس در مقاله ای با عنوان لینوکس را از کجا شروع کنیم بصورت کامل صحبت کرده ایم که می توانید در لینک زیر به آن دسترسی پیدا کنید.
تاکنون در توسینسو در خصوص توزیع های RedHat، Ubuntu، CentOS، OpenSUSE، Knoppix، Fedora، Debian و ... صحبت کرده ایم ، حقیقت این است که نمی توانیم در مورد تمامی توزیع های لینوکس صحبت کنیم و این امر کاملا طبیعی است ، فقط تصمیم گرفتم به عنوان معرفی آخرین نسخه از پر استفاده ترین توزیع های لینوکس به بررسی لینوکس توزیع Linux Mint بپردازیم که به عنوان محبوب ترین لینوکس توزیع سال 2014 معرفی شد.
لینوکس توزیع Linux Mint بر پایه و اساس Ubuntu بنا نهاده شده است ؛ با توجه به اینکه خود Ubuntu برگرفته ای از Debian است بنابراین در نهایت توزیعی از Debian نیز به حساب می آید. این سیستم عامل در کشور ایرلند تولید و به دنیا معرفی شد. Linux Mint از معماری i386 و 32 و 64 بیتی به خوبی پشتیبانی می کند . Linux Mint از دسکتاپ های Cinnamon ، GNOME، KDE، MATE و Xfce پشتیبانی می کند و در دسته بندی سیستم عامل های تازه کارها ، دسکتاپ ها و کاربران متوسط قرار می گیرد. هسته اصلی Linux Mint بر پایه Ubuntu بنا نهاده شده است و هدف از معرفی این توزیع ارائه یک نسخه متمایز از Ubuntu بوده است که بتوانید از Plugin های بیشتر ، Media Codec های بیشتر و بسیاری از امکانات Java استفاده کنید .
تلاش طراحان Linux Mint بر این بوده است که یک سیستم عامل مدرن ، زیبا و راحت معرفی کنند که هم قدرتمند باشد و هم یادگیری ان ساده باشد. علاوه بر اینها در Linux Mint شما می توانید منوهای دلخواه ایجاد کنید و حتی Desktop خود را نیز بصورت دلخواه طراحی کنید ، ابزارهای پیکربندی منحصر به فرد و رابط مدیریت بسته های نرم افزاری تحت وب این سیستم عامل از دیگر امکانات ویژه آن است. Linux Mint بسیار با Ubuntu سازگار است و می تواند براحتی از Repository های Ubuntu نیز استفاده کند.
نسخه های جدید Linux Mint ای که بر پایه Ubuntu معرفی می شوند تقریبا هر شش ماه یکبار معرفی می شوند.اولین نسخه از این سیستم عامل که در سال 2006 معرفی شد به عنوان Ada ( ترکی نیست باور کنید D: ) معرفی شد ، Ada به خودی خود بر اساس توزیع لینوکس Kubuntu که یک لینوکس برگرفته از Ubuntu بود ، سرچشمه گرفت. نسخه هفدهم این سیستم عامل در سال 2014 به نام Qiana ( اینم باور کنید فارسی نیست D: ) معرفی شد. پشتیبانی از نسخه های قبلی این سیستم عامل معمولا با معرفی نسخه جدید Linux Mint از بین می رود اما نسخه هایی با پشتیبانی دراز مدت هم از این سیستم عامل معرفی شده اند که تا 5 سال پشتیبانی دارند. این سیستم عامل هم معمولا نسخه های خود را با اسامی مختلفی معرفی می کند که از آن جمله می توان به Barbara و Cassandra اشاره کرد.
یکی از دلایل موفقیت Linux Mint در آن بود که از همه Repository هایی که برای Ubuntu وجود داشت پشتیبانی می کرد ، یعنی از ابتدای کار استفاده از بسته های نرم افزاری خود Linux Mint را برای کاربرانش محدود نکرد و همین موضوع باعث شد شرکت تولید کننده این امکان را به کاربران می داد که ضمن اینکه می توانستند از بسته های Ubuntu استفاده کنند از بسته هایی که بصورت ویژه برای Linux Mint هم معرفی می شد استفاده کنند. این موضوع باعث می شود که دو سیستم عامل Linux Mint و Ubuntu به خوبی با هم سازگاری داشته باشند. با اینکار Linux Mint خود را به عنوان یک شاخه جدید از Ubuntu معرفی نکرد و فرصت این را پیدا کردن که به مرور زمان یک توزیع مستقل شود.
در سال 2008 سیستم عامل Linux Mint تصمیم گرفت روند ارائه نسخه های خود را با روند ارائه نسخه های Ubuntu هماهنگ کند، البته این موضوع تا زمان ارائه نسخه Elyssa ( باور کنید نمیدونم چرا اینجوری اسم گذاشتن احتمالا از برو بچه های دهه شصتی بودن ) وجود داشت تا اینکه در همان سال برای بالا بردن هر چه بیشتر سازگاری بین دو سیستم عامل Linux Mint تصمیم گرفت که روند ارائه نسخه های خود را متوقف کند و یک روش جدید را برای معرفی Linux Mint پیش ببرد. با شروع کردن توزیع نسخه 6 از Linux Mint که به Felicia ( خدارو شکر ربطی نداشت) معروف بود هر نسخه ای که از Linux Mint ارائه می شد کاملا با نسخه مقابل که Ubuntu بود هماهنگ و سازگار بود.
تقریبا بعد از گذشت یک ماه از معرفی کردن نسخه جدید Ubuntu یک نسخه جدید از Linux Mint دقیقا با امکانات Ubuntu معرفی می شود که صد درصد توانایی هایی که در Ubuntu وجود داشت را به همراه داشت ، این دقیقا همان کاری بود که CentOS با RedHat Enterprise انجام داد. در سال 2010 یک کار جالب توسط گروه Linux Mint اجرا شد که به نام Linux Mint نسخه Debian معروف شد. برخلاف تمامی نسخه هایی از این سیتسم عامل که بر اساس Ubuntu طراحی می شدند این نسخه ها کاملا بر اساس توزیع Debian معرفی شدند و همین ترتیب معرفی با نسخه های جدید Debian را هم بکار بردند.
اکثر نرم افزارهایی که در Linux Mint وجود دارند بصورت Open Source و Freeware هستند و تنها برخی از آنها بصورت Proprietary یا تجاری هستند. وجود برخی از نرم افزارهای تجاری بر روی Linux Mint جای تعجب دارد زیرا اکثر توزیع های لینوکس از اینگونه نرم افزارها بصورت پیشفرض بر روی سیستم عامل خود استفاده نمی کنند. Linux Mint با مجموعه تقریبا کاملی از نرم افزارهای پیشفرض نصب شده اعم از LibreOffice ، Firefox ، Thunderbird ، XChat ، Pidgin ، Transmission ، GIMP و Cheese ارائه می شود. نرم افزارهای اضافه بر سازمان بصورت پیشفرض بر روی این سیستم عامل نصب نمی شوند و شما می توانید توسط Package Manager آنها را دانلود و نصب کنید.
شما با استفاده از فایروالی که در Linux Mint بصورت پیشفرض وجود دارد می توانید پورت های مورد نظرتان در شبکه را مدیریت کنید. دسکتاپ های پیشفرضی که بر روی Linux Mint نصب شده اند MATE و Cinnamon هستند که از زبان های بسیاری پشتیبانی می کنند. اگر تمایل به استفاده از سایر دسکتاپ هایی که قبلا عنوان کردیم در Linux Mint دارید براحتی می توانید با استفاده از APT آنها را دریافت و نصب کنید ، یکی از قابلیت های جالبی که در Linux Mint وجود دارد توانایی اجرای بسیاری از برنامه هایی است که در Microsoft Windows اجرا می شوند ، برای مثال شما می توانید از Microsoft Office در Linux Mint استفاده کنید ، با استفاده از ابزار Wine که یک لایه سازگاری یا هماهنگی Compatibility Layer بین ویندوز و لینوکس ایجاد می کند این امکان فراهم شده است .
البته حتی اگر این روش هم جواب نداد همچنان فناوری های مجازی سازی اعم از VMware Workstation و VirtualBox همچنان این امکانات را در اختیار شما قرار می دهند. البته گزارش هایی در خصوص مشکلات نسخه 16 سیستم عامل Linux Mint و پشتیبانی از Wine و Multi-Monitor وجود دارد که این سازگاری را کمی زیر سئوال می برد اما به هر حال چنین قابلیتی هر چند مشکل ساز در لینوکس توزیع Mint طراحی شده است.
علاوه بر APT که Package Manager قابل اعتمادی است ، شما می توانید در Linux Mint از Synaptic و Software Manager اختصاصی Linux Mint نیز برای نصب Package های نرم افزاری خودتان استفاده کنید. تیم برنامه نویسی و Community ای که بر روی Linux Mint کار می کنند بصورت وافعا فعالی مشغول تولید نرم افزار برای این سیستم عامل هستند ، بیشتر نرم افزارهایی که برای این سیستم عامل نوشته می شود به زبان برنامه نویسی Python و بصورت Open Source می باشد که در GitHub موجود می باشند. GitHub یکSoftware Repository مخصوص Linux Mint دارد .
دوره لینوکس اسنشیال دریچه ورود شما به دنیای لینوکس است و این دوره لینوکس بهترین دریچه ورودی شما به این دنیاست.این دوره پایه و اساس دوره های آموزشی لینوکس حرفه ای تر ، دوره های شبکه ، برنامه نویسی و حتی هک و امنیت است. شما با یادگیری این دوره آموزشی لینوکس قطعا به هیچ منبع دیگری برای شروع لینوکس نیاز نخواهید داشت. در ادامه می توانید وارد دوره مدیریت لینوکس یا دوره LPIC 1 و دوره مهندسی شبکه لینوکس یا دوره LPIC 2 شوید.
پروژه Fedora که در اصطلاح فنی به آن Fedora Core گفته می شود در اواخر سال 2003 رسما شروع به کار کرد و این درست زمانی بود که ادامه فعالیت لینوکس Red Hat متوقف شده بود. لینوکس نسخه RedHat تنها نسخه از لینوکسی بود که شرکت RedHat از آن حمایت می کرد و این توزیع لینوکس بصورت پولی و تجاری به فروش می رسید در حالیکه Fedora Core لینوکسی بود که جنبه استفاده عمومی داشت و رایگان بود.
شرکت RedHat تصمیم به سرمایه گذاری بر روی Fedora Core کرد و نسخه های جدید لینوکس RedHat که به نام RedHat Enterprise معرفی شدند بر پایه و اساس Fedora Core بنا شدند. البته فراموش نکنید که حمایت کننده و پشتیبان لینوکس Fedora Core شرکت RedHat است. نام Fedora Core از یک لینوکس قدیمی تر به نام Fedora که یک پروژه داوطلبانه بود و برای تولید کردن نرم افزار برای سیستم عامل لینوکس RedHat بکار می رفت ، گرفته شد. لوگویی که برای لینوکس Fedora Core انتخاب شد نیز برگرفته ای از لوگوی Shadowman سیستم عامل لینوکس RedHat بود.
شخصی به نام وارن توگامی ( Warren Togami ) در سال 2002 پروژه لینوکس Fedora را به عنوان یک پروژه دانشجویی شروع کرد ، هدف اصلی از ایجاد چنین پروژه ای فراهم کردن امکانی برای استفاده از بسته های نرم افزاری RedHat برای دیگران بود که در قالب یک مجموعه تکی شما قادر بودید نرم افزارهای مرتبط با این سیستم عامل را که به خوبی تست و آزمایش شدند را پیدا کنید ، توسعه دهید و استفاده کنید.
تفاوت اصلی در بین لینوکس Fedora و لینوکس RedHat در این بود که پروژه لینوکس Fedora برخلاف لینوکس RedHat یک پروژه داوطلبانه و عمومی محسوب می شد اما RedHat یک محصول تجاری و برنامه نویس های ان نیز مختص شرکت RedHat بودند. در نهایت پروژه لینوکس Fedora Core باعث مجذوب کردن کاربرانش شد و به سرعت انتشار یافت و مهمترین دلیل پیشرفت آن سیستم Collaborative یا همکاری بود که ذاتا در نرم افزارهای Open Source وجود دارد. فراموش نکنید که Fedora در واقع شما را باید به یاد شرکت Red Hat بیندازد.
قبل از معرفی Fedora 7 از Fedora به عنوان Fedora Core نام برده می شد ، در واقع Fedora سیستم عامل بود و Core که به آن اضافه می شد به این معنا بود که بسته های نرم افزاری به آن اضافه شده اند و Fedora Core به معنی لینوکس Fedora به همراه بسته های نرم افزاری هسته سیستم عامل یا Core Packages بود که با همدیگر تشکیل Fedora Core را می داند. Fedora Core در بدو نصب شدن بر روی سیستم شما ، بسته های نرم افزاری اولیه ای را در خود داشت که نیازهای اولیه استفاده از یک سیستم عامل را فراهم می کرد ، علاوه بر این بسته های نرم افزاری ، بسته های نرم افزاری که درون DVD یا CD این سیستم عامل نیز وجود داشتند نیز به همراه سیستم عامل قابل نصب بودند
البته تمامی این بسته های نرم افزاری توسط برنامه نویسان شرکت Red Hat نگهداری می شدند. Fedora را شاید به نام Fedora Extra هم شنیده باشید ، هر گاه اسمی از Fedora Core شنیدید یعنی بسته های نرم افزاری که در این سیستم عامل وجود دارند بر روی DVD خود محصول وجود دارند اما زمانیکه صحبت از Fedora Extra می شود یعنی بسته های نرم افزاری که در این سیستم عامل نصب می شوند بر روی DVD نصب آن وجود ندارند و شما باید از محل های دیگری بسته های نرم افزاری را دانلود و نصب کنید.
در واقع Fedora Extra یعنی بسته های نرم افزاری Third Party ای که به غیر از شرکت سازنده و توسط انجمن های برنامه نویسی مختلف نوشته شده اند. بنابراین تا الان متوجه شدید که در لینوکس Fedora ما دو نوع Repository نصب نرم افزار داریم که یکی از آنها Core است که توسط شرکت سازنده تولید می شود و دیگری Extra است که توسط برنامه نویسان داوطلب و انجمن های داوطلب نوشته و ارائه می شوند.
سیستم عامل لینوکس Fedora یک سیستم عامل است که ذاتا بر اساس و پایه Linux Kernel نوشته شده است و از توزیع های دیگر لینوکس برداشت نشده است ، این سیستم عامل در کشور ایالات متحده آمریکا تولید شده است و از لحاظ فنی معماری های armhfp ، i686 ، x86 و x64 را پشتیبانی می کند. این سیستم عامل از دسکتاپ های Awesome, Cinnamon, Enlightenment, GNOME, KDE, LXDE, MATE, Openbox, Ratpoison, Xfce پشتیبانی می کند. لینوکس Fedora از مجوزها یا لایسنس های حاکم بر نرم افزارهای Open Source پشتیبانی می کند و بصورت کاملا رایگان و Open Source در اختیار همگان قرار گرفته است و در این راه در نوع خود در میان بهترین و محبوب ترین توزیع های لینوکس قرار گرفته است.
دسکتاپ پیشفرضی که در Fedora وجود دارد GNOME است و رابط پیشفرض آن با سیستم عامل نیز GNOME Shell نام دارد. لینوکس Fedora در توزیع های مختلفی ارائه شده است که آنها را به نام Fedora Spins می شناسیم. لینوکس هایی که با عنوان Fedora Spin ارائه می شوند در واقع لینوکس هایی با بسته های نرم افزاری مختلف برای نیازهای مختلف هستند که از آن جمله می توانیم به لینوکس های تخصصی Fedora برای حوزه های بازی ، امنیت ، طراحی ، محاسبات علمی و رباتیک اشاره کنیم. جالب اینجاست بدانید که پدر لینوکس دنیا ، یعنی لینوس توروالدز علاقه خاصی به این سیستم عامل داشت و بر روی اکثر کامپیوترهای خود Fedora نصب کرده بود.
Fedora چرخه حیات نسبتا کوتاهی دارد و تقریبا هر 6 ماه یکبار یک بروز رسانی جدید از این سیستم عامل را شاهد هستیم. این موضوع برای برنامه نویسان و کاربران یک نعمت است اما برای سازمان هایی که بر روی یک محصول سرمایه گذاری می کنند کمی مشکل ساز است ، سازمان ها معمولا به دنبال محصولاتی می گردند که کمی ثبات و پشتیبانی طولانی مدت تر داشته باشد. کاربران Fedora می توانند با استفاده از ابزاری به نام FedUp نسخه قبلی Fedora ی خود را به نسخه جدیدتر ارتقاء دهند.
در Fedora هم مانند RedHat Enterprise از بسته های نرم افزاری و سیستم مدیریت بسته های نرم افزاری RPM استفاده می شود. امنیت نیز یکی دیگر از مسائلی است که در لینوکس Fedora حائر اهمیت است و به همین دلیل یک قابلیت امنیتی به نام Security Enhanced Linux که قابلیت پیاده سازی انواع و اقسام Policy های امنیت از جمله Mandatory Access Control ها را دارد درون لینوکس Fedora تعبیه شده است.
Fedora در انواع و اقسام روش ها توزیع می شود که از جمله مهمترین های آن ها می توانیم به Full Distribution بر روی DVD که یک Image کامل از خود سیستم عامل لینوکس Fedora به همراه بسته های نرم افزای آن است اشاره کنیم ، همچنین لینوکس Fedora بصورت Live نیز وجود دارد که شما می توانید ابتدا DVD آن را تهیه کنید و سپس بر روی Live USB آن را نصب کرده و استفاده کنید.Live USB را شما می توانید از روی سورس اصلی Fedora با استفاده از ابزاری به نام Fedora Live USB Creator ایجاد کنید.برای آشنایی با مفاهیم بصورت کامل و جامع به دوره آموزش لینوکس مراجعه کنید.
Ubuntu چیست؟ تا کنون در خصوص انواع توزیع های مهم لینوکس اعم از RHEL ، CentOS ، openSUSE ، Knoppix ، Debian و Fedora صحبت کردیم . امروز می خواهیم در خصوص سیستم عامل محبوب Ubuntu صحبت کنیم. Ubuntu یکی از محبوب ترین توزیع های لینوکس می باشد که بر پایه و اساس لینوکس توزیع Debian بنا نهاده شده است.
این سیستم عامل از معماری های armhfp ، i686 ، PowerPC و x86 64 پشتیبانی می کند و نرم افزار دسکتاپ پیشفرض آن Unity ( هیچ ربطی به نام کاربریم نداره باور کنید D: ) می باشد. یکی از ویژگی های بسیار جالب سیستم عامل لینوکس توزیع Ubuntu این است که این سیستم عامل در طبقه بندی های تازه واردها ، دسکتاپ ها ، سرورها و حتی سطوح میانی کاربران بصورت همزمان می تواند قرار بگیرد و این برای یک سیستم عامل فاکتور بسیار مثبتی است.
اما بصورت کلی ما از Ubuntu به عنوان یک محصول دسکتاپ بسیار قوی یاد می کنیم و کمتر از این سیستم عامل به عنوان سرور استفاده می شود ، هر چند قابلیت تبدیل شدن به سرور را دارد اما لینوکس کارهای تازه وارد معمولا از این سیستم عامل به عنوان سرور استفاده می کنند. Ubuntu به عنوان یک محصول قوی در حوزه دسکتاپ سیستم عاملی رایگان است که هم بصورت Community و هم بصورت تجاری و حرفه ای پشتیبانی می شود.
Community ای که برای Ubuntu ایجاد شده است بر اساس ایده و ساختار GNU بنا نهاده شده است و همانطور که انتظار می رود هدف این Community این است که نرم افزار باید بصورت رایگان در دسترس افراد قرار بگیرد و کاربران بایستی بتوانند از انها براحتی استفاده کنند و آنها را برای زبان خود بومی سازی کنند و همچنین بتوانند هر تغییری که دوست داشتند در سورس نرم افزارها ایجاد کنند. واژه Ubuntu یک واژه قدیمی آفریقایی است و به معنی انسانیت به دیگران یا Humanity To Others می باشد. با معرفی شدن Ubuntu در واقع یک روح جدید در صنعت نرم افزار در دنیا به وجود آمد. شرکت سازنده Ubuntu یک شرکت انگلیسی به نام Canonical Ltd بود که توسط یک تبعه آفریقای جنوبی به نام Mark Shuttleworth مدیریت می شد. درآمد این شرکت از طریق ارائه خدمات پشتیبانی مربوط به سیستم عامل Ubuntu تامین می شود.
همانطور که اعلام کردیم سیستم عامل Ubuntu یک سیستم عامل محبوب دسکتاپ است ، اگر این سیستم عامل را بصورت پیشفرض نصب کنید انواع و اقسام نرم افزارها بصورت رایگان در آن وجود دارند که از آن جمله می توان به LibreOffice ، Firefox ، Thunderbird ، Transmission و همچنین یک سری بازی ساده از قبیل Sudoku و شطرنج اشاره کرد.بسیاری از نرم افزارهایی که برای Ubuntu نوشته شده اند در نصب پیشفرض یا Default Installation وجود ندارند اما شما می توانید براحتی آنها را از وب سایت پشتیبانی نرم افزارهای Ubuntu دانلود و نصب کنید.
برای اینکار کافیست فقط کمی با سیستم مدیریت بسته یا Package Management ای که به نام APT در Ubuntu معروف است آشنایی داشته باشید تا تقریبا هر چیزی که مورد نیاز شما است را بر روی Ubuntu بتوانید نصب کنید. یکی از نکات جالب در خصوص استفاده از قابلیت های Ubuntu این است که برخی از نرم افزارهای مایکروسافت ویندوز می توانند با استفاده از قابلیتی به نام Wine Compatibility Package بر روی Ubuntu نصب شوند ، حتی اگر این قابلیت به مشکل بخورد شما می توانید با استفاده از نصب نرم افزارهای مجازی سازی مثل VirtualBox یا VMware Workstation بصورت مجازی ویندوز را روی Ubuntu نصب کنید.
برای امنیت بیشتر این سیستم عامل ، تمامی برنامه هایی که اجرا می شوند در حالت عادی با پایینترین سطح دسترسی اجرا می شوند و نمی توانند در این حالت به فایل های کاربر یا سیستم عامل صدمه ای وارد کنند. برای بالا بردن امنیت از دستور sudo به عنوان یک ابزار برای اجرای موقت نرم افزارها با دسترسی بالاتر استفاده می شود که کارهای مدیریتی که می خواهند بر روی سیستم انجام دهند را بتوانند براحتی با دسترسی کاربر root انجام دهند و اینکار باعث می شود صدمه ای به فایل های سیستم عامل وارد نشود ، این ابزار چیزی شبیه به ابزار Run as administrator در سیستم عامل ویندوز است.
برای کنترل سطوح دسترسی در اوبونتو ابزاری به نام PolicyKit که به آن PolKit هم گفته می شود برای امن کردن هرچه بیشتر سیستم عامل استفاده می شود. بصورت پیشفرض اکثر پورت های شبکه توسط فایروال و برای جلوگیری از حملات هکری بسته شده اند و اگر کاربر قصد باز کردن پورت خاصی را داشته باشد براحتی می تواند با فایروالی که در این سیستم عامل بصورت گرافیکی تعبیه شده است تنظیمات مورد نظر خود را انجام دهد.
اوبونتو برای جلوگیری از به وجود آمدن صدمات از طریق نرم افزارهایی که اجرا می شوند Package های نرم افزاری را با استفاده از قابلیت GCC ای مثل PIE و Buffer Overflow Protection کامپایل می کند. از همه اینها گذشته شما می توانید پوشه های home directory و پوشه های شخصی خودتان را در این سیستم عامل رمزنگاری کنید. این قابلیت های امنیتی اضافه شده به Ubuntu از آن یک سیستم عامل در حالت پیشفرض امن ساخته است ، البته امنیت کاملا یک واژه نسبی است اما به هر حال می توان گفت Ubuntu از درجه امنیتی نسبتا خوبی بصورت پیشفرض برخوردار است.
یکی از نکات بسیار جالب در خصوص Ubuntu این است که این سیستم عامل دارای معماری و زیرساختی است که باعث شده است هم به عنوان سرور ، هم به عنوان دسکتاپ و هم به عنوان سیستم عامل گوشی و تبلت و حتی سیستم عامل تلوزیون بتوان از آن استفاده کرد. Ubuntu تقریبا هر شش ماه یکبار یک نسخه جدید را معرفی می کند و هر نسخه جدیدی که ارائه می شود تا نه ماه دارای پشتیبانی رایگان می باشد که این پشتیبانی شامل رفع مشکلات امنیتی ، رفع باگ های سیستم عامل و ... می باشد. اولین نسخه از سیستم عامل Ubuntu در سال 2004 معرفی شد.
سیستم مدیریت بسته های نرم افزاری یا Package Management ای که در Ubuntu وجود دارد برگرفته ای از Package Manager ای است که در سیستم عامل لینوکس توزیع Debian مورد استفاده قرار می گیرد و بنابراین بسته های نرم افزاری با پسوند Deb معرفی می شوند و همانطور که قبلا هم اشاره کردیم از ابزاری به نام APT برای مدیریت این بسته ها در Ubuntu استفاده می شود. قبل از استفاده از بسته های نرم افزاری Debian در Ubuntu باید به این مسئله توجه کنید که با توجه به اینکه بسته های نرم افزاری این دو سیستم عامل در اصطلاح فنی Binary Compatible کامل نیستند یعنی بصورت کامل با هم سازگاری ندارند.
بنابراین برای اینکه بتوانید از بسته های نرم افزاری Debian در Ubuntu استفاده کنید حتما باید بسته های نرم افزاری بازنویسی یا Rebuild شوند. البته هنوز برخی مشکلات برای تبدیل کردن بسته های نرم افزاری Debian به Ubuntu و برعکس وجود دارد ، یکی از نکات بارز بین این دو سیستم عامل را می توان وجود داشتن تعداد زیادی برنامه نویس مشترک دانست که با نوشتن یک بسته نرم افزاری ، در واقع آن را برای دو سیستم عامل در لحظه تولید می کنند. در خصوص آموزش لینوکس مطالب زیاد است که به امید خدا با رونق گرفتن انجمن لینوکس و سیستم های متن باز انجمن تخصصی فناوری اطلاعات ایران بیشتر به آن خواهیم پرداخت ، اگر در خصوص این مطلب نکته ای به ذهنتان می رسد خوشحال می شویم در ادامه از دانش شما استفاده کنیم.