بعد ثلاثة أشهر من التطوير، أصبح مدير النظام systemd 262 متاحًا الآن. يدمج الإصدار الجديد مجموعةً أساسيةً من ملفات الوحدة في العملية، ويوفر دعمًا لعمليات البناء المرتبطة بشكل ثابت، ويتكامل مع dm-clone لاستنساخ أجهزة التخزين الكتلية، ويضيف صيانة قاعدة البيانات للملفات المثبتة إلى systemd-sysupdate، ويوفر التحقق المشفر من تقارير systemd-report.
من بين التغييرات في الإصدار الجديد:
- يحتوي ملف مدير النظام التنفيذي على مجموعة من ملفات الوحدات الأساسية المضمنة فيه (basic.target، sysinit.target، multi-user.target، reboot.target، shutdown.target، systemd-poweroff.service، إلخ)، والتي تُستخدم عندما يتعذر تحميل ملفات الوحدات من القرص. يتيح لك هذا التضمين تشغيل حاويات systemd باستخدام عملية بدء التشغيل (PID1) دون تثبيت ملفات الوحدات.
- تمت إضافة دعم لإنشاء ملف تنفيذي واحد مرتبط بشكل ثابت، والذي يمكن استخدامه لتهيئة وتشغيل الخدمات في حاويات بأقل حجم ممكن. لإنشاء ملف باستخدام الربط الثابت، حدد العلامات التالية عند تشغيل meson: "--default-library=static --prefer-static -Dbuild-static=true -Dsystemd-multicall-binary=true".
- تم دمج دعم وحدة dm-clone في نواة النظام. تتيح هذه الوحدة إنشاء نسخة قابلة للكتابة من جهاز تخزين كتلي للقراءة فقط. تتم معالجة الإعدادات من /etc/clonetab بواسطة systemd-clonesetup-generator وحفظها كوحدات systemd-clonesetup@.service مرتبطة بـ clonesetup.target. تمت إضافة أداة systemd-clonesetup لإنشاء وحذف نسخ أجهزة التخزين الكتلية.
- تم توسيع إمكانيات مجموعة أدوات systemd-sysupdate. فهي تقوم تلقائيًا بالكشف عن التحديثات وتنزيلها وتثبيتها باستخدام آلية ذرية لاستبدال الأقسام أو الملفات أو المجلدات (باستخدام قسمين/ملفين/مجلدين مستقلين: أحدهما يحتوي على المورد قيد التشغيل حاليًا، بينما يُستخدم الآخر لتثبيت التحديث التالي، وبعد ذلك يتم تبديل الأقسام/الملفات/المجلدات). ويتم الآن الاحتفاظ بقاعدة بيانات تحتوي على معلومات حول جميع الملفات المثبتة. تمت إضافة الأمر "systemd-sysupdate cleanup" لإزالة الملفات التي أصبحت زائدة عن الحاجة بعد تحديث النظام أو التي لا تتطابق مع قالب التكوين الحالي. كما تمت إضافة الأوامر "systemd-sysupdate enable-feature/disable-feature/enable-component/disable-component" لإدارة تفعيل الميزات والمكونات. تم تطبيق مفهوم المكونات الموصى بها؛ على سبيل المثال، يمكن استخدام الأمر "systemd-sysupdate enable-component --component-suggested" لتمكين برامج التشغيل المطلوبة للأجهزة الموجودة. تمت إضافة الخيار "--component-all" إلى الأمر "systemd-sysupdate update" لتحديث جميع المكونات دفعة واحدة.
- تمت إضافة خيار "--sign=" إلى systemd-report، مما يتيح التحقق من التوقيع الرقمي للتقارير التي يتم إنشاؤها بواسطة أوامر "generate" و"upload". تتوفر ثلاث واجهات خلفية للتحقق من التقارير: systemd-report-sign-plain (Ed25519)، وsystemd-report-sign-tsm (configfs TSM)، وsystemd-report-sign-tpm2 (TPM2 PCR).
- لتخفيف الحمل في حالة إعادة تشغيل الخدمات بشكل جماعي بعد الأعطال، تم اقتراح معلمة RestartRandomizedDelaySec، والتي تضيف تأخيرًا عشوائيًا قبل إعادة التشغيل التلقائي للخدمة، ويقتصر ذلك على الحدود المحددة.
- تمت إضافة معلمة ActivatingConcurrencyMax لتقسيم الوحدات للحد من الحد الأقصى لعدد الوحدات التي يتم تنشيطها في وقت واحد في التسلسل الهرمي.
- تم تطبيق معلمة LUOSession للخدمات، والتي تستخدم لإنشاء جلسات Live Update Orchestrator المستخدمة لتحديث النواة في الوضع المباشر دون إيقاف التشغيل ودون فقدان حالة النظام والأجهزة والعمليات.
- تقوم وحدات المقبس بتنفيذ معلمات XAttrEntryPoint و XAttrListen و XAttrAccept، والتي تسمح بإرفاق سمات موسعة (xattr) بمقابس UNIX لتسميتها.
- لتعيين أسماء مضيفين يسهل تذكرها تلقائيًا (/etc/hostname)، يتم تطبيق حرف بدل جديد "$"، والذي يتم استبداله بعنصر من قائمة الكلمات، يتم تحديده عن طريق التجزئة باستخدام معرف النظام.
- تمت إضافة الخيارات المتوافقة مع sudo -k/--reset-timestamp و -K/--remove-timestamp و -v/--validate إلى أداة run0 لإلغاء أو تحديث التراخيص المؤقتة التي يتم تنفيذها عبر polkit.
- تحتوي أداة systemd-escape على خيار "--stdin" لقراءة الأسطر من المدخلات القياسية.
- تمت إضافة متغير البيئة FONT_SCALE إلى vconsole لتكوين مستوى تحجيم الخط، على غرار معلمة النواة vconsole.font_scale (حاليًا، يتم دعم 100% و200% فقط).
- جميع الأوامر التي تدعم خيار "--help" تحتوي الآن على خيار "--introspect-cli" لإخراج مساعدة JSON لتبسيط عملية التحقق التلقائي من الخيارات المطلوبة من الإضافات والبرامج النصية.
- عند المصادقة باستخدام رموز FIDO2، يتم عرض عداد لمحاولات إدخال رمز PIN المتبقية.
- في نظام systemd-networkd، أُضيف فحص MachineTag إلى قسم "[Match]" في ملفات .link و .network و .netdev، مما يسمح بربط إعدادات الشبكة بوجود أو عدم وجود علامات محددة. كما أُضيف الخيار "--no-reconfigure" إلى الأمر "networkctl reload" لإعادة تحميل ملفات .network و .netdev من القرص دون إعادة تهيئة روابط الشبكة الحالية. في ملفات .network، تسمح المعلمات IPoIB و IPVLAN و IPVTAP و MACsec و MACVLAN و MACVTAP و Tunnel و VLAN و VXLAN و Xfrm بأسماء أجهزة شبكة متعددة، مفصولة بمسافات.
- في نظام systemd-journald، تم نقل آلية التشفير الآمن الأمامي (FSS)، التي تضمن عدم قابلية تغيير السجلات، لاستخدام وظائف التشفير من مكتبة OpenSSL بدلاً من libgcrypt. ولم تعد مكتبة libsystemd مرتبطة بـ libgcrypt.
- تتضمن أداة systemd-sysctl الآن خيار "--verify"، الذي يقرأ قيمة مُعامل sysctl بعد ضبطها ويقارنها بالقيمة الأصلية للتحقق من تطبيق التغيير. كما أُضيف خيارا "--save=FILENAME" و"--revert=FILENAME" لحفظ واستعادة إعدادات sysctl الموجودة في الدليل /run/sysctl.d/.
- تمت إضافة دعم للبناء باستخدام مكتبة OpenSSL 4.
المصدر: opennet.ru
