table of contents
| SYSTEMD-TMPFILES(8) | systemd-tmpfiles | SYSTEMD-TMPFILES(8) |
الاسم¶
systemd-tmpfiles، systemd-tmpfiles-setup.service، systemd-tmpfiles-setup-dev-early.service، systemd-tmpfiles-setup-dev.service، systemd-tmpfiles-clean.service، systemd-tmpfiles-clean.timer - إنشاء وحذف وتنظيف الملفات والأدلة
موجز¶
systemd-tmpfiles [OPTIONS...] [CONFIGFILE...]
وحدات النظام:
وحدات المستخدم:
الوصف¶
يقوم systemd-tmpfiles بإنشاء وحذف وتنظيف الملفات والأدلة، باستخدام تنسيق وموقع ملف التهيئة المحددين في tmpfiles.d(5). تاريخياً، صُمم لإدارة الملفات المؤقتة والمتقلبة، كما يوحي الاسم، لكنه يوفر وظائف إدارة ملفات عامة ويمكن استخدامه لإدارة أي نوع من الملفات. يجب استدعاؤه بأمر واحد أو أكثر --create و--remove و--clean، لاختيار المجموعة الفرعية المناسبة من العمليات.
إذا استُدعي بدون وسائط، تُنفذ التوجيهات من ملفات التهيئة الموجودة في الأدلة المحددة بواسطة tmpfiles.d(5). عند الاستدعاء بوسائط موضعية، إذا حُدد الخيار --replace=PATH، تُستخدم الوسائط المحددة في سطر الأوامر بدلاً من ملف التهيئة PATH. وإلا، تُنفذ التهيئة المحددة بواسطة وسائط سطر الأوامر فقط. إذا حُددت السلسلة "-" بدلاً من اسم ملف، تُقرأ التهيئة من الإدخال القياسي. إذا كانت الوسيطة اسم ملف (بدون أي شرطات مائلة)، تُبحث جميع أدلة التهيئة عن ملف مطابق ويُنفذ الملف الموجود ذو الأولوية الأعلى. إذا كانت الوسيطة مساراً، يُستخدم هذا الملف مباشرة دون البحث في أدلة التهيئة عن أي ملف مطابق آخر.
خدمات النظام (systemd-tmpfiles-setup.service، systemd-tmpfiles-setup-dev-early.service، systemd-tmpfiles-setup-dev.service، systemd-tmpfiles-clean.service) تستدعي systemd-tmpfiles لإنشاء ملفات النظام وإجراء تنظيف على مستوى النظام. تقرأ هذه الخدمات ملفات تهيئة يتحكم بها المسؤول في أدلة tmpfiles.d/. خدمات المستخدم (systemd-tmpfiles-setup.service، systemd-tmpfiles-clean.service) تستدعي أيضًا systemd-tmpfiles، لكنها تقرأ مجموعة منفصلة من الملفات، والتي تتضمن ملفات يتحكم بها المستخدم تحت ~/.config/user-tmpfiles.d/ و~/.local/share/user-tmpfiles.d/، وملفات يتحكم بها المسؤول تحت /usr/share/user-tmpfiles.d/. قد يستخدم المستخدمون هذا لإنشاء وتنظيف الملفات تحت سيطرتهم، لكن مثيل النظام يقوم بتنظيف شامل ولا يتأثر بتهيئة المستخدم. لاحظ أن هذا يعني أن التنظيف المستند إلى الوقت المُهيأ في مثيل النظام، مثل ذلك المُهيأ عادةً لـ /tmp/، سيؤثر بالتالي أيضًا على الملفات التي أنشأها مثيل المستخدم إذا وُضعت في /tmp/، حتى لو كان التنظيف المستند إلى الوقت لمثيل المستخدم مُعطلاً.
لإعادة تطبيق الإعدادات بعد تعديل التهيئة، أعد تشغيل systemd-tmpfiles-clean.service ببساطة، والذي سيطبق أي إعدادات يمكن تنفيذها بأمان في وقت التشغيل. لتصحيح أخطاء systemd-tmpfiles، قد يكون من المفيد استدعاؤه مباشرة من سطر الأوامر بمستوى سجل متزايد (انظر $SYSTEMD_LOG_LEVEL أدناه).
الأوامر والخيارات¶
الأوامر التالية مفهومة:
--create
--clean
--remove
--purge
حالة الاستخدام الرئيسية لهذا الخيار هي إزالة الملفات والأدلة آلياً التي أُنشئت أصلاً نيابة عن حزمة مثبتة عند وقت إزالة الحزمة.
يُوصى بتشغيل هذا الأمر أولاً مع --dry-run (انظر أدناه) للتحقق من الملفات والأدلة التي ستُحذف.
تحذير! هذا ليس الأمر الذي تريده عادةً! في معظم الحالات --remove هو ما تبحث عنه.
أُضيف في الإصدار 256.
--user
أُضيف في الإصدارة 236.
--boot
أُضيف في الإصدارة 209.
--graceful
أُضيف في الإصدار 254.
--dry-run
أُضيف في الإصدار 256.
--prefix=path
أُضيف في الإصدارة 212.
--exclude-prefix=path
أُضيف في الإصدارة 207.
-E
أُضيف في الإصدار 247.
--root=جذر
عند استخدام هذا الخيار، يتم تجاوز مبدل خدمة الأسماء (NSS) الخاص بـ libc لحل المستخدمين والمجموعات. بدلاً من ذلك، تُقرأ الملفات /etc/passwd و /etc/group داخل الجذر البديل مباشرة. هذا يعني أن المستخدمين/المجموعات غير المدرجة في هذه الملفات لن تُحل، أي أن LDAP و NIS وقواعد البيانات المعقدة الأخرى لا تؤخذ في الاعتبار.
ضع في اعتبارك دمج هذا مع -E لضمان أن الاستدعاء لا ينشئ ملفات أو أدلة أسفل نقاط التثبيت في صورة نظام التشغيل التي يتم التعامل معها والتي يتم تركيبها فوقها عادةً أثناء وقت التشغيل.
أُضيف في الإصدارة 212.
--image=image
يستلزم -E.
أُضيف في الإصدار 247.
--image-policy=السياسة
--replace=المسار
هذا الخيار مخصص للاستخدام عند تشغيل نصوص تثبيت الحزم وعندما لا تكون الملفات التي تنتمي لتلك الحزمة متوفرة بعد على القرص، لذا يجب تقديم محتوياتها في سطر الأوامر، ولكن قد يكون إعداد المدير موجودًا بالفعل ويجب إعطاؤه أولوية أعلى.
أُضيف في الإصدارة 238.
--cat-config
--tldr
--no-pager
-h، --help
--version
من الممكن دمج --create و --clean و --remove في استدعاء واحد (وفي هذه الحالة يتم تنفيذ الإزالة والتنظيف قبل إنشاء الملفات الجديدة). على سبيل المثال، أثناء الإقلاع، يُنفذ سطر الأوامر التالي لضمان إزالة وإنشاء جميع الأدلة المؤقتة والمتطايرة وفقًا لملف التكوين:
systemd-tmpfiles --remove --create
بيانات الاعتماد¶
يدعم systemd-tmpfiles منطق بيانات اعتماد الخدمة كما هو مطبق بواسطة ImportCredential=/LoadCredential=/SetCredential= (انظر systemd.exec(5) للتفاصيل). تُستخدم بيانات الاعتماد التالية عند تمريرها:
tmpfiles.extra
أُضيف في الإصدار 252.
لاحظ أنه مبدئيًا، تم إعداد ملف وحدة systemd-tmpfiles-setup.service (وملفات الوحدة ذات الصلة) لوراثة بيانات الاعتماد "tmpfiles.extra" من مدير الخدمة.
البيئة¶
$SYSTEMD_LOG_LEVEL
$SYSTEMD_LOG_COLOR
هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستلون الرسائل بناءً على مستوى السجل من تلقاء نفسها.
$SYSTEMD_LOG_TIME
هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية أو إلى ملف، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستُرفق طوابع زمنية بناءً على البيانات الوصفية للمدخلات من تلقاء نفسها.
$SYSTEMD_LOG_LOCATION
لاحظ أن موقع السجل غالبًا ما يُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.
$SYSTEMD_LOG_TARGET
$SYSTEMD_PAGER، $PAGER
ملاحظة: إذا لم يُضبط $SYSTEMD_PAGERSECURE، فلا يمكن استخدام $SYSTEMD_PAGER و $PAGER إلا لتعطيل مستعرض الصفحات (باستخدام "cat" أو "")، ويُتجاهل فيما عدا ذلك.
$SYSTEMD_LESS
قد يرغب المستخدمون في تغيير خيارين على وجه الخصوص:
K
إذا لم تتضمن قيمة $SYSTEMD_LESS الحرف "K"، وكان المستعرض المستدعى هو less، فسيُتجاهل Ctrl+C من قبل الملف التنفيذي، ويجب معالجته من قبل المستعرض.
X
لاحظ أن ضبط متغير البيئة العادي $LESS ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.
راجع less(1) لمزيد من النقاش.
$SYSTEMD_LESSCHARSET
لاحظ أن ضبط متغير البيئة العادي $LESSCHARSET ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.
$SYSTEMD_PAGERSECURE
يأخذ هذا الخيار وسيطًا منطقيًا. عند ضبطه على صحيح (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
true
false
"16"، "256"، "24bit"
"auto-16"، "auto-256"، "auto-24bit"
$SYSTEMD_URLIFY
عملية التنظيف غير المميزة¶
يحاول systemd-tmpfiles تجنب تغيير أوقات الوصول والتعديل على الأدلة التي يصل إليها، الأمر الذي يتطلب امتيازات CAP_FOWNER. عند التشغيل كغير جذر، ستحصل الأدلة التي يتم فحصها بحثًا عن ملفات لتنظيفها على زيادة في وقت الوصول، مما قد يمنع تنظيفها.
حالة الخروج¶
عند النجاح، يُعاد 0. إذا كان التكوين غير صحيح نحويًا (أخطاء نحوية، وسائط مفقودة، ...)، بحيث تم تجاهل بعض الأسطر، ولكن لم تحدث أخطاء أخرى، يُعاد 65 (EX_DATAERR من /usr/include/sysexits.h). إذا كان التكوين صحيحًا نحويًا، ولكن لم يمكن تنفيذه (نقص الصلاحيات، إنشاء ملفات في أدلة مفقودة، محتويات غير صالحة عند الكتابة إلى قيم /sys/، ...)، يُعاد 73 (EX_CANTCREAT من /usr/include/sysexits.h). وإلا، يُعاد 1 (EXIT_FAILURE من /usr/include/stdlib.h).
ملاحظة: عند إنشاء العناصر، إذا كان الهدف موجودًا بالفعل، ولكن من النوع الخاطئ أو لا يطابق الحالة المطلوبة، ولم يتم طلب العملية القسرية بـ "+"، يُصدر رسالة، ولكن يتم تجاهل الفشل بخلاف ذلك.
انظر أيضًا¶
ملاحظات¶
- 1.
- UAPI.2 مواصفات الأقسام القابلة للاكتشاف
- 2.
- يوصى للأدوات الأخرى بضبط والتحقق من $SUDO_UID حسب الاقتضاء، ومعاملته كواجهة مشتركة.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 260.1 |