COREDUMPCTL(1)

الاسم
coredumpctl - استرداد ومعالجة تفريغات النواة المحفوظة والبيانات الوصفية

موجز

coredumpctl [خيارات...] {أمر} [معرف_العملية|أمر|ملف_تنفيذي|مطابقة...]

الوصف

coredumpctl هي أداة تُستخدم لاسترداد ومعالجة تفريغات النواة والبيانات الوصفية المحفوظة بواسطة systemd-coredump(8).

الأوامر

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

list
    سرد تفريغات النواة الملتقطة في السجل المطابقة للخصائص المحددة. إذا لم يُحدد أمر، فهذا هو المبدئي الضمني.

    المخرجات مصممة لتكون قابلة للقراءة البشرية وتحتوي على جدول بالأعمدة التالية:

    الوقت
        الطابع الزمني للانهيار، كما أبلغت عنه النواة.

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

    PID
        معرف العملية التي انهارت.

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

    UID, GID
        معرفا المستخدم والمجموعة للعملية التي انهارت.

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

    الإشارة
        الإشارة التي تسببت في انهيار العملية، عند الاقتضاء.

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

    COREFILE
        معلومات حول ما إذا كان تفريغ النواة قد خُزن، وما إذا كان لا يزال قابلاً للوصول: "none" يعني أن النواة لم تُخزن، "-" يعني أنها لم تكن متاحة (على سبيل المثال لأن العملية لم تُنه بإشارة)، "present" يعني أن ملف النواة قابل للوصول من قبل المستخدم الحالي، "journal" يعني أن النواة خُزنت في "السجل"، "truncated" هو نفسه أحد السابقين، لكن النواة كانت كبيرة جداً ولم تُخزن بالكامل، "error" يعني أن ملف النواة لا يمكن الوصول إليه، على الأرجح بسبب صلاحيات غير كافية، و"missing" يعني أن النواة خُزنت في ملف، لكن هذا الملف أُزيل منذ ذلك الحين.

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

    EXE
        المسار الكامل للملف التنفيذي. لتتبعات البرامج النصية، هذا هو اسم المفسر.

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

    تجدر الإشارة إلى أن قيوداً مختلفة تنطبق على البيانات المحفوظة في السجل وملفات تفريغ النواة المحفوظة في /var/lib/systemd/coredump، انظر النظرة العامة في systemd-coredump(8). وبالتالي قد يحدث بسهولة أن يُدرج تفريغ نواة معين في السجل بينما أُزيل ملف تفريغ النواة المقابل له بالفعل.

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

info
    عرض معلومات مفصلة عن آخر تفريغ نواة أو تفريغات نواة مطابقة للخصائص المحددة الملتقطة في السجل.

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

dump
    استخراج آخر تفريغ نواة مطابق للخصائص المحددة. سيُكتب تفريغ النواة على المخرج القياسي، ما لم يُحدد ملف مخرج باستخدام --output=.

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

debug
    استدعاء مصحح أخطاء على آخر تفريغ نواة مطابق للخصائص المحددة. مبدئياً، سيُستخدم gdb(1). يمكن تغيير ذلك باستخدام الخيار --debugger= أو المتغير البيئي $SYSTEMD_DEBUGGER. استخدم الخيار --debugger-arguments= لتمرير وسائط سطر أوامر إضافية إلى المصحح.

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

الخيارات

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

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

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

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

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

--json=وضع
    يظهر المخرجات منسقة بصيغة JSON. يتوقع أحد الخيارات: "short" (لأقصر مخرج ممكن دون أي مسافات زائدة أو فواصل أسطر)، أو "pretty" (لنسخة جميلة من المخرج نفسه، مع إزاحة وفواصل أسطر) أو "off" (لإيقاف مخرجات JSON، وهو الخيار المبدئي).

-1
    عرض معلومات أحدث تفريغ نواة فقط، بدلاً من سرد جميع تفريغات النواة المعروفة. مكافئ لـ --reverse -n 1.

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

-n عدد_صحيح
    عرض عدد الإدخالات المحدد على الأكثر. يجب أن تكون المعلمة المحددة عدداً صحيحاً أكبر من أو يساوي 1.

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

-S, --منذ
    طباعة الإدخالات التي هي منذ التاريخ المحدد فقط.

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

-U، --until
    اطبع فقط المدخلات التي تكون حتى التاريخ المحدد.

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

-r، --reverse
    عكس المخرجات بحيث تُعرض أحدث المداخل أولًا.

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

-F FIELD، --field=FIELD
    اطبع كل قيم البيانات الممكنة التي يأخذها الحقل المحدد في مدخلات تفريغ النواة المطابقة في دفتر اليومية.

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

-o FILE، --output=FILE
    اكتب النواة إلى FILE.

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

--debugger=المنقح
    استخدم المصحح المحدد لأمر debug. إذا لم يُحدد و $SYSTEMD_DEBUGGER غير مضبوط، فسيُستخدم gdb(1).

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

-A معاملات، --debugger-arguments=معاملات
    مرر ARGS المحددة كوسائط سطر أوامر إضافية للمصحح. ضع علامات اقتباس حسب الاقتضاء عندما تحتوي ARGS على مسافات. (انظر الأمثلة.)

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

--file=GLOB
    يأخذ نمط ملف كوسيطة. إذا حُدد، سيعمل coredumpctl على ملفات دفتر اليومية المحددة المطابقة لـ GLOB بدلاً من مسارات دفتر اليومية الافتراضية للنظام والتشغيل. قد يُحدد عدة مرات، وفي هذه الحالة ستُدرج الملفات بشكل مناسب.

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

-D DIR، --directory=DIR
    استخدم ملفات دفتر اليومية في DIR المحدد.

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

--root=جذر
    استخدم الدليل الجذر ROOT عند البحث عن تفريغات النواة.

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

--image=image
    يأخذ مسارًا لملف صورة قرص أو عقدة جهاز كتلي. إذا حُدد، تُطبق جميع العمليات على نظام الملفات في صورة القرص المشار إليها. هذا الخيار مشابه لـ --root=، لكنه يعمل على أنظمة الملفات المخزنة في صور الأقراص أو أجهزة الكتل. يجب أن تحتوي صورة القرص إما على نظام ملفات واحد فقط أو مجموعة من أنظمة الملفات داخل جدول أقسام GPT، وفقًا لـ UAPI.2 مواصفات الأقسام القابلة للاكتشاف[1]. لمزيد من المعلومات حول صور الأقراص المدعومة، انظر مفتاح systemd-nspawn(1) الذي يحمل نفس الاسم.

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

--image-policy=السياسة
    يأخذ سلسلة سياسة صورة كوسييط، وفقًا لـ systemd.image-policy(7). تُفرض السياسة عند العمل على صورة القرص المحددة عبر --image=، انظر أعلاه. إذا لم تُحدد، فسيُرجع إلى سياسة "*" المبدئية، أي تُستخدم جميع أنظمة الملفات المعروفة في الصورة.

-q، --quiet
    يكتم الرسائل الإعلامية حول نقص الوصول إلى ملفات دفتر اليومية وتفريغات النواة المحتملة قيد التنفيذ.

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

--all
    انظر إلى جميع ملفات دفتر اليومية المتاحة في /var/log/journal/ (باستثناء مساحات أسماء دفتر اليومية) بدلاً من المحلية فقط.

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

المطابقة

يمكن أن تكون المطابقة:

PID
    معرف العملية للعملية التي فرغت النواة. عدد صحيح.

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

COMM
    اسم الملف القابل للتنفيذ (يطابق COREDUMP_COMM=). يجب ألا يحتوي على شرطات مائلة.

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

EXE
    المسار إلى الملف القابل للتنفيذ (يطابق COREDUMP_EXE=). يجب أن يحتوي على شرطة مائلة واحدة على الأقل.

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

MATCH
    مرشح مطابقة عام لـ journalctl، يجب أن يحتوي على علامة يساوي ("="). انظر journalctl(1).

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

حالة الخروج

عند النجاح، يُرجع 0؛ وإلا، يُرجع رمز فشل غير صفري. يُعتبر عدم العثور على أي تفريغات أساسية مطابقة فشلاً.

البيئة

$SYSTEMD_DEBUGGER
    استخدم المصحح المُعطى لأمر debug. انظر الخيار --debugger=.

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

أمثلة

مثال 1. اسرد كل تفريغات الأساسية لبرنامج

    $ coredumpctl list /usr/lib64/firefox/firefox
    TIME       PID  UID  GID SIG     COREFILE EXE                         SIZE
    Tue ...   8018 1000 1000 SIGSEGV missing  /usr/lib64/firefox/firefox     -
    Wed ... 251609 1000 1000 SIGTRAP missing  /usr/lib64/firefox/firefox     -
    Fri ... 552351 1000 1000 SIGSEGV present  /usr/lib64/firefox/firefox 28.7M

يحتوي السجل على ثلاثة مدخلات تتعلق بـ /usr/lib64/firefox/firefox، والمدخل الأخير فقط لا يزال يحتوي على ملف أساسي متاح (في تخزين خارجي على القرص).

لاحظ أن coredumpctl يحتاج إلى الوصول إلى ملفات السجل لاسترجاع المدخلات ذات الصلة من السجل. وبالتالي، سيرى المستخدم غير المميز عادةً معلومات فقط عن برامج هذا المستخدم المتعطلة.

مثال 2. استدعِ gdb على آخر تفريغ أساسي

    $ coredumpctl debug

مثال 3. استخدم gdb لعرض معلومات السجلات الكاملة من آخر تفريغ أساسي

    $ coredumpctl debug --debugger-arguments="-batch -ex 'info all-registers'"

مثال 4. اعرض معلومات عن تفريغ أساسي مطابق بواسطة PID

    $ coredumpctl info 6654
               PID: 6654 (bash)
               UID: 1000 (user)
               GID: 1000 (user)
            Signal: 11 (SEGV)
         Timestamp: Mon 2021-01-01 00:00:01 CET (20s ago)
      Command Line: bash -c $'kill -SEGV $$'
        Executable: /usr/bin/bash
     Control Group: /user.slice/user-1000.slice/...
              Unit: user@1000.service
         User Unit: vte-spawn-....scope
             Slice: user-1000.slice
         Owner UID: 1000 (user)
           Boot ID: ...
        Machine ID: ...
          Hostname: ...
           Storage: /var/lib/systemd/coredump/core.bash.1000.....zst (present)
      Size on Disk: 51.7K
           Message: Process 130414 (bash) of user 1000 dumped core.

                    Stack trace of thread 130414:
                    #0  0x00007f398142358b kill (libc.so.6 + 0x3d58b)
                    #1  0x0000558c2c7fda09 kill_builtin (bash + 0xb1a09)
                    #2  0x0000558c2c79dc59 execute_builtin.lto_priv.0 (bash + 0x51c59)
                    #3  0x0000558c2c79709c execute_simple_command (bash + 0x4b09c)
                    #4  0x0000558c2c798408 execute_command_internal (bash + 0x4c408)
                    #5  0x0000558c2c7f6bdc parse_and_execute (bash + 0xaabdc)
                    #6  0x0000558c2c85415c run_one_command.isra.0 (bash + 0x10815c)
                    #7  0x0000558c2c77d040 main (bash + 0x31040)
                    #8  0x00007f398140db75 __libc_start_main (libc.so.6 + 0x27b75)
                    #9  0x0000558c2c77dd1e _start (bash + 0x31d1e)

مثال 5. استخرج آخر تفريغ أساسي لـ /usr/bin/bar إلى ملف باسم bar.coredump

    $ coredumpctl -o bar.coredump dump /usr/bin/bar

انظر أيضًا

systemd-coredump(8), coredump.conf(5), systemd-journald.service(8), gdb(1)

ملاحظات

1.  UAPI.2 مواصفات الأقسام القابلة للاكتشاف
    https://uapi-group.org/specifications/specs/discoverable_partitions_specification

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

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

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