Scroll to navigation

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

الاسم

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

موجز

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

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

تُمكّن خدمة النظام systemd-sysupdate-auto-enable.service آليًا جميع المكونات المقترحة وجميع الميزات المقترحة لجميع المكونات قبل كل تحديث. وتُرتب قبل systemd-sysupdate-update.service وتُسحب بوساطتها، وهي غير مُمكّنة مبدئيًا. مكّنها إذا كان ينبغي التقاط المكونات والميزات المقترحة حديثًا آليًا بمجرد توفرها، بدلاً من التطلب لاستدعاءات enable-component/enable-feature الدوية.

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

الأمر

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

list [إصدار]

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

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

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

features [سمة]

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

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

enable-feature خاصية..., disable-feature خاصية...

يُمكّن أو يُعطّل الميزات الاختيارية المحددة. يكتب هذا إعداد Enabled= في ملف إسقاط بجوار تعريف الميزة، انظر sysupdate.features(5) للتفاصيل. يمكن تحديد الميزات إما كوسائط أو اختيارها عبر المفاتيح --feature-all أو --feature-suggested. لاحظ أن هذا يغير التهيئة فقط: لتنزيل عمليات النقل المُمكّنة حديثًا بالفعل، أو إزالة المُمكّنة منها التي عُطّلت، استدعِ update أو vacuum بعد ذلك.

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

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.

enable-component المكون..., disable-component المكون...

يُمكّن أو يُعطّل المكونات المحددة. يكتب هذا إعداد Enabled= في ملف إسقاط بجوار تعريف المكون. يمكن تحديد المكونات إما كوسائط أو اختيارها عبر المفاتيح --component=، --component-all أو --component-suggested.

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

cleanup

يزيل الملفات اليتيمة التي ثُبّتت سابقًا بواسطة عملية نقل، ولكن لم تعد مملوكة لأي ملف نقل مُعرَّف حاليًا. كلما ثُبّت مورد في نظام الملفات، يسجل systemd-sysupdate الدليل المستهدف والنمط المطابق في قاعدة بيانات التثبيت تحت /var/lib/systemd/sysupdate/. يمر هذا الأمر عبر هذه السجلات، ويحدد الملفات التي تطابقها، ويحذف الملفات التي لم تعد تغطيها أي من أنماط ملفات النقل الموجودة حاليًا. هذا مفيد لجمع النفايات من الملفات التي كانت مملوكة لملف نقل عُدّل منذ ذلك الحين أو عُطّل أو أُزيل بالكامل (على سبيل المثال لأن المكون لم يعد يُحدَّث).

مبدئيًا، يُعالج المكون المحدد فقط (أي المكون المحدد عبر --component=، أو المكون المبدئي إذا لم يُحدد أي مكون). استخدم --component-all لمعالجة جميع المكونات المعروفة لقاعدة بيانات التثبيت في استدعاء واحد.

تزيل هذه العملية فقط الملفات التي ثُبّتت في نظام الملفات (أي الموارد من النوع "regular-file"، و "directory"، و "subvolume"، انظر sysupdate.d(5))؛ ولا تمس الموارد المعتمدة على الأقسام.

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

-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=، ولا مع الأمرين pending و reboot أو المفتاح --reboot، والتي تنطبق فقط على إصدار نظام التشغيل المُقلَع منه.

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

--component-all, -A

بدلاً من العمل على مكون واحد، يعمل على جميع المكونات المعروفة (بالإضافة إلى التثبيت المبدئي الخالي من المكونات). هذا مدعوم للأوامر update، و acquire، و cleanup، و enable-feature، و disable-feature، و enable-component، و disable-component؛ وستفشل جميع الأوامر الأخرى إذا استُخدم هذا المفتاح.

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

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

--component-suggested, -S

مشابه لـ --component-all، ولكن يعمل فقط على المكونات المقترحة حاليًا لهذا النظام، كما هو محدد بالإعدادين Suggest= و SuggestOn...= في ملفات تعريف المكونات. هذا مدعوم للأمرين enable-component و disable-component. يعمل كلا الأمرين على نفس المجموعة من المكونات، وبالتالي يُلغي disable-component ما فعله enable-component.

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

من أجل التوفيق بين النظام وفقًا للاقتراحات، أي لإيقاف تشغيل المكونات التي ليست (أو لم تعد) مقترحة أيضًا، قم أولاً بتعطيل جميع المكونات باستخدام --component-all، ثم مكّن المكونات المقترحة باستخدام هذا المفتاح. لاحظ أن هذا له عواقب أوسع من التوفيق المكافئ للميزات الاختيارية لأن المكونات تكون مُمكّنة مبدئيًا، ويُعتبر المكون غير مقترح ما لم يذكر إعداد Suggest= أو أحد إعدادات SuggestOn...= خلاف ذلك. وبالتالي فإن التوفيق يُعطّل صراحة كل مكون غير مقترح، بما في ذلك المكونات التي لا تشحن أي ملف *.component على الإطلاق. لا يتأثر المكون المبدئي.

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

--feature-all، -a

بدلاً من العمل على الميزات المحددة في سطر الأوامر، يعمل على جميع الميزات الاختيارية المعروفة للمكون (المكونات) المحددة. هذا مدعوم للأمرين enable-feature و disable-feature.

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

--feature-suggested, -s

مشابه لـ --feature-all، ولكنه يعمل فقط على الميزات الاختيارية المقترحة حاليًا لهذا النظام، كما هو محدد بالإعدادين Suggest= و SuggestOn...= في ملفات تعريف الميزات. هذا مدعوم للأمرين enable-feature و disable-feature. يعمل كلا الأمرين على نفس المجموعة من الميزات، وبالتالي يُلغي disable-feature ما فعله enable-feature.

من أجل التوفيق بين النظام وفقًا للاقتراحات، أي لإيقاف تشغيل الميزات التي ليست (أو لم تعد) مقترحة أيضًا، قم أولاً بتعطيل جميع الميزات باستخدام --feature-all، ثم مكّن الميزات المقترحة باستخدام هذا المفتاح.

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

--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 وتثبيت إصدار جديد، يُعيد إقلاع النظام آليًا فورًا بعد ذلك. لا يجوز دمج هذا المفتاح مع --component=، لأنه ينطبق فقط على إصدار نظام التشغيل المُقلَع منه.

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

--cleanup=

يأخذ وسيطًا منطقيًا. عند استخدامه مع أمر update، ينفذ آليًا ما يعادل أمر cleanup بعد ذلك، مزيلاً أي ملفات يتيمة لم تعد تغطيها أنماط ملفات النقل المُعرَّفة حاليًا. هذا مفيد لجمع النفايات من الملفات التي كانت مملوكة لملف نقل عُدّل منذ ذلك الحين أو عُطّل أو أُزيل. المبدئي هو الإيقاف (off).

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

--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), sysupdate.features(5), sysupdate.components(5), systemd-sysupdated.service(8), systemd-repart(8)

ترجمة

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

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

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

systemd 262.1