كتيبات سطر الأوامر

Man » دليل journalctl عبر الإنترنت - وثائق مفصلة عبر الإنترنت لصفحة دليل journalctl

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

ملخص

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

الوصف

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

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

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

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


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

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

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

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

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

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

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

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

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

`--system`, `--user`

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

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

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

تمت إضافته في الإصدار 205.

`-M`, `--machine=`

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

تمت إضافته في الإصدار 209.

`-m`, `--merge`

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

تمت إضافته في الإصدار 190.

`-D DIR`, `--directory=DIR`

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

تمت إضافته في الإصدار 187.

`-i GLOB`, `--file=GLOB`

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


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

--root=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[1]. لمزيد من المعلومات حول صور القرص المدعومة، راجع خيار systemd-spawn(1) بنفس الاسم.

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

--image-policy=policy

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

--namespace=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=

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

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

--after-cursor=

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

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

--cursor-file=FILE

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

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

-b [[ID][±offset]|all]، --boot[=[ID][±offset]|all]

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

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

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

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

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

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

-u، --unit=UNIT|PATTERN

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

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

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

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

--user-unit=

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


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

تمت إضافته في الإصدار 198.

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

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

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

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

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

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

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

تمت إضافته في الإصدار 257.

-t، --identifier=SYSLOG_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= مع التعبير النمطي المحدد.
تُستخدم التعبيرات النمطية المتوافقة مع بيرل، راجع 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=. على عكس معلومات الطابع الزمني المعروضة في وضع الإخراج القصير، يتضمن هذا الوضع يوم الأسبوع والسنة والمعلومات الخاصة بالمنطقة الزمنية في الإخراج، وهو مستقل عن اللغة.

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

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

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

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

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

short-precise
كما هو الحال في short-iso ولكن يعرض الطوابع الزمنية الكلاسيكية لـ syslog بدقة كاملة للميكروثانية.

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

short-monotonic
مشابه جدًا، ولكنه يعرض الطوابع الزمنية الرتيبة بدلاً من الطوابع الزمنية الحقيقية.

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

short-delta
كما هو الحال في short-monotonic ولكنه يتضمن الفرق الزمني للإدخال السابق. قد تكون الفروق الزمنية غير الموثوقة معلمة بعلامة "*".

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

short-unix
مشابه جدًا، ولكنه يعرض الثواني التي انقضت منذ 1 يناير 1970 بتوقيت جرينتش بدلاً من الطوابع الزمنية الحقيقية ("وقت UNIX"). يتم عرض الوقت بدقة الميكروثانية.

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

verbose
يعرض العناصر المنظمة بالكامل مع جميع الحقول.

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

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

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

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

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

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

يتم ترميز الحقول التي تحتوي على بايتات غير قابلة للطباعة أو غير 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

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

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

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

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

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

لم تعد الخيارات القديمة `-l`/`--full` مفيدة، باستثناء إلغاء تأثير `--no-full`.

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

-a، --all

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

-f، --follow

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

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

--no-tail

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

-q، --quiet

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

--synchronize-on-exit=

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

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

خيارات التحكم في أداة الترحيل

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

--no-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، سيتم عرض الإدخالات الأولى (عندما يسبقها الرقم "+") أو الأخيرة (بدون بادئة) فقط. عند تحديده مع ‎-r/--reverse، سيتم عرض القائمة بترتيب عكسي.

تمت إضافته في الإصدار 209.

--list-invocations

اعرض معرفات الاستدعاء لوحدة. يتطلب اسم وحدة مع ‎-u/--unit= أو ‎--user-unit=. اعرض قائمة جدولية بأرقام الاستدعاء (بالنسبة إلى الاستدعاء الحالي أو الأخير)، ومعرفاتها، والطوابع الزمنية للرسالة الأولى والأخيرة المتعلقة بالاستدعاء. عند تحديد ‎-b/-boot، سيتم عرض الاستدعاءات في التمهيد. عند تحديده مع خيار ‎-n/--lines=[+]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 بت، فسيتم عرض هذه الإدخالات فقط.

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

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

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

إذا تم تحديد أي معرفات 128 بت، فسيتم عرض هذه الإدخالات فقط.

أُضيفت في الإصدار 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
قيمة منطقية. إذا كانت القيمة صحيحة، فسيتم تلوين الرسائل التي تتم كتابتها إلى المحطة الطرفية بناءً على الأولوية.

هذا الإعداد مفيد فقط عندما تتم كتابة الرسائل مباشرةً إلى الطرفية، لأن 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` أم لا. يأخذ قيمة منطقية. القيمة الافتراضية هي "صحيح". إذا تم تعطيله، فلن يقوم systemd بتقييد الرسائل التي تتم كتابتها إلى `kmsg`.

$SYSTEMD_PAGER، $PAGER
المُصفِّح الذي سيتم استخدامه عندما لا يتم تحديد الخيار `--no-pager`. يتم استخدام `$SYSTEMD_PAGER` إذا تم تعيينه؛ وإلا، يتم استخدام `$PAGER`. إذا لم يتم تعيين أي من `$SYSTEMD_PAGER` أو `$PAGER`، فسيتم تجربة مجموعة من تطبيقات المُصفِّح المعروفة بالترتيب، بما في ذلك [less]({filename}../../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

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

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

انظر less(1) لمزيد من المناقشة.

$SYSTEMD_LESSCHARSET

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

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

$SYSTEMD_PAGERSECURE

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

يأخذ هذا الخيار وسيطة منطقية. عند تعيينه على "true"، يتم تمكين "الوضع الآمن" لبرنامج التصفح. في "الوضع الآمن"، سيتم تعيين LESSSECURE=1 عند استدعاء برنامج التصفح، مما يوجه برنامج التصفح إلى تعطيل الأوامر التي تفتح أو تنشئ ملفات جديدة أو تبدأ عمليات فرعية جديدة. حاليًا، يُعرف أن less(1) فقط يفهم هذا المتغير وينفذ "الوضع الآمن".

عند تعيينه على "false"، لا يتم وضع أي قيود على برنامج التصفح. قد يؤدي تعيين SYSTEMD_PAGERSECURE=0 أو عدم إزالته من بيئة الوراثة إلى السماح للمستخدم باستدعاء أوامر عشوائية.

عندما لا يتم تعيين SYSTEMD_PAGERSECURE، تحاول أدوات systemd تحديد ما إذا كان يجب تمكين "الوضع الآمن" وما إذا كان برنامج التصفح يدعمه أم لا. يتم تمكين "الوضع الآمن" إذا لم يكن معرف المستخدم الفعال هو نفسه مالك جلسة تسجيل الدخول، انظر getuid(2) و sd_pid_get_owner_uid(3)، أو عند التشغيل تحت sudo(8) أو أدوات مماثلة ($SUDO_UID تم تعيينه [8]). في هذه الحالات، سيتم تعيين SYSTEMD_PAGERSECURE=1 وستتم استبعاد برامج التصفح التي لا يُعرف أنها تنفذ "الوضع الآمن". لاحظ أن هذا الكشف التلقائي يغطي فقط الآليات الأكثر شيوعًا لرفع الامتيازات وهو مخصص كإجراء احترازي. يوصى بتعيين SYSTEMD_PAGERSECURE بشكل صريح أو تعطيل برنامج التصفح.


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

`$SYSTEMD_COLORS`

يأخذ وسيطًا منطقيًا. عندما تكون قيمته true، سيستخدم systemd والأدوات المساعدة ذات الصلة الألوان في إخراجها، وإلا فسيكون الإخراج أحادي اللون. بالإضافة إلى ذلك، يمكن أن يأخذ المتغير إحدى القيم الخاصة التالية: "16" أو "256" لتقييد استخدام الألوان إلى مجموعة الألوان الأساسية المكونة من 16 لونًا أو 256 لونًا من ANSI على التوالي. يمكن تحديد ذلك لإلغاء القرار التلقائي بناءً على $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)

ملاحظات

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

RFC 3339
https://tools.ietf.org/html/rfc3339

    تنسيق تصدير السجلات
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format

    تنسيق JSON للسجلات
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format

    أحداث يتم إرسالها من الخادم
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

    تسلسلات نصية بتنسيق JSON
https://tools.ietf.org/html/rfc7464

    كتالوجات رسائل السجلات
https://systemd.io/CATALOG

    يوصى بأن تقوم الأدوات الأخرى بتعيين والتحقق من $SUDO_UID حسب الاقتضاء، مع معاملتها كواجهة شائعة.