لینوکس چیست؟ – معرفی به زبان ساده
از تلفنهای هوشمند گرفته تا خودروها، کامپیوترهای خانگی و سرورهای تجاری، اغلب از سیستم عامل «لینوکس» (Linux) بهره میبرند. سیستم عاملی که از اواسط دهه ۹۰ میلادی در دسترس بوده و از آن زمان به جامعه مخاطب زیادی در سطح جهانی دست یافته است. در این مطلب از مجله فرادرس یاد میگیریم لینوکس چیست و به پرسشهای متعددی درباره آن پاسخ میدهیم. سیستم عاملی که علاوهبر کاربرد بسیار در زندگی روزمره و صنایع متکیبر اینترنت، امنیت بالایی داشته و بر روی دستگاههای مختلفی پیادهسازی و اجرا میشود.
در این مطلب، ابتدا به شرح تاریخچه لینوکس میپردازیم و پس از آنکه یاد گرفتیم لینوکس چیست، به چرایی استفاده از این سیستم عامل پاسخ میدهیم. سپس نگاهی به ساختار لینوکس میاندازیم و علاوهبر توضیح کارکرد و همچنین مفهوم توزیع، با نحوه انتخاب توزیع لینوکس مناسب نیز آشنا میشویم. در انتها این مطلب از مجله فرادرس، تفاوت لینکوس با دیگر سیستم عاملها را مورد بررسی قرار میدهیم و چند مورد از مزایا و معایب آن را عنوان میکنیم.
تاریخچه لینوکس
طراحی و توسعه سیستم عامل رایگان و متنباز لینوکس در سال ۱۹۹۱ توسط «لینوس توروالدز» (Linus Torvalds) انجام گرفت. هدف توروالدز در ابتدا، توسعه سیستمی رایگان و منعطف برای کامپیوترهای شخصی بود. ایدهای که از دو سیستم عامل «یونیکس» (Unix) و «مینیکس» (Minix) نشأت میگرفت. پس از ارائه اولین نسخه از هسته یا «کرنل» (Kernel) لینوکس و به واسطه دعوت همگانی که برای توسعه بیشتر صورت گرفته بود، توسعهدهندگان و علاقهمندان زیادی از سراسر جهان به مشارکت در این پروژه پرداختند. از آن زمان، بستههای نرمافزاری متنباز مختلفی به کرنل لینوکس اضافه و باعث ایجاد سیستم عاملهای عملیاتی تحت عنوان «توزیع» (Distribution) شدند.
پس از گذشت سالها، لینوکس به عنوان جزئی اساسی از محاسبات مدرن شناخته میشود که سرورها، کامپیوترهای شخصی، ابرکامپیوترها و تلفنهای هوشمند را اجرایی ساخته است. انعطافپذیری، پایداری و جامعه پشتیبان فعال لینوکس باعث شده است تا به گزینه اول توسعهدهندگان، کسبوکارها و نهادهای آموزشی تبدیل شود. پس از بررسی تاریخچه شکلگیری لینوکس، در ادامه یاد میگیریم لینوکس چیست و از چه بخشهایی تشکیل شده است.
لینوکس چیست؟
همانند ویندوز، «آیاواس» (IOS) و «مکاواس» (macOS)، لینوکس نیز یک سیستم عامل است. در حقیقت طراحی یکی از محبوبترین پلتفرمهای جهان یعنی اندروید نیز بر پایه سیستم عامل لینوکس انجام شده است. «سیستم عامل» (Operating System | OS) به نرمافزاری گفته میشود که وظیفه مدیریت منابع سختافزاری مرتبط با کامپیوتر شخصی شما را بر عهده دارد.
به بیان ساده، سیستم عامل ارتباط میان نرمافزار و سختافزار را مدیریت میکند. بهطور کلی، سیستم عامل لینوکس از بخشهای مختلف زیر تشکیل شده است:
- «بوتلودر» (Bootloader): نرمافزاری که فرایند «بوت» شدن یا راهاندازی کامپیوتر را مدیریت میکند. اغلب، این بخش را با صفحه معرفی اولیهای به یاد میآورند که پیش از بارگذاری سیستم عامل نمایان میشود.
- «کرنل» (Kernel): جزئی از کل که با عنوان «لینوکس» از آن یاد میشود. کرنل، پایینترین سطح سیستم عامل است که به مدیریت پردازنده، حافظه و دستگاههای جانبی میپردازد.
- «سیستم راهاندازی» (Init System): بخشی از سیستم عامل که فضای اولیه و مورد نیاز کاربران را پیادهسازی میکند. از جمله رایجترین این سیستمها systemd نام دارد. پس از مرحله بوتلودر، مدیریت فرایند بوت شدن یا بارگذاری سیستم عامل به سیستم راهاندازی محول میشود.
- «دیمِن» (Daemons): سرویسهایی که در پسزمینه اجرا شده و هنگام راهاندازی یا ورود به فضای سیستم عامل آغاز به کار میکنند.
- «سرور گرافیکی» (Graphical Server): بخش دیگری از سیستم عامل که مسئول نمایش شمایل گرافیکی بر روی صفحه نمایش است. از این بخش اغلب با عنوان X Server یاد میشود.
- «محیط دسکتاپ» (Desktop Environment): بخشی که تعامل کاربران را با سیستم عامل ممکن میسازد. به عنوان برخی از نمونههای محیط دسکتاپ میتوان به GNOME، Cinnamon، Mate و KDE اشاره کرد. هر کدام از این موارد، نرمافزارهای شخصیسازی شده مختص به خود را دارند.
- «نرمافزارها» (Applications): لیست نرمافزارهای پیشفرض محیط دسکتاپ کامل نیست. مانند سیستم عاملهای ویندوز و مکاواس، لینوکس نیز هزاران برنامه با کیفیت و عنواین پرطرفردار را در اختیار کاربران قرار میدهد. اغلب توزیعهای مدرن لینوکس شامل برنامهای شبیه به «اپ استور» (App Store) برای نصب راحتتر برنامهها هستند. به عنوان مثال توزیع «اوبونتو» (Ubuntu) از نرمافزار Ubuntu Software Center استفاده میکند که به شما اجازه میدهد در میان هزاران برنامه جستجو و گزینه مورد نظر را به راحتی پیدا و دانلود کنید.
پس از معرفی تاریخچه لینوکس و پاسخ دادن به پرسش لینوکس چیست، در بخش بعدی با علت استفاده از این سیستم عامل آشنا میشویم.
چرا باید از لینوکس استفاده کنیم؟
از جمله مواردی که سیستم عامل لینوکس را بسیار محبوب ساخته است میتوان به رایگان، متنباز و تغییرپذیر بودن آن اشاره داشت. گزینهای ایدهآل برای سرورها و همچنین توسعهدهندگان که امنیت، ثبات و عملکرد بالا را تضمین میکند. سختافزار تعاملپذیر، کتابخانهای گسترده از نرمافزارها، جامعه پشتیبان فعال و بهروزرسانیهای مکرر تنها چند نمونه از مزایای لینوکس به حساب میآیند. از همین جهت و با توجه به قابلیت انطباقپذیری بالا لینوکس، کاربران میتوانند بر حسب نیاز خود -چه شخصی و چه سازمانی- سیستم عامل را شخصیسازی کنند. پایش یا به اصطلاح مانیتورینگ سیستم از جمله امکاناتی است که لینوکس در اختیار کاربران قرار میدهد و کاربران را از وضعیت سختافزار و نرمافزارهای در حال اجرا مطلع میسازد. برای آشنایی بیشتر با نحوه مانیتورنیگ در لینوکس، میتوانید فیلم آموزش مانیتورینگ در لینوکس Linux فرادرس را مشاهده کنید که لینک آن را در زیر آوردهایم.
آموزش دوره های لینوکس LPIC با فرادرس
امروزه سیستم عامل لینوکس نقشی حیاتی در جهان فناوری اطلاعات ایفا میکند. این سیستم عامل متنباز و قدرتمند، کاربردهای گستردهای در زمینههای مختلف، از مصارف شخصی گرفته تا محیطهای صنعتی و سازمانی دارد. لینوکس به دلیل امنیت بالا، انعطافپذیری و پایداری، به انتخاب اول بسیاری از شرکتها و سازمانها برای مدیریت سرورها و زیرساختهای شبکه تبدیل شده است.
در همین راستا، دورههای «الپیک» (Linux Professional Institute Certification | LPIC) به عنوان استانداردی جهانی برای ارزیابی و تایید مهارتهای متخصصان لینوکس شناخته میشوند. این دورهها شامل سه سطح LPIC-1 (سطح پایین)، LPIC-2 (سطح پیشرفته) و LPIC-3 (سطح بالا) هستند. گذراندن دورههای LPIC مزایای متعددی را به همراه دارد. این دورهها نه تنها فرصتهای شغلی شما را در بازار کار افزایش میدهند، بلکه به شما کمک میکنند تا دانش عمیق و کاربردی در زمینه مدیریت سیستمهای لینوکس کسب کنید. علاوه بر این، مدارک LPIC از اعتبار بینالمللی برخوردار هستند و شما را برای مواجهه با چالشهای واقعی در محیط کار آماده میکنند.
برای یادگیری این دورههای ارزشمند، میتوانید از مجموعه فیلمهای آموزشی جامع فرادرس که لینک آنها در بخش زیر قرار گرفته است بهره ببرید. این دورهها توسط اساتید شناخته شده و مجرب در حوزه لینوکس تهیه شدهاند و شما را گام به گام با مفاهیم و مهارتهای مورد نیاز آشنا میکنند:
- فیلم آموزش رایگان آمادگی آزمون LPIC-1 با جادی فرادرس
- فیلم آموزش آمادگی آزمون الپیک LPIC-1 فرادرس
- فیلم آموزش مقدماتی مهندسی لینوکس LPIC-2 فرادرس
نگاهی به ساختار لینوکس
فهم این موضوع که لینوکس چیست و چرا از آن استفاده میشود لازم اما کافی نیست. تنها زمانی میتوان درک عمیقی از سیستم عامل بهدست آورد و فعالیت آگاهانه داشت که شناخت کافی از معماری یا ساختار آن حاصل شده باشد. بهطور کلی، ساختار لینوکس متشکل از بخشهای زیر است:
- کرنل: همانطور که پیشتر نیز خواندیم، هسته اصلی سیستم عامل لینوکس را کرنل مینامند. این بخش از سیستم عامل با مجازیسازی سختافزارهای مختلف، منابع مورد نیاز را برای هر عمل و فرایند مهیا میکند. در نتیجه، اینگونه بهنظر میرسد که در هر لحظه تنها یک پردازش در حال اجرا است. همچنین کرنل مسئول کاهش مغایرتهای موجود میان پردازشهای مختلف است و از ۴ نوع یکپارچه، ریزهسته، «ترکیبی» (Hybrid) و «اِگزو» (Exo) تشکیل میشود.
- «کتابخانه سیستم» (System Library): لینوکس از کتابخانههای سیستمی که با عنوان «کتابخانههای مشترک» (Shared Libraries) نیز شناخته میشوند، برای پیادهسازی توابع مختلف سیستم عامل استفاده میکند. این کتابخانهها شامل کدهای از پیش نوشته شدهای هستند که در توسعه نرمافزارهای کاربردی مورد بهرهبرداری قرار میگیرند. بهکارگیری این کتابخانهها در زمان توسعهدهندگان صرفهجویی کرده و دیگر نیازی به بازنویسی کدهای تکراری نیست. نقش کتابخانههای سیستمی مانند رابطی میان برنامهها و کرنل است که دسترسی نرمافزارها را به لایههای ابتدایی سختافزار فراهم میکند.
- «شل» (Shell): رابط کاربری لینوکس شِل نام دارد. کاربران با وارد کردن فرمانهای قابل تفسیر و اجرا در محیط شل میتوانند با سیستم عامل تعامل داشته باشند. در حقیقت، شل پلی میان کاربر و کرنل است و درخواستهای کاربران را برای پردازش به کرنل منتقل میکند. از جمله کاربردهای محیط شل میتوان به اجرا برنامهها، مدیریت فایلها و پیکربندی سیستم اشاره داشت.
- لایه سختافزار: این لایه تمام بخشهای فیزیکی کامپیوتر را از جمله «رم» (RAM)، حافظه ذخیرهسازی، پردازشگر و دستگاههای ورودی و خروجی دربرمیگیرد. در واقع لایه سختافزار مسئول برقراری ارتباط با سیستم عامل لینوکس است و منابع لازم را در اختیار برنامهها قرار میدهد. کرنل لینوکس و کتابخانههای سیستمی از مدیریت اجزاء سختافزاری اطمینان حاصل کرده و هماهنگی میان آنها را تضمین میکنند.
- «برنامههای سیستمی» (System Utility): ابزارها و برنامههای ضروری مرتبط با سیستم عامل که نقش مهمی در مدیریت و پیکربندی بخشهای مختلف سیستم ایفا میکنند. نصب نرمافزار، پیکربندی تنظیمات شبکه، پایش عملکرد سیستم و مدیریت کاربران و دسترسیها، تنها چند نمونه از کاربردهای این قبیل ابزارها محسوب میشوند. همچنین با سادهسازی فرایندهای مربوط به مدیریت سیستم، حفظ و نگهداری موثر از سیستم عامل برای کاربران راحتتر خواهد بود.
حالا که بهخوبی میدانیم لینوکس چیست و با ساختار آن نیز آشنا شدهایم، در بخش بعدی نحوه کارکرد این سیستم عامل مهم و کاربردی را توضیح میدهیم.
لینوکس چگونه کار می کند؟
در راستا پاسخ دادن به پرسش لینوکس چیست، بسیار مهم است که با چگونگی کارکرد این سیستم عامل آشنا شویم. طراحی سیستم عامل لینوکس و همچنین اغلب توزیعهای لینوکسی بهصورت چند بخشی یا به اصطلاح «ماژولار» (Modular) است. همه توزیعهای لینوکس مبتنیبر کرنل هستند. با این حال بسته به معیارهایی از جمله موارد زیر، ممکن است تفاوتهایی نیز داشته باشند:
- نسخه کرنل: اگر پیکربندی توزیع لینوکس با نسخههای جدید کرنل انجام شود، امکان استفاده از قابلیتهای بهروز ممکن خواهد بود و از طرف دیگر، پایداری و ثبات نسخههای قدیمی بیشتر است.
- ماژولهای کرنل: نرمافزاری که بهمنظور گسترش کارایی و بدون نیاز به راهاندازی مجدد در کرنل قابل بارگذاری است.
- تنظیمات پیکربندی: بهطور معمول، پیکربندی کرنل لینوکس با تنظیمات مربوط به دستگاه یا درایورهایی خاص انجام میشود. به عنوان مثال، میتوان به کامپایل کرنلی برای یک دستگاه وایرلس اشاره داشت.
کرنل لینوکس تنها مورد مشترک در تمام سیستمهای مبتنیبر لینوکس است. روند آغاز به کار سیستم عامل لینوکس به شرح زیر است:
- ابتدا کرنل لینوکس بارگذاری میشود.
- پس از بارگذاری کرنل، مدیریت همه دستگاههای ورودی و خروجی بر عهده کرنل خواهد بود. در ادامه، سیستم و فرایندهای سیستمی آغاز به کار میکنند.
- با شروع کار فرایندهای سیستمی، میتوان از قابلیتهایی همچون شبکه، خط فرمان و نرمافزارهای دسکتاپ استفاده کرد.
صرفنظر از تفاوتهای مربوط به پیکربندی و راهاندازی، اغلب کرنلها بسیار شبیه بهم هستند. اما تجربه کاربر، به موارد استفاده سیستم عامل لینوکس بستگی دارد. برای نمونه در فهرست زیر چند مورد از کاربردهای لینوکس با تجربه کاربری متفاوت را ملاحظه میکنید:
- کاربرد دسکتاپ: مورد استفاده توسعهدهندگان نرمافزار و دیگر متخصصان حوزه کامپیوتر. محیطهای توسعه نرمافزار به امکانات پایداری نیاز دارند که اغب در توزیعهای مبتنیبر دسکتاپ یافت میشوند.
- سرورهای شبکه: مدیریت این سرورها از راه دور و از طریق ترمینال یا رابطهای ویندوزی صورت میگیرد. ممکن است افراد زیادی از سرورهای شبکه استفاده کنند اما، دسترسی مستقیم به آنها تنها برای مدیران سیستم امکانپذیر است.
- «تین کلاینت» (Thin Client): دستگاهی که به کاربران امکان میدهد تا به یک محیط دسکتاپ کاربردی دسترسی پیدا کنند. کامپیوترهای «رزبری پای» (Raspberry Pi) و «گوگل کرومبوک» (Google Chromebook) از جمله این کلاینتها به شمار میروند.
عملکرد لینوکس هنگامی که با کمک رابط کاربری گرافیکی یا GUI از آن به عنوان محیط دسکتاپی استفاده میکنیم، شباهت زیادی به دیگر سیستم عاملها دارد. هر برنامه با یک کلیک اجرا میشود و فایلها با استفاده از ماوس قابل جابهجایی و حذف هستند. همچنین طریقه بهکارگیری خط فرمان در لینوکس نیز تفاوت چندانی با دیگر سیستم عاملها ندارد. برای نمونه فرمان زیر را در نظر بگیرید:
userID@DESKTOP-2KD3FT2:/mnt/c/WINDOWS/system32$فرمان فوق مثالی از دستورات اجرا شده در خط فرمان پیشفرض محیط «زیرسیستم ویندوز برای لینوکس» (Windows Subsystem for Linux | WSL) است. از چپ به راست، userID@hostnameبیانگر نام کاربری و هاست بوده و در ادامه نیز آدرس کامل مسیر فعلی همراه با علامت $قرار میگیرد.
توزیع لینکوس چیست؟
حالا که بهخوبی میدانیم لینوکس چیست و چگونه کار میکند، در این بخش به بررسی مفهوم توزیع در این سیستم عامل میپردازیم. بهطور کلی، لینوکس شامل نسخههای مختلفی برای انواع کاربردها و کاربران از مبتدی گرفته تا حرفهای میشود. به این نسخهها «توزیع» (Distribution) گفته میشود. اغلب توزیعهای لینوکس را میتوان بهصورت رایگان دانلود و هر چند بار که بخواهید، بر روی هر تعداد دستگاه مورد نظر نصب کرد. برخی از توزیعهای محبوب لینوکس عبارتاند از:
- «لینوکس مینت» (Linux Mint)
- «مانجارو» (Manjaro)
- «دبیان» (Debian)
- «اوبونتو» (Ubuntu)
- «انترگوس» (Antergos)
- «سولوس» (Solus)
- «فدورا» (Fedora)
- «المنتری او-اس» (Elementary OS)
- «اپنسوزه» (openSUSE)
موارد استفاده هر توزیع با دیگری متفاوت است. برای مثال رابط کاربری برخی مدرن بوده و سایر توزیعها مانند اپنسوزه از محیطهای دسکتاپ قدیمیتر همچون KDE استفاده میکنند. همچنین توزیعهای متنوعی نیز برای سرورها طراحی شدهاند. از جمله:
- «رد هت انترپرایز لینوکس» (Red Hat Enterprise Linux)
- «اوبونتو سرور» (Ubuntu Server)
- «سنتاواس» (CentOS)
- «سوزه لینوکس انترپرایز» (SUSE Linux Enterprise)
تعدادی از توزیعهای فوق مانند اوبونتو سرور و سنتاواس رایگان هستند و برای دیگر توزیعها مانند رد هت انترپرایز لینوکس و سوزه لینوکس انترپرایز هزینهای دریافت و شامل پشتیبانی میشوند. در مطلب زیر از مجله فرادرس، بهطور مفصل درباره انواع توزیعهای لینوکس توضیح دادهایم.
انتخاب توزیع لینکوس مناسب
پس از آنکه آموختیم لینوکس چیست و مفهوم توزیع را نیز شرح دادیم، در این بخش با نحوه انتخاب توزیع مناسب آشنا میشویم. اینکه چه توزیعی مناسب شماست به پاسخ سه پرسش زیر بستگی دارد:
- سطح مهارت شما در کار با کامپیوتر به چه اندازه است؟
- کدام نوع رابط کاربری را ترجیح میدهید؟ مدرن یا استاندارد؟
- قصد نصب توزیع برای چه سیستمی را دارید؟ سرور یا دسکتاپ؟
اگر از نظر سطح مهارت و کار با کامپیوتر در دسته افراد مبتدی قرار میگیرید، نصب و استفاده از توزیعهای سادهتر مانند لینوکس مینت، اوبونتو، المنتری او-اس یا «دیپین» (Deepin) پیشنهاد میشود. اما اگر از سطح معمولی بالاتر هستید، میتوانید از توزیعهای دیگری مانند دبیان یا فدورا نیز بهرهمند شوید. از طرف دیگر، در صورتی که با مدیریت سیستم آشنایی کامل داشته و مدت زیادی با انواع توزیعهای لینوکس کار کردهاید، بهرهگیری از توزیعی مانند «جنتو» (Gentoo) میتواند انتخاب مناسبی باشد. همچنین این امکان را دارید تا با کمک مستندات لینوکس، توزیع شخصیسازی شده خود را بسازید.
برای انتخاب توزیعهای مختص سرور، ابتدا باید تصمیم بگیرید که آیا به رابط کاربری دسکتاپ نیاز دارید یا اجرا دستورات از طریق خط فرمان کفایت میکند. توزیع اوبونتو سرور فاقد رابط کاربری گرافیکی است. به همین خاطر، سرعت بارگذاری سیستم بالاتر بوده اما همزمان به درک عمیقی از نحوه کارکرد خط فرمان در لینوکس نیاز دارید. اگرچه نصب رابط کاربری گرافیکی بسیار راحت بوده و تنها کافیست دستور زیر را اجرا کنید:
sudo apt install ubuntu-desktopویژگیها و امکانات توزیع برای مدیران سیستم از اهمیت بالایی برخوردار است. اگر قصد نصب توزیعی مناسب سرور دارید و میخواهید بهطور پیشفرض شامل همه امکانات لازم باشد، انتخاب توزیع سنتاواس پیشنهاد میشود. اما اگر به توزیعی نیاز دارید که مختص استفاده شخصی باشد و بتوانید به مرور آن را تکمیل کنید، دو توزیع دبیان و اوبونتو گزینههای مناسبی برای شما هستند.
تفاوت لینکوس با دیگر سیستم عامل ها چیست؟
در ادامه پاسخ به پرسش لینوکس چیست و معرفی انواع توزیعهای لینوکسی، این بخش را به شرح تفاوتهای لینوکس با دیگر سیستم عاملها اختصاص میدهیم. از جمله این تفاوتها میتوان به موارد زیر اشاره داشت:
- متنباز بودن: برخلاف اغلب سیستم عاملهای تجاری، لینوکس متنباز بوده و کدهای آن بهصورت رایگان در اختیار همگان قرار دارد. در نتیجه کاربران میتوانند بنا به نیاز خود، سیستم عامل را تغییر داده و ماهیت خلاقانهای بهوجود آورند.
- معماری کرنل: لینوکس از یک معماری کرنل «یکپارچه» (Monolithic) که وظیفه اجرا اغلب فرایندهای سیستم عامل را بر عهده دارد پیروی میکند. در مقابل، سیستم عاملی همچون مکاواس از ترکیب دو معماری یکپارچه و «ریزهسته» (Microkernel) تشکیل شده است.
- مدل توزیع نرمافزار: عمده پشتیبانی توزیعهای لینوکس توسط جامعه توسعهدهندگان تامین میشود و دامنه گستردهای از بستههای نرمافزاری در اختیار کاربران قرار میگیرد. در نتیجه نصب، بهروزرسانی و مدیریت برنامهها به راحتی قابل انجام است.
- پشتیبانی سختافزاری: سیستم عامل لینوکس حجم وسیعی از درایورها را برای اجزاء سختافزاری مختلف ارائه میکند و در این زمینه شهرت دارد. به همین خاطر تنوع بالایی داشته و بر روی انواع سختافزارها از سیستمهای تعبیهشده گرفته تا ابرکامپیوترها اجرا میشود.
- مدل توسعه: روند توسعه لینوکس دنبالهرو نوعی مدل تعاملی و توزیعشده است. مدلی که تحت حمایت جامعه بزرگی از توسعهدهندگان قرار داشته و روزبهروز به امکانات آن افزوده میشود. چنین رویکرد مشارکتمحوری را میتوان ترویجگر شفافیت و نوآوری دانست.
یادگیری موثر لینوکس نیازمند آشنایی با مفاهیم پایه سیستم عامل است. سیستم عامل، نرمافزاری است که مدیریت منابع سختافزاری و نرمافزاری کامپیوتر را بر عهده دارد. همانطور که در این مطلب نیز خواندیم، انواع مختلف سیستم عامل از جمله ویندوز، مکاواس و همچنین توزیعهای لینوکس، هر کدام شامل ویژگی و کاربردهای خاصی هستند. درک این مفاهیم پایه، پیشنیازی مهم برای تسلط بر لینوکس است. برای کسب این دانش اساسی، مشاهده مجموعه فیلمهای آموزش سیستم عامل فرادرس را از طریق لینک زیر به شما پیشنهاد میکنیم:
این دورهها به زبانی ساده و کاربردی، شما را با اصول و مفاهیم کلیدی سیستم عامل آشنا میکنند و پایه محکمی برای ورود به جهان لینوکس فراهم میآورند.
مزایا و معایب لینوکس چیست؟
آگاهی به این موضوع که مزایا و معایب لینوکس چیست، در انتخاب و استفاده از این سیستم عامل بسیار تاثیرگذار است. برخی از مزایا سیستم عامل لینوکس عبارتاند از:
- نرمافزار متنباز: کرنل لینوکس تحت مجوز متنباز GNU GPL منتشر شده است. اکثر توزیعها شامل صدها نرمافزار میشوند و در هر کدام از دستههای موضوعی، گزینههای مختلفی برای انتخاب وجود دارند. همچنین اغلب توزیعها دارای نرمافزارهای انحصاری ارائه شده توسط شرکتهای سازنده مانند درایورهای منحصر به سختافزار هستند.
- هزینههای اعطای مجوز: برخلاف ویندوز یا مکاواس، سیستم عامل لینوکس فاقد هزینههای صریح مربوط به مجوز است. اگرچه با پرداخت هزینهای میتوان از توزیعکنندگان بابت ارائه پشتیبانی خدمات دریافت کرد، استفاده و همچنین اشتراکگذاری سیستم عامل رایگان است. برخی از سازمانها برای صرفهجویی در هزینهها، سرورهای نرمافزاری خود را از سیستم عاملهای تجاری به لینوکس تغییر میدهند.
- قابلیت اطمینان: از لینوکس به عنوان سیستم عاملی مطمئن با بهروزرسانیهای مداوم و شامل بستههای امنیتی یاد میشود. پایداری بالا لینوکس نیز از جمله دیگر موارد مهمی است که مصرفکنندگان را قادر میسازد تا در هر شرایطی، امکان استفاده از این سیستم عامل را داشته باشند.
- «سازگاری عقبرو» (Backward Compatibility): همانطور که پیشتر نیز اشاره شد، لینوکس و سایر نرمافزارهای متنباز به دلیل موارد امنیتی و اضافه شدن امکانات جدید مدام بهروزرسانی میشوند. اما این بهروزرسانیها همراه با حفظ کارایی سیستم است. در نتیجه حتی در زمان بهروزرسانی، اسکریپتهای محیط شل قابل اجرا و استفاده هستند. برخلاف نرمافزارهای تجاری که اغلب با هر بهروزرسانی شیوه متفاوتی را از تعامل با سیستم ارائه میدهند، بهروزرسانیهای لینوکس تغییری در فرایندهای کلی اعمال نمیکنند.
- تنوع در انتخاب: همواره کاربران این امکان را دارند تا از میان صدها توزیع و هزاران برنامه، پیکربندی مورد نظر خود را بر روی هر سختافزاری پیادهسازی کنند.
با این حال، استفاده از لینوکس معایبی نیز دارد که در فهرست زیر برخی از آنها را ملاحظه میکنید:
- کمبود استانداردهای مقرر: نسخه استانداردی از لینوکس وجود ندارد. قابلیتی که اگرچه برای بهینهسازی کاربردهای خاص مفید بوده، اما توسعه سرور و فرایند راهاندازی توزیعها را با چالش روبهرو میکند. هر چه تعداد انتخاب بیشتر باشد، پشتیبانی نیز دشوارتر خواهد بود.
- هزینههای پشتیبانی: با وجودی که استقرار سیستمهای لینوکسی برای سازمانها هزینهای ندارد، همچنان دریافت خدمات پشتیبانی رایگان نیست. گزینه ارائه خدمات پشتیبانی در قرارداد اکثر شرکتهای تجاری و ارائه دهنده توزیعهای لینوکس مانند SUSE و Red Hat درج شده است. مخارجی که ممکن است بخش زیادی از بودجه سازمان را به خود اختصاص دهند.
- نرمافزار انحصاری: امکان نصب و اجرا مستقیم برخی از نرمافزارهای رایج جهانی مانند مایکروسافت آفیس بر روی سیستم عامل لینوکس وجود ندارد.
- عدم پشتیبانی از سختافزار: در حالی که اغلب تولیدکنندگان سختافزار درایورهای لازم را برای لینوکس نیز ارائه میدهند، همچنان برخی از محصولات فاقد پشتیبانی کافی هستند.
- شیب منحنی یادگیری: آشنایی و یادگیری کار با لینوکس و برنامههای لینوکسی برای بسیاری از کاربران دشوار است.
در مواردی ممکن است یک ویژگی هم عیب و هم مزیت باشد. مانند قابلیت شخصیسازی بالا که برای تولیدکنندگان مزیت است اما برای شرکتهایی که بهدنبال یک سیستم عامل ساده برای کاربران با سطح مهارتی متفاوت هستند چندان خوشایند نیست.
جمعبندی
بهطور خلاصه، سیستم عامل لینوکس دارای جامعه کاربری وسیعی است که با عرضه بهروزرسانیهای مکرر و توزیعهای متنوع، نیاز مجموعه بزرگی از کاربران را پوشش میدهد. در این مطلب از مجله فرادرس یاد گرفتیم لینوکس چیست و چرا امروزه به یکی از پرطرفدارترین سیستم عاملهای شخصی و سازمانی تبدیل شده است. سیستم عاملی که اگرچه در مقایسه با ویندوز و مکاوس سهم کمتری از مصارف خانگی را به خود اختصاص داده است، اما همچنان بیشترین کاربرد را برای سرورها و سیستمهای تعیبهشده دارد.
با سلام , همیشه آقای مهندس میثم لطفی عزیز در کنار ویندوز , لینوکس رو نصب کرد یا نه
بله
با مراجعه به اینترنت روش کارش رو یاد بگیرید
فوق العاده
با سلام و تشکر بابت خدمات ارزنده شما.
اگر امکان داشت لطف نمائید و در مورد نرم افزار Docker Daemon و کاربردهای آن مقداری توضیح دهید.
کامل و بسیار مفید
عالی بود