COREDUMP.CONF(5)

الاسم
coredump.conf, coredump.conf.d - ملفات تهيئة تخزين تفريغ النواة

موجز

    /etc/systemd/coredump.conf
    /run/systemd/coredump.conf
    /usr/local/lib/systemd/coredump.conf
    /usr/lib/systemd/coredump.conf
    /etc/systemd/coredump.conf.d/*.conf
    /run/systemd/coredump.conf.d/*.conf
    /usr/local/lib/systemd/coredump.conf.d/*.conf
    /usr/lib/systemd/coredump.conf.d/*.conf

الوصف

تضبط هذه الملفات سلوك systemd-coredump(8)، وهو معالج لتفريغ النواة يُستدعى من قبل النواة. يُحدد استخدام systemd-coredump بواسطة إعداد kernel.core_pattern للنواة في sysctl(8). انظر صفحات systemd-coredump(8) و core(5) للتفاصيل.

أدلة الضبط والأسبقية

يُضبط التشكيل المبدئي أثناء التجميع، لذا لا يلزم التشكيل إلا عند الحاجة للانحراف عن تلك القيم المبدئية. يُحمل ملف التشكيل الرئيس من أحد الأدلة المدرجة حسب ترتيب الأولوية، ويُستخدم أول ملف يُعثر عليه فقط: /etc/systemd/، و /run/systemd/، و /usr/local/lib/systemd/ [1]، و /usr/lib/systemd/. تحتوي نسخة المورد من الملف على مدخلات مُعلقة تظهر القيم المبدئية كدليل للمدير. يمكن أيضًا إنشاء تجاوزات محلية عن طريق إنشاء ملفات تكميلية (drop-ins)، كما هو موضح أدناه. يمكن أيضًا تحرير ملف التشكيل الرئيس لهذا الغرض (أو نسخة في /etc/ إذا كانت مشحونة تحت /usr/)، ومع ذلك يوصى باستخدام الملفات التكميلية للتشكيل المحلي بدلاً من إجراء تعديلات على ملف التشكيل الرئيس.

بالإضافة إلى ملف الإعداد الرئيس، تُقرأ قصاصات الإعداد الإضافية من /usr/lib/systemd/*.conf.d/ و /usr/local/lib/systemd/*.conf.d/ و /etc/systemd/*.conf.d/. لهذه الإضافات أولوية أعلى وتتجاوز ملف الإعداد الرئيس. تُفرز الملفات في الأدلة الفرعية للإعداد *.conf.d/ حسب أسماء ملفاتها بترتيب معجمي، بغض النظر عن الدليل الفرعي الذي توجد فيه. عندما تحدد ملفات متعددة نفس الخيار، بالنسبة للخيارات التي تقبل قيمة واحدة فقط، فإن المدخلة في الملف الأخير في الترتيب هي التي تسود، وبالنسبة للخيارات التي تقبل قائمة من القيم، تُجمع المدخلات كما تظهر في الملفات المرتبة.

عندما تحتاج الحزم إلى تخصيص الضبط، يمكنها تثبيت ملفات تكميلية (drop-ins) تحت /usr/. تُحجز الملفات في /etc/ لمدير النظام المحلي، الذي قد يستخدم هذا المنطق لتخطي ملفات الضبط المثبتة من قبل حزم المورّد. يجب استخدام الملفات التكميلية لتخطي ملفات الحزم التكميلية، بما أن ملف الضبط الرئيس له أسبقية أدنى. ويُوصى ببدء جميع أسماء الملفات في تلك المجلدات الفرعية برقم من خانتين وواصلة، لتبسيط الترتيب. كما يحدد هذا مفهوم أولويات الملفات التكميلية للسماح لموردي أنظمة التشغيل بشحن ملفات تكميلية ضمن نطاق محدد أدنى من النطاق الذي يستخدمه المستخدمون. وهذا من شأنه أن يقلل من خطر تخطي ملفات الحزم التكميلية للملفات التكميلية التي حددها المستخدمون عرضًا. ويُوصى باستخدام النطاق 10-40 للملفات التكميلية في /usr/ والنطاق 60-90 للملفات التكميلية في /etc/ و /run/، للتأكد من أن الملفات التكميلية المحلية والعابرة تأخذ الأولوية على الملفات التكميلية التي يشحنها مورد نظام التشغيل.

لتعطيل ملف تشكيل مقدم من المورد، فإن الطريقة الموصى بها هي وضع وصلة رمزية إلى /dev/null في دليل التشكيل في /etc/، بنفس اسم ملف تشكيل المورد.

الخيارات

تُضبط جميع الخيارات في القسم [Coredump]:

Storage=
    يتحكم في مكان تخزين التفريغات. أحد القيم "none" و "external" و "journal". عند "none"، قد تُسجل تفريغات النواة (بما في ذلك التتبع الخلفي إن أمكن)، لكن لا تُخزن بشكل دائم. عند "external" (المبدئي)، تُخزن التفريغات في /var/lib/systemd/coredump/. عند "journal"، تُخزن التفريغات في السجل وتُدور وفق أنماط التدوير العادية للسجل.

    عند تخزين التفريغات في السجل، قد تُضغط وفق إعدادات ضغط السجل، انظر journald.conf(5). عند تخزين التفريغات خارجياً، تُضغط مبدئياً، انظر أدناه.

    لاحظ أنه لمعالجة تفريغ نواة (أي استخراج تتبع المكدس)، يجب كتابة التفريغ على القرص أولاً. وبالتالي، ما لم يُضبط ProcessSizeMax= على 0 (انظر أدناه)، يُكتب التفريغ إلى /var/lib/systemd/coredump/ في كلتا الحالتين (تحت اسم ملف مؤقت، أو حتى في ملف غير مرتبط)، لذا يتحكم Storage= فقط في ما إذا كان يُترك هناك حتى بعد معالجته.

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

Compress=
    يتحكم في الضغط للتخزين الخارجي. يأخذ وسيطاً منطقياً، مبدئياً "yes".

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

ProcessSizeMax=
    الحد الأقصى للحجم بالبايت لتفريغ سيُعالج. قد تُخزن تفريغات النواة التي تتجاوز هذا الحجم، لكن لن يُولد تتبع المكدس. مثل الأحجام الأخرى في ملف التهيئة نفسه، يُسمح باللواحق المعتادة للأساس 1024 (B, K, M, G, T, P, و E). المبدئي 1G على أنظمة 32 بت، 32G على أنظمة 64 بت.

    يُعطل ضبط Storage=none و ProcessSizeMax=0 كل معالجة تفريغ النواة باستثناء إدخال سجل.

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

EnterNamespace=
    بالنسبة للعمليات التي تنتمي إلى نطاق PID، يتحكم في ما إذا كان systemd-coredump(8) سيحاول معالجة تفريغات النواة على المضيف، باستخدام معلومات التصحيح من التسلسل الهرمي لنظام الملفات (أي نطاق الوصل) للعملية التي تعطلت. قد يكون الوصول إلى التسلسل الهرمي لنظام ملفات العملية ضرورياً لتوليد تتبع خلفي مرمز بالكامل. إذا ضُبط على "yes"، سيحصل systemd-coredump على شجرة الوصلات من نطاق وصل العملية المتعطلة وسيحاول توليد تتبع المكدس في سياق المضيف باستخدام معلومات التصحيح للثنائيات والمكتبات الموجودة في تسلسل العملية المتعطلة. المبدئي "no"، أي لا تُبذل محاولة للحصول على معلومات تصحيح خارجية من نطاق وصل العملية، لتعظيم الأمان. ليس لهذا الخيار تأثير على العمليات التي هي جزء من نطاق PID للمضيف.

    لاحظ أن تفريغ النواة للعملية ذات النطاق لا يزال يُحفظ في /var/lib/systemd/coredump/ على المضيف حتى لو ضُبط EnterNamespace= على "no" (خاضع لـ Storage=).

    لاحظ أن EnterNamespace= له تأثير فقط إذا وُلد تفريغ نواة بواسطة حاوية لا تحتوي وحدتها على CoredumpReceive= مفعلاً.

    لاحظ أنه من الأفضل عادةً ترك الحاويات وصناديق الرمل الأخرى القائمة على النطاقات تعالج تفريغات النواة الخاصة بها، إن أمكن، لأفضل أمان. قد يُفعل هذا على وحدة الحاوية عبر إعداد CoredumpReceive=، انظر systemd.resource-control(5) للتفاصيل.

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

ExternalSizeMax=, JournalSizeMax=
    الحد الأقصى للحجم (مضغوط أو غير مضغوط) بالبايت لتفريغ نواة يُحفظ في ملفات منفصلة على القرص (المبدئي: 1G على أنظمة 32 بت، 32G على أنظمة 64 بت) أو في السجل (المبدئي: 767M). لاحظ أن خدمة السجل تفرض حداً صارماً على سجلات السجل بمقدار 767M، وستتجاهل سجلات السجل الأكبر المقدمة. وبالتالي، قد يُخفض JournalSizeMax= بالنسبة للمبدئي، لكن لا يُزاد. يُسمح بلواحق الوحدات تماماً كما في ProcessSizeMax=.

    يضبط ExternalSizeMax=infinity حجم التفريغ على غير محدود.

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

MaxUse=, KeepFree=
    يفرض حدوداً على مساحة القرص، المحددة بالبايت، التي تشغلها تفريغات النواة المخزنة خارجياً. يُسمح بلواحق الوحدات تماماً كما في ProcessSizeMax=. يضمن MaxUse= إزالة تفريغات النواة القديمة بمجرد أن تتجاوز مساحة القرص الإجمالية التي تشغلها تفريغات النواة هذا الحد (المبدئي 10% من حجم القرص الإجمالي، محدود بـ 4GiB، الحد الأدنى 1MiB). يتحكم KeepFree= في مقدار مساحة القرص التي يجب إبقاؤها حرة على الأقل (المبدئي 15% من حجم القرص الإجمالي، محدود بحد أقصى 4GiB). لاحظ أن مساحة القرص المستخدمة بواسطة تفريغات النواة قد تتجاوز هذه الحدود مؤقتاً أثناء معالجة تفريغات النواة. يأخذ MaxUse= الأولوية. لاحظ أن تفريغات النواة القديمة تُزال أيضًا بناءً على الوقت عبر systemd-tmpfiles(8). اضبط أي قيمة على 0 لإيقاف التنظيف القائم على الحجم.

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

استخدم

    systemd-analyze cat-config systemd/coredump.conf

لعرض الضبط الكامل.

انظر أيضًا

systemd-journald.service(8)، coredumpctl(1)، systemd-tmpfiles(8)

ملاحظات

1.  💣💥🧨💥💥💣 يرجى ملاحظة أن ملفات الضبط تلك يجب أن تكون متوفرة في جميع الأوقات. إذا كان /usr/local/ قسماً منفصلاً، فقد لا يكون متوفراً أثناء بدء التشغيل المبكر، ويجب عدم استخدامه للضبط.

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

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

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