aosus.org

مقدمة حول توزيعة Fedora Silverblue

مقدمة:

العديد من مستخدمي أنظمة جنو لينكس سمعوا عن Fedora Silverblue. حيث يعتبر نظام ثابتًا (نظام الملفات للقراءة فقط) هذا يعني أن نظام التشغيل الأساسي هو نفسه مثل أي تثبيت آخر لـ Fedora Silverblue.

يهدف تصميم Silverblue غير القابل للتغيير إلى جعله أكثر استقرارًا وأقل عرضة للأخطاء ويسهل اختباره وتطويره. كما أن التصميم الثابت لـ Silverblue يجعلها منصة ممتازة لاستعمال أو تطوير التطبيقات المعبأة في حاويات منفصلة عن النظام الأساسي.

بنية فيدورا Silverblue:

قبل مناقشة كيفية عملها، يجب أن نفهم ماهية Silverblue، والتي لها قواعد مختلفة تمامًا عن فيدورا محطة العمل، على الرغم من كونها جزءًا من نفس العائلة.

الفكرة العامة لـ Silverblue هي الاقتراب من بنية النظام بطريقة أكثر حداثة، لزيادة الأمان والأداء. وبالتالي فإن هذا النوع من التوزيعات يعتمد على مفهومين عامين: قاعدة غير قابلة للتغيير وحاويات.

تأتي هذه القاعدة غير القابلة للتغيير (immutable) من الطريقة التي يُدار بها النظام نفسه. على عكس الإصدار التقليدي من فيدورا، لا تحتوي Silverblue على مجموعة من حزم rpm التي يتم تثبيتها منفصلة. قاعدة النظام هي في الواقع صورة موحدة يتم نسخها على قرص الجهاز أثناء مرحلة التثبيت.

أثناء تحديث النظام يتم تطبيق التصحيحات على نسخة من صورة النظام. يتم وضع هذه التغييرات قيد الانتظار حتى إعادة التشغيل. ثم تحل صورة النظام الجديدة محل النسخة السابقة وتصبح النظام النشط. يتم تنفيذ هذه العمليات بواسطة rpm-ostree.

صورة النظام هي شجرة نظام ملفات للقراءة فقط، وبالتالي لا يمكن تعديلها. بحيث إذا فشلت عملية التحديث لأي سبب كان مثل انقطاع النت أو الكهرباء، فلن يكون هناك أي تأثير على Silverblue حيث يتم تنفيذ العمليات على صورة منفصلة. بالإضافة إلى ذلك ، يمكن العودة بسهولة إلى الحالة السابقة للجهاز من خلال التمهيد باستخدام صورة النظام السابقة.

يمكن أن تمثل هذه النقطة الأخيرة مشكلة اعتمادًا على الاستخدام الذي تريده لـ Silverblue. يتم تقديم هذه التوزيعة في الغالب على أنها تستهدف سطح المكتب وليس الخوادم. حيث كانت تسمى محطة العمل الذرية سابقا. بالنسبة للخوادم التي تركز على حاويات البرامج، يوجد Fedora CoreOS التي تطبق نفس المفاهيم إلى حد كبير، ولكن بنهج أكثر بساطة.

قاعدة النظام الثابتة ليست خاصة بـ Silverblue، ولا حتى وليدة اليوم، حيث تستخدم في أنظمة التشغيل مثل أندرويد و Chrome os.

الجانب الآخر من Silverblue هو الحاويات وهي بشكل عام حزم معزولة عن باقي النظام مع جميع اعتمادياتها، حيث لا يتعين على المطورين القلق بشأن إصدارات المكتبات المستخدمة وبالتالي مشاكل التوافق.

يتطابق كل تثبيت لـ Silverblue مع أي تثبيت آخر من نفس الإصدار. نظام التشغيل الموجود على القرص هو نفسه تمامًا من جهاز إلى آخر ، ولا يتغير أبدًا أثناء استخدامه.

بعض المفاهيم حول Silverblue والتقنيات التي تستخدمها:

OSTree:

يُعرف هذا المشروع الآن باسم libostree، وهو عبارة عن مكتبة مشتركة ومجموعة من أدوات سطر الأوامر التي تجمع بين نموذج “git-like” لتنزيل وإدارة وتحديث صور النظام القابلة للإقلاع.

يختلف OSTree عن git بطريقة ملحوظة للغاية، حيث أن الملفات المستنسخة غير قابلة للتغيير. تتم الترقية عن طريق استنساخ صورة جديدة تمامًا يتم دمجها بعد ذلك مع الصورة الحالية. هذا يضمن بقاء صورة النظام التي هي قيد التشغيل دون تغيير، ولا تصبح النسخة الجديدة التي تمت ترقيتها نشطة حتى يتم إعادة تمهيد النظام واختيارها.

التوزيعات التي تستخدم OSTree ستستخدمها عادةً لتثبيت وصيانة نظام أساسي قابل للتمهيد، كما أنه يسمح بفصل مساحة النظام عن مساحة المستخدم. يمكن للمستخدمين تثبيت حزم إضافية باستخدام فلاتباك على سبيل المثال.

يتم استخدامه من قبل أنظمة تشغيل مثل Endless os , fedora silverblue وتقنيات أخرى مثل فلاتباك.

– rpm-ostree:

هو نظام صورة/حزمة هجين يجمع بين إدارة الحزم rpm وإدارة الصور من OSTree، يستخدم libostree بشكل افتراضي لنسخ نظام التشغيل الأساسي ذريًا، ثم يضيف حزم rpm على شكل طبقة فوق صورة النظام.

معظم حزم rpm من فيدورا يمكن تثبيتها من خلال rpm-ostree. يمكنك استخدام rpm-ostree لتثبيت أي حزمة rpm تريدها، وسيؤدي ذلك إلى إنشاء نظام ملفات جذر جديد قابل للتمهيد. هذا يعني أن نظام ملفات الجذر السابق لا يزال سليماً ، ويمكنك إعادة تشغيل تلك الصورة السابقة إذا كان هناك خطأ ما، وهذه وظيفة مشابهة لالتقاط صور للنظام باستخدام Btrfs أو ZFS أو LVM.

يمكن التفكير في طبقات الحزم على أنها إعادة صياغة لحزم rpm كـ “إضافات لنظام التشغيل” ، يمكن استخدامها للحزم التي لا يمكن وضعها في حاويات بسهولة.

فلاتباك:

هو نظام تحزيم عالمي يمكن من خلاله تثبيت البرامج في أي توزيعة تدعم فلاتباك دون أي تعديل مما يؤدي إلى تبسيط إدارة حزم البرمجيات، مكتوب بلغة C. كما يسمح للمستخدم بتثبيت وتشغيل التطبيقات في بيئة معزولة في مساحة المستخدم (لا يحتاج صلاحيات الجذر). يمكنك متابعة مقالنا: مقدمة حول فلاتباك لمزيد من المعلومات.

تعد تطبيقات فلاتباك الطريقة الأساسية التي يتم بها تثبيت التطبيقات على Silverblue، ويعد وضع حزم rpm على شكل طبقات على النظام الأساسي كحل أخير.

Toolbox:

هي أداة تمكن من عمل حاويات قابلة للتعديل(mutable). مبنية على Podman وتقنيات الحاويات القياسية الأخرى من OCI.

تجعل الطبيعة الثابتة لـ Silverblue من الصعب تثبيت الحزم بصيغة rpm على نظام التشغيل. إنه مصمم لتثبيت تطبيقات رسومية مثل برامج فلاتباك، هذا له العديد من المزايا، بينما تقدم rpm-ostree طريقة للتغلب على هذا ، لكنك تضطر إلى إعادة التشغيل في كل مرة تقوم فيها بتغيير مجموعة الحزم على النظام ، وهذا يتعارض مع قابلية الاستخدام وزيادة إنتاجية العمل في المقام الأول.

يحل Toolbox هذه المشكلة من خلال توفير حاوية قابلة للتغيير بالكامل يمكن من خلالها تثبيت البرامج التي لا توجد على فلاتباك، بحيث من الممكن أن تقوم بإنشاء حاوية بسهولة وبسرعة من خلال تثبيت فيدورا محطة العمل بدون التأثير على نظام التشغيل الأساسي.

كما أنها تتيح لك استخدام الحاويات لجعل التطوير أبسط وأفضل. حيث تسمح لك بوضع كل مشروع تعمل عليه في حاوية منفصلة ولديك مجموعة مختلفة من الأدوات والمكتبات المثبتة له.

يستخدم Toolbox محرك حاوية Podman الذي يهدف إلى أن يكون بديلاً عن دوكر يمكن استخدامه بدون الحاجة لصلاحيات الجذر.

لا تتطلب هذه الأداة استخدام نظام قائم على OSTree. فهو يعمل بشكل جيد على فيدورا محطة العمل.

ميزات فيدورا Silverblue:

من بين خصائص هذا النظام البارزة والتي ذكرنا معضمها أعلى المقال يمكن أن نذكر ما يلي:

  • تصميم ثابت لمزيد من الاستقرار، وأقل عرضة للأخطاء، وبالتالي يسهل اختبارها وتطويرها.
  • منصة ممتازة لتطبيقات الحاويات بالإضافة إلى تطوير البرامج المستندة إليها.
  • فصل التطبيقات عن النظام المضيف ، مما يؤدي إلى تحسين الاستقرار.
  • خلافا لأنظمة جنو/لينكس الأخرى ، لا يمكنك ترقية الحزم الفردية واحدة تلو الأخرى. إنما تقوم بترقية صورة نظام التشغيل بالكامل، بالإضافة إلى ذلك هذه الترقيات ذرية.
  • إمكانية العودة إلى إصدار سابق في حال مواجهة مشاكل في الإصدار الأحدث.

خاتمة:

نظام غير قابل للتغيير يتم فيه استخدام الحاويات كطريقة أساسية لنشر التطبيقات، هذا هو توجه Silverblue، كما لا يتردد مطورو فيدورا في الإعلان أن هذا البديل يمثل مستقبل توزيعات جنو/لينكس، والذي سيعوض فيدورا محطة العمل مستقبلا.

ما رأيك في هذه التوزيعة وعن فكرة جعل الحاويات المصدر الأساسي لتوزيع البرامج.

هذا الموضوع فائز بجائزة أسس للكتابة.

هذا الموضوع احد المواضيع الفائزة بجائزة أسس للكتابة, الجائزة الاولى في العالم العربي للتحفيز الكتابة عن البرمجيات الحرة.
تفاصيل اكثر عن الجائزة

و قائمة الفائزين لفبراير 2022

oth_mahammedi
فأئز بجائزة أسس للكتابة | Website |  + مقالات

كاتب فائز بجائزة أسس للكتابة.

حساب ماستودون:
oth_mahammedi@mastodon.social

Aosus