نه چندان ماجراهای من و پارچ

بیشتر یک مطلب نرد پسند

خب، در این شب عزیز برگردیم سر نوشتن ماجراهای من و پارچ سابقمون.

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

نرد بودن آغاز می‌شود.

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

پارچ دسکتاپ

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

اضافه شدن سیستم‌دی بوت این رو ساده‌تر می‌کنه که ما بتونیم بوت ایمن یا همون سکیور بوتمون رو به پارچ بیاریم. درحال حاضر فکر کنم ۱۶ توزیع لینوکسی از سکیوربوت پشتیبانی می‌کنن که توی دیستروواچ می‌تونید لیستشون رو خودتون ببینید.

سکیوربوت چیه؟

به تعریف ساده:

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

خب تعریف ساده (خودمم میدونم نچندان ساده) رو دیدیم، حالا در عمل جز این امنیتش به چه درد می‌خوره؟

یک موضوعی که جدیداً هست اینه که در توزیع‌های لینوکسی گیمر ها بیشتر بازی های آنلاین (برخط) رو نمی‌تونن به خوبی تجربه کنن چرا؟ چون آنتی‌چیت سطح کرنل در این بازی‌ها وجود داره که برسی می‌کنه اگر سکیوربوت نباشه از اجرای بازی جلوگیری می‌کنه. یکی از این‌ بازی‌ها بازی ولورانت هستش که خودتون‌هم می‌تونید آزمایشش کنید.

و اما، پیاده‌سازیش چقدر سخته؟

مادوتا راه داریم:

  1. از کلید‌هایی که ویندوز باهاش امضا شده استفاده کنیم. (فریمور پسند)

  2. خودمون کلید بسازیم و امضا کنیم (فریمور ناراحت میشه)

خب در حالت اول که مشخصه، فریمور اوکی رو میده و ما می‌تونیم کلید‌های خودمونم در کنار کلید های مایکروسافت وارد کنیم و همه چیز بسیار عالی و زیبا پیش بره، اما در حالت دوم فریمور ناراحت میشه و حتی ممکنه باهامون قهر کنه :))

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

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

پارچ موبایل و گل سرسبد

پارچ موبایل (من دماوند صداش می‌کنم توی کل این پست، پس هرجا دماوند دیدید بدونید پارچ موبایله) یک نسخه از پارچ هستش که برای تلفن‌های هوشمند پورت شده.

دماوند چه فرقی با پارچ معمولی داره؟ (عین همون سوال پارچ با x چه فرقی داره‌ای که ازم پرسیده میشه)

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

خب این‌ها خلاصه چیزی بود که می‌خواستم بگم چون دیدم خیلی زیاد میشه لیست بندی کردم تا توی بلاگ پارچ بعداً توضیح بدم.

چرا من هی میگم لینوکس موبایل؟

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

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

لینوکس موبایل این امکان رو به شما میده تا از اون سخت‌افزار نسبتاً قدیمی که از نظر شرکت سازنده منسوخ حساب میشه بیشترین کارایی رو داشته باشید.

همینطور لینوکس موبایل به توسعه‌دهنده‌ها این امکان رو میده تا راحت‌تر برنامه‌نویسی کنن برای این ساختار (اوبونتو تاچ حساب نیست بعداً میگم چرا) بزارید بازش کنم:

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

حالا چرا گفتم اوبونتو تاچ حساب نیست؟ چون اوبونتو تاچ این ساختار رو نداره و شما باید جداگانه بسته‌بندی کنید براش…..

به نظرم توضیحات اضافه بسه برگردیم سر دماوندمون

چطور دماوند قراره عرضه بشه؟

خب اولین چیز که قطعاً نوشتن ابزار بیلد ایمیجه که کار خودمونه (خودم بخونیدش) و همینطور نوشتن مستندات پورت و ….

اما برای پورت شما می‌تونید از توزیع‌های فعلی مثل پست‌مارکت یا حتی موبیان استفاده کنید و دستگاهتون رو به دماوند پورت کنید.

یکی از برنامه‌های ما ساختن یک اکوسیستم برای پارچ و پروژه‌های زیرشاخه اون هستش که بازهم توی یک پست بلاگ دیگه توضیحش میدم.

پ.ن: امیدوارم سرتون رو درد نیاورده باشم، خیلی بیشتر از این نوشته بودم ولی اصلاحش کردم. امروز روز جالبی نبود برای من ولی امیدوارم که شما روز خوبی رو تا الان داشته بوده باشید :)