گوگل: در اینجا نحوه انتشار نسخه های لینوکس دسکتاپ پس از تغییر Ubuntu به Debian آمده است


shutterstock-734369125.jpg

تصویر: Shutterstock / برانیسلاو ننین

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

پس از بیش از 15 سال با اوبونتو به‌عنوان پایه دستگاه‌های داخلی گوگل، این شرکت برای اجتناب از ارتقاء سیستم‌عامل اصلی هر دو سال یک‌بار به دبیان روی آورد و حجم کار ارتقا را در طول زمان گسترش داد.

همانطور که ZDNet در آن زمان گزارش داد، گوگل اعلام کرد که این حرکت را در سال 2018 تکمیل کرده است. مارگاریتا مانترولا، مهندس گوگل، توضیح داد که در حال انتقال از Goobuntu، ساخت گوگل اوبونتو، به gLinux است، یک نسخه متحرک بر اساس تست دبیان، که نسخه بتا برای نسخه پایدار بعدی دبیان است.

ببینید: مشاغل منبع باز وجود دارد

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

مانترولا و مهندسان دیگر گوگل، کوردیان بروک و سون مولر، این کار را کرده اند اکنون توضیح داد که چگونه این شرکت به انتشار نسخه های لینوکس برای رایانه های رومیزی در یک پست وبلاگی رسیده است این جزئیات نشان می دهد که چگونه سایر شرکت های بزرگ می توانند سیستم ارتقاء مشابه را برای رایانه های رومیزی پیاده سازی کنند.

همانطور که آنها اشاره می کنند، قبل از تغییر به نسخه های متحرک، هر چرخه سیستم عامل یک “جهش نسبتا بزرگ نسخه در بسته های اصلی ایجاد می کند که می تواند به تغییرات قابل توجهی در پیکربندی نرم افزار نیاز داشته باشد”. گوگل بیشتر و نه تمام مراحل ارتقا را خودکار کرد.

به روز رسانی ناوگان Goobuntu بخش بهتری از یک سال را به طول انجامید و زمان بندی چرخه های سیستم عامل به این معنی بود که فرآیند انفجار بزرگ برای تیم های اصلی که پس از ارتقاء “نزدیک بود از بین بروند” پایانی ندارد.

“با یک پنجره پشتیبانی دو ساله، تنها یک سال باقی مانده بود تا زمانی که ما مجبور شدیم دوباره همان فرآیند را برای LTS بعدی انجام دهیم. کل این فرآیند یک عامل استرس بزرگ برای تیم ما بود، زیرا ما صدها باگ را دریافت کردیم. درخواست کمک برای موارد گوشه ای،” آنها می نویسند.

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

گوگل gLinux Rodete (تست Rolling Debian) را با هدف از بین بردن چرخه ارتقاء دو ساله و اجرای آن در طول زمان برای کاهش بار مهندسین طراحی کرد.

همانطور که آنها اشاره می کنند، حرکت کلی صنعت نرم افزار به سمت CI/CD (ادغام مداوم/توسعه مستمر) نشان داده است که کنترل و بازگرداندن تغییرات تدریجی کوچکتر آسان تر است. به دلایل مشابه، توزیع‌های لینوکس مانند Arch Linux و NixOS نیز نسخه‌های متحرک را پیاده‌سازی کرده‌اند. یک لینوکس عرضه‌شده به‌طور مداوم با این ایده به‌روزرسانی می‌شود که کاربران و توسعه‌دهندگان با ارائه آخرین به‌روزرسانی‌ها و وصله‌ها در حین ایجاد به بهترین وجه به آن‌ها خدمت می‌کنند.

گوگل دبیان را به دلیل در دسترس بودن بسته ها، جامعه بزرگ و بسته های داخلی موجود و ابزار در قالب دبیان انتخاب کرد. گوگل توضیح می دهد که چرا به جای استیبل، بتای دبیان را انتخاب کرده است.

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

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

هنگامی که امروز یک نسخه جدید را شروع می کند، تیم به روز رسانی یک عکس فوری از بسته های دریافت شده از دبیان در آن زمان می گیرد. سپس Google اجرا می‌کند، می‌پذیرد، آزمایش می‌کند و سپس با “احتیاط” به‌روزرسانی را در یک آزمایش اختصاصی و یک “قناری” در ناوگان 1٪ ارائه می‌کند. قناری چند روز به آن فرصت می‌دهد تا مشکلات بسته‌های Debian یا بسته‌های داخلی Google را قبل از عرضه آن به کل ناوگان شناسایی کند.

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

یکی از مزایای امنیتی که گوگل به دست آورده است کاهش “پاکت اعتماد” است که در بالادست دبیان قرار می دهد.

به عنوان مثال، در طول یک حادثه امنیتی، ما می‌توانیم به سرعت بازسازی کنیم و به ساخت و ساز که با یک پچ موقت کار می‌کند، اطمینان داشته باشیم، همانطور که قبلاً همه بسته‌ها را ساخته‌ایم، آن زمین را در توزیع خود.

“علاوه بر این، ما همچنین پاکت اعتمادی را که باید در Debian بالادست و مصنوعات ساخت باینری تولید شده توسط زیرساخت آنها قرار دهیم، کاهش می دهیم. در عوض هنگامی که کد منبع جذب شد و باینری به طور قابل تایید ساخته شد، می توانیم به صورت رمزنگاری تایید کنیم که باینری در حال اجرا از دقیقا همان کد منبع.”

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

مهندسان خاطرنشان می‌کنند: «در حالی که دبیان منبع خوبی از وصله‌های امنیتی برای مسیرهای پایدار و قدیمی است، ما متوجه شدیم که هر حفره امنیتی که وصله دریافت می‌کند، لزوماً دارای یک شماره مشاوره امنیتی دبیان (DSA) یا CVE نیست.

“برنامه انتشار متحرک ما اطمینان حاصل می کند که حفره های امنیتی را در کل ناوگان به سرعت و بدون به خطر انداختن پایداری وصله می کنیم، در حالی که قبلاً مهندسان امنیتی باید هر DSA را به دقت بررسی می کردند و مطمئن می شدند که تعمیر به ناوگان ما رسیده است.”

ببینید: چگونه لینوکس را در Chromebook خود فعال کنیم (و چرا باید)

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

این شرکت همچنین از سایرینی که به فکر اجرای نسخه‌های چرخشی هستند می‌خواهد تا “نیازهای شرکت را در برابر چابکی ارتقاء متعادل کنند”. چیزی که این تغییر برای گوگل تایید کرده این است که تغییرات تدریجی بر انتشار بیگ بنگ غلبه کرده است.

“کنترل هدف متحرک و خط پایه خود به کاهش سرعت هر زمان که با مشکلات زیادی روبرو می‌شویم و هر یک از تیم خود را شکست می‌دهیم کمک کرده است. [Service Level Objectives]. سفر ما در نهایت این باور ما را تقویت کرد که تغییرات تدریجی بهتر از انتشار بیگ بنگ قابل کنترل هستند.”


منبع: https://www.zdnet.com/article/google-heres-how-we-got-to-rolling-desktop-linux-releases-after-ubuntu-to-debian-switch/#ftag=RSSbaffb68