يتوفر systemd 245 مع تطبيق الدليل الرئيسي المحمول

بعد ثلاثة أشهر من التطوير المقدمة الافراج عن مدير النظام systemd 245. في الإصدار الجديد، تتم إضافة مكونات جديدة systemd-homed وsystemd-repart، ويتم تضمين دعم ملفات تعريف المستخدمين المحمولة بتنسيق JSON، ويتم توفير القدرة على تحديد مساحات الأسماء في systemd-journald، ويتم إضافة دعم لآلية "pidfd" . أعيد تصميمها بالكامل موقع المشروع، الذي يجمع معظم الوثائق المتاحة ويقترح شعارًا جديدًا.

يتوفر systemd 245 مع تطبيق الدليل الرئيسي المحمول

رئيسي التغييرات:

  • الخدمة المضافة systemd- هوميد، الذي يوفر إدارة الدلائل المنزلية المحمولة، ويتم تسليمها في شكل ملف صورة مثبت، حيث يتم تشفير البيانات. يتيح لك Systemd-homed إنشاء بيئات قائمة بذاتها لبيانات المستخدم التي يمكن نقلها بين أنظمة مختلفة دون القلق بشأن مزامنة المعرفات وسريتها. ترتبط بيانات اعتماد المستخدم بالدليل الرئيسي بدلاً من إعدادات النظام - يتم استخدام ملف تعريف بالتنسيق بدلاً من /etc/passwd و/etc/group و/etc/shadow JSON. لمزيد من التفاصيل، انظر الإعلان الأخير systemd-home.
  • تمت إضافة مكون مصاحب لـ systemd-home "com.userdb"("systemd-userdb")، الذي يترجم حسابات UNIX/glibc NSS إلى سجلات JSON ويوفر واجهة برمجة تطبيقات Varlink موحدة للاستعلام والتكرار عبر السجلات. يحدد ملف تعريف JSON المرتبط بالدليل الرئيسي المعلمات المطلوبة لعمل المستخدم، بما في ذلك اسم المستخدم وتجزئة كلمة المرور ومفاتيح التشفير والحصص والموارد المتوفرة. يمكن اعتماد الملف الشخصي بتوقيع رقمي مخزّن على رمز Yubikey خارجي. لإدارة الملفات الشخصية، يُقترح استخدام الأداة المساعدة "userdbctl". تمت إضافة دعم ملفات تعريف JSON إلى مكونات systemd المختلفة، بما في ذلك systemd-logind وpam-systemd، مما يسمح لمستخدمي الدلائل المحمولة بالمصادقة وتسجيل الدخول وتعيين متغيرات البيئة وإنشاء جلسة وتعيين الحدود وما إلى ذلك. من المتوقع في المستقبل أن يتمكن إطار عمل sssd من إنشاء ملفات تعريف JSON باستخدام إعدادات المستخدم المخزنة في LDAP.
  • تمت إضافة أداة مساعدة جديدة "systemd-repart"، مصممة لإعادة تقسيم جداول تقسيم القرص بتنسيق GPT. يتم تعريف بنية القسم بشكل تعريفي من خلال الملفات التي تصف الأقسام التي يجب أو يمكن أن توجد. عند كل تمهيد، تتم مقارنة جدول الأقسام الفعلي بهذه الملفات، وبعد ذلك تتم إضافة الأقسام المفقودة، أو إذا كان الحجم النسبي أو المطلق المحدد في الإعدادات غير متطابق، يتم زيادة حجم الأقسام الموجودة. يُسمح فقط بالتغييرات الإضافية، على سبيل المثال. لا يمكن حذف وتقليل الحجم، بل يمكن فقط إضافة الأقسام وتوسيعها.
    تم تصميم الأداة المساعدة ليتم تشغيلها من initrd وتكتشف تلقائيًا القرص الذي يوجد عليه القسم الجذر، والذي لا يتطلب تكوينًا إضافيًا، باستثناء الملفات التي تحتوي على تعريف التغييرات.

    من الناحية العملية، يمكن أن يكون Systemd-repart مفيدًا لصور نظام التشغيل التي قد يتم شحنها في البداية في شكل مصغر، وبعد التمهيد الأول يمكن توسيعها إلى حجم جهاز الكتلة الموجود أو استكمالها بأقسام إضافية (على سبيل المثال، الجذر يمكن توسيع القسم ليغطي القرص بأكمله أو بعد التمهيد الأول قم بإنشاء قسم مبادلة أو /home). الاستخدام الآخر سيكون تكوينات بقسمين دوارين - قد يتم توفير القسم الأول فقط في البداية، وسيتم إنشاء القسم الثاني عند التمهيد الأول.

  • أصبح من الممكن الآن تشغيل مثيلات متعددة من systemd-journald، كل منها يحتفظ بالسجلات في مساحة الاسم الخاصة به. بالإضافة إلى Systemd-journald.service الرئيسي، يقدم دليل .service قالبًا لإنشاء مثيلات إضافية مرتبطة بمساحات الأسماء الخاصة بها باستخدام التوجيه "LogNamespace". يتم تقديم كل مساحة اسم سجل من خلال عملية خلفية منفصلة مع مجموعة الإعدادات والحدود الخاصة بها. قد تكون الميزة المقترحة مفيدة لموازنة التحميل مع حجم كبير من السجلات أو لتعزيز عزل التطبيق. تمت إضافة خيار "--namespace" إلى Journalctl لقصر الاستعلام على مساحة الاسم المحددة فقط.
  • أضافت Systemd-udevd ومكونات systemd الأخرى دعمًا لآلية تعيين أسماء بديلة لواجهات الشبكة، مما يسمح باستخدام أسماء متعددة في وقت واحد لواجهة واحدة. يمكن أن يصل الاسم إلى 128 حرفًا (في السابق، كان اسم واجهة الشبكة يقتصر على 16 حرفًا). افتراضيًا، يقوم systemd-udevd الآن بتعيين كل أسماء المتغيرات لكل واجهة شبكة، والتي تم إنشاؤها بواسطة أنظمة التسمية المدعومة. يمكن تغيير هذا السلوك من خلال إعدادات AlternativeName وAlternativeNamesPolicy الجديدة في ملفات .link. ينفذ systemd-nspawn إنشاء أسماء بديلة مع اسم الحاوية الكامل لروابط veth التي تم إنشاؤها على الجانب المضيف.
  • تضيف واجهة برمجة التطبيقات sd-event.h دعمًا لنظام Linux kernel الفرعي "pidfd" للتعامل مع حالة إعادة استخدام PID (يرتبط pidfd بعملية معينة ولا يتغير، بينما يمكن ربط PID بعملية أخرى بعد العملية الحالية المرتبطة به يخرج من هذا PID). تم تحويل جميع مكونات systemd باستثناء PID 1 لاستخدام pidfds إذا كان النظام الفرعي مدعومًا بواسطة kernel الحالي.
  • يوفر systemd-logind عمليات فحص الوصول لعملية تغيير المحطة الافتراضية عبر PolicyKit. افتراضيًا، يتم منح أذونات تغيير الوحدة الطرفية النشطة فقط للمستخدمين الذين بدأوا جلسة على الوحدة الطرفية الافتراضية المحلية مرة واحدة على الأقل.
  • لتسهيل إنشاء صور initrd باستخدام systemd، يكتشف معالج PID 1 الآن ما إذا كان initrd قيد الاستخدام أم لا، وفي هذه الحالة يقوم تلقائيًا بتحميل initrd.target بدلاً من default.target. باستخدام هذا الأسلوب، يمكن أن تختلف صور initrd وصور النظام الرئيسي فقط في حالة وجود ملف /etc/initrd-release.
  • تمت إضافة معلمة سطر أوامر kernel جديدة - "systemd.cpu_affinity"، أي ما يعادل خيار CPUAffinity في /etc/systemd/system.conf وتسمح لك بتكوين قناع تقارب وحدة المعالجة المركزية لـ PID 1 والعمليات الأخرى.
  • تمكين إعادة تحميل قاعدة بيانات SELinux مع إعادة تشغيل PID 1 عبر أوامر مثل "systemctl daemon-reload".
  • تمت إضافة الإعداد "systemd.show-status=error" إلى معالج PID 1، وعند تعيينه، يتم عرض رسائل الخطأ والتأخيرات الكبيرة فقط أثناء التحميل على وحدة التحكم.
  • أضاف systemd-sysusers دعمًا لإنشاء مستخدمين باسم مجموعة أساسي يختلف عن اسم المستخدم.
  • يقدم systemd-growfs دعمًا لتوسيع قسم XFS عبر خيار التثبيت x-systemd.growfs في /etc/fstab، بالإضافة إلى توسيع القسم المدعوم مسبقًا باستخدام Ext4 وBtrfs.
  • تمت إضافة خيار x-initrd.attach إلى /etc/crypttab لتحديد قسم مشفر تم إلغاء قفله بالفعل في مرحلة initrd.
  • أضاف systemd-cryptsetup دعمًا (الخيار pkcs11-uri في /etc/crypttab) لفتح الأقسام المشفرة باستخدام البطاقات الذكية PKCS#11، على سبيل المثال لإرفاق تشفير القسم بـ YubiKeys.
  • تمت إضافة خيارات التثبيت الجديدة "x-systemd.required-by" و"x-systemd.wanted-by" إلى /etc/fstab لتكوين الوحدات التي تحدد عمليات التثبيت بشكل صريح ليتم استدعاؤها بدلاً من local-fs.target وremote -fs .الهدف.
  • تمت إضافة خيار جديد لوضع الحماية للخدمة - ProtectClock، والذي يحد من الكتابة على ساعة النظام (يتم حظر الوصول على مستوى /dev/rtc، واستدعاءات النظام وأذونات CAP_SYS_TIME/CAP_WAKE_ALARM).
  • للمواصفات أقسام قابلة للاكتشاف وأضاف systemd-gpt-auto-generator اكتشاف القسم
    /var و/var/tmp.

  • في "ملفات وحدة قائمة systemctl"، عند عرض قائمة الوحدات، ظهر عمود جديد يعكس حالة التمكين المقدمة في الإعدادات المسبقة للشركة المصنعة لهذا النوع من الوحدات.
  • تمت إضافة خيار "—with-dependeency" إلى "systemctl"، وعند تثبيته، ستعرض أوامر مثل "systemctl Status" و"systemctl cat" ليس فقط جميع الوحدات المقابلة، ولكن أيضًا الوحدات التي تعتمد عليها.
  • في systemd-networkd، أضاف تكوين qdisc القدرة على تكوين معلمات TBF (مرشح دلو الرمز)، وSFQ (قائمة انتظار العدالة العشوائية)، وCoDel (إدارة قائمة الانتظار النشطة التي يتم التحكم فيها بالتأخير)، وFQ (قائمة الانتظار العادلة).
  • أضاف systemd-networkd دعمًا لأجهزة شبكة IFB (كتلة وظيفية متوسطة).
  • تطبق Systemd-networkd معلمة MultiPathRoute في قسم [Route] لتكوين مسارات متعددة المسارات.
  • في systemd-networkd لعميل DHCPv4، تمت إضافة خيار SendDecline، عند تحديده، بعد تلقي استجابة DHCP بعنوان، يتم إجراء فحص عنوان مكرر وإذا تم اكتشاف تعارض في العنوان، فسيتم رفض العنوان الصادر. تمت إضافة خيار RouteMTUBytes أيضًا إلى عميل DHCPv4، مما يسمح لك بتحديد حجم وحدة الإرسال الكبرى (MTU) للمسارات التي تم إنشاؤها من روابط عنوان IP (عقود الإيجار).
  • لقد تم إهمال إعداد PrefixRoute في قسم [العنوان] لملفات .network. تم استبداله بالإعداد "AddPrefixRoute"، الذي له معنى معاكس.
  • في ملفات .network، تمت إضافة دعم القيمة الجديدة "_dhcp" إلى إعداد البوابة في قسم "[Route]"، وعند التعيين، يتم تحديد مسار ثابت بناءً على البوابة التي تم تكوينها عبر DHCP.
  • ظهرت الإعدادات في ملفات .network في قسم "[RoutingPolicyRule]".
    User وSuppressPrefixLength لتحديد توجيه المصدر بناءً على نطاقات UID وحجم البادئة.

  • في Networkctl، يوفر أمر "الحالة" القدرة على عرض السجلات المتعلقة بكل واجهة شبكة.
  • يضيف systemd-networkd-wait-online دعمًا لتعيين الحد الأقصى للوقت لانتظار تشغيل الواجهة وانتظار تعطل الواجهة.
  • تم إيقاف معالجة ملفات .link و.network مع قسم "[تطابق]" فارغ أو تم التعليق عليه.
  • في ملفات .link و.network، في قسم "[Match]"، تمت إضافة إعداد "PermanentMACAddress" للتحقق من عنوان MAC الدائم للأجهزة في حالة استخدام MAC عشوائي تم إنشاؤه.
  • تمت إعادة تسمية القسم "[TrafficControlQueueingDiscipline]" في ملفات .network إلى "[NetworkEmulator]"، وتمت إزالة البادئة "NetworkEmulator" من أسماء الإعدادات المرتبطة.
  • يضيف حل systemd لـ DNS-over-TLS دعمًا لفحص SNI.

المصدر: opennet.ru

إضافة تعليق