یکبار برای همیشه: لینوکس، توزیع‌ها، میزکارها، بهترین توزیع و …

این سوالها، سوال‌هایی همیشگی هستند: فرق لینوکس‌های مختلف با هم چیست؟ میز کار چیست؟ گنوم و کی.دی.ای. چه فرقی دارند؟ بهترین توزیع کدام است؟ و … در دنیای آزاد می‌گویند که سوال هوشمندانه، جواب هوشمندانه می‌گیرد. اینبار هم سوال خوب و مفصل و دقیق حمیدرضا، باعث شده تصمیم بگیرم یک جواب دقیق و مفصل به همه این سوال‌ها بدهم (:

سیستم عامل چیست؟ لینوکس در مقابل گنو/لینوکس



برنامه‌های ما سه دسته هستند:
هسته سیستم عامل،‌ اجزای دیگر سیستم

عامل و برنامه‌های مستقل.

ما از کامپیوتر چه می‌خواهیم؟ اجرای برنامه‌های مورد نظر. گاهی این برنامه‌ها سطح بالا و عمومی هستند (مثل فایرفاکس) و گاهی سطح پایین‌تر و خاص تر مثل لاگین از راه دور در یک سرور. گاهی ساده و تک منظوره مثل کپی فایل و گاهی با قابلیت انجام کلی کار مثل برنامه‌های چت چندپروتکله. این برنامه‌ها بعضی وقت‌ها بخشی از سیستم عامل هستند (مثل دستور کپی) و گاهی برنامه‌های مستقل (مثل فایرفاکس). اما به هرحال همه اینها توسط یک بخش داخلی‌تر از سیستم عامل به اسم «هسته/کرنل/Kernel» کنترل می‌شوند.

کرنل یا هسته یک سیستم عامل، بخش اصلی یک سیستم عامل است که ما معمولا با آن ارتباطی نداریم ولی همیشه مثل یک قلب یا مغز آن پشت نشسته و درخواست‌های ما را (که توسط برنامه‌ها به آن می‌رسند) به شکل مناسب به حافظه، سی‌پی‌یو و دستگاه‌های جانبی می‌رساند.

حالا داستان لینوکس برمی‌گردد به حوالی سال ۱۹۸۳. در آن سال استالمن افسانه‌ای که از تجاری بودن همه سیستم‌عامل‌ها خسته شه بود، اعلام کرد که می‌خواهد یک سیستم عامل مشابه یونیکس آزاد بنویسد. او اسم این پروژه را گنو گذاشت و از لوگوی گوزن یالدار آمریکای شمالی برای آن استفاده کرد.
یادتان که هست سیستم عامل از دو بخش هسته و برنامه‌های مرتبط ایجاد شده. پس اگر بگویم که این پروژه هیچ وقت به طور کامل تمام نشد باید بپرسید: کدام بخشش؟ جواب «هسته» است. این پروژه باعث شد حجم عظیمی نرم‌افزار آزاد و بازمتن که برای کارکرد کامل یک سیستم عامل لازم هستند نوشته شود (از شل که دستورات را در آن تایپ می‌کنید بگیرید تا کپی و پینگ و لاگین به سیستم‌های راه دور و تنظیمات شبکه و حتی یک کمپایلر عالی سی) اما هسته این سیستم عامل (رابط با سخت‌افزار و حافظه و سی.پی.یو.) که قرار بود هرد نامیده شود هنوز که هنوز است تمام نشده.

دقیقا اینجا بود که پنگوئن به فیلم اضافه شد. در اوایل دهه ۹۰، لینوس توروالدز به عنوان تفریح، یک هسته سیستم عامل نوشت و اسمش را گذاشت لینوکس و علامتش را هم همان پنگوئن مشهور و دوست داشتنی (:

حالا چه داریم؟‌ یک هسته عالی به اسم لینوکس و یک مجموعه ابزار سیستم عامل به اسم گنو. این دو تا را که به هم بچسبانیم یک سیستم عامل کامل خواهیم داشت به اسم گنو/لینوکس. مبارک است (: بنا به همین استدلال، اسم صحیح چیزی که ما استفاده می‌کنیم گنو/لینوکس است و نه لینوکس. عبارت لینوکس از نظر فنی فقط به هسته سیستم عامل اشاره دارد و از نظر اخلاقی زحمات پایه‌گذارهای اصلی جنبش آزادی نرم‌افزار را نادیده می‌گیرد ولی در هر حال، در جهان به عنوان یک غلط مصطلح پذیرفته شده است.

توزیع چیست؟‌ داستان ردهت و دبیان و اوبونتو و مینت و سورس میج و سابایون و … چیه؟

لینوکس گام به گام توسط استفاده کننده برای استفاده کننده ساخته شده. پس برگردید به بحث قبلی تا یک قدم جلوتر برویم. گفتیم که پروژه گنو/لینوکس از پیوستن ابزار سیستم عامل گنو و هسته لینوکس به وجود آمد. حالا فرض کنید شما بخواهید آن را نصب کنید. چکار باید بکنید؟ در حالت قدیم، باید یک متخصص کامل یونیکس باشید. باید هسته را بگیرید و کمپایل کنید. بعد یک دیسک را فرمت کنید و بوت سکتور را جوری تنظیم کنید که از این کرنل بوت شود. بعد دستورات (برنامه‌های) دیگر را روی آن کپی کنید و تمام وابستگی‌ها را هم رعایت کنید… اگر فکر می‌کنید سخت است باید بگویم که یا واقعا حرفه‌ای هستید یا متوجه اصل جریان نشده‌اید (:‌ این روند از نظر من غیرممکن است (:

برای حل این مشکل، افراد و شرکت‌هایی آمده‌اند و دیسترو/Distro ها را ساخته‌اند که ترجمه خوبش، توزیع است. در همان سال ۱۹۹۲ که هسته لینوکس آمد، توزیع‌ها هم ظاهر شدند. آدم‌ها هسته را به همراه چند برنامه اصلی و یک برنامه نصب کننده روی یکی دو فلاپی جا می‌دادند و بین دیگران پخش می‌کردند. حالا دیگر کافی بود فلاپی اول را در درایو بگذارید و روند نصب را پی گیری کنید تا در نهایت به یک کامپیوتر گنو/لینوکس کامل برسید. توزیع‌ها کم کم زیاد شدند. هر شرکت یا گروهی کرنل را برمی‌داشت و به همراه برنامه‌های گنوی انتخابی و حتی برنامه‌های مستقل ولی آزاد (مثل اپن آفیس، فایرفاکس، پخش کننده ویدئو و ..)‌ روی یک سی دی یا دی وی دی رایت می‌کرد و بین بقیه پخش می‌کرد. بعضی‌ها هم که نمی‌خواستند خودشان همه کار را از صفر مدیریت کنند، یک دیسترو / توزیع مادر را برمی‌داشتند و بنا به نیاز خودشان یک دیستروی جدید از آن منشعب می‌کردند (مثلا اوبونتو که از دبیان منشعب شده). یک نمودار متحیر کننده و عالی از روند به وجود آمدن دیستروها را در اینجا ببینید.

تفاوت توزیع‌ها با یکدیگر معمولا در چند نکته است: گروه هدف (بعضی‌ها مخصوص یک گروه خاص درست شده‌اند، مثلا کاربران ایرانی)، مدیریت بسته (برنامه‌های جدید از چه طریقی نصب می‌شوند و گنو/لینوکس چطور روند نصب اتوماتیک بسته‌های نرم‌افزاری را کنترل می‌کند) و میز کار (بعدا حرف می‌زنیم). گاهی هم بعضی از توزیع‌ها تجاری هستند. مثلا ردهت که به عنوان یک شرکت تجاری، برای پیشتیبانی و کارهای دیگر، پول می‌گیرد. این روزها توزیع‌های زنده (Live) هم بسیار مرسوم شده‌اند. اینها توزیع‌هایی هستند که بدون نصب هم می‌توانند کامپیوتر را بوت کنند و بعد از بوت شدن به شکل کامل، در صورت علاقمندی می‌توان آن‌ها را نصب کرد.

در نهایت این را هم اضافه کنم که تهیه کنندگان توزیع‌ها، بسته‌های متفاوتی را برای توزیع‌شان انتخاب می‌کنند. مثلا توزیع پارسیکس به شکل پیشفرض لغتنامه فارسی را در سی دی خود را قرار داده. قابل ذکر است که تقریبا تمام نرم‌افزارهای مرسوم را می‌شود روی همه توزیع‌های مرسوم در هر لحظه حذف و اضافه کرد.

میز کار کار چیست؟ گنوم یا کی.دی.ای.؟

تا حالا می‌دانید که لینوکس هسته است. یک هسته کار گرافیکی نمی‌کند. برای ارتباط گرافیکی با کامپیوتر (همان چیزی که این روزها به آن عادت داریم) باید یک مدیر پنجره نصب کنیم و روی آن یک میز کار. از نظر فنی این دو مرحله برای کاربران شفاف هستند و اکثر توزیع‌ها یکی از میزکارهای مرسوم را به شکل پیش فرض انتخاب می‌کنند. در این مرحله بهتر است با مفهوم مدیر پنجره درگیر نشوید و برویم به سراغ میزکار. میزکار مجموعه آیکون‌ها،‌ پنجره‌ها، تولبارها، فولدرها، عکس‌های پس زمینه و ویجت‌های دسکتاپ است. دقیقا همان چیزی که وقتی پشت ویندوز می‌نشینید با آن طرفید. در ویندوز می‌توانید تم‌ها را عوض کنید، پس زمینه را تغییر دهید، آیکون‌ها را تغییر دهید و غیره ولی امکان تغییر کل برنامه‌ای که این چیزها را کنترل می‌کند را ندارید. در لینوکس این انتخاب هم مثل بقیه انتخاب‌ها وجود دارد. دو تا از مشهورترین میزکارهای لینوکس گنوم و کی.دی.ای. هستند. شکل زیر دو نمونه از این میزکار را نشان می‌دهد:

البته می‌دانید که در لینوکس هستیم و پر از انتخاب. انتخاب‌ دیگر ممکن است XFCE باشد که با هدف سبک بودن ساخته شده یا بسیاری مدیر پنجره‌های دیگر که اهداف گوناگون و گاهی بانمک را دنبال می‌کنند (:

هر میزکار مجموعه ابزار خودش را دارد که البته به راحتی در میزکارهای دیگر هم قابل اجرا هستند. اینکه شما از کدام میزکار استفاده می‌کنید درست مثل این است که از کدام بک‌گراوند استفاده می‌کنید: بستگی به سلیقه و کاربردهایتان دارد. بهترین پیشنهاد مثل همیشه این است که سری به هر کدام بزنید و هر کدام که پسندید را برای مدتی استفاده کنید و بعد ا زچند وقت اگر سرتان خیلی شلوغ نبود، سری به بقیه بزنید تا ببینید آیا خبر جدیدی در آن‌ها هست یا نه (:

تقریبا همه توزیع‌ها، اجازه نصب میزکارهای مختلف را به شما می‌دهند. بعضی توزیع‌ها هم نسخه‌های خاص برای میزکارهای خاص دارند. مثلا اوبونتو به شکل پیش‌فرض از میزکار گنوم استفاده می‌کند و به همین دلیل طرفداران کی.دی.ای.، توزیع کوبونتو را پشتیبانی می‌کنند که دقیقا همان اوبونتو است با میزکار پیش‌فرض کی.دی.ای. (دقیقا انگار که بعد از نصب اوبونتو، میزکار کی.دی.ای. را به آن اضافه کنید). حالا به راحتی می‌توانید حدس بزنید که xubuntu یا همان زوبونتو دقیقا همان اوبونتو است که میزکار XFCE به آن اضافه شده. حالا که بحث شاخه‌های منشعب از اوبونتو است، اسمی هم از ادوبونتو ببریم که دقیقا همان اوبونتو است با ظاهری دانش‌آموز پسندتر و پر از ابزارهای کمک آموزشی.

آیا لینوکس با سخت‌افزار من سازگار است؟

ده سال پیش می‌گفتند که نصب برنامه در لینوکس سخت است. پنج سال پیش می‌گفتند که لینوکس با سخت‌افزارها سازگار نیست. الان هر دوی این گزاره‌ها نادرستند. لینوکس بر خلاف ویندوز که نیاز به درایور و دیسک و سی دی راه انداز دارد، به شکل خودکار سخت افزارها را می‌شناسد و از آن‌ها استفاده می‌کند. مشکل وقتی خواهد بود که یک سخت‌افزار غیر مرسوم در دنیا داشته باشید (مثلا یک مودم ویندوزی یا یک پرینتر خیلی خاص یا یک جوی استیک غیرمرسوم یا یک کارت گرافیکی که سازنده درایورهایش را به اشتراک نگذاشته باشد). در این حالت دردسر خواهید داشت. متاسفانه هنوز بعضی از سازندگان سخت‌افزار، درایورهای لینوکسی‌شان را آماده نکرده‌اند و در نتیجه ممکن است در سخت‌افزار به مشکل بخورید. بهترین توصیه این است که اول کامپیوترتان را با نسخه لایو (زنده) توزیع مورد نظر بوت کنید و سازگاری سخت‌افزاری آن را بررسی و در صورت خوب بودن همه چیز، آن را نصب کنید.

خلاصه! کدام توزیع را انتخاب کنم؟

بستگی به نیازهایتان دارد و علاقمندی‌ها. اگر تازه کار هستید بهتر است سراغ توزیعی بروید که کاربران زیادی دارد و پشتیبانی از سخت‌افزارهای مختلف را هدف قرار داده. این روزها اوبونتو یک گزینه خوب است و مینت هم گزینه ای بهتر برای تازه کارانی که می خواهند بی دردسر شروع کنند.. اوبونتو تمام تلاشش را کرده ساده باشد ولی هنوز به آزادی وفادارتر است و در نتیجه بعد از نصب چند کار مرسوم با کامپیوتر (از جمله پخش ام پی تری) نیازمند نصب یکی دو بسته اضافی هستند اما مینت علاوه بر داشتن سادگی اوبونتو، تلاش کرده تا درست بعد از نصب به اکثر نیازهای یک کاربر معمول (مثل پخش ام پی تری یا داشتن فلش) هم پاسخ بدهد.

توزیع‌های گنو/لینوکس خیلی خیلی زیادند. بهتر است با توزیع‌های بسیار مشهور شروع کنید و بعد بر اساس نیاز، بقیه را امتحان کنید.
تنها نکته مهم این است که همیشه از جدیدترین نسخه توزیعی استفاده کنید که انتخابش کرده اید. استفاده از نسخه‌های قدیمی معمولا مشکل شناسایی سخت افزار و اینجور چیزها را به وجود خواهد آورد. فراموش نکنید که وارد دعواهای این از آن بهتر است نشوید. شما از گنو/لینوکس استفاده می کنید نه از زوزه یا اوبونتو یا ردهت یا دبیان یا حتی گنوم و کی دی ای. ما همه در یک دنیای آزاد هستیم و مهمترین چیز برایمان همین آزادی و حق انتخاب است.

موخره

بیشتر بخوانید. گنو/لینوکس یک ابزار است و باید قبل از انتخاب درباره‌اش فکر کرد و بررسی تا بعدا ناراحت کننده نشود. من از هر آدمی که به دنیای لینوکس اضافه شود خوشحال می‌شوم ولی آگاهانه (: فعلا لینوکس مد شده. بد نیست ولی خطرناک هم هست. لینوکس بسیار قوی‌تر از ویندوز است و واقعا زیبا. اما با نصب لینوکس، کسی هکر نمی‌شود. باید تمرین کرد و یاد گرفت و قدم به قدم پیش رفت (:

فروشگاه محصولات گنو/لینوکس سی تو

بقیه نوشته های من در مورد لینوکس

اگر سوال دیگری بود در کامنت‌ها بگویید (: