لینوکس چیست؟ سیستمعاملی متنباز که بهعنوان جایگزینی آزاد و قابل دسترس، برای سیستمعاملهای تجاری معرفی شد. در حال حاضر لینوکس توسط یک جامعهی جهانی از توسعهدهندگان نگهداری میشود و صدها توزیع منحصربهفرد دارد. اما لینوکس تنها یک سیستمعامل نیست! دریچهای به دنیایی از آزادی عمل، امنیت و کنترل کامل روی رایانه است که آن را به انتخاب اول برای بیشتر سرورها و ابررایانهها تبدیل کردهاست. اگر کنجکاو هستید بدانید که چرا لینوکس تا این اندازه محبوب است و چه تفاوتهایی با همتایان خود دارد، این راهنمای کامل از سایت لینوکس لرنینگ را از دست ندهید.
لینوکس Linux چیست؟
سیستمعامل لینوکس (Linux OS) یکی از محبوبترین سیستمعاملها، بهخصوص برای سرورها، ابررایانهها و موبایلها است. بزرگترین وجه تمایز این سیستمعامل با همتایانش، متنباز بودن آن است. یک ویژگی ارزشمند که باعث شده جامعهی گستردهای از توسعهدهندگان، بتوانند روی توسعه و بهبود این سیستم کار کنند. اما ساختار ایمن و پایداری این سیستمعامل نیز مزیدبرعلت شده تا بسیاری از سرورها و دیتاسنترهای بزرگ، از لینوکس استفاده کند.
این سیستمعامل منبعباز، به خودیِ خود رابط کاربری گرافیکی (GUI) ندارد! در واقع هستهی لینوکس (Linux Kernel) فقط شامل ابزارها و امکانات لازم برای مدیریت سیستم و سختافزارها است. برای ارتباط با این محیط، فقط میتوانید از دستورات متنی در واسط خط فرمان (CLI) استفاده کنید. اما هنگام نصب لینوکس، میتوانید از توزیعهای آن استفاده کنید که شامل یک محیط گرافیکی کاربرپسند هم است.
در پاسخ به سؤال لینوکس چیست، باید آن را یک سیستمعامل متنباز (Open-source operating system) و رایگان معرفی کنیم که روی هسته (Kernel) لینوکس ساختهشدهاست. امنیت بالا، پایداری و انعطافپذیری، ویژگیهایی است که این سیستمعامل را به یکی از محبوبترین گزینههای سیستمهای مختلف (از موبایل تا ابررایانهها) تبدیل کردهاست. توزیعهای لینوکس، مانند اوبونتو، دبیان و فدورا، نسخههای ویژهای از این سیستمعامل است که بهعنوان یک سیستمعامل لینوکسی کامل کاربرپسند و برای تأمین نیازهایی خاص، توسط شرکتهای شخص ثالث طراحی شدهاست.
تاریخچه لینوکس
برای آشنایی با لینوکس باید نگاهی به تاریخچه و فلسفهی توسعهی آن بیندازید. در سال 1991، هستهی لینوکس در قالب یک پروژهی شخصی، توسط لینوس توروالدز (Linus Torvalds)، دانشجوی دانشگاه هلسینکی فنلاند (University of Helsinki) طراحی شد. هدف او از این طرح، خلق یک سیستمعامل منبعباز برای رایانههای شخصی بود که ویژگیهای مشابه MINIX (سیستمعامل آموزشی مبتنی بر یونیکس) داشتهباشد؛ اما با قابلیتهای بیشتر و انعطاف بالاتر.
سیستمعامل لینوکس به شکل کنونی، بر پایهی هستهی لینوکس و توسط جامعهای از توسعهدهندگان توسعه دادهشد. در واقع سایر ابزارها و اجزای موردنیاز یک سیستم عامل کامل (مانند کتابخانهها، کامپایلرها و رابطهای کاربری) از پروژههای دیگر (بهویژه پروژه گنو (GNU)) به این هسته اضافه شد. فرایندی که توسط ریچارد استالمن (Richard Stallman) رهبری شد.
در سال 1993 اولین توزیع تجاری لینوکس، یعنی Slackware، توسط پاتریک ولکردینگ (Patrick Volkerding) طراحی شد. به مرور زمان، توزیعهای دیگر هم مانند Debian، SUSE، Red Hat و Ubuntu متولد شد. بهاینترتیب محبوبیت این سیستمعامل میان کاربران (بهخصوص کاربران سرور و سازمانهای بزرگ تجاری)، به دلیل منبعباز بودن و انعطاف فوقالعاده، بیشتر شد.
اجزای اصلی لینوکس چیست؟
برای این که دیدگاهی تکنیکیتر به این سیستمعامل (Operating System) داشته باشید، باید با اجزای مختلف آن آشنا شوید. این سیستمعامل از بخشهایی تشکیل شده که در ادامه میبینید.
1- Bootloader
نرمافزاری که فرایند راهاندازی کامپیوتر را کنترل میکند. بوت لودر اغلب فقط در قالب یک صفحهی خوشآمدگویی است که با بارگیری سیستمعامل ظاهر شده و بعد ناپدید میشود.
2- Kernel
هستهی لینوکس پایه و اساس کار این سیستمعامل بوده و پایینترین سطح آن محسوب میشود. لینوکس بدون Kernel نمیتواند کار کند. این هسته، مسئول مدیریت منابع سیستم و ارتباط با سختافزار است. وظیفهی مدیریت حافظه، پردازشها و فایلها را نیز به عهده دارد.
3- Init
Init اولین فرایندی است که بعد از بوتشدن سیستم شروع به کار میکند و بهعنوان ریشه یا پدر فرایندهای دیگر هم شناخته میشود. در واقع Init مسئول راهاندازی و مدیریت فرایندها و سرویسهای دیگر سیستمعامل است (مانند مدیریت دیمونها، شبکه، رابط کاربری، دسترسی به دیسک و…). Init نقشی کلیدی در پایداری سیستم دارد. چراکه فرایندهای اصلی را کنترل میکند. برای مثال اگر برنامهای متوقف شود، وظیفه دارد آن را دوباره اجرا کند یا سیستم را بهدرستی خاموش کند.
4- Applications
اما عملیترین بخش لینوکس چیست؟ اپلیکیشنهای متنوعی که امکان انجام امور مختلف را در سیستمعامل فراهم میکند. بیشتر توزیعهای لینوکس Linux، یک مخزن مرکزی برای جستجو و دانلود این برنامهها دارد. در واقع لینوکس هم مانند ویندوز و macOS، دهها هراز نرمافزار دارد که میتوانید آنها را نصب و استفاده کنید.
5- Daemon
دیمونها برنامههایی هستند که در بکگراند یا پشتصحنه اجرا میشوند و بهصورت مداوم آمادهی ارائهی خدماتی مشخصاند. کاربر این برنامهها را بهصورت مستقیم نمیبیند و تعامل مستقیم با آنها ندارد. اما وظایفی مانند مدیریت شبکه، رسیدگی به چاپ فایلها، اجرای امور زمانبندیشده و… به عهدهی آنها است. دیمونها با شروع سیستمعامل به طور خودکار راهاندازی شده و تا زمان خاموشی سیستم، در حال اجرا باقی میماند.
6- Desktop environment
محیط دسکتاپ همان فضایی است که کاربر از طریق آن میتوان با سختافزارها و برنامهها تعامل داشته باشد. میتوانید از انواع محیطهای دسکتاپ (مانند Cinnamon، GNOME، Pantheon، KDE و…) استفاده کنید. هر محیط دسکتاپ شامل برنامههای ازپیشنصبشده (مانند فایلمنیجر، مرورگرهای وب و…) است. بعضی از توزیعهای لینوکس با یک Desktop environment همراه است. اما بعضی دیگر هم این امکان را به کاربر میدهد که محیط دسکتاپ دلخواه خود را انتخاب و نصب کند.
7- Graphical server
سرور گرافیکی نرمافزاری است که محیط گرافیکی را روی مانیتور نمایش میدهد. در واقع این زیرسیستم، واسطی است که گرافیکها (مانند پنجرهها، منوها و نمایشگر موس) را از برنامهها دریافت کرده و به شکل تصویری روی مانیتور نشان میدهد. به عبارت دیگر، محیطهای دسکتاپ و برنامههای گرافیکی، به کمک سرور گرافیکی قابلاستفاده است. X11 و Wayland دو نوع اصلی سرور گرافیکی است.
مهمترین مزایا و ویژگی های لینوکس
بهترین ویژگیهای لینوکس چیست؟ ویژگیهای زیر که دستبهدست هم داده تا این سیستمعامل، یک راهکار قدرتمند و قابل اعتماد برای بسیاری از سیستمها باشد:
- منبعباز بودن: از مهمترین مزایای لینوکس، منبعباز بودن آن است. این ویژگی به هر توسعهدهندهای اجازه ویرایش و سفارشیسازی کد منابع را میدهد.
- امنیت بالا: در لینوکس، دسترسی کاربران و برنامهها به فایلها و منابع محدود است. در واقع کاربران باید برای استفاده از برنامههای مختلف، رمز عبور داشته باشند. از طرفی منبعباز بودن آن باعثشده که کارشناسان امنیتی بتوانند تمام آسیبپذیریهای عمیق را هم شناسایی کنند. ضمن این که چون کاربران عادی از لینوکس (نسبت به ویندوز) کمتر استفاده میکنند، هکرهای کمتری این سیستمعامل را هدف قرار میدهند.
- امکان احیای سیستمهای قدیمی: لینوکس از بعضی از فناوریهای قدیمی (مانند فایروالها، سرورهای بکآپ و…) استفاده میکند و اصولاً بهینه است. بنابراین گزینه مناسبی برای سیستمهای قدیمی به شمار میرود.
- بهروزسانی ساده: بهروزسانی نرمافزارهای لینوکس، سادهتر و سریعتر از ویندوز است.
- نیاز کم به منابع: بیشتر توزیعهای لینوکس به 128 مگابایت (یا کمتر) RAM و فضای دیسک نیاز دارد. بنابراین منابع زیادی برای اجرای آن لازم نیست.
- پایداری بالا: از دیگر مزایای لینوکس این است که بهندرت با مشکل یا شکست مواجه میشود.
- حفظ حریم خصوصی: لینوکس اطلاعات زیادی از کاربران نمیگیرد تا حریم خصوصی آنها بیشتر حفظ شود.
- امکان شبکهسازی قدرتمند: سیستمهای سرویسگیرنده-سرور، با لینوکس سازگاری بالایی دارد. وجود قابلیتهای قدرتمند خط فرمان (مانند mail، IP، SSH، telnet و…) برای اتصال به رایانهها و سرورهای دیگر، شبکهسازی را بسیار راحت کرده است.
کاربردهای لینوکس چیست؟
دیدید که سیستمعامل لینوکس چیست و شامل چه اجزایی است. لینوکس به طور کلی برای مدیریت پایدار چند سرویس (مانند زمانبندی فرایندها و برنامهها، مدیریت دستگاههای جانبی، سیستم فایل و…) استفاده میشود.
اما کاربری لینوکس را در نگاهی دقیقتر، میتوان در مواردی خلاصه کرد که در ادامه میبینید.
1- راهاندازی و مدیریت سرورها
لینوکس یکی از بهترین سیستمعاملها برای سرورهای وب، سرورهای پایگاه داده، سرورهای فایل و ایمیل و سرورهای اشتراکی دیگر است. دلیل این امر نیز به ظرفیت بالای لینوکس برای اجرای برنامههایی با حجم بالا و چندرشتهای برمیگردد.
2- رایانش ابری
لینوکس رایگان است و امنیت و انعطاف بالایی دارد. از طرفی بسیاری از ابزارهای مدرن رایانش ابری (مانند Docker و Kubernetes که برای مدیریت کانتینرها استفاده میشود)، بر پایه لینوکس توسعه داده شدهاست. به همین دلیل نیز بیشتر ارائهدهندگان خدمات ابری (مانند AWS، Google Cloud Platform و Microsoft Azure)، رایانش ابری را با لینوکس پیش میبرند.
3- سامانههای نهفته
اما یکی از جالبترین کاربردهای لینوکس چیست؟ قطعاً سامانههای نهفته یا امبدد سیستمها (Embedded systems). سیستمهایی کامپیوتری که برای انجام یک کار مشخص، در دستگاههای مکانیکی یا الکتریکی تعبیه میشود. از MP3 Player گرفته تا موبایلها، دوربینهای دیجیتال، لوازم برقی آشپزخانه، کنسولهای بازی و … همگی شامل سامانههای نهفتهای است که اغلب بر پایهی لینوکس طراحی میشود.
4- سیستمهای Headless
سیستمهای Headless بدون رابط کاربری گرافیکی (مانیتور، کیبورد و ماوس) کار میکند و کاربرد آن در مدیریت سرورها، دستگاههای اینترنت اشیا (IoT) و سرویسهای تحت شبکه است. در این سیستمها، تمام کنترل و مدیریت از طریق خط فرمان و بهصورت ریموت انجام میشود. در بسیاری از سیستمهای هدلس، از لینوکس استفاده میشود. دلیل آن نیز سَبُکی، امنیت بالا و انعطافپذیری این سیستمعامل است.
5- دستگاههای شبکه
لینوکس یک سیستمعامل شبکه عالی برای روترها، سوئیچها، سرورهای DNS، دستگاههای شبکه خانگی و… است. برای مثال نسخهای از Cisco Internetwork Operating System یا همان IOS از هستهی لینوکس استفاده میکند.
توزیعهای محبوب لینوکس
حالا میدانید لینوکس چیست و با این نکته نیز آشنایید که در حالت پیشفرض، فقط از طریق نوشتن دستورات متنی در یک محیط ساده میتوانید با این سیستمعامل ارتباط برقرار کنید. بهترین راه برای این که بتوانید از طریق یک محیط گرافیکی با این سیستمعامل ارتباط برقرار کنید، استفاده از توزیع های لینوکس است.
توزیعهای لینوکس، نسخههای خاصی از سیستمعامل لینوکس است که توسط یک گروه یا شرکت، در قالب یک پکیج آماده طراحی و عرضه شدهاست. این نسخهها شامل هستهی لینوکس، برنامهها و ابزارهای مختلف است که پیکربندیهای اولیه برای آنها انجام شدهاست. بنابراین با نصب یک توزیع، چند مرحله جلوتر هستید. ضمن این که هر توزیعی برای تأمین نیازهای خاصی طراحی شدهاست. برای مثال بعضی از آنها تخصصیتر و بعضی مبتدیتر است.
توزیعهای محبوب لینوکس را به همراه ویژگیهای مهم و کاربردهایشان، در جدول زیر میبینید. برای آشنایی کامل با این توزیعها، شما را به مطالعهی راهنمای توزیعهای لینوکس دعوت میکنیم.
نام توزیع | ویژگیها | کاربران هدف |
اوبونتو (Ubuntu) |
|
|
دبیان (Debian) |
|
|
فدورا (Fedora) |
|
|
ردهت (Red Hat Enterprise Linux – RHEL) |
|
|
آرچ لینوکس (Arch Linux) |
|
|
تفاوت لینوکس و ویندوز
میدانید که لینوکس چیست و با آن بهعنوان یک سیستمعامل منبعباز آشنا شدید. اما در مقابل، ویندوز نیز یک سیستمعامل اختصاصی از طرف شرکت مایکروسافت (Microsoft) است که رایگان و منبعباز نیست و فروختهمیشود. بنابراین در ویندوز خبری از قابلیتهای سفارشی فوقالعادهای نیست که در لینوکس در دسترس است. در عوض ویندوز کاربری راحتتری داشته و با برنامهها و بازیهای بیشتری سازگار است.
در جدول زیر مقایسهی بین لینوکس (Linux) و ویندوز (Windows) را میبینید تا به یک دیدگاه اجمالی از تفاوت این سیستمهای عاملهای محبوب برسید.
ویژگی | لینوکس | ویندوز |
امنیت | بالاتر | پایینتر |
نیاز به آنتیویروس | کمتر | بیشتر |
پایداری | بیشتر | کمتر |
سرعت | بیشتر | کمتر |
Bloatware | ندارد | دارد |
بهروزرسانی | سادهتر، سریعتر و اختیاری | کندتر و اجباری |
نوع هسته | یکپارچه | هیبرید |
نیاز به منابع | کمتر | بیشتر |
ماژولار بودن (از هسته تا رابط کاربری و…) | بله | خیر |
کاربران هدف | کاربران حرفهای توسعهدهندگان مدیران سیستم | کاربران عادی گیمرها شرکتها و سازمانهای معمولی |
دستهبندی کاربران | Regular Root Service account | Administrator Standard Child Guest |
جمعبندی
لینوکس چیست؟ سیستمعاملی که به لطف منبعباز بودن و امنیت بالایی که دارد، در حدود 90% از ابررایانههای جهان استفاده میشود. اندروید، آمازون کیندل (amazon kindle) و تلویزیونهای هوشمند نیز از این سیستمعامل بهرهمند هستند. هر چند که لینوکس برای کاربران عادی رایانهها بهترین انتخاب نیست؛ اما برای توسعهدهندگان و برنامهنویسان و راهاندازی سرورها یا رایانش ابری و… قطعاً یکی از بهترینها است.
سؤالات متداول
1. در یک تعریف خلاصه، لینوکس چیست؟
یک سیستمعامل متنباز، رایگان، سریع و امن است که از هسته (Kernel) بههمراه ابزارها و برنامههای لازم تشکیل شدهاست.
2. لینوکس بهتر است یا ویندوز؟
لینوکس سریعتر از ویندوز بوده و به دلیل امنیت و پایداری، برای کاربران حرفهای و محیطهای سروری مناسبتر است. اما ویندوز به دلیل سازگاری بیشتر با برنامههای مختلف، برای کاربران عادی بهتر است.
3. آیا میتوان لینوکس را روی ویندوز اجرا کرد؟
WSL یا Windows Subsystem for Linux همان یکی از ویژگیهای ویندوز است که اجازه میدهد بدون ماشین مجازی جداگانه یا بوت شدن دوگانه، محیط لینوکس را روی ویندوز داشته باشید.
4. معایب سیستمعامل لینوکس چیست؟
یادگیری کمی دشوار، ناسازگاری با بعضی از سختافزارها (به دلیل نبود درایورهای منبعباز) و نرمافزارهای تخصصی و جدیدتر و چالشی بودن انتخاب یک توزیع جامع.
5. کدام توزیع لینوکس مبتدیترین و کدام تخصصیترین است؟
در حال حاضر اوبونتو مبتدیترین و آرچ لینوکس (Arch Linux) تخصصیترین است.