سیستمعامل لینوکس همه جا هست، ازگوشیهای هوشمند گرفته تا اتومبیل، سوپر کامپیوترها، لوازم منزل، کامپیوترهای خانگی و سرورهای سازمانی.
لینوکس از اوایل دههی ۹۰ میلادی معرفی شد. کاربرانی از اقصی نقاط جهان اساس آن را تشکیل میدهند و اصطلاحاً User-base است.
لینوکس در واقع همه جا هست: در موبایل، ترموستات، اتومبیل، یخچال، دستگاههای Roku و تلویزیون خانهتان.
لینوکس بیشتر فضای اینترنت، ۵۰۰ سوپر کامپیوتر برتر جهان و بورس اوراق بهادار جهان را نیز اجرا میکند.
لینوکس پلتفرمِ محبوبِ کامپیوترهای خانگی، سرورها و سیستمهای تعبیهشده در سرتاسر جهان است.
بهعلاوه، قابل اطمینانترین، امنترین و بیدردسرترین سیستم عامل حال حاضر جهان نیز هست.
لینوکس چیست؟
لینوکس هم مانند ویندوز (Windows)، iOS و Mac OS (مک) یک سیستم عامل است. در واقع، یکی از معروفترین پلتفرمهای جهان، یعنی اندروید، بر پایهی سیستم عامل لینوکس است.
سیستم عامل، نرمافزاری است که تمامی منابع سخت افزاریِ کامپیوتر شخصی یا لپتاپ شما را مدیریت میکند.
به زبانی سادهتر، سیستم عامل مسئولِ ارتباطات بین سخت افزار و نرم افزار است. بدون داشتن سیستم عامل (OS)، نرم افزار عملکردی ندارد.
سیستم عامل لینوکس از قسمتهای مختلفی تشکیل شده است:
- Bootloader: نرم افزاری که مسئولیت فرایند بوت (Boot Process) کامپیوتر شما را به عهده دارد. بیشتر کاربران تنها یک صفحهی ورود (Splash Screen) را مشاهده میکنند که در ابتدا نمایش داده میشود و در نهایت جای خود را به سیستم عامل میدهد.
- Kernel: این همان قسمتی است که “لینوکس” نامیده میشود. کرنل هستهی (Kernel) سیستم است و CPU، حافظه و دستگاههای جانبی (Peripheral Devices) را مدیریت میکند. کرنل پایینترین سطح سیستم عامل است.
- Init System: یک زیر-سیستم برای بوتاسترپ کردن (Bootstrap) فضای کاربر است و مسئولیت مدیریت Daemonها را بر عهده دارد. یکی از پراستفادهترین سیستمهای init، systemd است که از طرفی بحثبرانگیزترین نیز هست. وقتی بوتینگ (Booting) اولیه از بوتلودر رد میشود (مثلاً GRUB یا Grand Unified Bootloader)، این سیستمِ init است که پس از آن فرایند بوت را مدیریت میکند.
- Daemons: سرویسهای پسزمینهای (Background Service) (پرینت (Printing)، صدا (Sound)، زمانبندی (Scheduling) و غیره) هستند که یا هنگام بوت شدن سیستم یا بعد از لاگ (Log) و ورود به صفحهی دسکتاپ راهاندازی میشوند.
- Graphical Server: زیر-سیستمی است که موارد گرافیکی را روی مانیتورتان نمایش میدهد. معمولاً به آن X server یا X میگویند.
- Desktop Environment: این همان قسمتی است که کاربران با آن تعامل دارند. محیطهای دسکتاپ مختلفی هستند که میتوانیم انتخاب کنیم (GNOME، Cinnamon، Mate، Pantheon، Enlightenment، KDE، Xfce و غیره). هر محیط دسکتاپ دارای اپلیکیشنهای توکار (Built-In Applications) است (مثل مدیر فایل (File Manager)، ابزارهای کانفیگریشن (Configuration)، مرورگرهای وب و بازیها)
- Application: محیطهای دسکتاپ مجموعهای کامل از اپلیکیشنها را برایتان فراهم نمیکنند. لینوکس نیز مانند ویندوز و macOS، هزاران هزار نرمافزار با کیفیت دارد که میتوانید به سادگی پیدا و نصب کنید. توزیعهای رایجتر لینوکس، که در ادامه به معرفی آنها میپردازیم، ابزارهایی شبیه App Store دارند که اپلیکیشنها را در یک جا جمع و نصبشان را راحتتر میکنند. برای مثال، توزیع اوبونتو (Ubuntu) لینوکس، Ubuntu Software Center را دارد (یک نسخهی اصلاح شده از نرمافزار GNOME) که به کاربر این امکان را میدهد که در یک محیط متمرکز، در میان هزاران برنامه بگردد و برنامهی موردنظر خود را انتخاب و نصب کند.
چرا از لینوکس استفاده کنیم؟
این سؤالی است که بیشتر مردم میپرسند.
چرا وقتی که سیستمهای عامل موجود روی بیشتر کامپیوترهای شخصی، لپتاپ و سرورها به خوبی کار میکنند، به خودمان زحمت یادگیری یک محیط محاسباتی کاملاً متفاوت را بدهیم؟
برای دادن پاسخ این سؤال، لازم است سؤالی دیگر مطرح کنیم.
آیا سیستم عامل کنونی شما واقعاً خیلی خوب کار میکند؟
یا درگیر مشکلاتی مثل ویروس (Viruse)، بدافزار (Malware)، سرعت پایین، خرابی، تعمیرات پرهزینه و هزینههای خرید لایسنس (Licensing Fee) هستید؟
اگر مشکلات بالا را دارید، لینوکس بهترین پلتفرم برای شماست.
لینوکس به یکی از قابل اعتمادترین اکوسیستمهای کامپیوتری جهان بدل شده است. این قابلیت اعتماد بالا و هزینهی رایگانِ استفاده، در کنار هم، به شما بهترین پلتفرم دسکتاپ را میدهند.
درست خواندید…هزینهی رایگان.
میتوانید لینوکس را، بدون پرداخت هزینهی نرمافزار یا لایسنس سرور، روی هر تعداد کامپیوتر که میخواهید نصب کنید.
مقایسهی هزینهی سرورهای لینوکس و سرورهای ویندوز
بیایید مقایسهای داشته باشیم بین هزینهی سرورهای لینوکس و سرورهای ویندوز در سال ۲۰۱۶.
هزینهی خرید Windows Server 2016 Standard edition 882 دلار امریکاست (که مستقیماً از شرکت Microsoft خریداری شده است).
این هزینه تنها برای خرید سرور است و شامل هزینههای دیگر مثل Client Access License) CALs) و خرید لایسنس سایر نرمافزارهای موردنیاز نمیشود (مثل پایگاه داده، وب سرور، میل سرور و …).
مثلاً، هزینهی خرید یک CAL تک کاربره (Single User) برای Windows Server 2016 معادل ۳۸ دلار امریکاست.
اگر بخواهید ۱۰ کاربر دیگر نیز اضافه کنید، باید ۳۸۸ دلار دیگر نیز برای خرید لایسنس نرم افزاری سرور بپردازید. اما برای سرورهای لینوکس، تمامی این هزینهها رایگان است و به راحتی قابل استفادهاند.
در واقع با استفاده از چند دستور خط فرمان یا چند کلیک میتوانید یک وب سرور کامل (که دارای یک سرور پایگاه داده است) را به راحتی نصب کنید.
اگر رایگان بودن دلیل کافی برای قانع شدنتان نیست، نظرتان چیست به داشتن سیستم عاملی فکر کنید که بدون هیچ مشکلی و تا هر زمانی که دلتان بخواهد، کار میکند؟
به طور کلی لینوکس در مقابل مشکلاتی مثل باج افزار (Ransomware)، بدافزار یا ویروس مقاومت بیشتری دارد.
از طرفی، فقط زمانی که کرنل را آپدیت کرده باشید، لازم است سرورها را ریبوت کنید. خیلی وقتها یک سرور لینوکسی سالها بدون ریبوت شدن کار میکند.
تنها کافی است که آپدیتهای معمولی را، که سیستم پیشنهاد میکند، انجام دهید و اینطور میتوانید از عملکرد درست سرور مطمئن باشید.
متن باز (Open Source)
لینوکس تحت لایسنسی متنباز توسعه مییابد. “متنباز” از اصول زیر پیروی میکند:
- آزادی اجرای برنامه به هر منظوری
- آزادی مطالعهی شیوهی عملکرد برنامه و تغییر آن در جهت کارکرد بهتر
- آزادی انتشار مجدد کپیهای موجود برای کمک به دیگران
- آزادی انتشار و دادنِ، نسخهای که تغییر دادهاید، به دیگران
این نکات برای شناخت انجمنی، که اعضای آن در کنار هم برای ساخت پلتفرم لینوکس تلاش میکنند، بسیار مهماند.
بیشک، لینوکس سیستم عاملی است که “مردم آن را میسازند و آن را برای خودشان میسازند”.
بهعلاوه، اصول بالا دلایل اصلی مردم برای انتخاب لینوکس نیز هستند. دلیل اصلی داشتن آزادی است؛ آزادی استفاده و آزادی انتخاب.
“توزیع” چیست؟
لینوکس نسخههای مختلفی دارد تا برای اقشار مختلف جامعه مناسب باشد. چه کاربری ساده باشید و چه حرفهای، لینوکس “Flavor”ای دارد که به کارتان میآید.
به این نسخههای مختلف لینوکس توزیع (Distribution یا “Distros”) میگویند.
میتوانید تقریباً همهی نسخههای لینوکس را رایگان دانلود کنید، روی یک دیسک (یا Flash) رایت (Burn) و سپس نصب کنید (روی هر تعداد ماشین که دوست دارید).
در زیر لیستی از توزیعهای معروف لینوکس را میبینید:
- LINUX MINT
- MANJARO
- DEBIAN
- UBUNTU
- ANTERGOS
- SOLUS
- FEDORA
- ELEMENTARY OS
- OPENSUSE
هر توزیع، ظاهرِ دسکتاپِ متفاوتی بعد از نصب دارد. بعضی از آنها دارای واسطهای کاربری (User Interface) بسیار مدرنی هستند (مثل GNOME و Pantheon برای Elementary OS) و برخی محیطهای دسکتاپ سنتی را ترجیح میدهند (openSUSE از KDE استفاده میکند).
البته فکر نکنید که سیستمهایِ عاملِ سرور از کامپیوترهای شخصی عقب ماندهاند. برای این منظور میتوانید به سراغ گزینههای زیر بروید:
- Red Hat Enterprise Linux
- Ubuntu Server
- Centos
- SUSE Enterprise Linux
برخی از توزیعهای سرور بالا رایگانند (مثل Ubuntu Server و Centos) و برای برخی باید هزینهای بپردازید (مثل Red Hat Enterprise Linux و SUSE Enterprise Linux).
نسخههای پولی دارای پشتیبانی نیز هستند.
چه توزیعی مناسب شماست؟
پاسخ این سؤال، به سه سؤال زیر بستگی دارد:
- در استفاده از کامپیوتر چقدر مهارت دارید؟
- چه نوع واسط دسکتاپی را بیشتر دوست دارید؟ مدرن یا استاندارد؟
- سرور یا کامپیوتر شخصی؟
اگر مهارتتان در استفاده از سیستمهای کامپیوتری ابتدایی است، بهتر است توزیعی را انتخاب کنید که دارای محیطی مناسب برای تازهکارهاست، مثل Linux Mint، Ubuntu، Elementary OS یا Deepin.
اگر مهارتتان بالاتر از سطح متوسط است، میتوانید از توزیعهایی مثل Debian یا Fedora استفاده کنید.
و اگر در استفاده از سیستمهای کامپیوتری و Administration سیستم استادید، بهتر است از Gentoo استفاده کنید.
اگر هم میخواهید خود را به چالش بکشید، میتوانید با کمک Linux From Scratch توزیع لینوکس مخصوص خود را بسازید.
اگر به دنبال توزیعِ مخصوصِ سرور هستید، ابتدا بهتر است تصمیم بگیرید که، آیا واسط دسکتاپ میخواهید یا اینکه قصد دارید تمام کارها را با استفاده از خط فرمان (Command Line) انجام دهید.
Ubuntu Server واسط گرافیکی کاربر (GUI) ندارد. در نتیجه، هم سرور شما به دلیل لود کردن واسط گرافیکی کند نمیشود و هم اینکه باید دانش مناسبی از خط فرمان لینوکس داشته باشید.
البته میتوانید با استفاده از یک خط کد، مثل کد زیر، یک پکیج GUI را روی Ubuntu Server خود نصب کنید:
ادمینهای سرور نیز با توجه به قابلیتهایی خاص به دنبال توزیع میگردند.
آیا توزیع ِمخصوصِ سروری میخواهید که تمام چیزهای لازم را برای سرورتان آماده کند (Out-of-the-box)؟ اگر پاسخ مثبت است، Centos بهترین انتخاب برای شماست.
یا به دنبال توزیع مخصوصِ PC هستید و میخواهید خودتان طبق نیاز چیزهایی را به آن اضافه کنید؟ در این صورت Debian یا Ubuntu Linux گزینههای مناسبی هستند.
نصب لینوکس
شاید برای خیلی از شماها نصب یک سیستم عامل ایدهای خوفناک به نظر برسد. ممکن است باورتان نشود، اما لینوکس یکی از سیستمعاملهایی است که نصب آسانی دارد.
در واقع، بیشتر نسخههای لینوکس قابلیتی با نام “Live Distribution” را عرضه میکنند.
با این قابلیت میتوانید سیستم عامل را با استفاده از یک CD/DVD یا Flash اجرا کنید و دیسک سخت (Hard Disk) سیستم را تغییر ندهید. در این صورت سیستمعامل شما، کارایی کامل را بدون نصب دارد.
وقتی امتحانش کردید و خواستید آن را نصب کنید، تنها کافی است روی آیکون “Install” کلیک کنید و یکی از سادهترین مراحل نصب را طی کنید.
مراحل نصب لینوکس
معمولاً برای نصب باید مراحل زیر را طی کنید (در اینجا مراحل نصب Ubuntu Linux را عنوان میکنیم):
- Preparation: ابتدا مطمئن شوید که سیستم شما، امکانات سختافزاری لازم برای نصب را دارد. در این مرحله ممکن است از شما پرسیده شود که آیا قصد نصب نرمافزار شخص سوم را دارید؟ (مثل Pluginهایی برای اجرای فایلهای MP3، کدکهای ویدئو (Video Codec) و …).
- Wireless setup (در صورت نیاز): اگر از یک لپتاپ استفاده میکنید (یا دستگاهی که وایرلس دارد)، برای دانلود نرمافزارهای شخص سوم و آپدیتها باید به اینترنت وصل شوید.
- Hard Drive Allocation: این مرحله به شما اجازه میدهد که نحوهی نصب سیستم عامل را انتخاب کنید. آیا میخواهید لینوکس را در کنار یک سیستم عامل دیگر نصب کنید (گزینهی “Dual Booting”)؟ آیا میخواهید از کل فضای هارد استفاده کنید؟ آیا میخواهید نسخهی کنونی لینوکستان را آپگرید (Upgrade) کنید؟ آیا میخواهید نسخهای جدید را روی نسخهی کنونی لینوکستان نصب کنید؟
- Location: موقعیت مکانی خود را روی نقشه انتخاب کنید.
- Keyboard Layout: کیبورد سیستم را انتخاب کنید.
- User Setup: نام کاربری (Username) و رمز عبور (Password) خود را انتخاب کنید.
همین بود. وقتی سیستم نصب را به پایان رساند، آن را reboot کنید و پس از آن میتوانید از سیستم استفاده کنید. برای راهنماییهای بیشتر میتوانید فایل PDF راهنمای نصب لینوکس را از Linux Foundation دانلود کنید.
نصب نرمافزار در لینوکس
نصب نرمافزار نیز در لینوکس به سادگی نصب خود سیستم عامل است. بیشتر توزیعهای مدرن لینوکس دارای فضایی هستند که میتوانیم به آن App Store بگوییم.
App Store فضایی متمرکز است که میتوانید در آن به دنبال نرمافزار موردنظر خود بگردید و آن را نصب کنید. Ubuntu Linux (و بسیاری از توزیعهای دیگر) به نرمافزار GNOME متکی هستند.
Elementary OS، AppCenter را دارد. در Deepin، Deepin Software Center چنین فضایی را فراهم میکند.
در openSUSE به دنبال AppStore باشید و برخی از توزیعهای دیگر نیز از Synaptic برای این منظور استفاده میکنند.
در مثالهای بالا تنها نامها با هم فرق دارند، اما در عمل همهی آنها کاری مشابه انجام میدهند؛ فضایی متمرکز که میتوانید در آن به دنبال نرم افزار موردنظرتان بگردید و آن را نصب کنید.
البته درنظر بگیرید که این نرمافزارها در صورت وجود یک GUI قابل استفادهاند. اگر سرورتان GUI ندارد، باید برای نصب یک نرم افزار از خط فرمان استفاده کنید.
در ادامه به دو ابزار متفاوت برای نصب نرم افزار در خط فرمان اشاره میکنیم.
خیلی زود میبینید که حتی نصب نرم افزار با استفاده از خط فرمان نیز بسیار ساده است.
مثالهای زیر برای توزیعهای مرتبط به Debian و Fedora است.
در distroهای دبیان از apt-get استفاده میکنیم و در distroهای فدورا از yum. هر دو عملکردی مشابه دارند.
نحوهی استفاده از دستور apt-get را در ادامه با هم میبینیم.
فرض کنیم که میخواهید ابزار wget را نصب کنید (که ابزاری کاربردی برای دانلود فایل با استفاده از خط فرمان است).
برای نصب این ابزار با استفاده از apt-get، باید از کد زیر استفاده کنید:
sudo apt-get install wget?
از دستور sudo استفاده کردیم، چون برای نصب نرم افزار به مجوزهای یک super user نیاز دارید.
برای نصب همین نرم افزار در توزیعهای فدورا، اول باید یک super user شوید (تنها کافی است دستور su را در خط فرمان تایپ کنید و سپس رمزعبور root را وارد کنید) و سپس دستور زیر را اجرا کنید:
yum install wget
برای نصب نرم افزار در لینوکس تنها به همین دستورات نیاز دارید. آنقدرها هم که فکر میکردید سخت نبود.
هنوز شک دارید؟
sudo taskel
با یک خط کد میتوانیم یک LAMP کامل را (Linux Apache MySQL PHP) روی توزیع سرور یا کامپیوتر شخصی نصب کنیم.
به همین سادگی.
نتیجهگیری
خلاصه اینکه اگر به دنبال قابل اعتمادترین، امنترین و مطمئنترین پلتفرم برای PC و سرور هستید، تنها کافی است در توزیعهای مختلف لینوکس به دنبال انتخاب مناسب خود باشید.
با استفاده از لینوکس مطمئنید که PCهایتان مشکلی ندارند، سرورهایتان همیشه Up هستند و درخواستهای پشتیبانیتان به حداقل میرسند.
عالی بود