يأتي Systemd إلى نظام التشغيل postmarketOS لضمان وظائف GNOME وKDE

systemd في postmarketOS

systemd في postmarketOS

في الآونة الأخيرة أعلن مطورو مشروع PostmarketOS من خلال مدونة ما بعد الأخبار مقدمة النظام د لبناء النظام. ال السبب الرئيسي لتنفيذ دعم systemd هي صعوبة الصيانة مكدس التهيئة على أساس يواجه OpenRC الاعتماد المتزايد على GNOME وKDE من مكونات النظام

يأتي توفر استخدام systemd كمسؤول النظام بعد عام من العمل وتم إعداد نموذج أولي باستخدام systemd بدلاً من نظام التهيئة OpenRC وإتاحته للاختبار.

يذكر أن على الرغم من إضافة systemd، سيستمر تقديم الدعم إنشاء بنيات على أساس OpenRC في postmarketOS، على الأقل طالما استمر استخدام هذا النظام في Alpine Linux. سيكون خيار تحديد OpenRC متاحًا عند إنشاء صور PostmarketOS باستخدام pmbootstrap. بالإضافة إلى ذلك، سيستمر استخدام OpenRC من قبل مطوري التجميع الذين يعملون مع الغلاف الرسومي Sxmo (Simple X Mobile)، استنادًا إلى مدير Sway المركب.

من ناحية أخرى ، ستظل الإصدارات التي يتم إنشاؤها باستخدام systemd مستندة إلى حزمة Alpine Linux الأساسيةعلى الرغم من أن هذه التوزيعة لا تتمتع بدعم رسمي لـ systemd وتستخدم مكتبة Musl C بدلاً من Glibc C المتوافقة مع systemd. يقوم مطورو postmarketOS بتنفيذ تصحيحات إضافية لدمج systemd مع Musl C ويخططون للتعاون مع مطوري systemd لتبسيط هذا التكامل في المستقبل.

بالطبع، هذه ليست مهمة سهلة، إحدى العقبات الرئيسية التي نواجهها أثناء تعاوننا بشكل أوثق مع مطوري KDE وGNOME هي أنهم يواجهون صعوبات مع مجموعتنا المستندة إلى OpenRC. لكي يعمل KDE وGNOME، نستخدم العديد من ملفات systemd polyfills بالإضافة إلى OpenRC. لذا، على الرغم من أننا "لا نستخدم systemd" من الناحية الفنية، إلا أننا عمليًا نستخدم بالفعل جزءًا كبيرًا من مكوناته لتشغيل KDE وGNOME، فقط إصدارات مختلفة من تلك المكونات

لضمان وظائف جنوم وكيدي استنادًا إلى systemd، كانت هناك حاجة إلى صيانة عدة طبقات إضافية، وكان العمل بدون systemd يعني الحفاظ على هذه الطبقات بشكل صحيح ومزامنتها مع تطوير GNOME وKDE، الأمر الذي شكل تحديات كبيرة وبعض عدم اليقين في الصيانة المستمرة من قبل المطورين.

وبالإضافة إلى ذلك، ذكر المطورون ذلك تم تنفيذ طبقات وحزم مختلفة لضمان دعم خدمات اسم المضيف والخدمات المحلية والطابع الزمني في نظام التشغيل postmarketOS. انها Tأو تضمين استخدام openrc-settingsd لدعم خدمات اسم المضيف، eudev بدلاً من udev لإدارة الأجهزة، وelogind بدلاً من تسجيل الدخول لإدارة جلسة المستخدم، و logbookd بدلا من يوميات لإدارة السجل وتم استخدام الحزمة superd لتوفير وظائف مشابهة لـ «نظام - المستخدم» واستبدال systemd.timer مع استيقظ.

لكن، يتم ضمان الصيانة والدعم المناسبين فقط لـ openrc-settingsd وeudev. مشاريع مثل elogind، logbookd وsuperd لا تزال بحاجة إلى تحسينات، لأنها تفتقر إلى بعض الميزات الضرورية، و استيقظ لم تتم خدمته منذ حوالي عام. بالإضافة إلى ذلك، أعرب مطورو KDE Plasma Mobile عن اهتمامهم باستخدام systemd-coredumpd لتبسيط التصحيح، ولكن استبداله، شخصية, لم تحصل على صيانة منذ عام 2020.

هذه الخدمات مطلوبة لمختلف الوظائف في جنوم والتطبيقات الأخرى. على سبيل المثال، واجهة برمجة تطبيقات D-Bus المقدمة من مُضيف، محلي ومؤقت يتم استخدامه في جنوم لتغيير الإعدادات الإقليمية والمنطقة الزمنية. مطلوب Udev لإدارة الأجهزة المتصلة، أثناء تسجيل الدخول، "نظام - المستخدم» ويتم استخدام Journald لإدارة جلسات المستخدم في جلسة جنوم. يستخدم ساعة جنوم systemd.timer لوظائفها.

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

أخيرًا إذا كنت كذلك مهتم بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.