يقوم systemd 258 بإيقاف cgroup v1 بشكل دائم ويتطلب الآن Linux 5.4 على الأقل

  • نهاية cgroup v1، والحد الأدنى من kernel 5.4، وتحسينات أمان TTY.
  • أدوات مساعدة جديدة: systemd-factory-reset وsystemd-pty-forward.
  • تحسينات التمهيد: أجهزة UKI مع البرامج الثابتة UEFI وسياسات TPM2 المعدلة.
  • دليل عملي: حل مشكلة انقطاع DNSSEC وPi-hole DNS.

systemd 258

systemd 258 يصل محملاً من التغييرات التي تؤثر على التمهيد والأمان وإدارة الجلسات والإدارة اليومية في لينكس. إنه إصدار بسيط: يُبسط تقنيات النواة الرئيسية، ويُلغي الدعم القديم الذي لا تزال العديد من التوزيعات تدعمه، مع إضافة أدوات مساعدة جديدة مصممة لسيناريوهات واقعية.

إذا كنت تعمل مع الخوادم أو محطات العمل أو بيئات الحاويات، إنه يستحق اللحاق بهمن السحب النهائي لـ cgroup v1 إلى الحد الأدنى الأكثر تطلبًا للنواة، من خلال تعديلات أذونات TTY، والتغييرات في systemd-logind وأخبار مثل systemd-factory-reset o systemd-pty-forwardهذا الإصدار ليس مجرد تحديث.

وداعًا لـ cgroup v1: فقط cgroup v2 من الآن فصاعدًا

الجزء الأكثر حديثا عن الإطلاق هو إزالة كاملة للدعم لـ cgroup v1. لا مزيد من الوضع القديم أو الهجين: بدءًا من systemd 258، يتم تثبيت cgroup v2 فقط عند التمهيد، ويحدث نفس الشيء في الحاويات المُدارة باستخدام systemd-nspawnيؤدي هذا التغيير إلى تبسيط مجموعة التحكم في موارد النواة وتقليل أسطح الهجوم وغموض التكوين.

لماذا يهم؟ يُوحّد إصدار cgroup v2 نموذج التحكم لوحدة المعالجة المركزية (CPU) والذاكرة ووحدات الإدخال/الإخراج (I/O) وغيرها في تسلسل هرمي متماسك، متجنبًا التناقضات السابقة. أُعلن عن هذه الخطوة منذ أكثر من عامين، لذا فهي ليست مفاجئة؛ ومع ذلك، قد تؤثر على من لا يزالون يستخدمون تكوينات قديمة أو يعتمدون على أدوات لم تتكيف مع الإصدار v2.

متطلبات النواة على systemd 258: الحد الأدنى 5.4، الموصى به 5.7

إلى جانب هذا التنظيف، يقوم systemd 258 بإنشاء الحد الأدنى من نواة Linux المدعومة 5.4 ويقترح 5.7 كما هو موصى به. هذه القفزة تترك وراءها فروعًا أقدم: عمليًا، إنها مسؤولية كل توزيع تقديم نوى متوافقة، ولكن إذا كنت تقوم بصيانة أنظمة بإصدارات أقدم، فسيتعين عليك التخطيط لتحديث النواة للبقاء على اطلاع بأحدث أخبار systemd.

بالإضافة إلى تمكين الوظائف الحديثة، عادةً ما يجلب النواة الحديثة تحسينات أمنية والأداء، وهو ما يتناسب مع هدف هذا الإصدار: توحيد السلوكيات وتقليل الحالات الحدية التي يصعب الحفاظ عليها.

الأمان: أذونات TTY أكثر تقييدًا وتشفير موحد

في مجال الأمن، systemd 258 يعزز الوصول إلى أجهزة TTY/PTS بشكل افتراضيأصبحت أذونات العقد المُنشأة 0600 بدلاً من 0620، مما يمنع المستخدمين الآخرين من الكتابة إلى الجهاز الطرفي. يُجنّب هذا الإجراء العديد من المواقف المزعجة والخطيرة المحتملة في بيئات المستخدمين المتعددين.

هناك أيضًا توحيد في تبعيات التشفير: systemd-resolved y systemd-importd الآن يدعم OpenSSL حصريًاتم استبعاد GnuTLS وlibgcrypt من هذه المكونات، مما يُبسط مصفوفة التوافق ويتجنب التكرار. إذا كنتَ تفترض أن GnuTLS أو libgcrypt مُضمنان في إصداراتك أو سياسات توزيعاتك، فقد حان الوقت لمراجعتهما.

إدارة الجلسة: إعادة تصنيف المهام الخلفية

هناك جديد رئيسي آخر في systemd-logind. اعتبارًا من هذا الإصدار، مهام خلفية معينة مثل جلسات cron أو FTP أُعيد تصنيفها ضمن فئات "خفيفة" جديدة. ماذا يعني هذا؟ لن يتم تشغيل مدير الخدمة الكاملة بعد الآن بالنسبة لهم، ما لم يتم تكوينه صراحةً. بالنسبة للمستخدم النهائي، لا يتغير هذا كثيرًا، ولكن لأغراض الإدارة والتدقيق، من المهم مراعاة ذلك نظرًا لتأثيره على محاسبة الجلسة واستهلاك الموارد.

systemd 258 يزيل الدعم القديم: نهاية نصوص System V

تستمر عملية التنظيف: تمت إزالة نصوص بدء التشغيل على غرار نظام V بشكل دائم. إلى جانبهم، الأوامر الكلاسيكية مثل initctl o telinitهذه خطوة متوقعة ومتوافقة مع واقع نظام Linux البيئي الحالي، حيث حل systemd محل الآليات السابقة في معظم توزيعات Linux.

وعلى نفس المنوال، يتم سحب الطرق التقليدية، مثل /forcefsck y /fastboot. وبدلا من ذلك، فإن التوصية هي استخدام معلمات النواة أو بيانات الاعتماد للإشارة إلى هذه العمليات. أقل سحرًا وأكثر شفافية وقابلية للتدقيق.

أدوات جديدة: إعادة ضبط المصنع وإعادة توجيه PTY

يتضمن systemd 258 أدوات عملية مثيرة للاهتمام. أبرزها هو systemd-factory-reset، الذي يسمح لك بطلب أو إلغاء إعادة ضبط المصنع بالكامل مباشرةً من مساحة المستخدم. هذا رائع المختبرات أو الأجهزة أو بيئات الخادم حيث يكون من الضروري العودة إلى حالة نظيفة بطريقة خاضعة للرقابة.

بجانبها يظهر systemd-pty-forward، أداة ل تعيين وتوجيه المحطات الطرفية الزائفة (PTY)إنه عملي لأتمتة العمليات الخلفية واستكشاف أخطائها وإدارتها والتي تحتاج إلى ربطها بشكل آمن ومرن بجهاز TTY.

بدء التشغيل، UKIs، وTPM2: التغييرات التي تمهد الطريق

في قسم التمهيد، هناك تحسينات في systemd-boot وخاصةً التغييرات ذات الصلة بالتكامل مع TPM2. من الآن فصاعدًا، لم تعد السياسات تعتمد بشكل افتراضي على PCR 7، الذي يُعدّل طريقة إدارة المفاتيح والسياسات لعمليات التمهيد المُتحقق منها. يُخفّف هذا التعديل القيود المفروضة على مقاييس مُحددة، ويتيح أنظمة أمان أكثر مرونة.

بالإضافة إلى ذلك، UKIs (صور النواة الموحدة)في هذا الإصدار، يمكن لـ UKIs تضمين صور البرامج الثابتة UEFIمما يُسهّل توزيع حزم التمهيد المستقلة ويُحسّن سلسلة الثقة. بالنسبة لمسؤولي الأنظمة الذين يعملون مع برامج تمهيد مُوثّقة، وعمليات تمهيد آمنة، ونشر قابل للتكرار، يُعدّ هذا التطوير مثيرًا للاهتمام بشكل خاص.

توافق وإدارة Systemd 258: ما الذي يجب التحقق منه

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

من ناحية أخرى، تحقق التبعيات التشفيرية إذا كنتَ تُحافظ على إصدارات GnuTLS أو libgcrypt للمكونات المتأثرة، وإذا كانت لديكَ بقايا من نصوص System V مُدمجة في سير عملك، الانتقال إلى محركات أقراص systemd الأصلية بفضل التبعيات المعلنة جيدًا، ستكتسب المزيد من القدرة على التتبع والصيانة طويلة الأمد.

انتبه: تم حل قضية DNSSEC وPi-hole

هناك تأثير عملي يستحق تسليط الضوء عليه: إذا كنت تستخدم خادم أسماء لا ينفذ DNSSEC (على سبيل المثال، Pi-hole كما يأتي من المصنع)، قد يؤدي الترقية إلى systemd 258-2 إلى كسر الحلإنه ليس خطأ غامضًا تمامًا: من خلال طلب التحقق من صحة DNSSEC، سوف تفشل العملية عندما لا يدعم الخادم الأساسي هذه الميزة.

تبن طريقتان سهلتان لحلها، اعتمادًا على تفضيلاتك:

  1. تعطيل DNSSEC في systemd-resolved: يحرر /etc/systemd/resolved.conf، أضف أو ألغِ التعليق على السطر DNSSEC=no، احفظ التغييرات وأعد تشغيل الخدمة باستخدام systemctl restart systemd-resolvedهذا هو المسار السريع إذا كنت تتحكم في المضيف وتحتاج إلى استعادة الدقة في أسرع وقت ممكن.
  2. تمكين DNSSEC على Pi-holeانتقل إلى واجهة Pi-hole وقم بتفعيل DNSSEC من الإعدادات ← إعدادات DNS المتقدمة. إذا كان خادمك الرئيسي يدعم DNSSEC، فسيتيح لك هذا الخيار الحفاظ على مصادقة DNSSEC مع الاستفادة من الأمان الإضافي.

كما هو الحال دائمًا ، اختر البديل الذي يناسب طوبولوجيتكفي الشبكات المنزلية أو المعملية، قد يكون تعطيل DNSSEC مؤقتًا أمرًا عمليًا؛ أما في الإنتاج، فيعتبر تمكين دعم DNSSEC الشامل هو الخيار المفضل.

الأذونات وإعدادات المستخدمين المتعددين: أجهزة TTY أكثر أمانًا في Systemd 258

العودة إلى أذونات TTY، فهي ليست بالأمر الهين: انتقل من الساعة 06:20 إلى الساعة 06:00 يمنع المستخدمين الآخرين من الكتابة على جهازك، حتى في الحالات التي قد تؤدي فيها المجموعات إلى تفاعلات غير متوقعة. إذا كانت لديك تدفقات تعتمد على هذا السلوك المتساهل، سوف تضطر إلى تعديلها استخدام قنوات IPC صريحة، أو tmux مشتركة، أو حلول مماثلة، بدلاً من الاعتماد على الكتابة إلى TTY أجنبي.

مزيد من التغييرات في systemd 258: udev، وnetworkd، وjournalctl، والتنظيف العام

كما هو الحال في كل إصدار، هناك العديد من التعديلات الطفيفة موزعة بين udev, networkd, journalctl وغيرها من القطع. تُحذف الخيارات القديمة، وتُصقل الرسائل، وتُصحّح الجوانب السلوكية، وتُضاف عمليات التحقق. على الرغم من صعوبة رؤيتها واحدة تلو الأخرى، مجموع هذه التحسينات الصغيرة يساهم في توفير تجربة أكثر اتساقًا وقابلية للتنبؤ.

إذا كنت مهتمًا بالتفاصيل الدقيقة، ملاحظات الإصدار على GitHub هذا هو المكان. انتبه، فهي تقنية وكثيفة؛ ومع ذلك، بالنسبة للمتكاملين والموزعين، من الجدير التحقق منها للكشف عن التغييرات التي قد تؤثر على CI/CD أو نصوص التغليف أو سياسات الشركة.

التطلع إلى الإصدار التالي: الاستعداد للقفزة

ويعتبر هذا الإصدار بمثابة مقدمة أيضًا: يخطط systemd 259 لرفع المتطلبات في النظام، مما قد يؤثر على الأجهزة والبيئات القديمة جدًا. الإشارة واضحة: حان الوقت تقليل الصابورة القديمة والتزم بمسارات طويلة الأمد وقابلة للدعم. الانتقال إلى cgroup v2 الآن وتأمين أنوية حديثة سيضعك في وضع جيد لما هو قادم.

أفضل ممارسات وعمليات التحقق من الهجرة

بالنسبة لأولئك الذين ما زالوا يعيشون في نظام هجين أو تقليدي، فإن قائمة المراجعة لا تضر. التحقق من صحة الحاويات والخدمات الخاصة بك تعمل هذه الوحدات بكفاءة مع cgroup الإصدار الثاني؛ فمعظم أدوات التنسيق الحديثة تدعمها بالفعل، ولكن لا تتجاهل الإعدادات الافتراضية. راجع الوحدات التي تحتوي على توجيهات موارد (CPUQuota، MemoryMax، إلخ) وتحقق من تأثيرها الفعلي في الإصدار الثاني.

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

الأسئلة الشائعة السريعة

  • هل لا يزال بإمكاني استخدام نصوص System V؟ ليس مع systemd 258. الانتقال إلى الوحدات الأصلية وإزالة التبعيات من initctl o telinit.
  • ماذا لو كان إصدار النواة الخاص بي أقدم من 5.4؟ لا يدعم systemd 258 هذه الميزة. حدّث النواة؛ إن لم يكن ذلك ممكنًا، لن تتمكن من اعتماد هذا الإصدار.
  • هل يؤثر التغيير في أذونات TTY علي؟ في بيئات متعددة المستخدمين، نعم: تحقق من سير العمل التي تكتب على أجهزة TTY الخاصة بالأشخاص الآخرين و تغييرها لآليات واضحة.
  • هل يجب علي تفعيل DNSSEC؟ نعم، يمكنك ذلك. إذا كان خادم DNS الرئيسي لديك لا يدعمه، تعطيله في الحل أو تمكينه في Pi-hole لتجنب التخفيضات.

من الواضح أن systemd 258 هو إصدار عميق: يوحد cgroup v2، ويرفع مستوى النواة، ويعزز الأمان، ويضيف أدوات مفيدة مثل إعادة ضبط المصنع وإعادة توجيه PTY. كما يُجري تغييرات على التمهيد، وUKIs، وTPM2 تُمهّد الطريق للمتطلبات المستقبلية، ولا يتردد في إلغاء ميزات قديمة مثل نصوص System V. بمراجعة سريعة للنواة، وتبعيات التشفير، والأذونات، ونظام أسماء النطاقات (DNS)، يُمكن إدارة عملية الانتقال بسهولة حتى في البيئات المُتطلبة.

لينكس شنومكس
المادة ذات الصلة:
جميع الميزات الجديدة الرئيسية في Linux 6.16: الدعم والتحسينات والإصلاحات المهمة