آشنایی با سیستم عامل لینوکس
پیش از آشنایی با لینوکس، باید بدانیم که سیستم عامل چیست. سیستم عامل برقرار کننده ارتباط بین کاربر و سختافزار است. البته کابران با خود سیستم عامل هم خیلی سروکار ندارند و با نرمافزارهای آن سروکار دارند. حال اگر بخواهیم بدانیم لینوکس چیست، باید بگوییم که لینوکس درواقع یک کرنل یا هسته است که سیستم عامل گنو/لینوکس را نیرو میدهد. سیستم عامل گنو/لینوکس درواقع به همان لینوکس معروف است. سیستم عامل از چندین لایه تشکیل شده که در مرکز آن کرنل یا هسته قرار دارد. کرنل یا هسته در سیستم عامل رابط بین سختافزار و نرمافزار است.
سیستم عاملهای ارائه شده توسط شرکت مایکروسافت که در سالیان مختلف ویرایشهای متفاوتی از آنها ارایه شده، عبارتند از:
MS-DOS, windows 95, windows NT, windows XP, windows 7, windows 10
شرکت اپل نیز از سیستم عامل MAC OS استفاده میکند که دارای ویرایشهای مختلفی میباشد.
حال برای آنکه بدانیم لینوکس چگونه شکل گرفت، باید بداینم یونیکس چیست و چه تفاوتی با لینوکس دارد.
در سال ۱۹۶۹ یک سیستم عامل به نام یونیکس(Unix) برای یک کامپیوتر به نام PDP-11 توسط دنیس ریچی(Dennis Ritchie) و کن تامسون(Ken Thompson) در آزمایشگاه AT&T ایجاد شد.
برای آنکه این سیستم عامل روی کامپیوترهای دیگر نیز اجرا شود، یونیکس به وسیله زبان C توسط آنها توسعه داده شد. بنابراین توزیعهای مختلفی از یونیکس ارائه شد. اما رایگان نبودند. در سال ۱۹۸۳ ریچارد استالمن از دانشگاه MIT پروژهای به نام GNU را شروع کرد. GNU یعنی GNU is not Unix. یعنی سیستم عاملی که همانند یونیکس باشد، اما خود یونیکس نباشد! بنابراین دنبال جنبشی بود که در آن نرمافزارها آزاد(free) باشند.
برای اینکه یک نرم افزار، آزاد (free software) باشد، باید ۴ آزادی را شامل شود:
۱- آزادی شماره صفر: اینکه بتوانیم یک برنامه را به هر قصدی اجرا کنیم. بعضی نرمافزارها از ما میپرسند که برای چه کاری نیاز به این نرمافزار داریم. ممکن است برای استفادههای دانشآموزی یا دانشجویی رایگان باشد و برای استفادههای تجاری نیاز به پرداخت مبلغی داشته باشد.
۲- آزادی شماره یک: اینکه بتوانیم بفهمیم نرمافزار چگونه کار میکند. مثلا برای نرمافزار ورد(Word) به یک فایل اجرایی (exe.) دسترسی داریم و به برنامهنویسی آن دسترسی نداریم. به عبارت دیگر آزادی شماره ۱ بیان میکند که به کد مرجع (source code) آن دسترسی داشته باشیم.
۳- آزادی شماره دو: دربارهی توزیع نرمافزار است. به عنوان مثال ویندوزی که خریداری میشود فقط روی همان تعداد سیستمی که لایسنس برای آنها خریداری شده نصب میگردد. اما آزادی ۱ این اجازه را میدهد که نرمافزار را به هرکسی که میخواهیم بدهیم.
۴- آزادی شماره سه: یک نرمافزار را بتواینم تغییر دهیم و آن را منتشر کنیم. بعضی نرمافزارها ممکن است اجازه تغییر به ما میدهند، اما شاید اجازه انتشار را ندهد.
مخالف نرمافزار آزاد، نرم افزار اختصاصی (Proprietary software) است. یعنی نرمافزاری که دسترسی به کد مرجع (Source code) آن نداشته باشیم و آزادیهای ذکر شده در بالا را نخواهیم داشت.
در اواسط دهه ۸۰، کن تامسون در دانشگاه برکلی یونیکس بی اس دی (BSD UNIX) را توسعه داد. یعنی یونیکسی که در آن از شبکه، یعنی پورتهای TCP/IP استفاده میشود. او این نسخه را بصورت رایگان در اختیار دانشگاهها و مؤسسات قرار داد. اما مورد شکایت AT&T قرار گرفت. در سال ۱۹۹۰ بنیاد نرمافزار باز توسط استالمن شکل گرفت.
در سال ۱۹۹۱ لینوس توروالدز(Linus Torvalds) سیستم عامل خود را توسعه داد و به بنیاد نرمافزارهای باز جهت بررسی ارائه داد. این سیستم عامل، بعدها لینوکس نامیده شد. استالمن مجوزی به نام GPL (GNUs General Public Licens) ارائه داد که مجوزی برای نرمافزارهای آزاد است. توروالدز نیز بستههای نرمافزاری گنو که شامل گواهی GPL بود را به سیستم عامل خود اضافه کرد و آنرا کاربردیتر نمود. عدم وجود این گواهی مانع بقای BSD شد.
تعریف نرمافزار متن باز(Open source)
متنباز راهی است تا همه مردم بتوانند برای توسعه یک نرمافزار یا به عبارتی ساخت یک پروژه، بدون نگرانی راجع به حقوق معنوی آن، مشکارت کنند. متنباز در توسعه نرمافزارها توسط نرمافزارهای آزاد بکار گرفته میشود. کد این نرمافزارها در اختیار عموم قرار میگیرد تا مردم برای بهبود و توسعه بتوانند از آنها استفاده کنند. دقت شود که نرمافزار آزاد حتماً متن باز است، اما نرمافزار متن باز میتواند آزاد نباشد. نرمافزارهایی که هم متن باز و هم آزاد باشند (FOSS- Free and Open source softwares) نامیده میشوند.
تا اینجا با لینوکس آشنا شدیم و چگونگی شکلگیری و توسعه آنرا بررسی کردیم. حال اگر سهم بازار برای سیستم عامل کامپیوترها البته از نوع شخصی را مشاهده کنیم، میبینیم که بالای ۹۰ درصد ویندوزی، حدود ۸ درصد مک و کمتر از دو درصد لینوکسی هستند. پس سوالی که پیش میآید این است که با توجه به سهم بازار، چرا باید از لینوکس استفاده کنیم؟
- Linux/Unix پایه سیستم عامل مک و تمامی سیستم عاملهای موبایلی (android,IOS) است.
- در تجهیزات مرتبط به کامپیوتر از جمله روترهای شبکه، اکسس پوینت وایفای و فایروالها کاربرد دارد.
- بیش از ۲/۳ بهترین وبسرورهای دنیا(که همانند شریانهای حیاتی هستند) لینوکسی هستند.
- لینوکس متنباز است.
- بسیاری از نرمافزارهای لینوکس رایگان است.
- یک جامعه پشت لینوکس است. نه اینکه کارمندان یک شرکت خاص پشت پرده مسائل مربوط به آن باشند.
- امنیت لینوکس بالاست. چون نرمافزار آزاد است پس یک جامعه روی آن نظارت دارد. بدین ترتیب که تمامی بررسیها و رفع باگها بطور مرتب انجام شده و همانند ویندوز نیست که کارمندان یک سازمان فقط روی آن نظارت داشته باشند. همچنین متن باز است و هرکدام از ما میتوانیم آن را بررسی کنیم و امنیت آن را مورد ارزیابی قرار دهیم. از سویی چون کاربران کمتری دارد، بنابراین هکرها و بدافزارهای کمتری نیز خواهد داشت و این موضوع نیز امنیت آن را بالا میبرد. نکته: با لینوکس دیگر مجبور نخواهید بود کامپیوتر خود را مدام از ویروسها و باجافزارها پاک کنید و اسیر پاپ آپها شوید.
- آپدیت نرمافزارهای لینوکس بطور مرتب در دسترس قرار میگیرند.
- چون میتوانیم با دستور کار کنیم میتوانیم کنترل بسیاری روی سیستم عامل داشته باشیم. فقط محدود به چند آیکون نیستیم.
- در بسیاری از صنایع و تکنولوژیهای دنیا کاربرد بسیاری پیدا کرده است. از جمله:
- ۵۰۰ ابر رایانهی برتر دنیا که روی ۹۸ درصد آنها لینوکس اجرا میشود.
- لوازم خانگی از جمله یخچال، ماشین لباسشویی و …
- تجهیزات نظامی
- سیستمهای کنترل ترافیک
- سیستمهای ماهوارهای
- اینترنت اشیاء
- صنایع غذایی
- سیاست
- آموزش و ….
در این بخش به نکاتی که کاربران قبل از شروع به کار با لینوکس باید به آنها توجه کنند، میپردازیم. این موارد شاید از ترس افراد برای ورود به این سیستم عامل جذاب بکاهند و راه را برای ورود افرا، هموارتر کنند.
میتوان لینوکس را بدون ریسک در محیط زنده آزمایش کرد
یکی از کاربردیترین توانمندیهای لینوکس، این است که کاربر میتواند بدون نصب آن بر روی سیستم و اعمال هیچ تغییری، با قرار دادن دیسک یا بارگذاری از روی حافظه فلش، به وسیله ایمیج حاوی توزیع مورد نظر لینوکس، آن را بر روی محیط زنده مورد آزمایش قرار دهد. پس از بوت شدن لینوکس، با دو گزینه که یکی از آنها استفادهی آزمایشی از دیسک زنده و آشنایی با محیط توزیع است، مواجه میشویم. در این مرحله شما میتوانید همهی بخشهای سیستمعامل را در سیستم خود مورد استفاده قرار دهید.
نیاز به نصب و تنظیم درایورها وجود ندارد
لینوکس بدون دخالت کاربر اقدام به شناسایی تمامی سختافزارها میکند و درصورت نیاز به تنظیم دستی، ابزاری برای این کار را به ما میدهد.
جایگزین مناسب برای اغلب برنامهها وجود دارد.
شاید نگرانی برای کاربران وجود داشته باشد که نرمافزارهای ویندوزی که کاربرد فراوانی دارد را چه کنند؟ باید در پاسخ به این سؤال بگوییم که لینوکس هم تعداد زیادی نرمافزار کاربردی را شامل میشود که نیازهای کاربران را تا حد زیادی برطرف میکند. برخی از این نرمافزارها عبارتند از:
- LibreOfiice شامل ورد، اکسل، پاورپوینت و … که نیازهای نوشتاری کاربران را برطرف میکند.
- TexStudio که یک نرمافزار لتک برای نوشتار حرفهای است.
- Firefox & Google chrome
- Thunderbird برای مدیریت ایمیل
- GIMP به عنوان فوتوشاپ لینوکس
- Inkscape به عنوان ایلاستریتور لینوکس
- ImageMagic برای ویرایش تصویر
- Audacity برای ویرایش صدا
- Blender جهت ویرایشگر ویدئو
- Internet service: شامل apache که یک وب سرور است. یعنی نرمافزاری که روی سرور نصب شده و مردم به وسیله آن سایتها را مشاهده میکنند. همچنین mySQL و PostgreSQL که پایگاه دادههایی هستند که امکان ذخیره دادهها با حجم بالا را برای ما فراهم میکنند.
- Postfix: سرور ایمیل به وسیله این نرمافزار ساخته میشود.
- ابزارهای برنامهنویسی شامل C, C++, objective C, java, Fortran, Ada, perl, Python, Tcl/Tk, Ruby, Lua, PHP و … بهوسیله لینوکس پشتیبانی میشوند.
- همچنین این نگرانیها در خصوص بازیها نیز صادق است. اما استیم در تلاش است تا این پلتفرم را به عنوان قطب بعدی بازیهای رایانهای معرفی کند و به رقابت با کنسولهای بازی بپردازد. لذا کمپانیهای بزرگ بازی سازی در آیندهای نه چندان دور ممکن است به این پلتفرم ورود کنند.(تصویر۱۱)
نصب و مدیریت نرمافزارها بسیار آسانتر است.
در لینوکس برخلاف ویندوز که برای یافتن نرمافزار باید اینترنت را زیرورو کنیم و دستی و تک تک به نصب بپردازیم، با یک مرکز و مخزن نرمافزاری سروکار داریم. این مخزن همانند گوگلپلی و اپاستور دسترسی به تمام نرمافزارها را در اختیار شما قرار میدهد و با کلیک روی نصب، تمامی مراحل به صورت خودکار انجام میگردد. همچنین تمامی بستهها با بروز رسانی سیستم عامل بروز شده و بر خلاف ویندوز، نیاز به دانلود و بروزرسانی تک تک آنها نیست.
ضرورتی برای استفاده از ترمینال وجود ندارد.
کاربرانی که تازه شروع به استفاده میکنند ممکن است از استفاده از ترمینال وحشت زده شوند. اما واقعیت این است که این روزها به دلیل توسعه محیط گرافیکی لینوکس، کاربران تازه وارد مجاب به استفاده از ترمینال نبوده و همانند ویندوز، میتوانند نیازهای خود را بهوسیله محیط گرافیکی رفع نمایند. اگرچه که استفاده از ترمینال یک مزیت است و بسیار توصیه میگردد.
پس از اینکه کاربر تصمیم گرفت که کار با لینوکس را شروع کند باید چه کند؟
انتخاب توزیع لینوکس
از آنجا که لینوکس برپایه گواهی GPL عرضه شده، هر شخص یا گروه میتواند در برنامهنویسی آن تغییر ایجاد کرده و آن را منتشر کند. بنابراین تعداد زیادی توزیع لینوکس ایجاد شدهاند. گسترش توزیعهای لینوکس در طول سالیان به سرعت انجام شده و امروز میتوان عنوان کرد که برای هر ذائقهای، توزیع مناسب وجود دارد. امروزه کمتر کسی پیدا میشود که بتواند گستردگی و حاکمیت لینوکس را زیر سوال ببرد.
برخی توزیعهای لینوکس توسط شرکتها تولید شدهاند و برای آنها باید پول پرداخت کنیم. همچنین برخی نسخهها نیز توسط مردم توسعه داده شده و میتوانیم برای آنها حمایت مالی (donate) پرداخت کنیم. برای آشنایی با توزیعهای مختلف لینوکس و آمار و ارقام آن میتوانیم به سایت https://www.distrowatch.com مراجعه کنیم.
- Redhat: شرکتی با نام تجاری RHL که توزیعهای متفاوتی از لینوکس را توسعه میدهد. معمولاً توزیعهایی که توسط Redhat توسعه مییابند برای شرکتها استفاده میگردند. توزیع Redhat نرمافزار آزاد است، اما هزینهای که دریافت میکند صرف رفع ایرادات سیستم عامل و بروزرسانیهای منظم آن میگردد. شرکتهای پیشرفته برای سرورهای خود از این سیستم عامل استفاده میکنند.پسوند فایلها در این توزیع rpm. است.
- Fedora: درواقع محیط آزمایشی Redhat است. این توزیع توسط Redhat کنترل میشود. بدین ترتیب که ابتدا نرمافزارهای Redhat ابتدا در قالب Fedora توزیع میشوند، سپس در صورت موفقیتآمیز بودن در Redhat توزیع میگردند.
- CentOS: توزیع مبتنی بر Redhat است، اما درواقع توسط کاربران یا جامعه ایجاد شده است( Community enterprise OS ).
- Debian: برخلاف Redhat توسط گروههای داوطلبانه ایجاد شده است و هدف آن این است که توزیعی با کیفیت و مبتنی بر جامعه داشته باشیم. در Debian، پکیجهای نرمافزاری پسوند deb. دارند. پس Debian توزیعی متفاوت از Redhat است.
- Ubuntu: یکی از معروفترین توزیعها و مبتنی بر Debian است و برای کاربرانی که به تازگی قصد استفاده از لینوکس را دارند توصیه میشود. این سیستم عامل هر ۶ ماه یک مرتبه بروزرسانی میشود. همچنین این سیستم عامل Long term service(LTS) است. یعنی نسخههای آن در طولانی مدت (برای نسخه Desktop به مدت ۳ سال و برای نسخه Server سرور ۵ سال) پشتیبانی میشود.
نصب لینوکس
پس از آنکه خود را آماده استفاده از لینوکس دیدیم میتوانیم آنرا نصب کنیم. نصب کردن آن برای کابران مزیتهای بیشتری دارد. همچنین میتواین تصمیم بگیریم که فقط از لینوکس استفاده کنیم یا بصورت بوت دوگانه (dual boot) در کنار ویندوز آن را داشته باشیم.
نصب نرم افزارهای بیشتر
همانطور که پیشتر توضیح داده شد در لینوکس برای نصب نرمافزار یک مرکز نرمافزاری داریم. در اوبونتو، (Ubuntu software center) وظیفه نصب نرمافزارها را به عهده دارد. این مرکز نرم افزاری بسیار شبیه به اپاستور اپل است. با این تفاوت که این سرویس خیلی پیشتر از این که توسط اپل معرفی شود در توزیعهای لینوکسی موجود بود و مورد استفاده کاربران قرار میگرفت.
اکنون اطلاعات ابتدایی برای شروع به کار با لینوکس را در اختیار دارید.
برخی نکات که باید راجع به لینوکس بدانیم.
لینوکس از جمله سیستمعاملهایی است که هر کسی از آن استفاده نمیکند. اما عاشقان این سیستمعامل، شاید تمامی کارهای خود را با آن انجام دهند. بروزرسانی نرم افزارها در لینوکس باید جدی گرفته شود، زیرا بسیاری از باگهای نرم افزاری به وسیله آنها رفع میگردد. در لینوکس به سرعت و با چند دستور ساده میتوان بروزرسانی را انجام داد. درون محیط فرمان یا ترمینال، دستورات زیر را وارد مینماییم:
sudo apt-get update
با این دستور جدیدترین اطلاعات در مورد نرمافزارهای نصب شده در رایانه خود را مشاهده میکنیم.
sudo apt-get upgrade
با این دستور همه نرم افزارهای نصب شده به جدیدترین نسخه بروزرسانی میشوند.
به همین راحتی توانستیم از طریق ترمینال لینوکس، تمامی نرمافزارهای خود را بروزرسانی کنیم.
همچنین گفتیم لینوکس امن است. چون نرمافزار آزاد است پس یک جامعه روی آن نظارت دارد. بدین ترتیب که تمامی بررسیها و رفع باگها بطور مرتب انجام شده و همانند ویندوز نیست که کارمندان یک سازمان فقط روی آن نظارت داشته باشند. همچنین متن باز است و هرکدام از ما میتوانیم آن را بررسی کنیم و امنیت آن را مورد ارزیابی قرار دهیم. همچنین چون کاربران کمتری دارد، بنابراین هکرها و بدافزارهای کمتری نیز خواهد داشت و این موضوع نیز امنیت آن را بالا میبرد. با لینوکس دیگر مجبور نخواهید بود کامپیوتر خود را مدام از ویروسها و باجافزارها پاک کنید و اسیر پاپ آپها شوید. در واقع نیازی به آنتیویروس نخواهیم داشت.
همانطور که پیش از این نیز ذکر شد، لینوکس در بسیاری از وبسرورها کاربرد دارد. اگر بخواهیم ادمین این وبسرورها شویم باید به طور حرفهای لینوکس را یاد بگیریم. مدارک لینوکس عبارتند از:
Linux essentials, LPIC1, LPIC2, LPIC3
اینها مدارک دورههای حرفهای لینوکس برای افرادی که نیازمند آموزش بصورت حرفهای هستند، است. این دورهها و تمامی اطلاعات مربوط به آن در وبسایت https://www.lpi.org/ موجود هست.
کلام آخر
اگرچه ویندوز ۱۰ مایکروسافت به عنوان موفقترین نسخه ویندوز شناخته شده و از نسخههای قبلی سریعتر است، همچنان یک ویندوز است و نسبت به ویروسها و بدافزارها مقاومت چندانی ندارد. همچنین متن باز بودن لینوکس بیانگر شفاف بودن آن است که نقش مهمی در محبوبیت آن دارد. لذا اگر قصد مهاجرت از ویندوز به لینوکس را گرفتهاید تصمیم هوشمندانهای در سر دارید. البته که یادگیری لینوکس را نمیتوان با خواندن یک یا چندین مطلب انجام داد و نیاز به تمرین و تلاش بسیار و کار کردن با خود سیستم عامل است.