توزیع جنتو گنو/لینوکس

حدود ۱۴-۱۵ سالگی من بین توزیع‌های مختلف گنو/لینوکس کاوش می‌کردم و خب تقربیا توزیعی نبود که به سمتش نرفته باشم. هیچ توزیعی از گنو/لینوکس بی‌دلیل به‌وجود نیومده. پشت هر توزیعی دلیلی هست و فلسفه‌ای؛ یکیشون تاکید بر سادگی داره یکی سرعت و دیگری ظاهر. اکثر سیستم‌عامل‌ها هم برای کاربرهای عادی نوشته شده‌ان. این یعنی سازندگان توزیع تلاش می‌کنن که آسون‌ترین شیوه رو برای کاربر فراهم کنن. اما اگر آدم بخواد تصمیماتش رو خودش بگیره و نه سازنده‌ی سیستم‌عاملش، اگر آدم بخواد سیستم عاملش رو مبتنی بر نیازهای شخص خودش تنظیم کنه چی؟ اینجاست که توزیع‌هایی مثل جنتو و آرچ وارد میشن. این توزیع‌ها نصب دشوارتری دارن و در عوض به کاربر حق انتخاب بیشتری می‌دن.

If it moves compile it

مقایسه جنتو و آرچ

اگر هم جنتو و هم آرچ کاربر رو آزاد میذارن تا فقط ابزارهایی که لازم داره رو نصب کنه و سیستمش رو به شیوه دلخواهش تنظیم کنه، تفاوتشون چیه؟ چندین فرق دارن:

۱. آپدیت‌های فراوان‌تر آرچ و پایداری بهتر جنتو

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

۲. بسته‌های فرعی

هم آرچ و هم جنتو به کاربرها اجازه میدن که بسته‌های خودشون رو بسازن. جنتو Overlayها رو داره و آرچ AUR رو و به نظر میاد که آرچ کمکی که از سمت کاربرها میاد رو بهتر مدیریت میکنه. البته Overlayهای جنتو هم به اندازه‌ی AUR آرچ آپدیت و کافی هستن. اینجا باز هم یک بده‌بستان هست: نصب از Overlayها سخت‌تره ولی از طرفی پکیج‌های بیشتری توی مخازن اصلی جنتو هستن و چون Overlayها مثل AUR آرچ سامان‌دهی‌شده نیستن آدم میتونه پکیج‌ها رو بخونه و بهترین Overlay رو انتخاب کنه. همین بسته رو شخص بخواد از AUR بگیره ممکنه با یک بسته‌ی بدنوشته‌شده مواجه شه و کل پایداری سیستم‌عاملش به مشکل بخوره.

۳. انعطاف‌پذیری خداگونه‌ی جنتو

سیستم‌عامل کاملا آزاد

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

سورس-محور بودن مدیربسته‌های جنتو

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

احترام بیشتر به حق انتخاب و معماری‌های بیشتر

به علاوه جنتو systemd رو به کاربرهاش تحمیل نمیکنه و روی معماری‌های بیشتری هم نصب میشه (مثلا جنتو-اندروید یا جنتو-رسبری‌پای رو داریم و چون کرنل رو هم خودمون کامپایل می‌کنیم حتی نوع کرنل، ماژول‌هایی که لازم داریم و همه چی تحت کنترل خودمونه و میشه از گزینه‌های داخل کرنل استفاده کرد تا مثلا کرنل برای یک کیت الکترونیکی کامپایل بشه و تاکید کرنل روی فشرده‌سازی و کم‌کردن حجمش باشه نه روی سرعت بیشتر) و همین انعطاف باعث میشه که توی دنیای جنتو چیزهای عجیب غریب زیادی ببینید و اگر ندید هم عجیب‌الخلقه‌ی دوست داشتنی خودتون رو بسازید. مثلا Gentoo Mac OS X. یا Gentoo OpenBSD.

۴. منابع و گروه‌های کاربری

ظاهرا قدیم‌ترها جنتو یک ویکی بسیار عالی داشته که به علت نداشتن بک‌آپ از بین میره. الان بدون هیچ بحثی آرچ بهترین ویکی رو داره. از طرفی کاربرهای جنتو نسبت به تازه‌کارها رئوف‌ترن و خیلی کمتر هم هستن. اگر به مشکلی توی آرچ بر بخورید ۱۰۰٪ با سرچ مشکلتون حل میشه، ولی توی جنتو کاربرها انقدر دست در تنظیمات توزیع می‌برن که هیچ دوتا جنتویی توی عالم شبیه هم دیگه نیستن که کسی بخواد همه‌ی مشکلاتش رو با سرچ رو حل کنه. جنتو آدم رو مجبور میکنه که حتما به man page ها سر بزنه و با دقت هر documentationی که گیرش میاد رو بخونه. این اگرچه وقت‌گیره ولی آدم رو با ماهیت سیستم‌عاملش آشنا می‌کنه. نهایتا هم اگر مشکلی بود که حل نمی‌شد، همیشه میشه با کاربرهای باسابقه‌تر جنتو توی IRC و انجمن‌های جنتو گپ زد.

تجربهٔ شخصی خودم

Sway on Gentoo نصب جنتو سخته و از نصب آرچ هم اندکی سخت‌تره ولی خب اساسا فرقی ندارن، کاربر باید خودش همه‌ی نرم‌افزارهایی که لازم داره رو نصب کنه و تنظیمات مد نظرش رو انجام بده. مثلا من روی جنتوم sudo ندارم و به‌جاش از doas استفاده می‌کنم که ساده‌تره و برای نیازهای من بهتره. توی پروسه‌ی نصب، بدون اغراق، بیش از ۱۰ بار خواستم برگردم و اوبونتو نصب کنم و به آسونیش پناه بیارم. ولی هر بار یک دلیل پیش میومد که این کار رو نکنم، مثلا یکبار فلشی که روش اوبونتو ریخته بودم پیدا نمی‌شد و یکبار هم ابونتو ریختم ولی وقتی دیدم که هنگ میکنه با خودم گفتم اگه قراره هنگ کنه و مشکل داشته باشه بذار لااقل روی جنتو هنگ کنه! درگیری بزرگی بود. پروسه‌ی نصب از همه زمان‌برتره و ممکنه تا یک هفته هم طول بکشه ولی قطعا ارزشش رو داره. بعد از نصب جاده خیلی خیلی راحت‌تر میشه. طاقت بیارین.

من روی جنتوی خودم تصمیم گرفتم به‌کلی از X استفاده نکنم و در حال حاضر دارم از Sway روی Wayland استفاده می‌کنم. از اونجایی که وی‌لند خیلی جدیدتره طبعا به مشکلات زیادی برخوردم ولی باز هم به نظرم تجارب ارزشمندی بوده و الان به سیستم‌عاملی رسیدم که دلخواه خودمه و میتونم ادعا کنم مال منه. از تنظیمات ریزی مثل همیشه فعال بودن Numpad تا انتخاب‌های بزرگتر مثل تنظیم Flagهای GCC برای کامپایل بسته‌ها مخصوص پردازشگر خودم، غیرفعال کردن یک سری از ویژگی‌های کرنل و انتخاب آگاهانه و دقیق‌تر ابزارهایی که استفاده می‌کنم. مثلا اخیرا استفاده از ابزارهای گرافیکی برای مدیریت تقویم و مدیریت فایل‌های کامپیوترم رو کنار گذاشتم و از ranger برای مدیریت فایل‌ها و از calcurse برای مدیریت تقویمم استفاده می‌کنم. البته شما که غریبه نیستید، حقیقتش خیلی دلم میخواست جای ranger از Nemo استفاده کنم ولی وقتی وابستگی شدیدش به بسته‌های Cinnamon رو دیدم بی‌خیالش شدم و با نداشتن ظاهر گرافیکی کنار اومدم. الان هم سیستم عاملم خیلی خوب کار می‌کنه. واقعیت اینه که پروسه‌ی کامپایل کردن زمان‌بره و نمیتونم به خودم این اجازه رو بدم که کامپیوترم رو شلوغ کنم. هرچند وقت یک بار بسته‌هایی که دارم رو چک میکنم تا چیزی بیخود روی سیستمم نباشه و تا حدودی کل بسته‌هایی که انتخاب کردم که نصب کنم رو میدونم چیان و چرا نصب کردم. به همین دلیل کامپیوترم خیلی خیلی سبک شده و استفاده کمتر از باتری لپتاپم کاملا محسوسه.

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

زیاد بود؛نخوندم

بعضی سیستم‌عامل‌ها به آدم ماهی میدن، بعضی ماهی‌گیری، و بعضی هم مهارت قلاب‌سازی و هم ماهی‌گیری