PORTABLECTL(1)

الاسم
portablectl - وصل أو فصل أو فحص صور الخدمات المحمولة

موجز

portablectl [خيارات...] {أمر} [اسم...]

الوصف

يمكن استخدام portablectl لوصل أو فصل أو فحص صور الخدمات المحمولة. وهو أمر يتفاعل بشكل رئيس مع systemd-portabled.service(8).

تحتوي صور الخدمات المحمولة على شجرة نظام ملفات نظام تشغيل مع معلومات ملفات وحدات systemd(1). يمكن "وصل" صورة خدمة بالنظام المحلي. إذا تم وصلها، تُنسخ مجموعة من ملفات الوحدات من الصورة إلى المضيف، وتُوسع بتعيينات RootDirectory= أو RootImage= (في حالة وحدات الخدمة) تشير إلى ملف أو دليل الصورة، مما يضمن تشغيل الخدمات ضمن سياق نظام ملفات الصورة.

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

قد تكون صور الخدمات المحمولة من الأنواع التالية:

    • أشجار الأدلة التي تحتوي على نظام تشغيل، بما في ذلك أدلة المستوى الأعلى /usr/ و /etc/، وما إلى ذلك.

    • مجلدات فرعية btrfs تحتوي على أشجار نظام تشغيل، مشابهة لأشجار الدلائل العادية.

    • صور أقراص "خام" ثنائية تحتوي على جداول أقسام MBR أو GPT وأقسام نظام ملفات لينكس. (يجب أن تكون هذه ملفات عادية، باللاحقة .raw.)

الأوامر

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

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

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

attach صورة [بادئة...]
    وصل صورة خدمة محمولة بالنظام المضيف. يتوقع مسار نظام ملفات إلى ملف أو دليل صورة خدمة محمولة كوسيطة أولى. إذا كان المسار المحدد لا يحتوي على حرف شرطة مائلة ("/") يُفهم كاسم ملف صورة يُبحث عنه في مسارات بحث صور الخدمات المحمولة (انظر أدناه). للإشارة إلى ملف في دليل العمل الحالي، أسبق اسم الملف بـ "./" لتجنب منطق مسار البحث هذا.

    عند وصل خدمة محمولة، تُنفذ أربع عمليات:

        1. تُنسخ جميع ملفات الوحدات من الأنواع .service و.socket و.target و.timer و.path التي تطابق بادئة اسم ملف الوحدة المشار إليها من الصورة إلى دليل /etc/systemd/system.attached/ الخاص بالمضيف (أو /run/systemd/system.attached/ — اعتمادًا على ما إذا تم تحديد --runtime، انظر أدناه)، والذي يُضمن في مسار بحث الوحدات المدمج لمدير خدمة النظام.

        2. بالنسبة لملفات الوحدات من النوع .service، يُضاف إسقاط إلى هذه النسخ يضيف إعدادات RootDirectory= أو RootImage= (انظر systemd.unit(5) للتفاصيل)، مما يضمن تشغيل هذه الخدمات ضمن نظام ملفات صورة الخدمة المحمولة الأصلية.

        3. يُُنشأ إسقاط ثانٍ: إسقاط "التشكيلة"، الذي قد يحتوي على إعدادات أمان إضافية (وإعدادات أخرى). عدد من التشكيلات متاحة مبدئيًا ولكن يمكن للمسؤولين تعريف تشكيلاتهم الخاصة. انظر أدناه.

        4. إذا لم يكن ملف صورة الخدمة المحمولة موجودًا بالفعل في مسار البحث (انظر أدناه)، يُنشأ رابط رمزي له في /etc/portables/ أو /run/portables/، لضمان تضمينه فيه.

    مبدئيًا، تُنسخ جميع ملفات الوحدات التي تبدأ أسماؤها ببادئة مولدة من اسم ملف الصورة. تحديدًا، تُحدد البادئة من اسم ملف الصورة مع إزالة أي لاحقة مثل .raw، وتُقطع عند أول ظهور لحرف شرطة سفلية ("_")، إذا كان موجودًا. يُفترض استخدام منطق الشرطة السفلية للإصدار بحيث يؤدي ملف صورة foobar_47.11.raw إلى بادئة مطابقة لملف الوحدة foobar. ثم تُقارن هذه البادئة مع جميع أسماء ملفات الوحدات الموجودة في الصورة في الدلائل المعتادة، ولكن فقط أسماء ملفات الوحدات التي تتبع البادئة بـ "-" أو "." أو "@" تُعتبر. مثال: إذا كان ملف صورة خدمة محمولة يُسمى foobar_47.11.raw، فسيتم مبدئيًا اعتبار جميع ملفات الوحدات بأسماء مثل foobar-quux-waldi.service أو foobar.service أو foobar@.service. من الممكن تجاوز البادئة المطابقة: جميع السلاسل المدرجة في سطر الأوامر بعد اسم ملف الصورة تُعتبر بادئات، متجاوزة المنطق الضمني حيث تُشتق البادئة من اسم ملف الصورة.

    مبدئيًا، بعد وصل ملفات الوحدات، يُعاد تحميل تهيئة مدير الخدمة، إلا عند تحديد --no-reload (انظر أدناه). يضمن هذا رؤية مدير الخدمة للوحدات الجديدة المتاحة له.

    إذا تم تمرير --now و/أو --enable، تُبدأ الخدمات المحمولة فورًا (عملية حظر ما لم يتم تمرير --no-block) و/أو تُفعل بعد وصل الصورة.

    عند وصل الصور، ستُولد سياسة صورة تثبت الصورة الموصولة بالمحتوى الدقيق الذي وُجد أثناء الوصل، بحيث لا يمكن استبدالها بخفض الأمان (مثل: إزالة حماية dm-verity) دون إعادة تثبيت كاملة. لمزيد من التفاصيل حول السياسات، انظر systemd.image-policy(7).

    بدلاً من مسار الصورة، يمكن تحديد دليل بنسخة ".v/"، راجع systemd.v(7) للمزيد من التفاصيل.

    بدلاً من مسار الدليل، يُمكن تحديد دليل ذي إصدار ".v/"، راجع systemd.v(7) للتفاصيل.

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

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

    إذا تم تمرير --now و/أو --enable، تُوقف الخدمات المحمولة فورًا (عملية حظر) و/أو تُعطل قبل فصل الصورة. تُقبل البادئة (البادئات) أيضًا، لاستخدامها في حال عدم تطابق أسماء الوحدات مع اسم الصورة كما هو موصوف في attach.

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

reattach صورة [بادئة...]
    يفصل صورة خدمة محمولة موجودة من المضيف، ثم يصلها فورًا مرة أخرى. هذا مفيد في حالة استبدال الصورة. لا تتوقف الوحدات الجارية أثناء العملية. يُسمح بالمطابقة الجزئية للسماح بإصدارات مختلفة في اسم الصورة: يجب أن يتطابق فقط الجزء قبل أول حرف "_". إذا لم توجد الصورة الجديدة، فلن تُفصل الصورة الموجودة. تتبع المعاملات نفس بناء جملة الأمر attach.

    إذا مُررت --now و/أو --enable، تُوقف الخدمات المحمولة فورًا إذا أزيلت، وتُبدأ و/أو تُفعل إذا أضيفت، أو تُعاد تشغيلها إذا حدثت. تُقبل البادئات أيضًا، بنفس الطريقة الموصوفة في حالة attach.

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

inspect صورة [بادئة...]
    يستخرج بيانات وصفية متنوعة من صورة خدمة محمولة ويعرضها للمتصل. تحديدًا، يُسترجع ملف os-release(5) للصورة بالإضافة إلى جميع ملفات الوحدات المطابقة. افتراضيًا، يُعرض ملخص قصير يظهر البيانات الوصفية الأكثر صلة مع قائمة بملفات الوحدات المطابقة (أي ملفات الوحدات التي سيثبتها attach في النظام المضيف). إذا دُمج مع --cat (انظر أعلاه)، تُعرض بيانات os-release ومحتويات ملفات الوحدات دون معالجة. هذا الأمر مفيد لتحديد ما إذا كانت الصورة مؤهلة كصورة خدمة محمولة، وأي ملفات وحدات مضمنة. يتوقع هذا الأمر مسار الصورة كمعامل، متبوعًا اختياريًا بقائمة ببادئات ملفات الوحدات للنظر فيها، مشابهًا للأمر attach الموصوف أعلاه.

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

is-attached صورة
    يحدد ما إذا كانت الصورة المحددة موصولة حاليًا أم لا. ما لم يُدمج مع المفتاح --quiet، سيظهر معرف حالة قصير للصورة. تحديدًا:

    جدول 1. حالات وصل الصورة
    الحالة | الوصف
    detached | الصورة غير موصولة حاليًا.
    attached | الصورة موصولة حاليًا، أي أن ملفات وحداتها أصبحت متاحة للنظام المضيف.
    attached-runtime | مثل attached، لكن ملفات الوحدات أصبحت متاحة بشكل مؤقت فقط، أي أن الأمر attach استُدعي مع الخيار --runtime.
    enabled | الصورة موصولة حاليًا، وملف وحدة واحد على الأقل مرتبط بها قد فُعل.
    enabled-runtime | مثل enabled، لكن ملفات الوحدات أصبحت متاحة بشكل مؤقت فقط، أي أن الأمر attach استُدعي مع الخيار --runtime.
    running | الصورة موصولة حاليًا، وملف وحدة واحد على الأقل مرتبط بها قيد التشغيل.
    running-runtime | الصورة موصولة حاليًا بشكل مؤقت، وملف وحدة واحد على الأقل مرتبط بها قيد التشغيل.

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

read-only صورة [قيمة_منطقية]
    يحدد أو (يلغي تحديد) صورة خدمة محمولة للقراءة فقط. يأخذ اسم صورة، متبوعًا بقيمة منطقية كمعاملات. إذا حُذفت القيمة المنطقية، يُفترض الإيجاب، أي أن الصورة تُحدد للقراءة فقط.

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

remove صورة...
    يزيل صورة خدمة محمولة واحدة أو أكثر. لاحظ أن هذا الأمر سيزيل فقط مسار الصورة المحدد نفسه — إذا كان يشير إلى رابط رمزي، فسيُزال الرابط الرمزي وليس الصورة التي يشير إليها.

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

set-limit [IMAGE] BYTES
    يضبط الحد الأقصى للحجم بالبايت الذي يمكن لصورة خدمة محمولة معينة، أو جميع الصور، أن تنمو إليه على القرص (حصة القرص). يأخذ إما معامل واحد أو اثنين. المعامل الأول الاختياري يشير إلى اسم صورة خدمة محمولة. إذا تم تحديده، يتم تغيير حد الحجم للصورة المحددة. إذا تم حذفه، يتم تغيير حد الحجم الإجمالي لمجموع جميع الصور المخزنة محليًا. تحدد الوسيطة الأخيرة حد الحجم بالبايت، ويمكن إلحاقها بالوحدات المعتادة K, M, G, T. إذا كان سيتم تعطيل حد الحجم، حدد "-" كحجم.

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

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

الخيارات

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

-q، --quiet
    يكتم مخرجات المعلومات الإضافية أثناء التشغيل.

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

-p PROFILE, --profile=PROFILE
    عند وصل صورة، اختر التشكيلة المراد استخدامها. بشكل مبدئي، تُستخدم تشكيلة "default". للحصول على تفاصيل حول التشكيلات، انظر أدناه.

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

--copy=
    عند وصل صورة، اختر ما إذا كان يُفضل نسخ أو إنشاء روابط رمزية للملفات المثبتة في النظام المضيف. يأخذ أحد الخيارات: "copy" (سيتم نسخ الملفات)، "symlink" (لتفضيل إنشاء روابط رمزية)، "auto" لوضع وسيط حيث يتم إنشاء روابط رمزية لإضافات تشكيلة الأمان والصور بينما يتم نسخ ملفات الوحدة، أو "mixed" (منذ v256) حيث يتم إنشاء روابط رمزية لإضافات تشكيلة الأمان بينما يتم نسخ ملفات الوحدة والصور. لاحظ أن هذا الخيار يعبر عن تفضيل فقط، في الحالات التي لا يمكن فيها إنشاء روابط رمزية — على سبيل المثال عندما تكون الصورة المعالجة صورة قرص خام، وبالتالي لا يمكن الإشارة إليها مباشرة من نظام ملفات المضيف — يتم استخدام نسخ الملفات دون قيد أو شرط.

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

--runtime
    عند تحديده، يتم وضع ملفات الوحدة والإضافات في /run/systemd/system.attached/ بدلاً من /etc/systemd/system.attached/. الصور الموصولة مع تعيين هذا الخيار تبقى موصولة فقط حتى إعادة التشغيل التالية، بينما تُوصل عادةً بشكل دائم.

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

--no-reload
    لا يُعاد تحميل مدير الخدمة بعد وصل أو فصل صورة خدمة محمولة. عادةً يُعاد تحميل مدير الخدمة لضمان معرفته بملفات الوحدة المضافة أو المحذوفة.

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

--cat
    عند فحص صور الخدمات المحمولة، اعرض محتويات (غير معالجة) لملفات البيانات الوصفية المسحوبة من الصورة، بدلاً من الملخصات المختصرة. على وجه التحديد، سيعرض هذا محتويات os-release(5) وملفات الوحدة للصورة.

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

--enable
    فعّل/عطّل الخدمة المحمولة فورًا بعد الوصل/الفصل.

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

--now
    ابدأ/أوقف/أعد تشغيل الخدمة المحمولة فورًا بعد الوصل/قبل الفصل/بعد الترقية.

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

--no-block
    لا تحظر الانتظار حتى اكتمال الوصل --now.

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

--clean
    عند الفصل، تأكد من إزالة أدلة التهيئة والحالة والسجلات والخبيئة وبيانات وقت التشغيل للخدمة المحمولة من النظام المضيف.

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

--extension=PATH
    أضف صورة إضافية PATH كطبقة علوية فوق IMAGE عند الوصل/الفصل. يمكن تحديد هذه الوسيطة عدة مرات، وفي هذه الحالة يتبع الترتيب الذي تُوضع به الصور القواعد المحددة في systemd.exec(5) للتوجيه ExtensionImages= ولأدوات systemd-sysext(8) وsystemd-confext(8). يجب أن تحتوي الصور على ملف extension-release مع بيانات وصفية تطابق ما هو محدد في os-release لـ IMAGE. انظر: os-release(5). يمكن أن تكون الصور صور كتلة، أو مجلدات فرعية btrfs، أو أدلة. لمزيد من المعلومات حول الخدمات المحمولة مع الإضافات، انظر الفقرة "Extension Images" في Portable Services[1].

    لاحظ أنه يجب تحديد نفس الإضافات، بنفس الترتيب، عند الوصل والفصل.

    بدلاً من مسار الصورة، يمكن تحديد دليل بنسخة ".v/"، راجع systemd.v(7) للمزيد من التفاصيل.

    بدلاً من مسار الدليل، يُمكن تحديد دليل ذي إصدار ".v/"، راجع systemd.v(7) للتفاصيل.

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

--force
    تجاوز فحوصات الأمان وقم بوصل أو فصل الصور (مع الإضافات) دون التأكد أولاً من أن الوحدات لا تعمل، ولا تصر على أن ملف extension-release.NAME في صورة الإضافة يجب أن يطابق اسم ملف الصورة.

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

-H، --host=
    نفّذ العملية عن بُعد. حدد اسم مضيف، أو اسم مستخدم واسم مضيف يفصل بينهما "@" للاتصال به. يمكن اختيارياً إلحاق اسم المضيف بمنفذ يستمع إليه ssh، مفصولاً بـ ":"، ثم اسم حاوية، مفصولاً بـ "/"، مما يوصل مباشرة بحاوية معينة على المضيف المحدد. سيستخدم هذا SSH للتحدث إلى نسخة مدير الحاسوب البعيد. يمكن سرد أسماء الحاويات باستخدام machinectl -H المضيف. ضع عناوين IPv6بين قوسين.

-M، --machine=
    نفّذ العملية على حاوية محلية. حدد اسم الحاوية للاتصال بها، مسبوقًا اختياريًا باسم مستخدم للاتصال به وحرف "@" كفاصل. إذا استُخدمت السلسلة الخاصة ".host" بدلاً من اسم الحاوية، فسيُجرى اتصال بالنظام المحلي (وهو أمر مفيد للاتصال بناقل مستخدم معين: "--user --machine=lennart@.host"). إذا لم تُستخدم صيغة "@"، فسيُتصل كمستخدم جذر (root). إذا استُخدمت صيغة "@"، فيمكن حذف الجانب الأيسر أو الأيمن (ولكن ليس كلاهما) وفي هذه الحالة يُفترض اسم المستخدم المحلي و ".host".

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

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

--no-ask-password
    لا تسأل المستخدم عن الاستيثاق للعمليات ذات الامتيازات.

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

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

الملفات والأدلة

يُفضل تخزين صور الخدمات المحمولة في /var/lib/portables/، ولكن يتم البحث عنها أيضًا في /etc/portables/ و/run/portables/ و/usr/local/lib/portables/ و/usr/lib/portables/. يُوصى بعدم وضع ملفات الصور مباشرة في /etc/portables/ أو /run/portables/ (حيث أن هذه غير مناسبة عمومًا لتخزين البيانات الكبيرة أو غير النصية)، ولكن استخدام هذه الأدلة فقط لربط الصور الموجودة في مكان آخر في مسار بحث الصور.

عند وصل صورة خدمة محمولة، يتم نسخ ملفات الوحدة المطابقة إلى المضيف في أدلة /etc/systemd/system.attached/ و/run/systemd/system.attached/. عند فصل صورة، يتم إزالة ملفات الوحدة مرة أخرى من هذه الأدلة.

التشكيلات

عند وصل صور الخدمات المحمولة، يتم ربط إضافة "تشكيلة"، والتي يمكن استخدامها لفرض قيود أمان (وأخرى) إضافية محليًا. يتم تعريف أربع إضافات تشكيلة بشكل مبدئي، ويتم توزيعها في /usr/lib/systemd/portable/profile/. يمكن تعريف تشكيلات محلية إضافية بوضعها في /etc/systemd/portable/profile/. التشكيلات المبدئية هي:

جدول 2. التشكيلات
الاسم | الوصف
default | هذه هي التشكيلة المبدئية إذا لم يتم تعيين اسم تشكيلة آخر عبر --profile= (انظر أعلاه). إنها مقيدة إلى حد ما، ولكنها يجب أن تكون مفيدة لأعباء عمل النظام الشائعة غير المميزة. يتضمن ذلك وصول الكتابة إلى إطار التسجيل، بالإضافة إلى وصول IPC إلى نظام D-Bus.
nonetwork | مشابه جدًا للمبدئي، لكن الشبكة معطلة لأي خدمات من صورة الخدمة المحمولة.
strict | تشكيلة بإعدادات صارمة جدًا. تستثني هذه التشكيلة الوصول إلى IPC (D-Bus) والشبكة.
trusted | تشكيلة بإعدادات مرنة جدًا. في هذه التشكيلة، تعمل الخدمات بصلاحيات كاملة.

للاطلاع على تفاصيل هذه التشكيلات وتأثيراتها، راجع تعريفاتها الدقيقة، مثل /usr/lib/systemd/portable/profile/default/service.conf وما شابه ذلك.

حالة الخروج

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

البيئة

$SYSTEMD_LOG_LEVEL
    الحد الأقصى لمستوى السجل للرسائل الصادرة (تُكتم الرسائل ذات مستوى السجل الأعلى، أي الأقل أهمية). يأخذ قائمة قيم مفصولة بفواصل. يمكن أن تكون القيمة إما واحدة من (بترتيب تنازلي للأهمية) emerg، أو alert، أو crit، أو err، أو warning، أو notice، أو info، أو debug، أو رقمًا صحيحًا في النطاق من 0 إلى 7. راجع syslog(3) لمزيد من المعلومات. يمكن اختياريًا سبق كل قيمة بأحد الخيارات console، أو syslog، أو kmsg أو journal متبوعة بنقطتين لضبط الحد الأقصى لمستوى السجل لهذا الهدف المحدد (مثلاً: SYSTEMD_LOG_LEVEL=debug,console:info يحدد التسجيل بمستوى debug باستثناء التسجيل في الطرفية الذي يجب أن يكون بمستوى info). لاحظ أن الحد الأقصى العالمي لمستوى السجل له الأولوية على أي حدود مستويات سجل لكل هدف على حدة.

$SYSTEMD_LOG_COLOR
    قيمة منطقية. إذا كانت صحيحة، فستُلون الرسائل المكتوبة في الـ tty حسب الأولوية.

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

$SYSTEMD_LOG_TIME
    قيمة منطقية. إذا كانت صحيحة، فستُسبق رسائل سجل الطرفية بختم زمني.

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

$SYSTEMD_LOG_LOCATION
    قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل باسم الملف ورقم السطر في الشيفرة المصدرية حيث نشأت الرسالة.

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

$SYSTEMD_LOG_TID
    قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل بمعرّف الخيط الرقمي الحالي (TID).

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

$SYSTEMD_LOG_TARGET
    وجهة رسائل السجل. أحد الخيارات: console (التسجيل في الطرفية المرفقة)، أو console-prefixed (التسجيل في الطرفية المرفقة ولكن مع بادئات ترميز مستوى السجل و"المرفق"، راجع syslog(3)، أو kmsg (التسجيل في ذاكرة السجل الدائرية للنواة)، أو journal (التسجيل في اليوميات)، أو journal-or-kmsg (التسجيل في اليوميات إذا كانت متاحة، وفي kmsg بخلاف ذلك)، أو auto (تحديد هدف السجل المناسب آليًا، وهو المبدئي)، أو null (تعطيل مخرج السجل).

$SYSTEMD_LOG_RATELIMIT_KMSG
    فيما إذا كان سيُحد معدل kmsg أم لا. يأخذ قيمة منطقية. القيمة المبدئية هي "true". إذا عُطّل، فلن يحد systemd من معدل الرسائل المكتوبة في kmsg.

$SYSTEMD_PAGER، $PAGER
    مستعرض الصفحات المراد استخدامه عندما لا يُعطى الخيار --no-pager. يُستخدم $SYSTEMD_PAGER إذا كان مضبوطًا؛ وإلا فيُستخدم $PAGER. إذا لم يُضبط أي من $SYSTEMD_PAGER أو $PAGER، فتُجرب مجموعة من التطبيقات المعروفة لمستعرضات الصفحات تباعًا، بما في ذلك less(1) و more(1)، حتى يُعثر على أحدها. إذا لم يُكتشف أي تطبيق لمستعرض الصفحات، فلا يُستدعى أي مستعرض. ضبط متغيرات البيئة هذه على سلسلة فارغة أو القيمة "cat" يعادل تمرير الخيار --no-pager.

    ملاحظة: إذا لم يُضبط $SYSTEMD_PAGERSECURE، فلا يمكن استخدام $SYSTEMD_PAGER و $PAGER إلا لتعطيل مستعرض الصفحات (باستخدام "cat" أو "")، ويُتجاهل فيما عدا ذلك.

$SYSTEMD_LESS
    تجاوز الخيارات الممررة إلى less (مبدئيًا "FRSXMK").

    قد يرغب المستخدمون في تغيير خيارين على وجه الخصوص:

    K
        يوجه هذا الخيار مستعرض الصفحات بالخروج فورًا عند الضغط على Ctrl+C. للسماح لـ less بالتعامل مع Ctrl+C بنفسه للعودة إلى محث أوامر المستعرض، قم بإلغاء ضبط هذا الخيار.

        إذا لم تتضمن قيمة $SYSTEMD_LESS الحرف "K"، وكان المستعرض المستدعى هو less، فسيُتجاهل Ctrl+C من قبل الملف التنفيذي، ويجب معالجته من قبل المستعرض.

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

    لاحظ أن ضبط متغير البيئة العادي $LESS ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

    راجع less(1) لمزيد من النقاش.

$SYSTEMD_LESSCHARSET
    يتجاوز طقم المحارف الممرر إلى less (مبدئيًا "utf-8"، إذا حُدّد أن الطرفية المستدعية متوافقة مع UTF-8).

    لاحظ أن ضبط متغير البيئة العادي $LESSCHARSET ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

$SYSTEMD_PAGERSECURE
    تدعم أوامر المستعرض (pager) الشائعة مثل less(1)، بالإضافة إلى "التصفح"، أي التمرير عبر المخرجات، فتح ملفات أخرى أو الكتابة إليها وتشغيل أوامر صدفة عشوائية. عند استدعاء الأوامر بامتيازات مرفوعة، على سبيل المثال تحت sudo(8) أو pkexec(1)، يصبح المستعرض حدًا أمنيًا. يجب الحرص على استخدام البرامج ذات الوظائف المحدودة للغاية فقط كمستعرضات، وعدم السماح بالميزات التفاعلية غير المقصودة مثل فتح ملفات جديدة أو إنشائها أو بدء عمليات فرعية. يمكن تمكين "الوضع الآمن" للمستعرض كما هو موضح أدناه، إذا كان المستعرض يدعم ذلك (معظم المستعرضات لم تُكتب بطريقة تأخذ هذا في الاعتبار). يوصى إما بتمكين "الوضع الآمن" صراحةً أو تعطيل المستعرض تمامًا باستخدام --no-pager أو PAGER=cat عند السماح للمستخدمين غير الموثوق بهم بتنفيذ أوامر بامتيازات مرفوعة.

    يأخذ هذا الخيار وسيطًا منطقيًا. عند ضبطه على صحيح (true)، يُمكن "الوضع الآمن" لمستعرض الصفحات. في "الوضع الآمن"، سيُضبط LESSSECURE=1 عند استدعاء المستعرض، مما يوجه المستعرض لتعطيل الأوامر التي تفتح أو تنشئ ملفات جديدة أو تبدأ عمليات فرعية جديدة. حاليًا، يُعرف فقط less(1) بقدرته على فهم هذا المتغير وتطبيق "الوضع الآمن".

    عند الضبط إلى false، لا توضع قيود على أداة التصفح (pager). إن ضبط SYSTEMD_PAGERSECURE=0 أو عدم إزالته من البيئة الموروثة قد يسمح للمستخدم باستدعاء أوامر اعتباطية.

    عندما لا يُضبط $SYSTEMD_PAGERSECURE، تحاول أدوات systemd استنتاج ما إذا كان ينبغي تمكين "الوضع الآمن" آليًا وما إذا كان المستعرض يدعمه. يُمكن "الوضع الآمن" إذا كان معرف المستخدم الفعلي (UID) ليس هو نفسه مالك جلسة الولوج، انظر geteuid(2) و sd_pid_get_owner_uid(3)، أو عند التشغيل تحت sudo(8) أو أدوات مماثلة ($SUDO_UID مضبوط [2]). في تلك الحالات، سيُضبط SYSTEMD_PAGERSECURE=1 ولن تُستخدم المستعرضات التي لا يُعرف عنها تطبيق "الوضع الآمن" على الإطلاق. لاحظ أن هذا الاستكشاف الآلي يغطي فقط الآليات الأكثر شيوعًا لرفع الامتيازات وهو مخصص للتسهيل. يوصى بضبط $SYSTEMD_PAGERSECURE صراحةً أو تعطيل المستعرض.

    لاحظ أنه إذا أُريد احترام المتغيرات $SYSTEMD_PAGER أو $PAGER، لغير غرض تعطيل مستعرض الصفحات، فيجب ضبط $SYSTEMD_PAGERSECURE أيضًا.

$SYSTEMD_COLORS
    يأخذ وسيطًا منطقيًا (boolean)، أو قيمة خاصة. مبدئيًا (عند عدم الضبط)، سيستخدم systemd والأدوات المرتبطة به الألوان في مخرجاتها إذا أمكن ذلك. إذا ضُبط $COLORTERM على "truecolor" أو "24bit"، فستُمكّن ألوان 24 بت، وإلا فستُستخدم 256 لونًا، ما لم يشر $NO_COLOR أو $TERM إلى تعطيل الألوان.

    true
        نفس حالة عدم الضبط، باستثناء تجاهل $NO_COLOR.

    false
        سيكون المخرج أحادي اللون.

    "16"، "256"، "24bit"
        استخدم دائمًا ألوان ANSI الـ 16 الأساسية، أو 256 لونًا، أو لون 24 بت، على التوالي.

    "auto-16"، "auto-256"، "auto-24bit"
        استخدم كمية الألوان المعطاة، بشرط $TERM، وما هو متصل بالطرفية.

$SYSTEMD_URLIFY
    يجب أن تكون القيمة منطقية. تتحكم فيما إذا كان يجب توليد روابط قابلة للنقر في المخرج لمحاكيات الطرفية التي تدعم ذلك. يمكن تحديد هذا لتجاوز القرار الذي يتخذه systemd بناءً على $TERM وشروط أخرى.

انظر أيضًا

systemd(1), systemd-sysext(8), org.freedesktop.portable1(5), systemd-portabled.service(8), importctl(1)

ملاحظات

1.  الخدمات المحمولة
    https://systemd.io/PORTABLE_SERVICES

2.  يوصى للأدوات الأخرى بضبط والتحقق من $SUDO_UID حسب الاقتضاء، ومعاملته كواجهة مشتركة.

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

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

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