SYSTEMD.PATH(5)

الاسم
systemd.path - تهيئة وحدة المسار

موجز

path.path

الوصف

ملف تهيئة وحدة ينتهي اسمه بـ ".path" يرمز معلومات حول مسار يراقبه systemd، للتفعيل المستند إلى المسار.

تسرد صفحة الدليل هذه خيارات التهيئة الخاصة بنوع الوحدة هذا. انظر systemd.unit(5) للخيارات المشتركة لجميع ملفات تهيئة الوحدات. تُهيأ عناصر التهيئة المشتركة في القسمين العامين [Unit] و[Install]. تُهيأ خيارات التهيئة الخاصة بالمسار في القسم [Path].

يجب أن يوجد ملف وحدة مطابق لكل ملف مسار، يصف الوحدة التي سيتم تفعيلها عندما يتغير المسار. مبدئيًا، يُفعّل خدمة بنفس اسم المسار (باستثناء اللاحقة). مثال: ملف المسار foo.path يفعل خدمة مطابقة foo.service. يمكن التحكم في الوحدة المراد تفعيلها بواسطة Unit= (انظر أدناه).

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

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

اعتمادات آلية

  التبعيات الضمنية

تُضاف التبعيات التالية ضمنيًا:

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

    • تتم إضافة تبعية ضمنية Before= بين وحدة المسار والوحدة التي من المفترض أن تفعلها.

  الاعتمادات المبدئية

تُضاف الاعتماديات التالية ما لم يُضبط DefaultDependencies=no:

    • سيكون لوحدات المسار آليًا تبعيات من النوع Before= على paths.target، وتبعيات من النوع After= وRequires= على sysinit.target، وتبعيات من النوع Conflicts= وBefore= على shutdown.target. تضمن هذه إنهاء وحدات المسار بشكل نظيف قبل إيقاف تشغيل النظام. فقط وحدات المسار المشاركة في الإقلاع المبكر أو إيقاف تشغيل النظام المتأخر يجب أن تعطل خيار DefaultDependencies=.

الخيارات

قد تتضمن ملفات وحدة المسار أقسام [Unit] و[Install]، الموضحة في systemd.unit(5).

يجب أن تتضمن ملفات وحدة المسار قسم [Path]، الذي يحمل معلومات حول المسار أو المسارات التي تراقبها. الخيارات الخاصة بقسم [Path] لوحدات المسار هي التالية:

PathExists=, PathExistsGlob=, PathChanged=, PathModified=, DirectoryNotEmpty=
    يحدد مسارات لمراقبة تغييرات معينة: يمكن استخدام PathExists= لمراقبة مجرد وجود ملف أو دليل. إذا كان الملف المحدد موجودًا، يتم تفعيل الوحدة المهيأة. يعمل PathExistsGlob= بشكل مشابه، ولكنه يتحقق من وجود ملف واحد على الأقل يطابق نمط التوسيع المحدد. يمكن استخدام PathChanged= لمراقبة ملف أو دليل وتفعيل الوحدة المهيأة كلما تغير. لا يتم تفعيله عند كل كتابة للملف المراقب ولكن يتم تفعيله إذا تم إغلاق الملف الذي كان مفتوحًا للكتابة. PathModified= مشابه، ولكن بالإضافة إلى ذلك يتم تفعيله أيضًا عند عمليات الكتابة البسيطة للملف المراقب. يمكن استخدام DirectoryNotEmpty= لمراقبة دليل وتفعيل الوحدة المهيأة كلما احتوى على ملف واحد على الأقل.

    يجب أن تكون وسائط هذه التوجيهات مسارات نظام ملفات مطلقة.

    يمكن دمج توجيهات متعددة، من نفس النوع ومن أنواع مختلفة، لمراقبة مسارات متعددة. إذا تم تعيين السلسلة الفارغة لأي من هذه الخيارات، يتم إعادة تعيين قائمة المسارات المراد مراقبتها، ولن يكون لأي تعيينات سابقة لهذه الخيارات أي تأثير.

    إذا كان المسار موجودًا بالفعل (في حالة PathExists= وPathExistsGlob=) أو كان الدليل غير فارغ بالفعل (في حالة DirectoryNotEmpty=) في وقت تفعيل وحدة المسار، فسيتم تفعيل الوحدة المهيأة فورًا أيضًا. لا ينطبق شيء مشابه على PathChanged= وPathModified=.

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

    لاحظ أن الملفات التي يبدأ اسمها بنقطة (أي الملفات المخفية) يتم تجاهلها عمومًا عند مراقبة هذه المسارات.

Unit=
    الوحدة التي سيتم تفعيلها عند تغيير أي من المسارات المكونة. الوسيطة هي اسم وحدة، لاحقته ليست ".path". إذا لم يُحدد، فالقيمة المبدئية هي خدمة تحمل نفس اسم وحدة المسار، باستثناء اللاحقة. (انظر أعلاه.) يُوصى بأن يكون اسم الوحدة المفعلة واسم وحدة المسار متطابقين، باستثناء اللاحقة.

MakeDirectory=
    يأخذ وسيطة منطقية. إذا كانت صحيحة، تُنشأ الدلائل المراد مراقبتها قبل المراقبة. يُتجاهل هذا الخيار لإعدادات PathExists=. المبدئي هو false.

DirectoryMode=
    إذا كان MakeDirectory= مفعلاً، استخدم الوضع المحدد هنا لإنشاء الدلائل المعنية. يأخذ وضع وصول بالترميز الثماني. المبدئي هو 0755.

TriggerLimitIntervalSec=، TriggerLimitBurst=
    يُهيئ حداً لعدد مرات تفعيل وحدة المسار هذه ضمن فاصل زمني محدد. يُستخدم TriggerLimitIntervalSec= لتهيئة طول الفاصل الزمني بوحدات الوقت المعتادة "us"، "ms"، "s"، "min"، "h"، ... والمبدئي هو 2ث. انظر systemd.time(7) للتفاصيل حول وحدات الوقت المختلفة المدعومة. يأخذ إعداد TriggerLimitBurst= قيمة صحيحة موجبة ويحدد عدد التفعيلات المسموح بها لكل فاصل زمني، والمبدئي هو 200. يُضبط أي منهما على 0 لتعطيل أي شكل من أشكال تحديد معدل المشغل. إذا تم الوصول إلى الحد، توضع الوحدة في وضع الفشل، ولن تراقب المسارات بعد ذلك حتى إعادة التشغيل. لاحظ أن هذا الحد يُفرض قبل إدراج تفعيل الخدمة في قائمة الانتظار.

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

تحقق من systemd.unit(5)، و systemd.exec(5)، و systemd.kill(5) لمزيد من الإعدادات.

انظر أيضًا

تُضبط متغيرات بيئة تحتوي على تفاصيل المشغل للوحدات المشغلة. انظر القسم "متغيرات البيئة المضبوطة أو المنشورة بواسطة مدير الخدمة" في systemd.exec(5) لمزيد من التفاصيل.

systemd(1)، systemctl(1)، systemd.unit(5)، systemd.service(5)، inotify(7)، systemd.directives(7)

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

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

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