ما در حال حاضر روی پارچ لینوکس تغییر ناپذیر (Parch Immutable) کار میکنیم؛ ویرایشی تغییرناپذیر از پارچ گنو/لینوکس که قرار است پایه و اساس پروژه تجاری آینده ما یعنی آپادانا (Apadana) باشد. این پروژه نشاندهنده یک تحول اساسی در نگاه ما به نحوه ساخت، توسعه و نگهداری یک سیستمعامل دسکتاپ است.
چرا سیستمعامل تغییر ناپذیر؟
توزیعهای سنتی مبتنی بر پکیج منیجرها آزادی عمل و انعطافپذیری بالایی به کاربران میدهند، اما این انعطافپذیری هزینههایی هم دارد. سیستمها به مرور زمان دچار ناپایداری و پراکندگی (System Drift) میشوند، بهروزرسانیها ممکن است سیستم را در وضعیتی ناهمگون یا خراب قرار دهند و رفع خطای یک بهروزرسانی ناموفق اغلب نیازمند ساعتها تلاش و تعمیر دستی است.
یک ایمیج پایه تغییرناپذیر (Immutable Base Image) این مسئله را به شکلی کاملاً متفاوت حل میکند. هسته اصلی سیستم به صورت یک واحد یکپارچه ساخته، آزمایش و عرضه میشود و تمام بهروزرسانیها به شکل اتمیک (Atomic) اعمال میگردند. اگر مشکلی پیش بیاید، بازگشت به وضعیت سالم قبلی (Rollback) تنها چند ثانیه زمان میبرد، نه ساعتها. برای یک محصول با اهداف تجاری مثل آپادانا—که قابلیت اطمینان و رفتار قابل پیشبینی سیستم به اندازه کارایی آن اهمیت دارد—این رویکرد بهترین و طبیعیترین انتخاب است.
ساخته شده بر پایه bootc
پارچ لینوکس تغییر ناپذیر بر محوریت bootc توسعه یافته است؛ ابزاری که به ما اجازه میدهد با خود سیستمعامل دقیقاً مثل یک ایمیج کانتینری برخورد کنیم. همان ابزارها و جریانهای کاری که برای ساخت و انتشار کانتینرها استفاده میکنیم، حالا برای سیستم پایه نیز به کار میروند. ما در حال ارزیابی و آزمایش پتانسیل این معماری به عنوان یک سیستمعامل پایدار، سبک و مدرن برای کامپیوترهای شخصی و دسکتاپ هستیم و نتایج اولیه بسیار امیدوارکننده بودهاند: بوت سریع، بهروزرسانیهای کاملاً پیشبینیپذیر و سطح حمله بسیار کوچک و امن برای سیستم پایه.
نصب نرمافزار و محیطهای ایزوله (Sandboxing)
در نسخه بتای اولیه، نصب نرمافزارها عمدتاً از طریق فلتپک (Flatpak) انجام میشود. این رویکرد برنامهها را درون محیطهای ایزوله (Sandbox) نگه میدارد و آنها را از ایمیج پایه سیستم جدا میکند؛ امری که برای یک سیستمعامل تغییر ناپذیر که نباید هسته آن دستکاری شود، حیاتی است.
برای مواردی که فلتپک کافی نیست، ما ابزارهای Distrobox و Waydroid را به طور پیشفرض قرار دادهایم:
- دیسترباکس (Distrobox): به کاربران امکان دسترسی به محیطهای کامل لینوکسی و پکیجمنیجرهای مختلف را درون کانتینرها میدهد؛ بنابراین نرمافزارهایی که در فلتپک وجود ندارند، بدون ایجاد هیچ تغییری در سیستم میزبان به راحتی اجرا و نصب میشوند.
- وِیدروید (Waydroid): امکان اجرای برنامههای اندروید را مستقیماً روی دسکتاپ فراهم میکند، باز هم بدون آنکه ذرهای به یکپارچگی سیستم تغییرناپذیر خدشهای وارد شود.
ترکیب این سه ابزار، پاسخگوی بخش اعظم نیازهای یک کاربر دسکتاپ خواهد بود و در عین حال پایداری و دستنخورده ماندن هسته سیستم را تضمین میکند.
محیط میزکار و بومیسازی
محیط میزکار اصلی ما همچنان KDE Plasma است. پلاسما محیطی بسیار پخته، با قابلیت شخصیسازی فوقالعاده بالا و سبک و بهینه روی سختافزارهای مختلف است که برای جامعه کاربران ما اهمیت فراوانی دارد. ما در تیم پارچ همواره در پروژههای بالادستی کیدیای، بهویژه در زمینه ترجمه و بومیسازی فارسی مشارکت داشتهایم و قصد داریم با پیشرفت پارچ تغییر ناپذیر به سمت نسخه پایدار، این سرمایهگذاری را روی بهبود زبان و خط فارسی تقویت کنیم.
گامهای بعدی
ما قصد داریم همین معماری تغییرناپذیر را به پارچ موبایل (Parch Mobile) نیز تعمیم دهیم. یک نسخه آزمایشی برای تست به زودی منتشر خواهد شد که از همان اصول بهروزرسانیهای اتمیک و لایه کاربردی سبک و ایزوله پیروی میکند.
مشتاق شنیدن نظرات شما هستیم
پارچ تغییر ناپذیر همچنان در مرحله توسعه فعال قرار دارد و ما صمیمانه از بازخوردها، ایدهها و نقدهای فنی شما استقبال میکنیم. آن را تست کنید، به چالش بکشید و کاستیهای آن را با ما در میان بگذارید. نظرات شما به ما کمک میکند پارچ را بهبود دهیم و در سطح گستردهتر به رشد جامعه نرمافزار آزاد و متنباز در ایران و جهان یاری برسانیم.