Scroll to navigation

JOURNALCTL(1) journalctl JOURNALCTL(1)

الاسم

journalctl - طباعة مدخلات السجلات من سجلات systemd

موجز

journalctl [خيارات...] [مطابقات...]

الوصف

يُستخدم journalctl لطباعة مدخلات السجل المخزنة في السجل بواسطة systemd-journald.service(8) و systemd-journal-remote.service(8).

إذا استُدعي بدون معاملات، فسيُظهر محتويات السجل التي يمكن للمستخدم المستدعي الوصول إليها، بدءًا من أقدم مدخلة جُمعت.

إذا مُرر وسيط مطابق واحد أو أكثر، فستُرشح المخرجات وفقًا لذلك. تكون المطابقة بصيغة "FIELD=VALUE"، على سبيل المثال "_SYSTEMD_UNIT=httpd.service"، للإشارة إلى مكونات مدخلة سجل منظمة. انظر systemd.journal-fields(7) للحصول على قائمة بالحقول المعروفة. إذا حُددت مطابقات متعددة تطابق حقولاً مختلفة، فستُرشح مدخلات السجل بكليهما، أي أن المخرجات الناتجة ستعرض فقط المدخلات التي تطابق جميع المطابقات المحددة من هذا النوع. إذا انطبقت مطابقتان على نفس الحقل، فسيتم مطابقتهما آليًا كبدائل، أي أن المخرجات الناتجة ستعرض المدخلات التي تطابق أيًا من المطابقات المحددة لنفس الحقل. وأخيرًا، قد تظهر المحرفة "+" ككلمة منفصلة بين المصطلحات الأخرى في سطر الأوامر. يؤدي هذا إلى دمج جميع المطابقات قبلها وبعدها في فصل منطقي (أي OR المنطقية).

من الممكن أيضًا ترشيح المدخلات عبر تحديد مسار ملف مطلق كوسييط. قد يكون مسار الملف ملفًا أو رابطًا رمزيًا ويجب أن يكون الملف موجودًا في وقت الاستعلام. إذا كان مسار الملف يشير إلى ملف ثنائي قابل للتنفيذ، فتُضاف مطابقة "_EXE=" لمسار الثنائي المقنن إلى الاستعلام. إذا كان مسار الملف يشير إلى سكربت قابل للتنفيذ، فتُضاف مطابقة "_COMM=" لاسم السكربت إلى الاستعلام. إذا كان مسار الملف يشير إلى عقدة جهاز، فتُضاف مطابقات "_KERNEL_DEVICE=" لاسم نواة الجهاز ولكل من أجهزته السلف إلى الاستعلام. تُتبع الروابط الرمزية، وتُخلق أسماء النواة، وتُحدد الأجهزة الأبوية من البيئة في وقت الاستعلام. بشكل عام، عقدة الجهاز هي أفضل وكيل لجهاز فعلي، حيث لا تحتوي مدخلات السجل عادةً على حقول تحدد جهازًا فعليًا. ولكي تكون مدخلات السجل الناتجة صحيحة للجهاز الفعلي، يجب أن تكون الأجزاء ذات الصلة من البيئة في الوقت الذي سُجلت فيه المدخلة، ولا سيما الجهاز الفعلي المقابل لعقدة الجهاز، هي نفسها تلك الموجودة في وقت الاستعلام. ونظرًا لأن عقد الأجهزة تغير عمومًا أجهزتها المقابلة عبر عمليات إعادة التشغيل، فإن تحديد مسار عقدة جهاز يؤدي إلى قصر المدخلات الناتجة على تلك الخاصة بالإقلاع الحالي.

يمكن إضافة قيود إضافية باستخدام الخيارات --boot و --unit= وغيرها، لمزيد من التحديد للمدخلات التي ستُعرض (AND المنطقية).

تُتداخل المخرجات من جميع ملفات السجل التي يمكن الوصول إليها، سواء كانت مدورة أو تُكتب حاليًا، وبغض النظر عما إذا كانت تنتمي إلى النظام نفسه أو كانت سجلات مستخدم يمكن الوصول إليها. يمكن استخدام الخيار --header لتحديد الملفات التي تُعرض.

يمكن تعديل مجموعة ملفات السجل التي ستُستخدم باستخدام خيارات --user و --system و --directory= و --file=، انظر أدناه.

يُمنح جميع المستخدمين إمكانية الوصول إلى سجلاتهم الخاصة لكل مستخدم. ومع ذلك، مبدئيًا، يُمنح فقط المستخدم الجذر (root) والمستخدمون الأعضاء في بعض المجموعات الخاصة إمكانية الوصول إلى سجل النظام وسجلات المستخدمين الآخرين. يمكن لأعضاء المجموعات "systemd-journal" و "adm" و "wheel" قراءة جميع ملفات السجل. لاحظ أن المجموعتين الأخيرتين تمتلكان تقليديًا امتيازات إضافية تحددها التوزيعة. يمكن لأعضاء مجموعة "wheel" غالبًا أداء المهام الإدارية.

تُعرض المخرجات بصفحات عبر less مبدئيًا، وتُقتطع الأسطر الطويلة لتناسب عرض الشاشة. يمكن عرض الجزء المخفي باستخدام مفاتيح السهم الأيسر والسهم الأيمن. يمكن تعطيل عرض الصفحات؛ انظر الخيار --no-pager وقسم "Environment" أدناه.

عند الإخراج إلى tty، تُلون الأسطر وفقًا للأولوية: تُلون الأسطر من مستوى ERROR فأعلى باللون الأحمر؛ وتُلون الأسطر من مستوى WARNING باللون الأصفر؛ وتُبرز الأسطر من مستوى NOTICE؛ وتُعرض الأسطر من مستوى INFO بشكل عادي؛ وتُلون الأسطر من مستوى DEBUG باللون الرمادي.

لكتابة مدخلات إلى السجل، يمكن استخدام بضع طرق. بشكل عام، تُوصل مخرجات وحدات systemd آليًا بالسجل، انظر systemd-journald.service(8). بالإضافة إلى ذلك، يمكن استخدام systemd-cat(1) لإرسال الرسائل إلى السجل مباشرة.

خيارات المصدر

الخيارات التالية تتحكم في مكان قراءة سجلات السجل منها:

--system، --user

إظهار الرسائل من خدمات النظام والنواة (باستخدام --system). إظهار الرسائل من خدمات المستخدم الحالي (باستخدام --user). إذا لم يُحدد أي منهما، فتُعرض جميع الرسائل التي يمكن للمستخدم رؤيتها.

يؤثر الخيار --user على كيفية التعامل مع وسائط --unit=. انظر --unit=.

لاحظ أن --user لا يعمل إلا إذا كان التسجيل المستمر ممكنًا، عبر إعداد Storage= في journald.conf(5).

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

-M، --machine=

اعرض الرسائل من حاوية محلية قيد التشغيل. حدد اسم حاوية للاتصال بها.

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

-m، --merge

اعرض المدخلات متداخلة من جميع السجلات المتاحة، بما في ذلك السجلات البعيدة.

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

-D دليل، --directory=دليل

يأخذ مسار دليل كوسييط. إذا حُدد، فسيعمل journalctl على دليل السجل المحدد DIR بدلاً من مسارات سجلات وقت التشغيل والنظام المبدئية.

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

-i GLOB، --file=GLOB

يأخذ نمط مطابقة ملفات (glob) كوسييط. إذا حُدد، فسيعمل journalctl على ملفات السجل المحددة التي تطابق GLOB بدلاً من مسارات سجلات وقت التشغيل والنظام المبدئية. يمكن تحديده عدة مرات، وفي هذه الحالة ستُتداخل الملفات بشكل مناسب.

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

--root=الجذر

يأخذ مسار دليل كوسييط. إذا حُدد، فسيعمل journalctl على أدلة السجل وهيكلية ملفات الفهرس تحت الدليل المحدد بدلاً من الدليل الجذر (على سبيل المثال، سيؤدي --update-catalog إلى إنشاء ROOT/var/lib/systemd/catalog/database، وستُعرض ملفات السجل الموجودة تحت ROOT/run/journal/ أو ROOT/var/log/journal/).

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

--image=IMAGE

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

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

--image-policy=السياسة

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

--namespace=نطاق_الأسماء

يأخذ سلسلة معرف نطاق أسماء سجل كوسييط. إذا لم يُحدد، فستُعرض البيانات التي جمعها نطاق الأسماء المبدئي. إذا حُدد، فسيُعرض بيانات السجل لنطاق الأسماء المحدد بدلاً من ذلك. إذا حُدد نطاق الأسماء كـ "*" فستُعرض البيانات من جميع نطاقات الأسماء متداخلة. إذا سُبق معرف نطاق الأسماء بـ "+" فستُعرض البيانات من نطاق الأسماء المحدد ونطاق الأسماء المبدئي متداخلة، ولا شيء غيرهما. لمزيد من التفاصيل حول نطاقات أسماء السجل، انظر systemd-journald.service(8).

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

خيارات التصفية

الخيارات التالية تتحكم في كيفية تصفية سجلات السجل:

-S، --since=، -U، --until=

ابدأ في عرض المدخلات في أو بعد التاريخ المحدد، أو في أو قبل التاريخ المحدد، على التوالي. يجب أن تكون مواصفات التاريخ بتنسيق "2012-10-30 18:17:16". إذا حُذف جزء الوقت، فيُفترض أنه "00:00:00". إذا حُذف مكون الثواني فقط، فيُفترض أنه "00:". إذا حُذف مكون التاريخ، فيُفترض اليوم الحالي. وبدلاً من ذلك، تُفهم السلاسل "yesterday" و "today" و "tomorrow"، والتي تشير إلى الساعة 00:00:00 من اليوم السابق لليوم الحالي، أو اليوم الحالي، أو اليوم التالي لليوم الحالي، على التوالي. وتشير "now" إلى الوقت الحالي. وأخيرًا، يمكن تحديد أوقات نسبية مسبوقة بـ "-" أو "+"، للإشارة إلى الأوقات قبل أو بعد الوقت الحالي، على التوالي. للحصول على مواصفات الوقت والتاريخ الكاملة، انظر systemd.time(7). لاحظ أن --output=short-full يطبع الطوابع الزمنية التي تتبع هذا التنسيق بدقة.

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

-c، --cursor=

بدء عرض المدخلات من الموقع المحدد في السجل بواسطة المؤشر (cursor) الممرر.

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

--after-cursor=

ابدأ عرض المدخلات من الموقع في السجل بعد الموقع المحدد بواسطة المؤشر الممرر. يُعرض المؤشر عند استخدام الخيار --show-cursor.

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

--cursor-file=FILE

إذا كان FILE موجودًا ويحتوي على مؤشر، فابدأ عرض المدخلات بعد هذا الموقع. خلاف ذلك، اعرض المدخلات وفقًا للخيارات الأخرى المعطاة. في النهاية، اكتب مؤشر آخر مدخلة في FILE. استخدم هذا الخيار لقراءة السجل باستمرار من خلال استدعاء journalctl بشكل تسلسلي.

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

-b [[المعرف][±الإزاحة]|all--boot[=[المعرف][±الإزاحة]|all]

إظهار الرسائل المتعلقة بعملية إقلاع محددة. سيؤدي هذا إلى إضافة مطابقة لـ "_BOOT_ID=".

قد يكون الوسيط فارغًا، وفي هذه الحالة ستُعرض سجلات الإقلاع الحالي.

إذا حُذف معرف الإقلاع، فإن offset الموجب سيبحث عن عمليات الإقلاع بدءًا من بداية السجل، و offset المساوي للصفر أو أقل منه سيبحث عن عمليات الإقلاع بدءًا من نهاية السجل. وبالتالي، فإن 1 تعني أول إقلاع وُجد في السجل بترتيب زمني، و 2 الثاني وهكذا؛ بينما -0 هو الإقلاع الأخير، و -1 الإقلاع قبل الأخير، وهكذا. و offset الفارغ يعادل تحديد -0، إلا عندما لا يكون الإقلاع الحالي هو الإقلاع الأخير (على سبيل المثال بسبب تحديد --directory= للنظر في السجلات من جهاز مختلف).

إذا حُدد ID المكون من 32 محرفًا، فقد يتبعه اختياريًا offset الذي يحدد الإقلاع بالنسبة للإقلاع المعطى بواسطة ID الإقلاع. القيم السالبة تعني عمليات إقلاع سابقة والقيم الموجبة تعني عمليات إقلاع لاحقة. إذا لم يُحدد offset، فتُفترض القيمة صفر، وتُعرض السجلات للإقلاع المعطى بواسطة ID.

يمكن استخدام الوسيط الخاص all لإلغاء تأثير الاستخدام السابق لـ -b.

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

-u، --unit=الوحدة|النمط

اعرض الرسائل لوحدة systemd المحددة UNIT (مثل وحدة خدمة)، أو لأي من الوحدات التي يطابقها PATTERN. إذا حُدد نمط، فتُقارن قائمة بأسماء الوحدات الموجودة في السجل مع النمط المحدد وتُستخدم جميع الوحدات المتطابقة. لكل اسم وحدة، تُضاف مطابقة للرسائل الواردة من الوحدة ("_SYSTEMD_UNIT=UNIT")، جنبًا إلى جنب مع مطابقات إضافية للرسائل الواردة من systemd والرسائل المتعلقة بتفريغ الذاكرة (coredumps) للوحدة المحددة. تُضاف أيضًا مطابقة لـ "_SYSTEMD_SLICE=UNIT"، بحيث إذا كانت UNIT المقدمة هي وحدة systemd.slice(5)، فستُعرض جميع سجلات الأبناء للقطاع (slice).

مع الخيار --user، سيتم تحويل جميع وسائط --unit= لمطابقة رسائل المستخدم كما لو كانت محددة باستخدام --user-unit=.

يمكن تحديد هذا المعامل عدة مرات.

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

--user-unit=

اعرض الرسائل لوحدة جلسة المستخدم المحددة. سيؤدي هذا إلى إضافة مطابقة للرسائل الواردة من الوحدة ("_SYSTEMD_USER_UNIT=" و "_UID=") ومطابقات إضافية للرسائل الواردة من systemd الجلسة والرسائل المتعلقة بتفريغ الذاكرة (coredumps) للوحدة المحددة. تُضاف أيضًا مطابقة لـ "_SYSTEMD_USER_SLICE=UNIT"، بحيث إذا كانت UNIT المقدمة هي وحدة systemd.slice(5)، فستُعرض جميع سجلات الأبناء للوحدة.

يمكن تحديد هذا المعامل عدة مرات.

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

-I، --invocation=ID[±offset]|offset

اعرض الرسائل من استدعاء معين للوحدة. سيؤدي هذا إلى إضافة مطابقة لـ "_SYSTEMD_INVOCATION_ID=" و "OBJECT_SYSTEMD_INVOCATION_ID=" و "INVOCATION_ID=" و "USER_INVOCATION_ID=".

سيبحث offset الموجب عن استدعاءات وحدة systemd من بداية السجل، وسيبحث الإزاحة الصفرية أو السالبة عن الاستدعاءات بدءًا من نهاية السجل. وبالتالي، فإن 1 تعني الاستدعاء الأول الذي وُجد في السجل بترتيب زمني، و 2 الثاني وهكذا؛ بينما 0 هو أحدث استدعاء، و -1 الاستدعاء السابق للأحدث، وهكذا.

إذا حُدد ID المكون من 32 محرفًا، فقد يتبعه اختيارياً ±offset الذي يحدد الاستدعاء بالنسبة للاستدعاء المعطى بواسطة ID الاستدعاء. القيم السالبة تعني استدعاءات سابقة والقيم الموجبة تعني استدعاءات لاحقة. إذا لم يُحدد ±offset، فتُفترض القيمة صفر، وتُعرض سجلات الاستدعاء المعطى بواسطة ID.

-I يعادل --invocation=0، وستُعرض سجلات أحدث استدعاء.

عند تحديد إزاحة، يجب تحديد اسم وحدة باستخدام الخيار -u/--unit= أو --user-unit=.

عند تحديده مع -b/--boot=، يتم البحث عن الاستدعاءات ضمن الإقلاع المحدد.

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

-t، --identifier=معرف_سجل_النظام

يُظهر الرسائل لمعرف syslog المحدد SYSLOG_IDENTIFIER.

يمكن تحديد هذا المعامل عدة مرات.

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

-T، --exclude-identifier=SYSLOG_IDENTIFIER

يستبعد الرسائل الخاصة بمعرف syslog المحدد SYSLOG_IDENTIFIER.

يمكن تحديد هذا المعامل عدة مرات.

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

-p، --priority=

يُرشح المخرجات حسب أولويات الرسائل أو نطاقات الأولوية. يقبل إما مستوى سجل عدديًا أو نصيًا واحدًا (أي بين 0/"emerg" و 7/"debug")، أو نطاقًا من مستويات السجل العددية/النصية على شكل FROM..TO. مستويات السجل هي مستويات syslog المعتادة كما هي موثقة في syslog(3)، أي: "emerg" (0)، "alert" (1)، "crit" (2)، "err" (3)، "warning" (4)، "notice" (5)، "info" (6)، "debug" (7). إذا حُدد مستوى سجل واحد، تُعرض جميع الرسائل بهذا المستوى أو بمستوى أقل (وبالتالي أكثر أهمية). إذا حُدد نطاق، تُعرض جميع الرسائل ضمن النطاق، بما في ذلك قيمتا البداية والنهاية للنطاق. سيؤدي هذا إلى إضافة مطابقات "PRIORITY=" للأولويات المحددة.

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

--facility=

يُرشح المخرجات حسب مرفق syslog. يأخذ قائمة مفصولة بفاصلة من الأرقام أو أسماء المرافق. الأسماء هي مرافق syslog المعتادة كما هي موثقة في syslog(3). يمكن استخدام --facility=help لعرض قائمة بأسماء المرافق المعروفة والخروج.

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

-g، --grep=

يُرشح المخرجات للقيود التي يطابق فيها حقل MESSAGE= التعبير النمطي المحدد. تُستخدم التعبيرات النمطية المتوافقة مع PERL، راجع pcre2pattern(3) للحصول على وصف تفصيلي لبناء الجملة.

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

عند استخدامه مع --lines= (بدون البادئة "+")، يُفترض استخدام --reverse ضمنيًا.

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

--case-sensitive[=BOOLEAN]

يجعل مطابقة الأنماط حساسة لحالة الأحرف أو غير حساسة لها.

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

-k، --dmesg

يُظهر رسائل النواة فقط. يضيف هذا المطابقة "_TRANSPORT=kernel". يستلزم هذا --boot=0 ما لم يُحدد خلاف ذلك صراحةً.

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

خيارات المخرجات

تتحكم الخيارات التالية في كيفية طباعة سجلات اليومية:

-o، --output=

يتحكم في تنسيق قيود اليومية المعروضة. يأخذ أحد الخيارات التالية:

short

هو المبدئي ويولد مخرجات مطابقة تقريبًا لتنسيق ملفات syslog التقليدية، حيث يعرض سطرًا واحدًا لكل قيد يومية.

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

short-full

مشابه جدًا، لكنه يعرض الطوابع الزمنية بالتنسيق الذي تقبله خيارات --since= و --until=. على عكس معلومات الطابع الزمني المعروضة في وضع الإخراج short، يتضمن هذا الوضع معلومات يوم الأسبوع والسنة والمنطقة الزمنية في المخرجات، وهو مستقل عن الإعدادات المحلية.

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

short-iso

مشابه جدًا، لكنه يعرض الطوابع الزمنية في تشكيلة RFC 3339[2] من معيار ISO 8601.

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

short-iso-precise

كما في short-iso ولكنه يتضمن دقة كاملة بالميكروثانية.

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

short-precise

مشابه جدًا، لكنه يعرض طوابع syslog التقليدية بدقة كاملة بالميكروثانية.

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

short-monotonic

مشابه جدًا، لكنه يعرض طوابع زمنية رتيبة بدلاً من طوابع ساعة الحائط.

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

short-delta

كما في short-monotonic ولكنه يتضمن فرق الوقت عن القيد السابق. تُعلم فروق التوقيت التي قد لا تكون موثوقة بعلامة "*".

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

short-unix

مشابه جدًا، لكنه يعرض الثواني المنقضية منذ 1 يناير 1970 بالتوقيت العالمي المنسق بدلاً من طوابع ساعة الحائط ("توقيت يونكس"). يُعرض الوقت بدقة الميكروثانية.

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

verbose

يُظهر عناصر القيد كاملة البنية مع كافة الحقول.

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

export

يسلسل اليومية في تدفق ثنائي (ولكنه نصي في الغالب) مناسب للنسخ الاحتياطي والنقل عبر الشبكة (انظر تنسيق تصدير اليومية[3] لمزيد من المعلومات). لاستيراد التدفق الثنائي مرة أخرى إلى تنسيق journald الأصلي، استخدم systemd-journal-remote(8).

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

json

ينسق القيود ككائنات JSON، مفصولة بأحرف سطر جديد (انظر تنسيق JSON لليومية[4] لمزيد من المعلومات). تُرمّز قيم الحقول عادةً كسلاسل JSON، مع ثلاثة استثناءات:

1.تُرمّز الحقول التي يزيد حجمها عن 4096 بايت كقيم null. (يمكن إيقاف هذا عن طريق تمرير --all، ولكن كن حذرًا لأن هذا قد يخصص كائنات JSON طويلة جدًا.)

2.تسمح قيود اليومية بحقول غير فريدة داخل نفس قيد السجل. لا يسمح JSON بالحقول غير الفريدة داخل الكائنات. ونتيجة لذلك، إذا واُجه حقل غير فريد، تُستخدم مصفوفة JSON كقيمة للحقل، تسرد جميع قيم الحقول كعناصر.

3.تُرمّز الحقول التي تحتوي على بايتات غير قابلة للطباعة أو غير تابعة لـ UTF8 كمصفوفات تحتوي على البايتات الخام منسقة بشكل فردي كأرقام غير موقعة.

لاحظ أن هذا الترميز قابل للعكس (باستثناء حد الحجم).

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

json-pretty

ينسق القيود كهياكل بيانات JSON، ولكنه ينسقها في سطور متعددة لجعلها أكثر قابلية للقراءة من قبل البشر.

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

json-sse

ينسق القيود كهياكل بيانات JSON، ولكنه يغلفها بتنسيق مناسب لـ أحداث مرسلة من الخادم[5].

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

json-seq

ينسق القيود كهياكل بيانات JSON، ولكنه يسبقها بحرف فاصل سجل ASCII (0x1E) ويتبعها بحرف تغذية سطر ASCII (0x0A)، وفقًا لـ تسلسلات نص (JSON) لكائنات جافا سكريبت[6] ("application/json-seq").

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

cat

يولد مخرجات مقتضبة للغاية، حيث يعرض فقط الرسالة الفعلية لكل قيد يومية بدون بيانات وصفية، ولا حتى طابع زمني. إذا دُمج مع خيار --output-fields=، فسيخرج الحقول المدرجة لكل سجل، بدلاً من الرسالة.

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

with-unit

مشابه لـ short-full، ولكنه يسبق أسماء الوحدة ووحدة المستخدم بدلاً من معرف syslog التقليدي. مفيد عند استخدام النماذج، حيث سيتضمن المعطيات في أسماء الوحدات.

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

--truncate-newline

يقطع كل رسالة سجل عند أول حرف سطر جديد في المخرجات، بحيث يُعرض السطر الأول فقط من كل رسالة.

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

--output-fields=

قائمة مفصولة بفاصلة للحقول التي يجب تضمينها في المخرجات. يؤثر هذا فقط على أوضاع الإخراج التي تعرض عادةً جميع الحقول (verbose و export و json و json-pretty و json-sse و json-seq)، بالإضافة إلى cat. بالنسبة للأولى، تُطبع دائمًا الحقول "__CURSOR" و "__REALTIME_TIMESTAMP" و "__MONOTONIC_TIMESTAMP" و "_BOOT_ID".

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

-n، --lines=

يُظهر أحدث أحداث اليومية ويحد من عدد الأحداث المعروضة. المعطى هو عدد صحيح موجب أو "all" لتعطيل الحد. بالإضافة إلى ذلك، إذا سُبق الرقم بـ "+"، تُستخدم أقدم أحداث اليومية بدلاً من ذلك. القيمة المبدئية هي 10 إذا لم يُعطَ أي معطى.

في حالة استخدام --follow، يُعتبر هذا الخيار ضمنيًا. وعندما لا يسبقها الرمز ”+“ وتُستخدم مع --grep، يُعتبر --reverse ضمنيًا.

-r، --reverse

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

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

--show-cursor

يُعرض المؤشر بعد آخر قيد بعد شرطتين:

-- cursor: s=0639...

تنسيق المؤشر خاص وعرضة للتغيير.

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

--utc

يعبر عن الوقت بالتوقيت العالمي المنسق (UTC).

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

-x، --catalog

يعزز سطور السجل بنصوص توضيحية من كتالوج الرسائل. سيضيف هذا نصوص مساعدة توضيحية لرسائل السجل في المخرجات حيثما كان ذلك متاحًا. ستشرح نصوص المساعدة القصيرة هذه سياق الخطأ أو حدث السجل، والحلول الممكنة، بالإضافة إلى مؤشرات لمنتديات الدعم، ووثائق المطورين، وأي أدلة أخرى ذات صلة. لاحظ أن نصوص المساعدة ليست متاحة لجميع الرسائل، ولكن لرسائل مختارة فقط. لمزيد من المعلومات حول كتالوج الرسائل، انظر كتالوجات رسائل اليومية[7].

ملاحظة: عند إرفاق مخرجات journalctl بتقارير الأخطاء، يُرجى عدم استخدام -x.

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

-W، --no-hostname

لا يعرض حقل اسم المضيف لرسائل السجل. هذا المفتاح له تأثير فقط على عائلة short من أوضاع الإخراج (انظر أعلاه).

ملاحظة: هذا الخيار لا يزيل تكرارات اسم المضيف من قيود السجل نفسها، لذا فهو لا يمنع اسم المضيف من الظهور في السجلات.

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

--no-full، --full، -l

يضع حذوفات (نقط) في الحقول عندما لا تتناسب مع الأعمدة المتاحة. المبدئي هو إظهار الحقول كاملة، مما يسمح لها بالالتفاف أو القطع بواسطة عارض الصفحات، إذا اُستخدم أحدهم.

الخيارات القديمة -l/--full لم تعد مفيدة، إلا للتراجع عن --no-full.

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

-a، --all

يُظهر جميع الحقول كاملة، حتى لو تضمنت أحرفًا غير قابلة للطباعة أو كانت طويلة جدًا. افتراضيًا، تُختصر الحقول التي تحتوي على أحرف غير قابلة للطباعة كـ "بيانات كتلة" (blob data). (لاحظ أن عارض الصفحات قد يهرب الأحرف غير القابلة للطباعة مرة أخرى.)

-f، --follow

يُظهر فقط أحدث قيود اليومية، ويطبع باستمرار القيود الجديدة عند إلحاقها باليومية، حتى يُضغط على Ctrl-C (أو يتم إنهاء الأداة بطريقة أخرى).

سيرسل journalctl رسالة sd_notify(3) "READY=1" بمجرد بدئه وإقامته بنجاح لمراقبته لليومية.

--no-tail

يُظهر جميع سطور المخرجات المخزنة، حتى في وضع المتابعة. يلغي تأثير --lines=.

-q، --quiet

يكتم جميع الرسائل الإعلامية (أي "-- Journal begins at ..."، "-- Reboot --")، وأي رسائل تحذير بخصوص يوميات النظام التي لا يمكن الوصول إليها عند تشغيلها كمستخدم عادي.

--synchronize-on-exit=

يأخذ معطى منطقيًا. إذا كان صحيحًا وكان يعمل في وضع --follow، يصدر طلب مزامنة لليومية (يعادل journalctl --sync) عند استلام SIGTERM/SIGINT، ويستمر إخراج السجل حتى يكتمل هذا الطلب. هذا مفيد لمزامنة إخراج سجل اليومية مع وقت تشغيل الخدمات أو الأحداث الخارجية، مما يضمن أن أي بيانات سجل وضعت في صف النظام الفرعي للتسجيل بحلول وقت إصدار SIGTERM/SIGINT مضمون معالجتها وعرضها بحلول وقت انتهاء إخراج السجل. القيمة المبدئية هي كاذب (false).

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

خيارات التحكم في عارض الصفحات

تتحكم الخيارات التالية في دعم الصفحات:

--no-pager

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

-e، --pager-end

يقفز فورًا إلى نهاية اليومية داخل أداة عارض الصفحات المفترضة ضمنيًا. يستلزم هذا --lines=1000 و --boot=0 ما لم يُحدد خلاف ذلك صراحةً، لضمان عدم قيام عارض الصفحات بتخزين سجلات ذات حجم غير محدود في الخبيئة. لاحظ أن هذا الخيار مدعوم فقط لعارض الصفحات less(1).

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

خيارات الختم الآمن الأمامي (FSS)

يمكن استخدام الخيارات التالية مع أمر --setup-keys الموضح أدناه:

--interval=

يحدد فاصل التغيير لمفتاح الختم عند توليد زوج مفاتيح FSS باستخدام --setup-keys. تزيد الفواصل الزمنية الأقصر من استهلاك وحدة المعالجة المركزية ولكنها تقصر النطاق الزمني لتعديلات اليومية غير القابلة للكشف. المبدئي هو 15 دقيقة.

ملاحظة، يُنقل --output=json-sse و --output=json-seq بصمت إلى --output=json.

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

--verify-key=

يحدد مفتاح التحقق FSS لاستخدامه في عملية --verify.

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

--force

عند تمرير --setup-keys وتكون ميزة الختم الآمن الأمامي (FSS) قد ضُبطت بالفعل، يُعاد إنشاء مفاتيح FSS.

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

الأوامر

الأوامر التالية مفهومة. إذا لم يُحدد أي منها، فإن المبدئي هو عرض سجلات اليومية:

-N، --fields

يطبع جميع أسماء الحقول المستخدمة حاليًا في جميع قيود اليومية.

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

-F، --field=

يطبع جميع قيم البيانات الممكنة التي يمكن أن يأخذها الحقل المحدد في جميع قيود اليومية.

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

--list-boots

يُظهر قائمة جدولية لأرقام الإقلاع (بالنسبة للإقلاع الحالي)، ومعرفاتها، والطوابع الزمنية لأول وآخر رسالة متعلقة بالإقلاع. عند التحديد باستخدام خيار -n/--lines=[+]N، سيتم عرض أول N من القيود فقط (عندما يُسبق الرقم بـ "+") أو آخر N (بدون بادئة). عند التحديد بـ -r/--reverse، تُعرض القائمة بترتيب عكسي.

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

--list-invocations

يسرد معرفات الاستدعاء لوحدة ما. يتطلب اسم وحدة مع -u/--unit= أو --user-unit=. يُظهر قائمة جدولية لأرقام الاستدعاء (بالنسبة للاستدعاء الحالي أو الأخير)، ومعرفاتها، والطوابع الزمنية لأول وآخر رسالة متعلقة بالاستدعاء. عند تحديد -b/-boot، تُعرض استدعاءات الإقلاع. عند التحديد باستخدام خيار -n/--lines=[+]N، سيتم عرض أول N من القيود فقط (عندما يُسبق الرقم بـ "+") أو آخر N (بدون بادئة). عند التحديد بـ -r/--reverse، تُعرض القائمة بترتيب عكسي.

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

--disk-usage

يُظهر استخدام القرص الحالي لجميع ملفات اليومية. يوضح هذا مجموع استخدام القرص لجميع ملفات اليومية المؤرشفة والنشطة.

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

--vacuum-size=، --vacuum-time=، --vacuum-files=

يزيل --vacuum-size= أقدم ملفات اليومية المؤرشفة حتى ينخفض مساحة القرص التي تستخدمها عن الحجم المحدد. يقبل اللواحق المعتادة "K" و "M" و "G" و "T" (بأساس 1024).

يزيل --vacuum-time= ملفات اليومية المؤرشفة الأقدم من الفترة الزمنية المحددة. يقبل اللواحق المعتادة "s" (المبدئي)، و "m"، و "h"، و "days"، و "weeks"، و "months"، و "years"، انظر systemd.time(7) للحصول على التفاصيل.

يترك --vacuum-files= العدد المحدد فقط من ملفات اليومية المنفصلة.

لاحظ أن تشغيل --vacuum-size= له تأثير غير مباشر فقط على المخرجات التي يعرضها --disk-usage، لأن الأخير يتضمن ملفات اليومية النشطة، بينما تعمل عملية التفريغ فقط على ملفات اليومية المؤرشفة. وبالمثل، قد لا يقلل --vacuum-files= فعليًا عدد ملفات اليومية إلى أقل من العدد المحدد، لأنه لن يزيل ملفات اليومية النشطة.

يمكن دمج --vacuum-size= و --vacuum-time= و --vacuum-files= في استدعاء واحد لفرض أي مزيج من الحجم والوقت وحد عدد الملفات على ملفات اليومية المؤرشفة. تحديد أي من هذه المعلمات الثلاث كصفر يعادل عدم فرض الحد المحدد، وبالتالي يكون زائدًا عن الحاجة.

يمكن أيضًا دمج هذه المفاتيح الثلاثة مع --rotate في أمر واحد. إذا كان الأمر كذلك، تُدوّر جميع الملفات النشطة أولاً، وتُنفذ عملية التفريغ المطلوبة مباشرة بعد ذلك. يؤدي التدوير إلى أرشفة جميع الملفات النشطة حاليًا (وربما فتح ملفات يومية جديدة فارغة كبديل)، وبالتالي يكون لعملية التفريغ التأثير الأكبر حيث يمكنها أخذ جميع بيانات السجل المكتوبة حتى الآن في الاعتبار.

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

--verify

يفحص ملف اليومية للتأكد من الاتساق الداخلي. إذا وُلد الملف مع تمكين FSS وحُدد مفتاح التحقق FSS باستخدام --verify-key=، يتم التحقق من موثوقية ملف اليومية.

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

--sync

يطلب من عفريت اليومية كتابة جميع بيانات اليومية التي لم تُكتب بعد إلى نظام الملفات الداعم ومزامنة جميع اليوميات. لا يعود هذا الاستدعاء حتى تكتمل عملية المزامنة. يضمن هذا الأمر تخزين أي رسائل سجل مكتوبة قبل استدعائه بأمان على القرص في الوقت الذي يعود فيه.

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

--relinquish-var

يطلب من عفريت اليومية القيام بالعملية العكسية لـ --flush: إذا طُلب ذلك، سيقوم العفريت بكتابة المزيد من بيانات السجل إلى /run/log/journal/ ويتوقف عن الكتابة إلى /var/log/journal/. يؤدي الاستدعاء اللاحق لـ --flush إلى تبديل إخراج السجل مرة أخرى إلى /var/log/journal/، انظر أعلاه.

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

--smart-relinquish-var

مشابه لـ --relinquish-var، ولكنه لا ينفذ أي عملية إذا كان نظام الملفات الجذر و /var/log/journal/ يقعان على نفس نقطة الوصل. تُستخدم هذه العملية أثناء إيقاف تشغيل النظام لجعل عفريت اليومية يتوقف عن كتابة البيانات إلى /var/log/journal/ في حالة وجود هذا الدليل على نقطة وصل يجب فصلها.

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

--flush

يطلب من عفريت اليومية تفريغ أي بيانات سجل مخزنة في /run/log/journal/ إلى /var/log/journal/، إذا كان التخزين الدائم مُمكّنًا. لا يعود هذا الاستدعاء حتى تكتمل العملية. لاحظ أن هذا الاستدعاء متساوي القوى: يتم تفريغ البيانات فقط من /run/log/journal/ إلى /var/log/journal/ مرة واحدة أثناء وقت تشغيل النظام (ولكن انظر --relinquish-var أدناه)، ويخرج هذا الأمر بشكل نظيف دون تنفيذ أي عملية إذا كان هذا قد حدث بالفعل. يضمن هذا الأمر فعليًا تفريغ جميع البيانات إلى /var/log/journal/ في الوقت الذي يعود فيه.

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

--rotate

يطلب من عفريت اليومية تدوير ملفات اليومية. لا يعود هذا الاستدعاء حتى تكتمل عملية التدوير. تدوير ملفات اليومية له تأثير يتمثل في تعليم جميع ملفات اليومية النشطة حاليًا كمؤرشفة وإعادة تسميتها، بحيث لا يتم الكتابة إليها أبدًا في المستقبل. ثم تُنشأ ملفات يومية جديدة (فارغة) في مكانها. يمكن دمج هذه العملية مع --vacuum-size= و --vacuum-time= و --vacuum-file= في أمر واحد، انظر أعلاه.

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

--header

بدلاً من عرض محتويات اليومية، يعرض معلومات الترويسة الداخلية لحقول اليومية التي تم الوصول إليها.

هذا الخيار مفيد بشكل خاص عند محاولة تحديد قيود اليومية الخارجة عن الترتيب، كما يحدث على سبيل المثال عند إقلاع الجهاز بوقت نظام خاطئ.

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

--list-catalog [128-bit-ID...]

يسرد محتويات كتالوج الرسائل كجدول لمعرفات الرسائل، بالإضافة إلى سلاسل الوصف القصيرة الخاصة بها.

إذا حُددت أي 128-bit-IDs، تُعرض تلك القيود فقط.

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

--dump-catalog [128-bit-ID...]

يُظهر محتويات كتالوج الرسائل، مع فصل القيود بسطر يتكون من شرطتين والمعرف (التنسيق هو نفسه ملفات .catalog).

إذا حُددت أي 128-bit-IDs، تُعرض تلك القيود فقط.

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

--update-catalog

يحدث فهرس كتالوج الرسائل. يجب تنفيذ هذا الأمر في كل مرة يتم فيها تثبيت ملفات كتالوج جديدة أو إزالتها أو تحديثها لإعادة بناء فهرس الكتالوج الثنائي.

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

--setup-keys

بدلاً من عرض محتويات اليومية، يولد زوج مفاتيح جديد للختم الآمن الأمامي (FSS). سيؤدي هذا إلى توليد مفتاح ختم ومفتاح تحقق. يُخزن مفتاح الختم في دليل بيانات اليومية ويجب أن يبقى على المضيف. يجب تخزين مفتاح التحقق خارجيًا. ارجع إلى خيار Seal= في journald.conf(5) للحصول على معلومات حول الختم الآمن الأمامي وللحصول على رابط لورقة علمية محكمة توضح بالتفصيل نظرية التشفير التي يعتمد عليها.

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

-h، --help

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

--version

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

حالة الخروج

عند النجاح، يُعاد 0؛ وبخلاف ذلك يُعاد رمز فشل غير صفري.

البيئة

$SYSTEMD_LOG_LEVEL

الحد الأقصى لمستوى السجل للرسائل الصادرة (تُكتم الرسائل ذات مستوى السجل الأعلى، أي الأقل أهمية). يأخذ قائمة قيم مفصولة بفواصل. يمكن أن تكون القيمة إما واحدة من (بترتيب تنازلي للأهمية) emerg، أو alert، أو crit، أو err، أو warning، أو notice، أو info، أو debug، أو رقمًا صحيحًا في النطاق من 0 إلى 7. راجع syslog(3) لمزيد من المعلومات. يمكن اختياريًا سبق كل قيمة بأحد الخيارات console، أو syslog، أو kmsg أو journal متبوعة بنقطتين لضبط الحد الأقصى لمستوى السجل لهذا الهدف المحدد (مثلاً: SYSTEMD_LOG_LEVEL=debug,console:info يحدد التسجيل بمستوى debug باستثناء التسجيل في الطرفية الذي يجب أن يكون بمستوى info). لاحظ أن الحد الأقصى العالمي لمستوى السجل له الأولوية على أي حدود مستويات سجل لكل هدف على حدة.

$SYSTEMD_LOG_COLOR

قيمة منطقية. إذا كانت صحيحة، فستُلون الرسائل المكتوبة في الـ tty حسب الأولوية.

هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستلون الرسائل بناءً على مستوى السجل من تلقاء نفسها.

$SYSTEMD_LOG_TIME

قيمة منطقية. إذا كانت صحيحة، فستُسبق رسائل سجل الطرفية بختم زمني.

هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية أو إلى ملف، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستُرفق طوابع زمنية بناءً على البيانات الوصفية للمدخلات من تلقاء نفسها.

$SYSTEMD_LOG_LOCATION

قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل باسم الملف ورقم السطر في الشيفرة المصدرية حيث نشأت الرسالة.

لاحظ أن موقع السجل غالبًا ما يُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.

$SYSTEMD_LOG_TID

قيمة منطقية. إذا كانت صحيحة، فستُسبق الرسائل بمعرّف الخيط الرقمي الحالي (TID).

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

$SYSTEMD_LOG_TARGET

وجهة رسائل السجل. أحد الخيارات: console (التسجيل في الطرفية المرفقة)، أو console-prefixed (التسجيل في الطرفية المرفقة ولكن مع بادئات ترميز مستوى السجل و"المرفق"، راجع syslog(3)، أو kmsg (التسجيل في ذاكرة السجل الدائرية للنواة)، أو journal (التسجيل في اليوميات)، أو journal-or-kmsg (التسجيل في اليوميات إذا كانت متاحة، وفي kmsg بخلاف ذلك)، أو auto (تحديد هدف السجل المناسب آليًا، وهو المبدئي)، أو null (تعطيل مخرج السجل).

$SYSTEMD_LOG_RATELIMIT_KMSG

فيما إذا كان سيُحد معدل kmsg أم لا. يأخذ قيمة منطقية. القيمة المبدئية هي "true". إذا عُطّل، فلن يحد systemd من معدل الرسائل المكتوبة في kmsg.

$SYSTEMD_PAGER، $PAGER

مستعرض الصفحات المراد استخدامه عندما لا يُعطى الخيار --no-pager. يُستخدم $SYSTEMD_PAGER إذا كان مضبوطًا؛ وإلا فيُستخدم $PAGER. إذا لم يُضبط أي من $SYSTEMD_PAGER أو $PAGER، فتُجرب مجموعة من التطبيقات المعروفة لمستعرضات الصفحات تباعًا، بما في ذلك less(1) و more(1)، حتى يُعثر على أحدها. إذا لم يُكتشف أي تطبيق لمستعرض الصفحات، فلا يُستدعى أي مستعرض. ضبط متغيرات البيئة هذه على سلسلة فارغة أو القيمة "cat" يعادل تمرير الخيار --no-pager.

ملاحظة: إذا لم يُضبط $SYSTEMD_PAGERSECURE، فلا يمكن استخدام $SYSTEMD_PAGER و $PAGER إلا لتعطيل مستعرض الصفحات (باستخدام "cat" أو "")، ويتم تجاهلهما فيما عدا ذلك.

$SYSTEMD_LESS

تجاوز الخيارات الممررة إلى less (مبدئيًا "FRSXMK").

قد يرغب المستخدمون في تغيير خيارين على وجه الخصوص:

K

يوجه هذا الخيار مستعرض الصفحات بالخروج فورًا عند الضغط على Ctrl+C. للسماح لـ less بالتعامل مع Ctrl+C بنفسه للعودة إلى محث أوامر المستعرض، قم بإلغاء ضبط هذا الخيار.

إذا لم تتضمن قيمة $SYSTEMD_LESS الحرف "K"، وكان المستعرض المستدعى هو less، فسيُتجاهل Ctrl+C من قبل الملف التنفيذي، ويجب معالجته من قبل المستعرض.

X

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

لاحظ أن ضبط متغير البيئة العادي $LESS ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

راجع less(1) لمزيد من النقاش.

$SYSTEMD_LESSCHARSET

يتجاوز طقم المحارف الممرر إلى less (مبدئيًا "utf-8"، إذا حُدّد أن الطرفية المستدعية متوافقة مع UTF-8).

لاحظ أن ضبط متغير البيئة العادي $LESSCHARSET ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.

$SYSTEMD_PAGERSECURE

تدعم أوامر المستعرض (pager) الشائعة مثل less(1)، بالإضافة إلى "التصفح"، أي التمرير عبر المخرجات، فتح ملفات أخرى أو الكتابة إليها وتشغيل أوامر صدفة عشوائية. عند استدعاء الأوامر بامتيازات مرفوعة، على سبيل المثال تحت sudo(8) أو pkexec(1)، يصبح المستعرض حدًا أمنيًا. يجب الحرص على استخدام البرامج ذات الوظائف المحدودة للغاية فقط كمستعرضات، وعدم السماح بالميزات التفاعلية غير المقصودة مثل فتح ملفات جديدة أو إنشائها أو بدء عمليات فرعية. يمكن تمكين "الوضع الآمن" للمستعرض كما هو موضح أدناه، إذا كان المستعرض يدعم ذلك (معظم المستعرضات لم تُكتب بطريقة تأخذ هذا في الاعتبار). يوصى إما بتمكين "الوضع الآمن" صراحةً أو تعطيل المستعرض تمامًا باستخدام --no-pager أو PAGER=cat عند السماح للمستخدمين غير الموثوق بهم بتنفيذ أوامر بامتيازات مرفوعة.

يأخذ هذا الخيار وسيطًا منطقيًا. عند ضبطه على صحيح (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 [8]). في هذه الحالات، سيتم ضبط SYSTEMD_PAGERSECURE=1 ولن يتم استخدام عارضي الصفحات الذين لا يُعرف أنهم يطبقون "الوضع الآمن" على الإطلاق. لاحظ أن هذا الكشف الآلي يغطي فقط الآليات الأكثر شيوعًا لرفع الامتيازات وهو مخصص للراحة. يوصى بضبط $SYSTEMD_PAGERSECURE صراحةً أو تعطيل عارض الصفحات.

لاحظ أنه إذا أُريد احترام المتغيرات $SYSTEMD_PAGER أو $PAGER، لغير غرض تعطيل مستعرض الصفحات، فيجب ضبط $SYSTEMD_PAGERSECURE أيضًا.

$SYSTEMD_COLORS

يأخذ وسيطًا منطقيًا (boolean)، أو قيمة خاصة. مبدئيًا (عند عدم الضبط)، سيستخدم systemd والأدوات المرتبطة به الألوان في مخرجاتها إذا أمكن ذلك. إذا ضُبط $COLORTERM على "truecolor" أو "24bit"، فسيتم تمكين ألوان 24 بت، وإلا فستُستخدم 256 لونًا، ما لم يشر $NO_COLOR أو $TERM إلى تعطيل الألوان.

true

نفس حالة عدم الضبط، باستثناء تجاهل $NO_COLOR.

false

سيكون المخرج أحادي اللون.

"16"، "256"، "24bit"

استخدم دائمًا ألوان ANSI الـ 16 الأساسية، أو 256 لونًا، أو لون 24 بت، على التوالي.

"auto-16"، "auto-256"، "auto-24bit"

استخدم كمية الألوان المعطاة، بشرط $TERM، وما هو متصل بالطرفية.

$SYSTEMD_URLIFY

يجب أن تكون القيمة منطقية. تتحكم فيما إذا كان يجب توليد روابط قابلة للنقر في المخرج لمحاكيات الطرفية التي تدعم ذلك. يمكن تحديد هذا لتجاوز القرار الذي يتخذه systemd بناءً على $TERM وشروط أخرى.

أمثلة

بدون معاملات، تُعرض جميع السجلات المجموعة دون تصفية:

journalctl

عند تحديد مطابقة واحدة، تُعرض جميع المدخلات التي يحتوي أحد حقولها على تعبير مطابق:

journalctl _SYSTEMD_UNIT=avahi-daemon.service
journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope

إذا تم مطابقة حقلين مختلفين، فسيتم عرض القيود التي تطابق التعبيرين في نفس الوقت فقط:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

إذا كانت المطابقتان تشيران إلى نفس الحقل، فسيتم عرض جميع القيود التي تطابق أيًا من التعبيرين:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service

إذا اُستخدم الفاصل "+"، فيمكن دمج تعبيرين في OR منطقية. سيعرض ما يلي جميع الرسائل من عملية خدمة Avahi بمعرف العملية PID 28097 بالإضافة إلى جميع الرسائل من خدمة D-Bus (من أي من عملياتها):

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service

لإظهار جميع الحقول المنبعثة بواسطة وحدة و حول الوحدة، يجب استخدام خيار -u/--unit=. يتوسع journalctl -u name إلى مرشح معقد مشابه لـ

_SYSTEMD_UNIT=name.service

+ UNIT=name.service _PID=1
+ OBJECT_SYSTEMD_UNIT=name.service _UID=0
+ COREDUMP_UNIT=name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1

(انظر systemd.journal-fields(7) للحصول على شرح لتلك الأنماط).

إظهار جميع السجلات التي تم توليدها بواسطة ملف D-Bus التنفيذي:

journalctl /usr/bin/dbus-daemon

إظهار كافة سجلات النواة من الإقلاع السابق:

journalctl -k -b -1

إظهار عرض سجل مباشر من خدمة نظام apache.service:

journalctl -f -u apache

انظر أيضًا

systemd(1)، systemd-cat(1)، systemd-journald.service(8)، systemctl(1)، coredumpctl(1)، systemd.journal-fields(7)، journald.conf(5)، systemd.time(7)، systemd-journal-remote.service(8)، systemd-journal-upload.service(8)

ملاحظات

1.
UAPI.2 مواصفات الأقسام القابلة للاكتشاف
2.
RFC 3339
3.
تنسيق تصدير اليوميات
4.
تنسيق JSON لليومية
5.
الأحداث المرسلة من الخادم
6.
تسلسلات نص (JSON) لكائنات جافا سكريبت
7.
كتالوجات رسائل اليومية
8.
يوصى للأدوات الأخرى بضبط والتحقق من $SUDO_UID حسب الاقتضاء، ومعاملته كواجهة مشتركة.

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

systemd 260.1