مهندسان خاطرنشان میکنند: «در حالی که دبیان منبع خوبی از وصلههای امنیتی برای مسیرهای پایدار و قدیمی است، ما متوجه شدیم که هر حفره امنیتی که وصله دریافت میکند، لزوماً دارای یک شماره مشاوره امنیتی دبیان (DSA) یا CVE نیست.
مانترولا و مهندسان دیگر گوگل، کوردیان بروک و سون مولر، این کار را کرده اند اکنون توضیح داد که چگونه این شرکت به انتشار نسخه های لینوکس برای رایانه های رومیزی در یک پست وبلاگی رسیده است این جزئیات نشان می دهد که چگونه سایر شرکت های بزرگ می توانند سیستم ارتقاء مشابه را برای رایانه های رومیزی پیاده سازی کنند.
به روز رسانی ناوگان Goobuntu بخش بهتری از یک سال را به طول انجامید و زمان بندی چرخه های سیستم عامل به این معنی بود که فرآیند انفجار بزرگ برای تیم های اصلی که پس از ارتقاء “نزدیک بود از بین بروند” پایانی ندارد.
به عنوان مثال، در طول یک حادثه امنیتی، ما میتوانیم به سرعت بازسازی کنیم و به ساخت و ساز که با یک پچ موقت کار میکند، اطمینان داشته باشیم، همانطور که قبلاً همه بستهها را ساختهایم، آن زمین را در توزیع خود.
تصویر: Shutterstock / برانیسلاو ننین
چند سال پیش گوگل تغییر خود را از دسکتاپ لینوکس مبتنی بر اوبونتو به دبیان تکمیل کرد. اکنون گوگل به تفصیل توضیح داده است که چگونه این تغییر منجر به انتشار نسخههایی برای دسکتاپهای لینوکس با ارتقاء سریعتر و روانتر و همچنین وصلههای امنیتی سریعتر شده است.
گوگل میگوید قصد دارد با دبیان بالادستی همکاری نزدیکتری داشته باشد و تعداد بیشتری از وصلههای داخلی خود را برای حفظ اکوسیستم بسته دبیان ارائه کند.
هنگامی که یک ارتقا انجام شد، یک حس کلی از “نزدیک به فرسودگی شغلی” در تیم وجود داشت که ما به سختی توانستیم از آن بازیابی کنیم تا زمانی که دور بعدی بهروزرسانیها به وجود آمد. اجرای نسخه LTS همچنین به این معنی بود که کاربران با برخی از باگها مواجه میشوند. توزیع ما ممکن است قبلاً در بالادست اصلاح شده باشد، اما این پیشرفتها ممکن است هرگز به نسخه LTS ارائه نشده باشد.
گوگل دبیان را به دلیل در دسترس بودن بسته ها، جامعه بزرگ و بسته های داخلی موجود و ابزار در قالب دبیان انتخاب کرد. گوگل توضیح می دهد که چرا به جای استیبل، بتای دبیان را انتخاب کرده است.
همانطور که آنها اشاره می کنند، حرکت کلی صنعت نرم افزار به سمت CI/CD (ادغام مداوم/توسعه مستمر) نشان داده است که کنترل و بازگرداندن تغییرات تدریجی کوچکتر آسان تر است. به دلایل مشابه، توزیعهای لینوکس مانند Arch Linux و NixOS نیز نسخههای متحرک را پیادهسازی کردهاند. یک لینوکس عرضهشده بهطور مداوم با این ایده بهروزرسانی میشود که کاربران و توسعهدهندگان با ارائه آخرین بهروزرسانیها و وصلهها در حین ایجاد به بهترین وجه به آنها خدمت میکنند.
همانطور که ZDNet در آن زمان گزارش داد، گوگل اعلام کرد که این حرکت را در سال 2018 تکمیل کرده است. مارگاریتا مانترولا، مهندس گوگل، توضیح داد که در حال انتقال از Goobuntu، ساخت گوگل اوبونتو، به gLinux است، یک نسخه متحرک بر اساس تست دبیان، که نسخه بتا برای نسخه پایدار بعدی دبیان است.
همانطور که آنها اشاره می کنند، قبل از تغییر به نسخه های متحرک، هر چرخه سیستم عامل یک “جهش نسبتا بزرگ نسخه در بسته های اصلی ایجاد می کند که می تواند به تغییرات قابل توجهی در پیکربندی نرم افزار نیاز داشته باشد”. گوگل بیشتر و نه تمام مراحل ارتقا را خودکار کرد.
“کنترل هدف متحرک و خط پایه خود به کاهش سرعت هر زمان که با مشکلات زیادی روبرو میشویم و هر یک از تیم خود را شکست میدهیم کمک کرده است. [Service Level Objectives]. سفر ما در نهایت این باور ما را تقویت کرد که تغییرات تدریجی بهتر از انتشار بیگ بنگ قابل کنترل هستند.”
پس از بیش از 15 سال با اوبونتو بهعنوان پایه دستگاههای داخلی گوگل، این شرکت برای اجتناب از ارتقاء سیستمعامل اصلی هر دو سال یکبار به دبیان روی آورد و حجم کار ارتقا را در طول زمان گسترش داد.
هنگامی که امروز یک نسخه جدید را شروع می کند، تیم به روز رسانی یک عکس فوری از بسته های دریافت شده از دبیان در آن زمان می گیرد. سپس Google اجرا میکند، میپذیرد، آزمایش میکند و سپس با “احتیاط” بهروزرسانی را در یک آزمایش اختصاصی و یک “قناری” در ناوگان 1٪ ارائه میکند. قناری چند روز به آن فرصت میدهد تا مشکلات بستههای Debian یا بستههای داخلی Google را قبل از عرضه آن به کل ناوگان شناسایی کند.