Scroll to navigation

SYSTEMD-SYSUPDATE(8) systemd-sysupdate SYSTEMD-SYSUPDATE(8)

الاسم

systemd-sysupdate، systemd-sysupdate.service، systemd-sysupdate.timer، systemd-sysupdate-reboot.service، systemd-sysupdate-reboot.timer - تحديث نظام التشغيل أو الموارد الأخرى آليًا

موجز

systemd-sysupdate [خيارات...]

systemd-sysupdate.service

الوصف

يقوم systemd-sysupdate بتحديث نظام التشغيل المضيف، وصور الحاويات، وصور الخدمات المحمولة، أو المصادر الأخرى بشكل ذري، بناءً على ملفات تهيئة النقل الموصوفة في sysupdate.d(5).

تنفذ هذه الأداة مخططات تحديث تعتمد على الملفات أو الدلائل أو الأقسام، وتدعم إصدارات متعددة مثبتة بالتوازي لموارد محددة بأسلوب A/B (أو حتى: A/B/C، A/B/C/D/، ...). يعني التحديث بنمط A/B أنه عند استخدام إصدار حالي من مورد، يمكن تنزيل الإصدار التالي وفك ضغطه وتحضيره في موقع منفصل تمامًا، بشكل مستقل عن الأول، وبمجرد اكتماله يتم تفعيله، مع تبديل الأدوار ليصبح هو المستخدم ويصبح المستخدم سابقًا هو الذي يُستبدل بالتحديث التالي، وهكذا. تُعرّف الموارد المراد تحديثها في ملفات نقل، ملف واحد لكل مورد. على سبيل المثال، الموارد التي يمكن تحديثها بهذه الأداة قد تشمل: قسم نظام ملفات الجذر، قسم Verity مطابق بالإضافة إلى صورة نواة واحدة. يُعتبر الجمع بين الثلاثة تحديثًا كاملاً لنظام التشغيل.

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

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

لاحظ أنه عند كتابة التحديثات إلى قسم، يجب أن يكون القسم موجودًا بالفعل، لأن systemd-sysupdate لن ينشئ أقسامًا جديدة آليًا. استخدم أداة مثل systemd-repart(8) لإنشاء أقسام إضافية آليًا لاستخدامها مع systemd-sysupdate عند الإقلاع.

يمكن استخدام الأداة على نظام التشغيل الجاري، لتحديث نظام التشغيل في حالة "متصل" من داخله، وعلى صور الأقراص "غير المتصلة"، لتحديثها من الخارج بناءً على ملفات نقل مضمنة في صور الأقراص. للأخير، انظر --image= أدناه. الأخير مثير للاهتمام بشكل خاص لتحديث صور الحاويات أو صور الخدمات المحمولة.

تقوم خدمة النظام systemd-sysupdate.service بتحديث نظام التشغيل المضيف آليًا بناءً على ملفات النقل المثبتة. تُشغل على فترات منتظمة عبر systemd-sysupdate.timer. ستعيد خدمة systemd-sysupdate-reboot.service تشغيل النظام آليًا بعد تثبيت إصدار جديد. تُشغل عبر systemd-sysupdate-reboot.timer. الخدمتان منفصلتان عن بعضهما لأنه من المستحسن عادة تنزيل التحديثات بانتظام أثناء تشغيل النظام، ولكن تأخير إعادة التشغيل حتى الوقت المناسب (أي عادة في الليل). يمكن تمكين مجموعتي وحدات الخدمة/المؤقت بشكل منفصل.

للحصول على تفاصيل حول ملفات النقل والأمثلة، انظر sysupdate.d(5).

الأمر

الأوامر التالية مفهومة:

list [إصدار]

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

إذا لم يُحدد أي أمر صراحةً، فإن هذا الأمر يُعتبر ضمنيًا.

أُضيف في الإصدار 251.

features [سمة]

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

أُضيف في الإصدار 257.

check-new

يتحقق مما إذا كان هناك إصدار جديد متاح. يُعدد داخليًا الإصدارات القابلة للتنزيل والمثبتة ويعيد حالة خروج 0 إذا كان هناك إصدار جديد للتحديث إليه، وقيمة غير صفرية بخلاف ذلك. إذا كان هناك إصدار جديد للتحديث إليه، يُكتب معرف الإصدار إلى المخرجات القياسية.

أُضيف في الإصدار 251.

update [--offline] [إصدار]

يثبت (يحدث إلى) الإصدار المحدد، أو إذا لم يُحدد أي إصدار، إلى أحدث إصدار متاح. إذا كان الإصدار مثبتًا بالفعل أو لا يوجد إصدار أحدث متاح، لا يُنفذ أي عملية.

إذا تم تحديد --offline، يجب أن يكون التحديث قد تم الحصول عليه مسبقًا باستخدام acquire، وإذا كان الأمر كذلك، فهذا الإصدار المُحصل عليه مسبقًا هو الذي سيتم التحديث إليه.

أُضيف في الإصدار 251.

acquire [إصدار]

يحصل (ينزل) الإصدار المحدد، جاهزًا لتثبيته. إذا لم يُحدد إصدار، يُحصل على أحدث إصدار متاح. إذا كان الإصدار مثبتًا بالفعل أو لا يوجد إصدار أحدث متاح، لا يُنفذ أي عملية.

إذا تم العثور على إصدار جديد للتثبيت/التحديث إليه، تُحذف الإصدارات القديمة المثبتة حتى يمكن تثبيت إصدار جديد واحد على الأقل، كما هو مكون عبر InstanceMax= في sysupdate.d(5)، أو عبر فتحات الأقسام المتاحة من النوع الصحيح. يمكن أيضًا استدعاء هذه العملية الضمنية صراحةً عبر الأمر vacuum الموصوف أدناه.

أُضيف في الإصدار 260.

vacuum

يحذف الإصدارات القديمة المثبتة حتى يتم الوفاء بالحدود المكونة عبر InstanceMax= في sysupdate.d(5) مرة أخرى. عادة، لا ينبغي أن يكون من الضروري استدعاء هذا الأمر صراحةً، لأنه يُستدعى ضمنيًا كلما بدأ تحديث جديد.

أُضيف في الإصدار 251.

pending

يتحقق مما إذا كان إصدار أحدث من نظام التشغيل مثبتًا مقارنة بالإصدار الجاري تشغيله حاليًا. يُرجع صفرًا إذا كان الأمر كذلك، وقيمة غير صفرية بخلاف ذلك. يقارن هذا المعرف الخاص بأحدث إصدار مثبت مع إصدار صورة نظام التشغيل كما هو مبلغ عنه بواسطة حقل IMAGE_VERSION= في /etc/os-release. إذا كان الأول أحدث من الأخير، فمن الواضح أن التحديث قد اكتمل ولكن لم يتم تفعيله (أي الإقلاع إليه) بعد.

أُضيف في الإصدار 251.

reboot

مشابه لأمر pending لكنه يُعيد الإقلاع فورًا في حال تثبيت إصدار أحدث من نظام التشغيل مقارنة بالإصدار الجاري تشغيله. يمكن تنفيذ هذه العملية ضمنيًا مع أمر update، بعد اكتمال التحديث عبر المفتاح --reboot، انظر أدناه. لن ينفذ هذا الأمر أي عملية (وسيُرجع نجاحًا) إذا لم يتم تثبيت أي تحديث، وبالتالي لم يُعد إقلاع النظام.

أُضيف في الإصدار 251.

components

يسرد المكونات التي يمكن تحديثها. يُعدد هذا الدلائل /etc/sysupdate.*.d/ و /run/sysupdate.*.d/ و /usr/lib/sysupdate.*.d/ التي تحتوي على ملفات النقل. هذا الأمر مفيد لسرد المعاملات المحتملة لـ --component= (انظر أدناه).

أُضيف في الإصدار 251.

-h، --help

اطبع نص مساعدة قصير واخرج.

--version

اطبع سلسلة إصدار قصيرة واخرج.

الخيارات

الخيارات التالية مفهومة:

--component=, -C

يختار المكون المراد تحديثه. يأخذ اسم مكون كوسيط. لهذا تأثير تعديل طفيف في منطق البحث عن ملفات النقل. إذا لم يُستخدم هذا المفتاح، تُحمّل ملفات النقل من /etc/sysupdate.d/*.conf و /run/sysupdate.d/*.conf و /usr/lib/sysupdate.d/*.conf. إذا استُخدم هذا المفتاح، يُستخدم اسم المكون المحدد لتعديل الدلائل التي يُبحث فيها لتصبح /etc/sysupdate.component.d/*.conf و /run/sysupdate.component.d/*.conf و /usr/lib/sysupdate.component.d/*.conf، في كل مرة مع استبدال سلسلة component باسم المكون المحدد.

استخدم أمر components لسرد المكونات المتاحة للتحديث. يُعدد هذا الدلائل المطابقة لقاعدة التسمية هذه.

يمكن استخدام المكونات لتعريف مجموعة منفصلة من ملفات النقل لمكونات مختلفة من نظام التشغيل التي يجب تحديثها بشكل منفصل. لا تستخدم هذا المفهوم للموارد التي يجب تحديثها دائمًا معًا بطريقة متزامنة. ببساطة، عرّف ملفات نقل متعددة داخل نفس الدليل sysupdate.d/ لهذه الحالات.

لا يجوز دمج هذا الخيار مع --definitions=.

أُضيف في الإصدار 251.

--definitions=

مسار إلى دليل. إذا حُدد، تُقرأ ملفات النقل *.conf من هذا الدليل بدلاً من /usr/lib/sysupdate.d/*.conf و /etc/sysupdate.d/*.conf و /run/sysupdate.d/*.conf.

لا يجوز دمج هذا الخيار مع --component=.

أُضيف في الإصدار 251.

--root=

يأخذ مسارًا إلى دليل لاستخدامه كنظام ملفات جذر عند البحث عن ملفات sysupdate.d/*.conf.

أُضيف في الإصدار 251.

--image=

يأخذ مسارًا إلى ملف صورة قرص أو جهاز لتركيبه واستخدامه بطريقة مشابهة لـ --root=، انظر أعلاه. إذا استُخدم هذا وتم تحديث موارد الأقسام، يُفعل ذلك داخل صورة القرص المحددة.

أُضيف في الإصدار 251.

--image-policy=السياسة

يأخذ سلسلة سياسة صورة كوسييط، وفقًا لـ systemd.image-policy(7). تُفرض السياسة عند العمل على صورة القرص المحددة عبر --image=، انظر أعلاه. إذا لم تُحدد، فسيُرجع إلى سياسة "*" المبدئية، أي تُستخدم جميع أنظمة الملفات المعروفة في الصورة.

--instances-max=, -m

يأخذ عددًا صحيحًا عشريًا أكبر من أو يساوي 2 أثناء التحديث أو 1 أثناء التنظيف. يتحكم في عدد الإصدارات التي يجب الاحتفاظ بها في أي وقت. يمكن أيضًا تكوين هذا الخيار داخل ملفات النقل، عبر الإعداد InstancesMax=، انظر sysupdate.d(5) للتفاصيل.

أُضيف في الإصدار 251.

--sync=

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

أُضيف في الإصدار 251.

--verify=

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

أُضيف في الإصدار 251.

--reboot

عند استخدامه مع أمر update وتثبيت إصدار جديد، يُعيد إقلاع النظام آليًا فورًا بعد ذلك.

أُضيف في الإصدار 251.

--offline

يمنع جلب البيانات الوصفية من الشبكة (أي SHA256SUMS). هذا مفيد جدًا عند استخدامه مع أمر list، للاستعلام عن الإصدارات المثبتة محليًا.

إذا استُخدم مع أمر update، فإنه يسمح بتنزيل التحديثات مسبقًا (باستخدام acquire) وتثبيتها لاحقًا.

أُضيف في الإصدار 257.

--transfer-source=

يأخذ مسارًا كوسيط له. عندما يُحدد، ستُفسر جميع مصادر النقل المكونة بـ PathRelativeTo=explicit نسبة إلى المسار المحدد.

أُضيف في الإصدار 257.

--no-pager

لا تمرر المخرجات إلى برنامج عرض (pager).

--no-legend

لا تطبع مفتاح الرموز، أي ترويسات الأعمدة والتذييل المزود بالتلميحات.

--json=وضع

يظهر المخرجات منسقة بصيغة JSON. يتوقع أحد الخيارات: "short" (لأقصر مخرج ممكن دون أي مسافات زائدة أو فواصل أسطر)، أو "pretty" (لنسخة جميلة من المخرج نفسه، مع إزاحة وفواصل أسطر) أو "off" (لإيقاف مخرجات JSON، وهو الخيار المبدئي).

حالة الخروج

عند النجاح، يُعاد الرقم 0، وإلا فيُعاد رمز فشل غير صفري.

انظر أيضًا

systemd(1), sysupdate.d(5), systemd-sysupdated.service(8), systemd-repart(8)

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

systemd 261~rc3