بعد ما يزيد قليلاً عن ثلاثة أشهر من التطوير، اطلاق ال .. انطلاق ال .. اقلاع ال الإصدار الجديد من النظام 259. يُدخل هذا التحديث تغييرات على بنية النظام، مع تسليط الضوء على الانفتاح على المكتبات القياسية البديلة، وإدارة الامتيازات الأكثر صرامة، والمتطلبات التقنية الأكثر صرامة للإصدارات المستقبلية.
إحدى أكثر الحركات التي تم الحديث عنها في هذه الدورة هي الانتقال نحو مزيد من النمطية والقضاء على التبعيات القديمة، مما يمهد الطريق لنظام بيئي لنظام لينكس يبتعد بشكل قاطع عن معايير العقود الماضية.
الميزات الجديدة الرئيسية لنظام 259
يتميز الإصدار الجديد من نظام systemd رقم 259 بكونه أول إصدار يضيف توافقًا جزئيًا مع Muslمكتبة C القياسية الشائعة في التوزيعات الخفيفة والبيئات المدمجة. هذا التكامل تتم إدارتها من خلال خيار libc في نظام بناء Meson. ومع ذلك، ولأن Musl لا ينفذ وظيفة NSS (تبديل خدمة الاسم)، فإن العديد من مكونات systemd تظل معطلة في هذا التكوين.
من بينغيابات ملحوظة عند التجميع باستخدام Musl وجدت nss-systemd و nss-resolve و systemd-homed و systemd-userdbd ومعامل DynamicUserعلاوة على ذلك، لا يمكن تشغيل systemd-nspawn بدون صلاحيات ضمن هذه المكتبة. وقد حذر المطورون من أن استمرار هذا الدعم في الإصدارات المستقبلية سيعتمد على طلب المجتمع واستقرار أي طبقات توافق إضافية يتم تطويرها.
ومن الميزات الجديدة الأخرى في الإصدار الجديد ما يلي: في أداة التشغيل 0تم تصميمه كبديل حديث وآمن لـ sudo، والذي حظي بـ الخيار الجديد – التمكين. هذه الوظيفة يسمح لك بتسجيل الدخول بصلاحيات موسعة. دون الحاجة إلى تغيير مُعرّف المستخدم (UID) إلى الجذر.
إلى جانب ذلك ، بدلاً من تفويض السيطرة الكاملة من خلال تبديل المستخدم، يستخدم خيار –empower مؤشرات قدرات النواة، مثل CAP_SYS_ADMIN، منح التصاريح الضرورية للغاية لإجراء استدعاءات نظام ذات امتيازات. بالإضافة إلى ذلك، يتم دمج العمليات الناتجة في مجموعة محددة تمنحها حق الوصول إلى إجراءات Polkit، مما يحافظ على فصل أكثر قوة للامتيازات من نموذج sudo التقليدي.
نهاية حقبة: وداعًا للنظام الخامس والمتطلبات الجديدة
يمثل الإصدار 259 من systemd بداية النهاية لـ التوافق مع نصوص خدمة النظام الخامستم الإعلان أنه في الإصدار القادم، سيتم إزالة المكونات القديمة مثل systemd-sysv-generator و systemd-rc-local-generator و systemd-sysv-install بشكل دائم.
إلى جانب عملية تنظيف التعليمات البرمجية القديمة هذه، تم رفع الحد الأدنى لمتطلبات البرامج لنظام systemd البيئي بشكل كبير:
- نواة لينكس: الحد الأدنى للإصدار 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- أخرى: بايثون 3.9.0، cryptsetup 2.4.0 و libseccomp 2.4.0.
النمطية والتحميل الديناميكي في libsystemd
كومو جزء من مبادرة للحد من الاعتماد مباشرة في مرحلة بدء التشغيل، تستخدم مكتبة libsystemd الآن التحميل الديناميكي عبر dlopen() بالنسبة لمكتبات مثل libacl و libblkid و libseccomp و libselinux و libmount، لن يقوم النظام بتحميل هذه المكتبات في الذاكرة إلا عند الحاجة إلى وظائفها المحددة من قِبل عملية ما، مما يُحسّن استخدام الموارد. بالإضافة إلى ذلك، تم دمج وظائف libcap مباشرةً في libsystemd، مما يُبسّط سلسلة التبعيات.
El لقد تم تغيير الإعدادات الافتراضية لمعالجة السجلات: وضع تخزين السجل (مجلة) تغيير من "تلقائي" إلى "مستمر"، بغض النظر عما إذا كان الدليل /var/log/journal موجودًا مسبقًا أم لا.
في مجال الشبكات والافتراضية:
- systemd-networkd و systemd-nspawn: تمت إزالة دعم قواعد NAT باستخدام iptables، مما يجعل nftables الخيار المتوافق الوحيد.
- systemd-resolved: يسمح الآن باستخدام الخطافات المحلية (hooks) في /run/systemd/resolve.hook/ للتدخل في طلبات حل الأسماء.
- systemd-importd: تم دمج منطق التعامل مع ملفات TAR بشكل أصلي. علاوة على ذلك، يمكن الآن تشغيل كل من `importd` و`machined` على مستوى المستخدم، مما يسمح بإدارة الصور في الدليل المحلي للمستخدم (`~/.local/state/machines/`).
ابتكارات أخرى
واجهة برمجة التطبيقات القائمة على البروتوكول تلقى Varlink تحسينات تسمح بالوصول إلى إعدادات الخدمة وإجراء مكالمات IPC مثل Reload() و Reexecute(). بالنسبة لمسؤولي النظام، سيكون تضمين خاصية OOMKills في الخدمات مفيدًا للغاية، حيث سيمكنهم من تتبع عدد مرات إنهاء عملية ما بسبب نقص الذاكرة مباشرةً من أدوات systemd.
وأخيرًا، أصبحت عملية تمهيد النظام أكثر حداثة مع إزالة دعم TPM 1.2 في systemd-boot، مع تركيز جميع الجهود الأمنية على معيار TPM 2.0.
إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.