لینوکس چیست؟
شاید قبلا از لینوکس استفاده کردهاید و خودتان خبر ندارید. این سیستم در همه جا از گوشیها گرفته تا خودروها، سوپرکامپیوترها، لوازم خانگی، کامپیوترهای خانگی و سرورهای شرکتی وجود دارد. عمر این سیستم به دهه 1990 می رسد و تا به امروز در سراسر جهان توسعه پیدا کرده است.
این سیستم، غالب حجم اینترنت جهانی را اداره میکند. در حدود دو سوم از صفحات وب در اینترنت به وسیله سرورهای لینوکس تولید شدهاند. در حدود 500 سوپر کامپیوتر برتر جهانی از این سیستم بهره می برند و بازار بورس جهانی را اداره میکنند. بعلاوه این سیستم را باید به عنوان یکی از معتبرترین و امن ترین سیستمها در نظر گرفت.
لینوکس هم مثل ویندوز، iOS و Mac OS نوعی سیستم عامل است. در واقع اندروید به عنوان یکی از محبوب ترین پلتفرمهای روی زمین از سیستم عامل لینوکس استفاده میکند. سیستم عامل، نرم افزاری برای مدیریت تمامی منابع سخت افزاری مرتبط با دسکتاپ یا لپ تاپ است. سیستم عامل، روابط میان نرم افزار و سخت افزار را مدیریت میکند. نرم افزار بدون وجود سیستم عامل operating system (OS) قادر به فعالیت نیست. در این مقاله شما را با مفاهیم اصلی لینوکس، نسخهها و نحوه نصب آن آشنا خواهیم کرد.
تاریخچه لینوکس
لینوس توروالدز (Linus Torvalds) دانشجوی دانشگاه هلسینکی در سال 1991، لینوکس را ابداع کرد. او این سیستم را به عنوان جایگزین Minix که در موقعیتهای آموزشی به کار میرفت، اختراع کرد. مینیکس یکی از نمونههای شبیه سازی شده از یونیکس (Unix) بود. مدیر پروژه اسم کوچک توروالدز را با یونیکس ترکیب کرد و به لینوکس رسید.
لینوکس چه فرقی با یونیکس دارد؟
یونیکس سیستم عامل تولیدی در دهه 1970 بود. سیستم یونیکس و لینوکس بسیار شبیه به هم هستند. هر دوی آنها دارای ابزارهای مشابه برای برقراری ارتباط با سیستم، ابزارهای برنامه نویسی، چیدمان فایلها، و سایر مؤلفههای کلیدی هستند. با این تفاوت که همه یونیکسها، رایگان و اپن سورس نیستند. بعد از دهه هفتاد سیستم عاملهای بسیاری مشابه یونیکس تولید شدند که لینوکس در این بین به بیشترین موفقیت و محبوبیت رسید.
اجزای سیستم عامل لینوکس (Linux)
سیستم عامل لینوکس اجزای مختلفی دارد که در ادامه به معرفی آنها میپردازیم:
1.Bootloader: نرم افزاری که فرایند بوت شدن کامپیوترتان را مدیریت میکند، بوت لودر نام دارد. اغلب کاربران این قابلیت را به صورت صفحه نمایش آغازین (Splash screen) قبل از بوت شدن سیستم عامل، مشاهده میکنند.
2.Kernel: کلیت لینوکس را تشکیل میدهد. کرنل، هسته سیستم است و CPU، حافظه و ابزارهای جانبی را مدیریت میکند. کرنل پایین ترین سطح سیستم است.
3.Init System: این زیر سیستم (Sub-System) فضای کاربر را بوت استرپ (boot strap) نموده و از Controlling deamons نیرو میگیرد. یکی از پرکاربردترین Init Systemها تحت عنوان Systemd شناخته میشود. البته Systemd عملکرد بسیار بحث برانگیزی دارد. این سیستم فرایند بوت شدن را از زمان بوت اولیه در bootloader مدیریت میکند (مثل GRUB یا Grand Unified Bootloader).
مطلب پیشنهادی: اینترنت اشیا چیست؟
4.Deamons: شامل خدمات پس زمینهای است ( مثل پرینت گرفتن، صدا، برنامه زمانی و غیره) که در طول بوت شدن و بعد از وارد شدن به فضای دسکتاپ آغاز میشوند.
5.Graphical Server: این زیر سیستم، گرافیکهای روی مانیتور را به نمایش در میآورد. به این سرور، Xserver یا X هم گفته میشود.
6.Desktop environment: کاربران با این محیط در تعامل قرار دارند. محیطهای دسکتاپ زیادی مثل GNOME،Cinnamon، Mate، Pantheon، Enlightenment، KDE، Xfce و غیره وجود دارند. هر محیطی دارای اپلیکیشنهای خاص خودش مثل فایل منیجرها، ابزارهای Configuration، مرورگرهای وب، بازیها و غیره است.
7.Applications: محیط دسکتاپ تمامی اپلیکیشنها را در اختیار ندارد. لینوکس هم مثل ویندوزها و macOS صدها نرم افزار بسیار با کیفیت را ارائه میکند که به راحتی پیدا شده و قابل نصب هستند. اغلب نسخههای مدرن لینوکس (Linux distributions) حاوی ابزارهایی مشابه App Store هستند که مرکز گردآوری اپلیکیشنها برای دانلود کردن و نصب است. برای مثال Ubuntu Linux دارای Ubuntu Software Center است که امکان جستجو در میان صدها اپلیکیشن و نصب آنها را فراهم میکند.
چرا باید از لینوکس استفاده کرد؟
اغلب مردم از خودشان میپرسند: هنگامی که سیستم عامل اغلب دسکتاپها، لپ تاپها و سرورها به خوبی کار میکند، چرا باید با محیط کامپیوتری دیگری آشنا شویم؟ قبل از پاسخ به این پرسش، از خودتان بپرسید: آیا سیستم عاملی که در حال حاضر با آن کار میکنید، سالم است؟ یعنی مشکلی مثل ویروسها، بدافزار، کندی، کرش، تعمیرات پر هزینه و هزینههای صدور مجوز ندارد؟
اگر با مشکلات فوق مواجه هستید، پس لینوکس برایتان مناسب است. این سیستم عامل یکی از اکوسیستمهای کامپیوتری بسیار معتبر در سراسر جهان است. علاوه بر این اعتبار، نیازی به پرداخت هزینه بابت ورود به این سیستم نیست. میتوانید Linux را بدون پرداخت هزینه نرم افزاری یا مجوز سرور روی هر تعداد کامپیوتر نصب کنید.
برای مثال هزینه سرور ویندوز در سال 2016 برابر با 882 دلار بود. این نسخه فاقد مجوز دسترسی مشتری (CALs) و سایر نرم افزارهای مورد نیاز بود. یعنی اگر میخواستند که 10 کاربر دیگر هم به این سیستم دسترسی پیدا کنند، باید 388 دلار دیگر هم هزینه میکردید. تمامی این امکانات در سیستم Linux رایگان است.
اگر رایگان بودن این سیستم، توجه شما را جلب نمیکند پس به عملکردش توجه کنید. مدت زمان طولانی و عاری از هر گونه مشکل با این سیستم کار خواهید کرد. آسیب پذیری کمی در برابر حملات ویروسی و بدافزاری دارد. تنها باید کرنل را به روز رسانی کنید. سرور Linux سالها بدون ریبوت (reboot) شدن کار میکند. اگر به روزرسانیهای پیشنهادی سیستم را انجام دهید به سیستمی با ثبات و مطمئن میرسید.
مجوز اپن سورس
لینوکس تحت مجوز اپن سورس هم منتشر شده است. سیستم اپن سورس دارای ویژگیهای زیر است.
- برای هر هدفی میتوانید برنامه را اجرا کنید.
- نحوه عملکرد برنامه را آزادانه مطالعه کرده و آن را مطابق میلتان تغییر میدهید.
- نسخههایی از برنامه را بازنشر میدهید تا به اطرافیان هم کمک کنید.
- میتوانید نسخههای اصلاح شده برنامه را در اختیار دیگران قرار دهید.
بدون شک، سیستم عامل Linux در اختیار انسان و در حمایت از او تهیه شده است. ویژگیهای فوق عامل اصلی در انتخاب این سیستم عامل است. پس در استفاده از این سیستم، دستتان باز است.
مفهوم distribution چیست؟
لینوکس دارای نسخههای مختلف برای کاربران مختلف است. کاربران تازه کار تا حرفهای میتوانند سیستم متناسب با نیازهایشان را پیدا کنند. این نسخهها را distributions مینامیم که به طور خلاصه distros هم نامیده میشوند. هر نسخهای از این سیستم، قابل دانلود رایگان، قابل ذخیره روی دیسک USB و قابل نصب روی هر تعداد دستگاه است.
نسخههای محبوب لینوکس به شرح زیر هستند:
- LINUX MINT
- MANJARO
- DEBIAN
- UBUNTU
- ANTERGOS
- SOLUS
- FEDORA
- ELEMENTARY OS
- OPENSUSE
هر نسخه، ظاهر متفاوتی روی دسکتاپ دارد. برخی برای رابطهای کاربری بسیار مدرن (مثل GNOME و Elementary OS’s Pantheon) مناسب هستند. در حالی که سایر آنها برای محیطهای قدیمی دسکتاپ (مثل openSUSE از KDE استفاده میکند) مناسب هستند.
البته به سرور مناسب هم توجه کنید. در این حوزه میتوانید به موارد زیر مراجعه کنید:
- Red Hat Enterprise Linux
- Ubuntu Server
- Centos
- SUSE Enterprise Linux
برخی از نسخههای سرور فوق رایگان هستند (مثل Ubuntu Serbver و Cent OS) و برخی هم قیمت خاص خودشان را دارند (مثل Red Hat Enterprise Linux و SUSE Enterprise Linux). قیمت مشخص شده برای این سرورها، خدمات پشتیبانی از مشتری را پوشش میدهد.
کدام نسخه برایتان مناسب است؟
نسخه مناسب کارتان، وابسته به پاسخ پرسشهای زیر است؟
- چقدر مهارت کار با کامپیوتر دارید؟
- آیا رابط دسکتاپ استاندارد یا مدرن را ترجیح میدهید؟
- آیا سرور دسکتاپ میخواهید؟
اگر مهارتهای کامپیوتر شما بسیار مبتدیانه است، پس از نسخههای Linux Mint، Ubuntu، Elementary یا Deepin استفاده کنید که مناسب تازه کارها است. اگر مهارتهای شما بالاتر از سطح متوسط است به نسخههای Debian یا Fedora نیاز دارید. با این حال اگر متخصص تولید کامپیوتر و نسخههای سیستمی هستید، پس از نسخههایی مثل Gentoo استفاده کنید. اگر هم به دنبال چالش واقعی هستید، نسخه لینوکس خاص خودتان را با کمک Linux From Scratch بسازید.
اگر تنها به دنبال نسخه سرور هستید باید نیازمندی یا عدم نیاز به رابط دسکتاپ را مشخص کنید. شاید میخواهید فقط از خط فرمان استفاده کنید. نسخه Ubuntu Server فاقد رابط GUI است. پس سرور شما، گرافیکها را بارگذاری نخواهد کرد و به دانش خط فرمان لینوکس نیاز دارید. با این حال میتوانید پکیج GUI را روی سرور Ubuntu نصب کنید.
کاربران سیستم، هر نسخه را با توجه به ویژگیهایش مورد بررسی قرار میدهند. آیا به نسخه سرور خاصی نیاز دارید تا تمامی نیازهای سروری شما را تأمین کند؟ در این صورت CentOS برایتان ایده آل است. شاید هم میخواهید تم مدنظرتان را به نسخه دسکتاپ اضافه کنید. در این صورت Debian یا Ubuntu Linux برایتان مناسب است.
مطلب پیشنهادی: رزبری پای (Raspberry Pi) چیست؟
نصب لینوکس
بسیاری از افراد، نصب سیستم عامل را کاری بسیار دشوار میدانند. یکی از آسان ترین نصبها در بین تمامی سیستم عاملها متعلق به Linux است. اغلب نسخههای لینوکس دارای Live Distribution هستند. یعنی بدون اعمال هرگونه تغییر روی هارد درایو میتوانید سیستم عامل را از روی CD/DVD یا USB نصب کنید. بدون نصب هم میتوانید به طور کامل از آن استفاده کنید. هنگامی که آن را امتحان کردید و تصمیم به استفاده گرفتید به راحتی با دو بار کلیک روی آیکون «Install» و طی مسیر ساده آن را نصب میکنید.
این فرایند نصب حاوی گامهای زیر (در نصب Ubuntu Linux) است:
- آماده سازی: دستگاهتان به پیش نیازهای نصب نیاز دارد. این پیش نیازها در زمان نصب هر نرم افزار دیگری (مثل پلاگینهای پخش MP3، کدهای ویدئو و غیره) هم مورد نیاز است.
- وایرلس (در صورت لزوم): اگر از لپ تاپ (یا دستگاه دارای وایرلس) استفاده میکنید باید برای دانلود نرم افزارها و آپدیتها به شبکه متصل شوید.
- هارد درایو: در این گام محل نصب سیستم عامل را مشخص میکنید. آیا لینوکس را در کنار سیستم عامل دیگر (dual booting) نصب میکنید؟ آیا از کل هارد درایو استفاده میکنید؟ آیا نسخه فعلی را به روزرسانی میکنید یا آن را به جای نسخه فعلی نصب میکنید؟
- Location : موقعیت مکانی خودتان را از روی نسخه مشخص کنید.
- چیدمان کیبور: کیبورد سیستم خودتان را مشخص کنید.
- User Setup: یوزر و پسورد سیستم خودتان را مشخص کنید.
هنگامی که سیستم نصب شد، ریبورت کرده و به کارتان برسید.
نصب نرم افزار روی سیستم لینوکس
این کار هم مثل نصب کل سیستم، ساده است. اغلب نسخههای لینوکس دارای فروشگاه app هستند. در اینجا نرم افزار مورد نیازتان را جستجو و نصب میکنید. سستم Ubuntu (و بسیاری از نسخههای دیگر) که مبتی بر نرم افزار GNOME در سیستم عامل Elementry هستند دارای AppCenter هستند. نسخه Deepin دارای Deepin Software Center، Open USE دارای اپ استور اختصاصی و برخی از نسخهها هم از Synaptic استفاده میکنند.
همه این فروشگاهها فارغ از نامشان، کار مشابهی انجام میدهند. آنها مرکزی برای نصب نرم افزار لینوکس هستند. البته نصب این نرم افزارها وابسته به حضور GUI است. سرورهای فاقد GUI برای نصب نرم افزارها نیازمند رابط خط فرمان هستند.
برای سهولت کار با نصب از طریق خط فرمان، نگاهی به دو ابزار مختلف میاندازیم. نسخههای مبتنی بر Debian از ابزار apt-get جهت نصب نرم افزار استفاده میکنند. نسخههای مبتنی بر Fedora هم به ابزار yum نیاز دارند. عملکرد هر دو ابزار بسیار مشابه است. کاربرد فرمان apt-get را در ادامه نشان میدهیم. برای مثال میخواهید wget tool را نصب کنید (که ابزاری مناسب برای دانلود فایلها از خط فرمان است). فرمان نصب این ابزار با کمک apt-get به شکل زیر است:
فرمان Sudo اضافه میشود، چون برای نصب نرم افزار به مزایای Super User نیاز دارید. به همین صورت برای نصب نرم افزار مشابه روی نسخه مبتنی بر Fedora هم اول باید Super User را Su کنید ( یعنی دستور Su را صادر کرده و پسورد root را وارد میکنید) و فرمان زیر را وارد کنید:
این تمام کاری است که باید برای نصب نرم افزار روی دستگاه لینوکس انجام دهید. با فرمان ساده زیر هم میتوانید Lamp Server Installation را فراخوانی کنید:
میتوانید سرور کامل LAMP ( Linux Apache MySQL PHP) را روی نسخه سرور یا دسکتاپ نصب کنید که کاری کاملا ساده است.
به جمع برنامهنویسان کارلنسر بپیوندید!
در نهایت . . .
لینوکس یکی از پرکاربردترین و معروف ترین سیستمهای عامل در دنیا است. این سیستم اپن سورس و رایگان در اختیار عموم کاربران با هر مهارتی قرار دارد. نسخههای مختلف در این سیستم دارای امکانات نرم افزاری مختلف و قابلیت سفارشی سازی برای مصارف مختلف هستند. منابع آموزشی مختلفی در زمینه این سیستم عامل وجود دارد که برای کسب اطلاعات بیشتر میتوانید از آنها استفاده کنید. همچنین میتوانید با تدریس خصوصی لینوکس در کارلنسر، از آموزش آنلاین لینوکس بهرهمند شوید. منتظر نظرات شما هستیم.
مطلب پیشنهادی: گیت چیست؟
منابع
https://www.linux.com/what-is-linux
https://opensource.com/resources/linux
دیدگاه شما