SYSTEMD.SPECIAL(7)

الاسم
systemd.special - وحدات systemd الخاصة

موجز

basic.target, bluetooth.target, cryptsetup-pre.target, cryptsetup.target, veritysetup-pre.target, veritysetup.target, ctrl-alt-del.target, blockdev@.target, boot-complete.target, default.target, emergency.target, exit.target, factory-reset.target, factory-reset-now.target, final.target, first-boot-complete.target, getty.target, getty-pre.target, graphical.target, halt.target, hibernate.target, hybrid-sleep.target, suspend-then-hibernate.target, initrd.target, initrd-fs.target, initrd-root-device.target, initrd-root-fs.target, initrd-usr-fs.target, integritysetup-pre.target, integritysetup.target, kbrequest.target, kexec.target, local-fs-pre.target, local-fs.target, machines.target, multi-user.target, network-online.target, network-pre.target, network.target, nss-lookup.target, nss-user-lookup.target, paths.target, poweroff.target, printer.target, reboot.target, remote-cryptsetup.target, remote-integritysetup.target, remote-veritysetup.target, remote-fs-pre.target, remote-fs.target, rescue.target, rpcbind.target, shutdown.target, sigpwr.target, sleep.target, slices.target, smartcard.target, sockets.target, soft-reboot.target, sound.target, ssh-access.target, storage-target-mode.target, suspend.target, swap.target, sysinit.target, system-update.target, system-update-pre.target, time-set.target, time-sync.target, timers.target, tpm2.target, umount.target, usb-gadget.target, -.slice, capsule.slice, machine.slice, system.slice, user.slice, -.mount, dbus.service, dbus.socket, display-manager.service, init.scope, syslog.socket, system-update-cleanup.service

الوصف

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

الوحدات التي يديرها مدير خدمة النظام

  وحدات النظام الخاصة

-.mount
    نقطة الوصل الجذرية، أي وحدة الوصل للمسار /. تكون هذه الوحدة نشطة بلا قيد أو شرط طوال وقت عمل النظام، حيث أن نقطة الوصل هذه هي المكان الذي تعمل منه مساحة المستخدم الأساسية.

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

basic.target
    وحدة هدف خاصة تغطي بدء التشغيل الأساسي.

    يضيف systemd آليًا تبعية من النوع After= لوحدة الهدف هذه إلى جميع الخدمات (باستثناء تلك التي تملك DefaultDependencies=no).

    عادةً، يجب أن تسحب هذه الوحدة جميع نقاط الوصل المحلية بالإضافة إلى /var/ و /tmp/ و /var/tmp/، وأجهزة التبديل (swap)، والمقابس (sockets)، والمؤقتات، وحدات المسار وغيرها من التهيئة الأساسية الضرورية للعفاريت (daemons) العامة الأغراض. نقاط الوصل المذكورة هي حالات خاصة للسماح لها بأن تكون بعيدة.

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

boot-complete.target
    هذا الهدف مخصص ليكون نقطة تزامن عامة للخدمات التي يجب أن تحدد أو تتصرف بناءً على ما إذا كانت عملية الإقلاع قد اكتملت بنجاح. رتّب الوحدات المطلوب نجاحها لاعتبار عملية الإقلاع ناجحة قبل هذه الوحدة، وأضف تبعية Requires= من وحدة الهدف إليها. رتّب الوحدات التي يجب أن تعمل فقط عندما تُعتبر عملية الإقلاع ناجحة بعد وحدة الهدف واسحب الهدف منها، أيضاً باستخدام Requires=. لاحظ أن وحدة الهدف هذه ليست جزءاً من عملية الإقلاع الأولية مبدئياً، ولكن من المفترض سحبها فقط إذا طُلبت من قبل وحدات تريد العمل فقط في عمليات الإقلاع الناجحة.

    انظر systemd-boot-check-no-failures.service(8) لخدمة تُنفذ فحصاً عاماً لصحة النظام وترتب نفسها قبل boot-complete.target.

    انظر systemd-bless-boot.service(8) لخدمة تنشر معلومات نجاح الإقلاع إلى محمل الإقلاع، وترتب نفسها بعد boot-complete.target.

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

ctrl-alt-del.target
    يبدأ systemd هذا الهدف كلما ضُغط على Control+Alt+Del في الطرفية. عادةً، يجب أن يكون هذا اسماً مستعاراً (وصلة رمزية) لـ reboot.target.

cryptsetup.target
    هدف يجلب خدمات الإعداد لجميع الأجهزة الكتلية المعماة.

veritysetup.target
    هدف يسحب خدمات الإعداد لجميع الأجهزة الكتلية المحمية بسلامة verity.

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

dbus.service
    وحدة خاصة لعفريت ناقل D-Bus. بمجرد بدء تشغيل هذه الخدمة بالكامل، سيتصل systemd بها ويسجل خدمته.

dbus.socket
    وحدة خاصة لمقبس ناقل نظام D-Bus. تكتسب جميع الوحدات التي تملك Type=dbus آلياً تبعية لهذه الوحدة.

default.target
    الوحدة المبدئية التي يبدأها systemd عند الإقلاع. عادةً، يجب أن تكون اسماً مستعاراً (وصلة رمزية) لـ multi-user.target أو graphical.target. راجع bootup(7) لمزيد من النقاش.

    يمكن تخطي الوحدة المبدئية التي يبدأها systemd عند الإقلاع باستخدام خيار سطر أوامر النواة systemd.unit=، أو بشكل أكثر ملاءمة، باستخدام الأسماء القصيرة مثل single و rescue و 1 و 3 و 5 و ...؛ راجع systemd(1).

    لملفات الوحدات النمطية، يرجى ضبط "WantedBy=" على هدف عادي (مثل multi-user.target أو graphical.target)، بدلاً من default.target، لأن مثل هذه الخدمة ستعمل أيضاً في عمليات الإقلاع الخاصة مثل تحديث النظام وإقلاع الطوارئ...

display-manager.service
    خدمة مدير العرض. عادةً، يجب أن تكون اسماً مستعاراً (وصلة رمزية) لـ gdm.service أو خدمة مدير عرض مماثلة.

emergency.target
    وحدة هدف خاصة تبدأ صدفة طوارئ في الطرفية الرئيسة. لا يسحب هذا الهدف خدمات أو عمليات وصل أخرى. هو النسخة الأكثر تقليلاً لبدء النظام من أجل الحصول على صدفة تفاعلية؛ العمليات الوحيدة التي تعمل عادةً هي مدير النظام (PID 1) وعملية الصدفة فقط. يمكن استخدام هذه الوحدة بتحديد emergency في سطر أوامر النواة؛ وتُستخدم أيضاً عند فشل فحص نظام ملفات مطلوب وعدم قدرة الإقلاع على الاستمرار. قارنها بـ rescue.target، الذي يخدم غرضاً مشابهاً ولكنه يبدأ أيضاً الخدمات الأكثر أساسية ويوصل جميع أنظمة الملفات.

    من نواحٍ عديدة، يشبه الإقلاع إلى emergency.target تأثير الإقلاع باستخدام "init=/bin/sh" في سطر أوامر النواة، باستثناء أن وضع الطوارئ يوفر لك مدير النظام والخدمات الكامل، ويسمح ببدء وحدات فردية من أجل مواصلة عملية الإقلاع في خطوات.

    لاحظ أنه اعتماداً على كيفية الوصول إلى emergency.target، قد يكون نظام ملفات الجذر موصولاً للقراءة فقط أو للقراءة والكتابة (لا تُنفذ إعادة وصل خاصة لهذا الهدف). على سبيل المثال، قد يقلع النظام والجذر موصول للقراءة فقط عند استخدام ro في سطر أوامر النواة ويبقى هكذا لـ emergency.target، أو قد ينتقل النظام إلى emergency.target بعد أن أقلع النظام جزئياً وأُعيد وصل الأقراص بالفعل للقراءة والكتابة.

exit.target
    وحدة خدمة خاصة لإيقاف تشغيل مدير خدمات النظام أو المستخدم. وهي تعادل poweroff.target في الأنظمة غير الحاوية، وتعمل أيضاً في الحاويات.

    سيبدأ systemd هذه الوحدة عندما يتلقى إشارة SIGTERM أو SIGINT عندما يعمل كعفريت خدمة مستخدم.

    عادةً ما يسحب هذا (بشكل غير مباشر) shutdown.target، والذي بدوره يجب أن يتعارض مع جميع الوحدات التي تريد أن تُجدول للإيقاف عندما يبدأ مدير الخدمة بالخروج.

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

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

    انظر إعادة ضبط المصنع[1] لمزيد من المعلومات.

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

factory-reset-now.target
    هدف خاص يُبدأ في عمليات الإقلاع التي يجب أن تنفذ إعادة ضبط المصنع. يمكن استخدامه لسحب خدمات إضافية يجب استدعاؤها أثناء عملية إعادة ضبط المصنع. كما يعمل كحاجز ترتيب: بمجرد الوصول إلى الهدف، تُعلم حالة إعادة ضبط المصنع بأنها "مكتملة".

    انظر إعادة ضبط المصنع[1] لمزيد من المعلومات.

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

final.target
    وحدة هدف خاصة تُستخدم أثناء منطق الإيقاف ويمكن استخدامها لسحب خدمات متأخرة بعد إنهاء جميع الخدمات العادية وفصل جميع عمليات الوصل بالفعل.

getty.target
    وحدة هدف خاصة تسحب عينات getty لـ TTY المحلية المهيأة استاتيكياً.

graphical.target
    وحدة هدف خاصة لإعداد شاشة تسجيل دخول رسومية. يسحب هذا multi-user.target.

    الوحدات المطلوبة لتسجيلات الدخول الرسومية يجب أن تضيف تبعيات Wants= لوحدتها لهذه الوحدة (أو multi-user.target) أثناء التثبيت. من الأفضل ضبط ذلك عبر WantedBy=graphical.target في قسم [Install] الخاص بالوحدة.

hibernate.target
    وحدة هدف خاصة لإسبات (hibernating) النظام. يسحب هذا sleep.target.

hybrid-sleep.target
    وحدة هدف خاصة لإسبات وتعليق (suspending) النظام في نفس الوقت. يسحب هذا sleep.target.

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

suspend-then-hibernate.target
    وحدة هدف خاصة لتعليق النظام لفترة من الوقت، ثم إيقاظه ووضعه في وضع الإسبات. يسحب هذا sleep.target.

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

halt.target
    وحدة هدف خاصة لإيقاف تشغيل النظام وتعطيله. لاحظ أن هذا الهدف متميز عن poweroff.target في أنه بشكل عام يعطل النظام فعلياً بدلاً من إيقاف تشغيل طاقته.

    التطبيقات التي تريد تعطيل النظام يجب ألا تبدأ هذه الوحدة مباشرة، بل يجب بدلاً من ذلك تنفيذ systemctl halt (ربما مع خيار --no-block) أو استدعاء تابع D-Bus الخاص بـ systemd(1) المسمى org.freedesktop.systemd1.Manager.Halt مباشرة.

imports.target
    وحدة هدف تسحب جميع مهام تنزيل صور القرص لتنفيذها عند إقلاع النظام. يُستخدم هذا بواسطة systemd-import-generator(8).

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

init.scope
    وحدة النطاق هذه هي المكان الذي يقيم فيه مدير النظام والخدمات (PID 1) نفسه. وهي نشطة طالما أن النظام قيد التشغيل.

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

initrd.target
    هذا هو الهدف المبدئي في initrd، على غرار default.target في النظام الرئيس. يُستخدم لوصل الجذر الحقيقي والانتقال إليه. راجع bootup(7) لمزيد من النقاش.

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

initrd-fs.target
    يضيف systemd-fstab-generator(8) آلياً تبعيات من النوع Before= إلى sysroot-usr.mount وجميع نقاط الوصل الموجودة في /etc/fstab التي تملك خيار الوصل x-initrd.mount وليس لديها خيار الوصل noauto مضبوطاً. كما يُرتب بشكل غير مباشر بعد sysroot.mount. وبالتالي، بمجرد الوصول إلى هذا الهدف، يكون التسلسل الهرمي لـ /sysroot/ مهيأً بالكامل، استعداداً للانتقال إلى نظام التشغيل المضيف.

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

initrd-root-device.target
    وحدة هدف initrd خاصة يتم الوصول إليها عندما يكون جهاز نظام ملفات الجذر متاحاً، ولكن قبل وصله. يقوم systemd-fstab-generator(8) و systemd-gpt-auto-generator(8) آلياً بإعداد التبعيات المناسبة لجعل هذا يحدث.

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

initrd-root-fs.target
    يضيف systemd-fstab-generator(8) آلياً تبعيات من النوع Before= إلى وحدة sysroot.mount، والتي تُولّد من إعداد root= في سطر أوامر النواة (أو ما يعادله).

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

initrd-usr-fs.target
    يضيف systemd-fstab-generator(8) آلياً تبعيات من النوع Before= إلى وحدة sysusr-usr.mount، والتي تُولّد من مفتاح usr= في سطر أوامر النواة. قد ترتب الخدمات نفسها بعد وحدة الهدف هذه لكي تعمل بمجرد توفر التسلسل الهرمي لـ /sysusr/، في الأنظمة التي تبدأ أولياً بدون نظام ملفات جذر، ولكن مع /usr/ مهيأ وتحتاج للوصول إليه قبل إعداد نظام ملفات الجذر للانتقال إليه في النهاية. في الأنظمة التي لا يُستخدم فيها usr=، يُرتب هذا الهدف بعد sysroot.mount وبالتالي يكون معادلاً في الغالب لـ initrd-root-fs.target. في الواقع، في أي نظام، بمجرد الوصول إلى هذا الهدف، يتم وصل نظام الملفات الذي يسند /usr/، وإن كان ذلك في موقعين مختلفين محتملين، إما تحت التسلسلات الهرمية /sysusr/ أو /sysroot/.

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

kbrequest.target
    يبدأ systemd هذا الهدف كلما ضُغط على Alt+ArrowUp في الطرفية. لاحظ أن أي مستخدم لديه وصول مادي للجهاز سيكون قادراً على فعل ذلك، دون استيثاق، لذا يجب استخدام هذا بحذر.

kexec.target
    وحدة هدف خاصة لإيقاف تشغيل وإعادة تشغيل النظام عبر kexec.

    التطبيقات التي تريد إعادة تشغيل النظام يجب ألا تبدأ هذه الوحدة مباشرة، بل يجب بدلاً من ذلك تنفيذ systemctl kexec (ربما مع خيار --no-block) أو استدعاء تابع D-Bus الخاص بـ systemd-logind(8) المسمى org.freedesktop.login1.Manager.RebootWithFlags() مباشرة.

    راجع systemd-kexec.service(8) لمزيد من التفاصيل حول العملية التي يسحبها هذا الهدف.

local-fs.target
    يضيف systemd-fstab-generator(8) آلياً تبعيات من النوع Before= إلى جميع وحدات الوصل التي تشير إلى نقاط وصل محلية لوحدة الهدف هذه. بالإضافة إلى ذلك، يضيف تبعيات من النوع Wants= لوحدة الهدف هذه لعمليات الوصل المدرجة في /etc/fstab التي تملك خيار الوصل auto مضبوطاً.

machines.target
    وحدة هدف قياسية لبدء جميع الحاويات والآلات الافتراضية الأخرى. راجع systemd-nspawn@.service كمثال.

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

multi-user.target
    وحدة هدف خاصة لإعداد نظام متعدد المستخدمين (غير رسومي). يسحب هذا graphical.target.

    الوحدات المطلوبة لنظام متعدد المستخدمين يجب أن تضيف تبعيات Wants= لوحدتها لهذه الوحدة أثناء التثبيت. من الأفضل ضبط ذلك عبر WantedBy=multi-user.target في قسم [Install] الخاص بالوحدة.

network-online.target
    الوحدات التي تتطلب بصرامة اتصالاً بالشبكة مهيأً يجب أن تسحب network-online.target (عبر تبعية من نوع Wants=) وترتب نفسها بعده. وحدة الهدف هذه مخصصة لسحب خدمة تؤخر التنفيذ الإضافي حتى تُعد الشبكة بشكل كافٍ. ما يتطلبه هذا بدقة يُترك لتنفيذ خدمة إدارة الشبكة.

    لاحظ الفرق بين هذه الوحدة و network.target. هذه الوحدة هي وحدة نشطة (أي تُسحب بواسطة المستهلك بدلاً من مزود هذه الوظيفة) وتسحب خدمة قد تضيف تأخيرات كبيرة في التنفيذ الإضافي. في المقابل، network.target هي وحدة سلبية (أي تُسحب بواسطة مزود الوظيفة، بدلاً من المستهلك) وعادة لا تؤخر التنفيذ كثيراً. عادةً ما يكون network.target جزءاً من إقلاع معظم الأنظمة، بينما network-online.target ليس كذلك، إلا عندما تتطلبه وحدة واحدة على الأقل. راجع أيضاً تشغيل الخدمات بعد عمل الشبكة[2] لمزيد من المعلومات.

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

    لاحظ أن هذه الوحدة مفيدة فقط أثناء منطق بدء تشغيل النظام الأصلي. بعد اكتمال إقلاع النظام، لن تتبع حالة اتصال النظام بالإنترنت بعد الآن. بسبب هذا، لا يمكن استخدامها كمفهوم لمراقبة اتصال الشبكة، بل هي مفهوم لبدء تشغيل النظام لمرة واحدة فقط.

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

paths.target
    وحدة هدف خاصة تعد جميع وحدات المسار (راجع systemd.path(5) لمزيد من التفاصيل) التي يجب أن تكون نشطة بعد الإقلاع.

    يُوصى بسحب وحدات المسار المثبتة بواسطة التطبيقات عبر تبعيات Wants= من هذه الوحدة. من الأفضل ضبط ذلك عبر WantedBy=paths.target في قسم [Install] الخاص بوحدة المسار.

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

poweroff.target
    وحدة هدف خاصة لإيقاف تشغيل النظام وفصل الطاقة عنه.

    التطبيقات التي تريد إيقاف تشغيل طاقة النظام يجب ألا تبدأ هذه الوحدة مباشرة، بل يجب بدلاً من ذلك تنفيذ systemctl poweroff (ربما مع خيار --no-block) أو استدعاء تابع D-Bus الخاص بـ systemd-logind(8) المسمى org.freedesktop.login1.Manager.PowerOff مباشرة.

reboot.target
    وحدة هدف خاصة لإيقاف تشغيل النظام وإعادة تشغيله.

    التطبيقات التي تريد إعادة تشغيل النظام يجب ألا تبدأ هذه الوحدة مباشرة، بل يجب بدلاً من ذلك تنفيذ systemctl reboot (ربما مع خيار --no-block) أو استدعاء تابع D-Bus الخاص بـ systemd-logind(8) المسمى org.freedesktop.login1.Manager.Reboot() مباشرة.

    راجع systemd-reboot.service(8) لمزيد من التفاصيل حول العملية التي يسحبها هذا الهدف.

remote-cryptsetup.target
    مشابه لـ cryptsetup.target، ولكن للأجهزة المعماة التي يتم الوصول إليها عبر الشبكة. يُستخدم لمدخلات crypttab(5) المعلمة بـ _netdev.

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

remote-integritysetup.target
    مشابه لـ integritysetup.target، ولكن للأجهزة المحمية بالسلامة التي يتم الوصول إليها عبر الشبكة. يُستخدم لمدخلات integritytab(5) المعلمة بـ _netdev.

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

remote-veritysetup.target
    مشابه لـ veritysetup.target، ولكن للأجهزة المحمية بـ verity التي يتم الوصول إليها عبر الشبكة. يُستخدم لمدخلات veritytab(5) المعلمة بـ _netdev.

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

remote-fs.target
    يشبه local-fs.target، ولكن لنقاط الوصل البعيدة.

rescue.target
    وحدة هدف خاصة تسحب النظام الأساسي (بما في ذلك عمليات وصل النظام) وتولد صدفة إنقاذ. اعزل لهذا الهدف من أجل إدارة النظام في وضع المستخدم المنفرد مع وصل جميع أنظمة الملفات ولكن بدون تشغيل خدمات، باستثناء الأكثر أساسية. قارنه بـ emergency.target، الذي هو أكثر تقليلاً ولا يوفر أنظمة الملفات أو معظم الخدمات الأساسية. قارنه بـ multi-user.target، حيث يمكن اعتبار هذا الهدف single-user.target.

    استخدم خيار سطر أوامر النواة "systemd.unit=rescue.target" للإقلاع في هذا الوضع. الاسم المستعار القصير لخيار سطر أوامر النواة هذا هو "1"، للتوافق مع SysV.

shutdown.target
    وحدة هدف خاصة تنهي الخدمات عند إيقاف تشغيل النظام.

    الخدمات التي يجب إنهاؤها عند إيقاف تشغيل النظام يجب أن تضيف تبعيات Conflicts= و Before= لهذه الوحدة لوحدة الخدمة الخاصة بها، وهو ما يتم بشكل ضمني عند ضبط DefaultDependencies=yes (المبدئي).

sigpwr.target
    هدف خاص يُبدأ عندما يتلقى systemd إشارة عملية SIGPWR، والتي تُرسل عادةً بواسطة النواة أو عفاريت UPS عند انقطاع الطاقة.

sleep.target
    وحدة هدف خاصة تُسحب بواسطة suspend.target و hibernate.target و suspend-then-hibernate.target و hybrid-sleep.target ويمكن استخدامها لربط الوحدات بمنطق حالة النوم.

    من أجل ربط برامج خارجية قبل عملية نوم النظام الفعلية، ضع سطر الأوامر الخاص بها في سطر ExecStart= لملف وحدة الخدمة (استخدم Type=oneshot)، وتأكد من سحب الوحدة بواسطة sleep.target وترتيبها قبله. ومن أجل ربط كود البرنامج بعد عملية نوم النظام الفعلية (أي ليتم تشغيله بعد استيقاظ النظام مرة أخرى)، ضع الأمر في ExecStop= بدلاً من ذلك، وتأكد من تمكين StopWhenUnneeded= و RemainAfterExit=. يمكن دمج كلا النهجين في ملف وحدة واحد من أجل تشغيل البرامج قبل وبعد عملية النوم.

    مثال 1. مثال مدمج

        [Unit]
        DefaultDependencies=no
        StopWhenUnneeded=yes
        Before=sleep.target
        [Service]
        Type=oneshot
        RemainAfterExit=yes
        ExecStart=/usr/bin/some-before-command
        ExecStop=/usr/bin/some-after-command
        [Install]
        WantedBy=sleep.target

slices.target
    وحدة هدف خاصة تضبط كل وحدات الشرائح (راجع systemd.slice(5) للتفاصيل) التي يجب أن تكون نشطة دائمًا بعد الإقلاع. تُجلب وحدة شريحة system.slice العامة ووحدة شريحة الجذر -.slice مبدئيًا، وتُرتب قبل هذه الوحدة (انظر أدناه).

    إضافة وحدات الشرائح إلى slices.target ليس ضروريًا بوجه عام. بدلاً من ذلك، عند بدء تشغيل وحدة تستخدم Slice=، ستبدأ الشريحة المحددة آليًا. يجب ألا تُضاف أسطر WantedBy=slices.target إلى قسم [Install] إلا للوحدات التي يجب أن تكون نشطة دائمًا. في هذه الحالة، يجب الحذر لتجنب إنشاء حلقة تكرارية عبر الاعتمادات الآلية على الشرائح "الأب".

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

sockets.target
    وحدة هدف خاصة تضبط كل وحدات المقابس (راجع systemd.socket(5) للتفاصيل) التي يجب أن تكون نشطة بعد الإقلاع.

    يجب على الخدمات التي يمكن تفعيلها عبر المقبس إضافة اعتمادات Wants= إلى هذه الوحدة لوحدات المقابس الخاصة بها أثناء التثبيت. يُضبط هذا بأفضل شكل عبر عبارة WantedBy=sockets.target في قسم [Install] لوحدة المقبس.

soft-reboot.target
    وحدة هدف خاصة لإيقاف تشغيل وإعادة إقلاع فضاء المستخدم في النظام (مع إبقاء النواة قيد التشغيل).

    يجب على التطبيقات التي ترغب في إعادة إقلاع النظام ألا تبدأ هذه الوحدة مباشرة، بل يجب بدلاً من ذلك تنفيذ systemctl soft-reboot (ربما مع خيار --no-block) أو استدعاء وسيلة D-Bus المسماة org.freedesktop.login1.Manager.RebootWithFlags() الخاصة بـ systemd-logind(8) مباشرة.

    راجع systemd-soft-reboot.service(8) لمزيد من التفاصيل حول العملية التي تجلبها هذه الوحدة الهدف.

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

storage-target-mode.target
    وحدة هدف خاصة يمكن الإقلاع إليها تختار "وضع هدف التخزين" لنظام التشغيل. في هذا الوضع، تُعرض كل أقراص التخزين المحلية للأنظمة الخارجية كأجهزة كتلية. يستدعي هذا systemd-storagetm.service(8) الذي يعرض كل الأقراص المحلية كأجهزة NVMe-TCP للوصول إليها عبر الشبكة. وقد يستدعي أيضًا خدمات أخرى توفر الأقراص المحلية عبر آليات أخرى.

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

suspend.target
    وحدة هدف خاصة لتعليق النظام. تجلب هذه الوحدة sleep.target.

swap.target
    مشابهة لـ local-fs.target، ولكنها مخصصة لأقسام التبادل وملفات التبادل.

sysinit.target
    يضيف systemd آليًا اعتمادات من نوعي Requires= و After= لهذه الوحدة الهدف إلى كل الخدمات (باستثناء تلك التي تملك DefaultDependencies=no).

    تجلب هذه الوحدة الهدف الخدمات المطلوبة لتهيئة النظام. يجب على خدمات النظام التي تجلبها هذه الوحدة التصريح بـ DefaultDependencies=no وتحديد كل اعتماداتها يدويًا، بما في ذلك الوصول إلى أي شيء أكثر من نظام ملفات جذر للقراءة فقط. للتفاصيل حول اعتمادات هذه الوحدة الهدف، ارجع إلى bootup(7).

syslog.socket
    وحدة المقبس التي يجب أن تستمع إليها تطبيقات syslog. ستُتاح كل رسائل سجل فضاء المستخدم على هذا المقبس. لمزيد من المعلومات حول تكامل syslog، يرجى مراجعة مستند Syslog Interface[3].

system-update.target, system-update-pre.target, system-update-cleanup.service
    وحدة هدف خاصة تُستخدم لتحديثات النظام غير المتصلة. سيوجه systemd-system-update-generator(8) عملية الإقلاع إلى هذا الهدف إذا وُجد /system-update أو /etc/system-update. لمزيد من المعلومات، راجع systemd.offline-updates(7).

    يجب أن تحدث التحديثات قبل الوصول إلى system-update.target، ويجب على الخدمات التي تنفذها أن تسبب إعادة إقلاع الحاسوب. يجب على الوحدات الرئيسة التي تنفذ التحديث أن ترتب نفسها بعد system-update-pre.target دون جلبها. الخدمات التي ترغب في العمل أثناء تحديثات النظام فقط، ولكن قبل تنفيذ التحديث الفعلي للنظام، يجب أن ترتب نفسها قبل هذه الوحدة وتجلبها. كإجراء وقائي، إذا لم يحدث هذا، وظل /system-update أو /etc/system-update موجودًا بعد الوصول إلى system-update.target، فستقوم خدمة system-update-cleanup.service بإزالة الروابط الرمزية وإعادة إقلاع الحاسوب.

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

timers.target
    وحدة هدف خاصة تضبط كل وحدات الموقتات (راجع systemd.timer(5) للتفاصيل) التي يجب أن تكون نشطة بعد الإقلاع.

    يُوصى بأن تُجلب وحدات الموقتات التي تثبتها التطبيقات عبر اعتمادات Wants= من هذه الوحدة. يُضبط هذا بأفضل شكل عبر عبارة WantedBy=timers.target في قسم [Install] لوحدة الموقت.

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

umount.target
    وحدة هدف خاصة تفصل كل نقاط الوصل والوصل الآلي عند إيقاف تشغيل النظام.

    نقاط الوصل التي يجب فصلها عند إيقاف تشغيل النظام يجب أن تضيف اعتمادات تعارض (Conflicts) لهذه الوحدة لوحدة الوصل الخاصة بها، وهو ما يحدث ضمنيًا عند ضبط DefaultDependencies=yes (وهو المبدئي).

  وحدات النظام الخاصة للأجهزة

تُجلب بعض وحدات الهدف آليًا مع ظهور أجهزة من أنواع معينة في النظام. يمكن استخدامها لتفعيل خدمات متنوعة آليًا بناءً على النوع المحدد للعتاد المتوفر.

bluetooth.target
    يبدأ تشغيل هذا الهدف آليًا بمجرد توصيل متحكم بلوتوث أو توفر أحدها عند الإقلاع.

    يمكن استخدام هذا لجلب عفاريت إدارة بلوتوث ديناميكيًا عند العثور على عتاد بلوتوث.

printer.target
    يبدأ تشغيل هذا الهدف آليًا بمجرد توصيل طابعة أو توفرها عند الإقلاع.

    يمكن استخدام هذا لجلب عفاريت إدارة الطابعات ديناميكيًا عند العثور على عتاد طابعة.

smartcard.target
    يبدأ تشغيل هذا الهدف آليًا بمجرد توصيل متحكم بطاقة ذكية أو توفر أحدها عند الإقلاع.

    يمكن استخدام هذا لجلب عفاريت إدارة البطاقات الذكية ديناميكيًا عند العثور على عتاد بطاقة ذكية.

sound.target
    يبدأ تشغيل هذا الهدف آليًا بمجرد توصيل بطاقة صوت أو توفرها عند الإقلاع.

    يمكن استخدام هذا لجلب عفاريت إدارة الصوت ديناميكيًا عند العثور على عتاد صوتي.

usb-gadget.target
    يبدأ تشغيل هذا الهدف آليًا بمجرد توفر متحكم جهاز USB (UDC) عند الإقلاع.

    يمكن استخدام هذا لجلب أدوات USB ديناميكيًا عند العثور على عتاد UDC.

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

tpm2.target
    يبدأ تشغيل هذا الهدف آليًا إذا وُجد جهاز TPM2، سواء من خلال نظام التشغيل أو البرمجيات الثابتة (firmware). وهو يعمل كنقطة مزامنة للخدمات التي تتطلب الوصول إلى جهاز TPM2. تُدرج وحدة الهدف في قائمة الانتظار بواسطة systemd-tpm2-generator(8) إذا اكتشف أن البرمجيات الثابتة قد وجدت جهاز TPM2 ولكن نواة نظام التشغيل لم تفعل برنامج التشغيل الخاص به بعد. كما تُجلب كلما اكتشف systemd-udevd.service(8) جهاز TPM2. تُرتب وحدة الهدف بعد عقدة الجهاز /dev/tpmrm0، لذا فهي لا تصبح نشطة إلا بمجرد أن يصبح جهاز TPM2 متاحًا بالفعل للوصول. يجب على برامج الإقلاع المبكر التي تنوي الوصول إلى جهاز TPM2 أن ترتب نفسها بعد هذه الوحدة الهدف، ولكن دون جلبها.

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

  وحدات نظام سلبية خاصة

عُرّف عدد من أهداف النظام الخاصة التي يمكن استخدامها لترتيب إقلاع الخدمات الاختيارية بشكل صحيح. هذه الأهداف ليست جزءًا من معاملة الإقلاع الأولية بوجه عام، ما لم تُجلب صراحة بواسطة إحدى الخدمات المنفذة. لاحظ على وجه التحديد أن وحدات الهدف السلبية هذه لا تُجلب عادة بواسطة مستهلك الخدمة، بل بواسطة مزود الخدمة. هذا يعني: يجب على الخدمة المستهلكة أن ترتب نفسها بعد هذه الأهداف (حسب الاقتضاء)، ولكن دون جلبها. أما الخدمة المزودة فيجب أن ترتب نفسها قبل هذه الأهداف (حسب الاقتضاء) وتجلبها (عبر اعتماد من نوع Wants=).

لاحظ أن هذه الوحدات السلبية لا يمكن بدء تشغيلها يدويًا، أي أن "systemctl start time-sync.target" سيفشل مع ظهور خطأ. لا يمكن جلبها إلا عبر الاعتماد. يُفرض هذا لأنها موجودة لأغراض الترتيب فقط، وبالتالي فهي غير مفيدة كوحدة وحيدة ضمن معاملة.

blockdev@.target
    تُستخدم وحدة القالب هذه لترتيب وحدات الوصل ومستهلكي الأجهزة الكتلية الآخرين بعد الخدمات التي تُنشئ هذه الأجهزة الكتلية. وهي مخصصة بشكل خاص للاستخدام مع خدمات التخزين (مثل systemd-cryptsetup@.service(5) أو systemd-veritysetup@.service(8)) التي تخصص وتدير جهازًا كتليًا افتراضيًا. تُرتب خدمات التخزين قبل نسخة من blockdev@.target، وتُرتب وحدات المستهلك بعدها. هذا الترتيب مهم بشكل خاص أثناء إيقاف التشغيل، لأنه يضمن إلغاء تفعيل الوصل أولاً ثم الخدمة التي تدعم الوصل لاحقًا. يجب جلب نسخة blockdev@.target عبر اعتماد Wants= من عفريت التخزين، وبالتالي لن تكون عادةً جزءًا من أي معاملة ما لم يُستخدم عفريت تخزين. يجب أن يكون اسم النسخة لهذه الوحدات مسار عقدة جهاز كتلي مكتوبًا بشكل صحيح (escaped)، مثلاً: blockdev@dev-mapper-foobar.target لجهاز التخزين /dev/mapper/foobar.

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

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

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

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

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

first-boot-complete.target
    هذا الهدف السلبي مخصص ليكون نقطة مزامنة للوحدات التي تحتاج للعمل مرة واحدة أثناء الإقلاع الأول. فقط بعد انتهاء كل الوحدات المرتبة قبل هذا الهدف، سيُثبت machine-id(5) على القرص، معتبرًا الإقلاع الأول قد اكتمل. إذا أُحبط الإقلاع في أي وقت قبل ذلك، فسيعيد الإقلاع التالي تشغيل أي وحدات تملك ConditionFirstBoot=yes.

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

getty-pre.target
    وحدة هدف سلبية خاصة. يُتوقع من مستخدمي هذا الهدف جلبها في معاملة الإقلاع عبر اعتماد (مثل Wants=). رتب وحدتك قبل هذه الوحدة إذا كنت ترغب في استخدام الطرفية قبل بدء تشغيل getty مباشرة.

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

imports-pre.target
    وحدة سلبية تُرتب قبل كل مهام تنزيل صور الأقراص التي تُنفذ عند إقلاع النظام. يُستخدم هذا بواسطة systemd-import-generator(8).

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

local-fs-pre.target
    تُرتب وحدة الهدف هذه آليًا قبل كل نقاط الوصل المحلية الموسومة بـ auto (انظر أعلاه). ويمكن استخدامها لتنفيذ وحدات معينة قبل كل عمليات الوصل المحلية.

network.target
    من المفترض أن تشير هذه الوحدة إلى وقت توفر وظائف الشبكة، ولكن تعريف معنى ذلك فضفاض للغاية. ومع ذلك، يجب أن ينطبق ما يلي كحد أدنى:

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

        • عند إيقاف التشغيل، ستتوقف الوحدة المرتبة بعد network.target قبل إيقاف تشغيل الشبكة — لأي مستوى قد تكون وصلت إليه حينها —. وبناءً عليه، فهي مفيدة عند كتابة ملفات الخدمات التي تتطلب وصولاً للشبكة عند إيقاف التشغيل، حيث يجب أن ترتب نفسها بعد هذا الهدف، ولكن دون جلبها. راجع أيضًا Running Services After the Network Is Up[2] لمزيد من المعلومات.

    يجب التأكيد على أنه عند بدء التشغيل لا يوجد ضمان لظهور الأجهزة القائمة على العتاد بحلول وقت الوصول إلى هذا الهدف، أو حتى حصولها على ضبط IP كامل. لهذا الغرض، استخدم network-online.target كما هو موضح أعلاه.

network-pre.target
    قد تُجلب هذه الوحدة الهدف السلبية بواسطة الخدمات التي ترغب في العمل قبل إعداد أي شبكة، على سبيل المثال لغرض إعداد جدار حماية. كل برامج إدارة الشبكات ترتب نفسها بعد هذا الهدف، ولكن لا تجلبه. راجع أيضًا Running Services After the Network Is Up[2] لمزيد من المعلومات.

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

nss-lookup.target
    هدف يجب استخدامه كنقطة مزامنة لكل عمليات البحث في خدمات أسماء المضيفين والشبكات. لاحظ أن هذا مستقل عن عمليات البحث عن أسماء المستخدمين والمجموعات في UNIX التي يجب استخدام nss-user-lookup.target لها. يجب ترتيب كل الخدمات التي يعد توفر تحليل كامل لأسماء المضيفين/الشبكات ضروريًا لها بعد هذا الهدف، ولكن دون جلبها.

nss-user-lookup.target
    هدف يجب استخدامه كنقطة مزامنة لكل عمليات البحث العادية في خدمات أسماء مستخدمي ومجموعات UNIX. لاحظ أن هذا مستقل عن عمليات البحث عن أسماء المضيفين/الشبكات التي يجب استخدام nss-lookup.target لها. يجب ترتيب كل الخدمات التي يعد توفر قاعدة بيانات المستخدمين/المجموعات الكاملة ضروريًا لها بعد هذا الهدف، ولكن دون جلبها. أما كل الخدمات التي توفر أجزاءً من قاعدة بيانات المستخدمين/المجموعات فيجب ترتيبها قبل هذا الهدف، وجلبه. لاحظ أن هذه الوحدة تخص المستخدمين والمجموعات العاديين فقط — أما مستخدمو ومجموعات النظام فيُشترط أن يكونوا قابلين للتحليل منذ أبكر مراحل الإقلاع بالفعل، وبالتالي لا يحتاجون إلى أي ترتيب خاص مع هذا الهدف.

remote-fs-pre.target
    تُرتب وحدة الهدف هذه آليًا قبل كل وحدات نقاط الوصل (انظر أعلاه) وأجهزة cryptsetup/veritysetup الموسومة بـ _netdev. ويمكن استخدامها لتشغيل وحدات معينة قبل إنشاء أجهزة التشفير والوصل عن بُعد. لاحظ أن هذه الوحدة ليست جزءًا من المعاملة الأولية بوجه عام، ما لم تقم الوحدة التي ترغب في أن تُرتب قبل كل عمليات الوصل عن بُعد بجلبها عبر اعتماد من نوع Wants=. إذا أرادت الوحدة أن تُجلب مع ظهور أول وصل عن بُعد، فيجب أن تستخدم network-online.target (انظر أعلاه).

rpcbind.target
    يجلب rpcbind/portmapper هذا الهدف ويرتب نفسه قبله، للإشارة إلى توفره.

ssh-access.target
    يجب على وحدات الخدمة والمقابس التي توفر وصولاً بعيدًا للقشرة الآمنة SSH إلى النظام المحلي جلب هذه الوحدة وترتيب نفسها قبلها. من المفترض أن تعمل كمعلم يشير إلى ما إذا كان الوصول عبر SSH إلى النظام متاحًا ومتى يكون كذلك. يجب ألا تصبح نشطة إلا عندما يُربط منفذ SSH للعملاء البعيدين (أي إذا استُخدم SSH كآلية لتصعيد الامتيازات المحلية، فلا يجب أن يتضمن هذه الوحدة الهدف)، بغض النظر عن خيارات البروتوكول، أي بغض النظر عما إذا كان IPv4 أو IPv6 أو AF_VSOCK مستخدمًا.

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

time-set.target
    يجب على الخدمات المسؤولة عن ضبط ساعة النظام (CLOCK_REALTIME) من مصدر محلي (مثل ملف طابع زمني محفوظ أو ساعة وقت حقيقي غير دقيقة) أن تجلب هذا الهدف وترتب نفسها قبله. أما الخدمات التي ترغب في الحصول على وقت تقريبي رتبوي تقريبًا فيجب ترتيبها بعد هذه الوحدة، ولكن دون جلبها.

    لا يوفر هذا الهدف ضمانات الدقة التي يوفرها time-sync.target (انظر أدناه)، ومع ذلك لا يعتمد على إمكانية الوصول إلى مصادر ساعة بعيدة، أي أن الهدف لا يتأخر عادة بسبب مشاكل الشبكة وما شابه ذلك. يُوصى باستخدام هذا الهدف للخدمات التي تتطلب دقة تقريبية للساعة وسلوكًا رتبويًا تقريبًا ولكن يجب ألا يتأخر تفعيلها بسبب اتصالات الشبكة التي قد تكون غير موثوقة.

    يضيف مدير الخدمة آليًا اعتمادات من نوع After= لهذه الوحدة الهدف إلى كل وحدات الموقتات التي تملك توجيه OnCalendar= واحدًا على الأقل.

    خدمة systemd-timesyncd.service(8) عبارة عن عفريت بسيط يجلب هذا الهدف ويرتب نفسه قبله. فإلى جانب تنفيذ بروتوكول الشبكة SNTP، فإنه يحفظ ملف طابع زمني على القرص يُحدّث وقت تعديله بانتظام. عند بدء تشغيل الخدمة، تُضبط ساعة النظام المحلية من وقت التعديل ذاك، مما يضمن زيادتها رتبويًا تقريبًا.

    لاحظ أن ترتيب وحدة بعد time-set.target يكون له تأثير فقط إذا كانت هناك بالفعل خدمة مرتبة قبلها تؤخرها حتى تُعدل الساعة لتكون رتبوية تقريبًا. وبخلاف ذلك، قد يتم الوصول إلى هذا الهدف قبل تعديل الساعة لتصبح رتبوية تقريبًا. فعّل systemd-timesyncd.service(8)، أو أي تنفيذ بديل لـ NTP لتأخير الهدف.

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

time-sync.target
    يجب على الخدمات التي تشير إلى اكتمال مزامنة ساعة النظام (CLOCK_REALTIME) مع مصدر بعيد أن تجلب هذا الهدف وترتب نفسها قبله. أما الخدمات التي يكون فيها الوقت الدقيق ضروريًا فيجب ترتيبها بعد هذه الوحدة، ولكن دون جلبها.

    يضيف مدير الخدمة آليًا اعتمادات من نوع After= لهذه الوحدة الهدف إلى كل وحدات الموقتات التي تملك توجيه OnCalendar= واحدًا على الأقل.

    يوفر هذا الهدف ضمانات أكثر صرامة لدقة الساعة من time-set.target (انظر أعلاه)، ولكن من المرجح أنه يتطلب اتصالاً بالشبكة، مما يتسبب في تأخيرات غير متوقعة. يجب على الخدمات التي تتطلب دقة الساعة وحيث تكون تأخيرات اتصال الشبكة مقبولة استخدام هذا الهدف. أما الخدمات التي تتطلب ساعة أقل دقة، وسلوك ساعة تقريبي ورتبوي تقريبًا فقط، فيجب أن تستخدم time-set.target بدلاً من ذلك.

    لاحظ أن ترتيب وحدة بعد time-sync.target يكون له تأثير فقط إذا كانت هناك بالفعل خدمة مرتبة قبلها تؤخرها حتى يتم الوصول إلى مزامنة الساعة. وبخلاف ذلك، قد يتم الوصول إلى هذا الهدف قبل مزامنة الساعة مع أي ساعة مرجعية دقيقة عن بُعد. عند استخدام systemd-timesyncd.service(8)، فعّل systemd-time-wait-sync.service(8) لتأخير الهدف؛ أو استخدم خدمة مكافئة لتنفيذات NTP الأخرى.

    جدول 1. مقارنة
    time-set.target | time-sync.target
    الوصول إليه "سريع" | الوصول إليه "بطيء"
    يستخدم عادةً مصادر ساعة محلية، ولا تتأثر عملية الإقلاع بتوفر الموارد الخارجية | يستخدم عادةً مصادر ساعة عن بُعد، ويُدرج اعتمادات على موارد بعيدة في عملية الإقلاع
    موثوق، لأنه محلي | غير موثوق، لأن الشبكة عادة ما تكون طرفًا
    يضمن عادةً ساعة تقريبية ورتبوية تقريبًا فقط | يضمن عادةً ساعة دقيقة
    ينفذه systemd-timesyncd.service | ينفذه systemd-time-wait-sync.service

  وحدات الشرائح الخاصة

هناك أربع وحدات ".slice" تشكل أساس الهرمية لتخصيص الموارد للخدمات، والمستخدمين، والآلات الافتراضية أو الحاويات. راجع systemd.slice(5) للتفاصيل حول وحدات الشرائح.

-.slice
    شريحة الجذر هي أصل هرمية الشرائح. وهي لا تحتوي عادة على وحدات مباشرة، ولكن يمكن استخدامها لضبط القيم المبدئية لكل الشجرة.

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

machine.slice
    مبدئيًا، توجد كل الآلات الافتراضية والحاويات المسجلة لدى systemd-machined في هذه الشريحة. ويجلبها systemd-machined.service.

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

capsule.slice
    مبدئيًا، توجد كل الكبسولات المغلفة في capsule@.service في هذه الشريحة.

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

system.slice
    بشكل مبدئي، توجد جميع خدمات النظام التي بدأها systemd في هذه الشريحة (slice).

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

user.slice
    بشكل مبدئي، توجد جميع عمليات المستخدم والخدمات التي بدأت بالنيابة عن المستخدم، بما في ذلك نسخة systemd الخاصة بكل مستخدم، في هذه الشريحة. تُجلب هذه بواسطة خدمة systemd-logind.service.

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

الوحدات التي يديرها مدير خدمة المستخدم

  وحدات مستخدم خاصة

عندما يعمل systemd كنسخة مستخدم، تتوفر الوحدات الخاصة التالية:

default.target
    هذا هو الهدف الرئيس لمدير خدمة المستخدم، ويبدأ بشكل مبدئي عند استدعاء مدير الخدمة. ينبغي جلب الخدمات المختلفة التي تشكل جلسة المستخدم العادية إلى هذا الهدف. وفي هذا الصدد، يشبه default.target هدف multi-user.target في نسخة النظام، لكنه وحدة حقيقية وليس اسما مستعارا.

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

capsule@.target
    هذا هو الهدف الرئيس لمديري خدمة الكبسولة (capsule)، ويبدأ بشكل مبدئي، ويُنشأ باسم الكبسولة. قد يُستخدم هذا لتعريف مجموعات مختلفة من الوحدات التي تبدأ لكبسولات مختلفة عبر تعريفات وحدات عامة. لتفاصيل حول الكبسولات، راجع capsule@.service(5).

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

بالإضافة إلى ذلك، تتوفر الوحدات التالية التي لها تعريفات مشابهة لنظيراتها في النظام: exit.target، وshutdown.target، وsockets.target، وtimers.target، وpaths.target، وbluetooth.target، وprinter.target، وsmartcard.target، وsound.target.

  وحدات مستخدم سلبية خاصة

graphical-session.target
    يكون هذا الهدف نشطا كلما كانت هناك جلسة رسومية قيد التشغيل. ويُستخدم لإيقاف خدمات المستخدم التي تنطبق فقط على الجلسة الرسومية (X، أو Wayland، إلخ.) عند إنهاء الجلسة. يجب أن تحتوي هذه الخدمات على "PartOf=graphical-session.target" في قسم [Unit] الخاص بها. يبدأ هدف جلسة معينة (مثل gnome-session.target) ويوقف "graphical-session.target" باستخدام "BindsTo=graphical-session.target".

    تُحدد الخدمات التي يبدأها هدف الجلسة بواسطة تبعيات "Wants=" و"Requires=". بالنسبة للخدمات التي يمكن تمكينها بشكل مستقل، ينبغي استخدام الروابط الرمزية في ".wants/" و".requires/"، راجع systemd.unit(5). يجب أن تُشحن هذه الروابط الرمزية في الحزم، أو تُضاف ديناميكيا بعد التثبيت، باستخدام "systemctl add-wants" على سبيل المثال، راجع systemctl(1).

    مثال 2. ناوتيلوس كجزء من جلسة جنوم يجلب "gnome-session.target" ناوتيلوس كخدمة من المستوى الأعلى:

        [Unit]
        Description=خدمات نظام المستخدم لجلسة جنوم الرسومية
        Wants=nautilus.service
        BindsTo=graphical-session.target

    تُوقف "nautilus.service" عند توقف الجلسة:

        [Unit]
        Description=صيرورة أيقونات سطح المكتب باستخدام ناوتيلوس
        PartOf=graphical-session.target
        [Service]
        ...
    أُضيف في الإصدارة 234.

graphical-session-pre.target
    يحتوي هذا الهدف على خدمات تضبط البيئة أو التكوين العام لجلسة رسومية، مثل وكلاء SSH/GPG (التي تحتاج إلى تصدير متغير بيئة إلى جميع عمليات سطح المكتب) أو ترحيل مفاتيح d-conf المهجورة بعد ترقية نظام التشغيل (والذي يجب أن يحدث قبل بدء أي عملية قد تستخدمها). يجب بدء هذا الهدف قبل بدء جلسة رسومية مثل gnome-session.target.

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

xdg-desktop-autostart.target
    تحدد مواصفات XDG طريقة لبدء التطبيقات آليا باستخدام ملفات سطح مكتب XDG. يشحن systemd برنامج systemd-xdg-autostart-generator(8) لملفات سطح مكتب XDG في أدلة البدء الآلي. يمكن لبيئات سطح المكتب اختيار استخدام هذه الخدمة عن طريق إضافة تبعية Wants= على xdg-desktop-autostart.target.

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

  وحدات شرائح مستخدم خاصة

هناك أربع وحدات ".slice" تشكل أساس تسلسل المستخدم الهرمي لتخصيص الموارد لتطبيقات وخدمات المستخدم. راجع systemd.slice(5) للحصول على تفاصيل حول وحدات الشرائح والتوثيق حول بيئات سطح المكتب[4] لمزيد من المعلومات.

-.slice
    الشريحة الجذر هي جذر تسلسل شرائح المستخدم الهرمي. عادة لا تحتوي على وحدات مباشرة، ولكن قد تُستخدم لضبط القيم المبدئية للشجرة بأكملها.

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

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

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

session.slice
    يجب أن تستخدم جميع الخدمات والتطبيقات الأساسية المطلوبة للجلسة هذه الشريحة. هذه هي الخدمات التي إما لا يمكن إعادة تشغيلها بسهولة أو حيث قد تؤثر مشكلات التأخير على تفاعلية النظام والتطبيقات. يشمل ذلك خادم العرض، وقوارئ الشاشة، والخدمات الأخرى مثل DBus أو بوابات XDG. يجب ضبط مثل هذه الخدمات لتكون جزءا من هذه الشريحة عن طريق إضافة Slice=session.slice إلى ملفات الوحدات الخاصة بها.

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

background.slice
    يجب أن تستخدم جميع الخدمات التي تشغل مهام خلفية ذات أولوية منخفضة هذه الشريحة. يسمح هذا بتخصيص الموارد بشكل تفضيلي للشرائح الأخرى. تشمل الأمثلة المهام غير التفاعلية مثل فهرسة الملفات أو عمليات النسخ الاحتياطي حيث لا يكون التأخير مهما.

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

انظر أيضًا

systemd(1), systemd.unit(5), systemd.service(5), systemd.socket(5), systemd.target(5), systemd.slice(5), bootup(7), systemd-fstab-generator(8), user@.service(5)

ملاحظات

1.  إعادة ضبط المصنع
    https://systemd.io/FACTORY_RESET

2.  تشغيل الخدمات بعد اتصال الشبكة
    https://systemd.io/NETWORK_ONLINE

3.  واجهة سجل النظام (Syslog)
    https://systemd.io/SYSLOG

4.  بيئات سطح المكتب
    https://systemd.io/DESKTOP_ENVIRONMENTS

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

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

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