SYSTEMD.V(7)

الاسم
systemd.v - دليل ذو موارد مرقمة الإصدارات

الوصف

في أماكن متعددة، تقبل مكونات systemd مسارات تحتوي مكوناتها اللاحقة على اللاحقة ".v/" مشيرة إلى دليل. تبحث هذه المكونات آليًا عن ملفات مناسبة داخل الدليل، وتجري مقارنة إصدارات، وتفتح أحدث ملف موجود (حسب الإصدار). متاح منذ الإصدار v256. تحديدًا، يُدعم تعبيران:

    • عند البحث عن ملفات ذات لاحقة .SUFFIX، وتحديد مسار ...PATH/NAME.SUFFIX.v/، تُعد جميع الملفات ...PATH/NAME.SUFFIX.v/NAME_*.SUFFIX وتُصفى وتُفرز ويُستخدم أحدث ملف. مفتاح الفرز الرئيسي هو الجزء المتغير، المشار إليه هنا بحرف البدل "*".

    • عند تحديد مسار ...PATH.v/NAME___.SUFFIX (أي أن المكون قبل الأخير من المسار ينتهي بـ ".v" والمكون الأخير يحتوي على شرطة سفلية ثلاثية)، تُعد جميع الملفات ...PATH.v/NAME_*.SUFFIX وتُصفى وتُفرز ويُستخدم أحدث ملف (مرة أخرى، حسب الجزء المتغير، المشار إليه هنا بحرف البدل "*").

لتوضيح ذلك بمثال، اعتبر دليل /var/lib/machines/mymachine.raw.v/، المملوء بثلاثة ملفات:

    • mymachine_7.5.13.raw

    • mymachine_7.5.14.raw

    • mymachine_7.6.0.raw

استدع أداة مثل systemd-nspawn(1) بسطر أوامر مثل التالي:

    # systemd-nspawn --image=/var/lib/machines/mymachine.raw.v --boot

ثم يُحل هذا آليًا إلى ما يعادل:

    # systemd-nspawn --image=/var/lib/machines/mymachine.raw.v/mymachine_7.6.0.raw --boot

كثير من وظائف systemd التي تتوقع مسارًا لصورة قرص أو تسلسل هرمي لدليل نظام تشغيل تدعم آلية الدليل المرقم الإصدارات ".v/"، مثل systemd-nspawn(1) وsystemd-dissect(1) أو إعدادات RootDirectory=/RootImage= لملفات الخدمة (انظر systemd.exec(5)).

استخدم أداة systemd-vpick(1) لحل مسارات ".v/" من سطر الأوامر، مثلاً للاستخدام في نصوص shell.

التصفية والفرز

يُصفى الجزء المتغير من أسماء الملفات في الدلائل ".v/" ويُقارن بشكل أساسي بمقارنة إصدارات، مطبقًا مواصفات تنسيق الإصدار UAPI.10[1]. ومع ذلك، تُطبق قواعد إضافية:

    • إذا كان الجزء المتغير ملحقًا بقيمة أو قيمتين صحيحتين ("محاولات متبقية" و"محاولات منجزة") بالصيغ +LEFT أو +LEFT-DONE، فهذه تشير إلى عدادات محاولات الاستخدام. الفكرة هي أنه في كل مرة قبل محاولة استخدام ملف، يُقلل عداد "المحاولات المتبقية" ويُزيد عداد "المحاولات المنجزة" (ببساطة بإعادة تسمية الملف). عند استخدام الملف بنجاح (والذي قد يعني مثلاً لصورة نظام تشغيل: الإقلاع بنجاح)، تُزال العدادات من اسم الملف، مشيرة إلى أن الملف قد تحقق من عمله بشكل صحيح. تعكس هذه الآلية عدادات تقييم الإقلاع المعرفة بواسطة تقييم الإقلاع التلقائي[2]. تُفرز أي أسماء ملفات بدون عدادات إقلاع أو بعداد "محاولات متبقية" غير صفري قبل أسماء الملفات بعداد "محاولات متبقية" صفري.

    • قبل عدادات الاستخدام (إذا كانت محددة)، يمكن تحديد معرف بنية CPU اختياري في اسم الملف (مفصولاً عن الإصدار بشرطة سفلية)، كما هو معرف في مفردات البنية لإعداد ملف الوحدة ConditionArchitecture=، كما هو موثق في systemd.unit(5). تُصفى الملفات التي يشير اسمها إلى بنية غير مدعومة محليًا ولا تُعتبر لمقارنة الإصدار.

    • باقي الجزء المتغير هو سلسلة الإصدار.

أو بعبارة أخرى، يجب أن تتبع الملفات في الدلائل ".v/" أحد هذه الهياكل التسمية:

    • NAME_VERSION.SUFFIX

    • NAME_VERSION_ARCHITECTURE.SUFFIX

    • NAME_VERSION+LEFT.SUFFIX

    • NAME_VERSION+LEFT-DONE.SUFFIX

    • NAME_VERSION_ARCHITECTURE+LEFT.SUFFIX

    • NAME_VERSION_ARCHITECTURE+LEFT-DONE.SUFFIX

مثال

هذا مثال أكثر شمولاً، يوسع المثال الموصوف أعلاه. افترض دليلاً /var/lib/machines/mymachine.raw.v/، مملوءاً بالملفات التالية:

    • mymachine_7.5.13.raw

    • mymachine_7.5.14_x86-64.raw

    • mymachine_7.6.0_arm64.raw

    • mymachine_7.7.0_x86-64+0-5.raw

الآن استدع الأمر التالي على جهاز x86-64:

    $ systemd-vpick --suffix=.raw /var/lib/machines/mymachine.raw.v/

سيحل هذا المسار المحدد إلى /var/lib/machines/mymachine.raw.v/mymachine_7.5.14_x86-64.raw. التفسير: على الرغم من أن mymachine_7.7.0_x86-64+0-5.raw لديها أحدث إصدار، إلا أنها ليست مفضلة لأن عداد المحاولات المتبقية لديها صفر. وعلى الرغم من أن mymachine_7.6.0_arm64.raw لديها ثاني أحدث إصدار، إلا أنها لا تؤخذ في الاعتبار في هذه الحالة، لأننا نعمل على نظام x86_64 والصورة مخصصة لوحدات المعالجة المركزية arm64. أخيراً، صورة mymachine_7.5.13.raw لا تؤخذ في الاعتبار لأنها أقدم من mymachine_7.5.14_x86-64.raw.

انظر أيضًا

systemd(1), systemd-vpick(1), systemd-nspawn(1), systemd-dissect(1), systemd.exec(5), systemd-sysupdate(8)

ملاحظات

1.  UAPI.10 مواصفات تنسيق الإصدار
    https://uapi-group.org/specifications/specs/version_format_specification/

2.  تقييم الإقلاع الآلي
    https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT/

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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