.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1995, Andries E. Brouwer .\" Copyright 2012-2014, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH syslog 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم syslog، klogctl \- قراءة و/أو مسح المخزن الدائري لرسائل النواة؛ ضبط مستوى تسجيل وحدة التحكم .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBSYS_*\fP */ \fB#include \fP .P \fBint syscall(SYS_syslog, int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIsize\fP\fB);\fP .P /* The glibc interface */ \fB#include \fP .P \fBint klogctl(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIsize\fP\fB);\fP .fi .SH الوصف \fIملاحظة\fP: ربما تبحث عن دالة مكتبة C \fBsyslog\fP()، التي تتحدث مع \fBsyslogd\fP(8)؛ انظر \fBsyslog\fP(3) للتفاصيل. .P تصف هذه الصفحة استدعاء النظام \fBsyslog\fP() للنواة، المستخدم للتحكم في المخزن المؤقت \fIprintk\fP() للنواة؛ دالة الغلاف glibc لاستدعاء النظام تسمى \fBklogctl\fP(). .SS "المخزن المؤقت لسجل النواة" .\" Under "General setup" ==> "Kernel log buffer size" .\" For Linux 2.6, precisely the option seems to have appeared in Linux 2.5.55. تمتلك النواة مخزناً مؤقتاً دورياً بحجم \fBLOG_BUF_LEN\fP تُخزن فيه الرسائل المعطاة كوسائط لدالة النواة \fBprintk\fP() (بغض النظر عن مستوى سجلها). في النوى المبكرة، كانت قيمة \fBLOG_BUF_LEN\fP 4096؛ من Linux 1.3.54، أصبحت 8192؛ من Linux 2.1.113، أصبحت 16384؛ منذ Linux 2.4.23/2.6، القيمة هي خيار تهيئة النواة (\fBCONFIG_LOG_BUF_SHIFT\fP، القيمة المبدئية تعتمد على البنية). منذ Linux 2.6.6، يمكن الاستعلام عن الحجم باستخدام أمر من النوع 10 (انظر أدناه). .SS الأوامر تحدد الوسيطة \fItype\fP الإجراء الذي تتخذه هذه الدالة. تحدد القائمة أدناه قيم \fItype\fP. الأسماء الرمزية معرفة في مصدر النواة، لكنها غير مصدرة إلى مساحة المستخدم؛ ستحتاج إما لاستخدام الأرقام، أو تعريف الأسماء بنفسك. .TP \fBSYSLOG_ACTION_CLOSE\fP (0) إغلاق السجل. حالياً عملية لا شيء (NOP). .TP \fBSYSLOG_ACTION_OPEN\fP (1) فتح السجل. حالياً عملية لا شيء (NOP). .TP \fBSYSLOG_ACTION_READ\fP (2) قراءة من السجل. ينتظر الاستدعاء حتى يصبح المخزن المؤقت لسجل النواة غير فارغ، ثم يقرأ على الأكثر \fIlen\fP بايت في المخزن المؤقت المشار إليه بواسطة \fIbufp\fP. يعيد الاستدعاء عدد البايتات المقروءة. تختفي البايتات المقروءة من السجل من المخزن المؤقت للسجل: يمكن قراءة المعلومات مرة واحدة فقط. هذه هي الدالة التي تنفذها النواة عندما يقرأ برنامج مستخدم \fI/proc/kmsg\fP. .TP \fBSYSLOG_ACTION_READ_ALL\fP (3) قراءة جميع الرسائل المتبقية في المخزن المؤقت الحلقي، ووضعها في المخزن المؤقت المشار إليه بواسطة \fIbufp\fP. يقرأ الاستدعاء آخر \fIlen\fP بايت من المخزن المؤقت للسجل (بدون إتلاف)، لكنه لن يقرأ أكثر مما كُتب في المخزن المؤقت منذ آخر أمر "مسح المخزن المؤقت الحلقي" (انظر الأمر 5 أدناه). يعيد الاستدعاء عدد البايتات المقروءة. .TP \fBSYSLOG_ACTION_READ_CLEAR\fP (4) قراءة ومسح جميع الرسائل المتبقية في المخزن المؤقت الحلقي. يقوم الاستدعاء بنفس الشيء تماماً كما في \fItype\fP بقيمة 3، لكنه ينفذ أيضًا أمر "مسح المخزن المؤقت الحلقي". .TP \fBSYSLOG_ACTION_CLEAR\fP (5) ينفذ الاستدعاء فقط أمر "مسح المخزن المؤقت الحلقي". يتم تجاهل الوسيطتين \fIbufp\fP و \fIsize\fP. .IP لا يمسح هذا الأمر المخزن المؤقت الحلقي حقًا. بدلاً من ذلك، يعين متغير محاسبة في النواة يحدد النتائج المعادة بواسطة الأمرين 3 (\fBSYSLOG_ACTION_READ_ALL\fP) و 4 (\fBSYSLOG_ACTION_READ_CLEAR\fP). ليس لهذا الأمر أي تأثير على الأمرين 2 (\fBSYSLOG_ACTION_READ\fP) و 9 (\fBSYSLOG_ACTION_SIZE_UNREAD\fP). .TP \fBSYSLOG_ACTION_CONSOLE_OFF\fP (6) .\" commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 يحفظ الأمر القيمة الحالية لـ \fIconsole_loglevel\fP ثم يعين \fIconsole_loglevel\fP إلى \fIminimum_console_loglevel\fP، بحيث لا تُطبع أي رسائل على وحدة التحكم. قبل Linux 2.6.32، كان الأمر ببساطة يعين \fIconsole_loglevel\fP إلى \fIminimum_console_loglevel\fP. انظر مناقشة \fI/proc/sys/kernel/printk\fP أدناه. .IP يتم تجاهل الوسيطتين \fIbufp\fP و \fIsize\fP. .TP \fBSYSLOG_ACTION_CONSOLE_ON\fP (7) .\" commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 إذا تم تنفيذ أمر \fBSYSLOG_ACTION_CONSOLE_OFF\fP سابقاً، يستعيد هذا الأمر \fIconsole_loglevel\fP إلى القيمة التي حفظها ذلك الأمر. قبل Linux 2.6.32، كان هذا الأمر ببساطة يعين \fIconsole_loglevel\fP إلى \fIdefault_console_loglevel\fP. انظر مناقشة \fI/proc/sys/kernel/printk\fP أدناه. .IP يتم تجاهل الوسيطتين \fIbufp\fP و \fIsize\fP. .TP \fBSYSLOG_ACTION_CONSOLE_LEVEL\fP (8) يعين الاستدعاء \fIconsole_loglevel\fP إلى القيمة المعطاة في \fIsize\fP، والتي يجب أن تكون عدداً صحيحاً بين 1 و 8 (شاملاً). تفرض النواة بصمت قيمة دنيا لـ \fIsize\fP تساوي \fIminimum_console_loglevel\fP. انظر قسم \fIمستوى السجل\fP للتفاصيل. يتم تجاهل الوسيطة \fIbufp\fP. .TP \fBSYSLOG_ACTION_SIZE_UNREAD\fP (9) (منذ Linux 2.4.10) ترجع الاستدعاء عدد البايتات المتاحة حالياً للقراءة من خبيئة سجل النواة عبر الأمر 2 (\fBSYSLOG_ACTION_READ\fP). يتم تجاهل الوسيطتين \fIbufp\fP و \fIsize\fP. .TP \fBSYSLOG_ACTION_SIZE_BUFFER\fP (10) (منذ لينكس 2.6.6) يرجع هذا الأمر الحجم الكلي لخبيئة سجل النواة. يتم تجاهل الوسيطتين \fIbufp\fP و \fIsize\fP. .P .\" .\" جميع الأوامر باستثناء 3 و 10 تتطلب صلاحية. في أنوية لينكس قبل لينكس 2.6.37، يُسمح بأنواع الأوامر 3 و 10 للعمليات غير المصرح لها؛ منذ لينكس 2.6.37، يُسمح بهذه الأوامر للعمليات غير المصرح لها فقط إذا كانت قيمة \fI/proc/sys/kernel/dmesg_restrict\fP هي 0. قبل لينكس 2.6.37، تعني "مصرح له" أن المتصل يمتلك إمكانية \fBCAP_SYS_ADMIN\fP. منذ لينكس 2.6.37، تعني "مصرح له" أن المتصل يمتلك إما إمكانية \fBCAP_SYS_ADMIN\fP (المهملة حالياً لهذا الغرض) أو إمكانية \fBCAP_SYSLOG\fP (الجديدة). .SS /proc/sys/kernel/printk \fI/proc/sys/kernel/printk\fP هو ملف قابل للكتابة يحتوي على أربع قيم صحيحة تؤثر على سلوك \fIprintk()\fP في النواة عند طباعة أو تسجيل رسائل الخطأ. القيم الأربع هي: .TP \fIconsole_loglevel\fP .\" since Linux 2.4 فقط الرسائل ذات مستوى سجل أقل من هذه القيمة ستُطبع على وحدة التحكم. القيمة المبدئية لهذا الحقل هي \fBDEFAULT_CONSOLE_LOGLEVEL\fP (7)، لكنها تُضبط إلى 4 إذا احتوى سطر أوامر النواة على الكلمة "quiet"، وإلى 10 إذا احتوى على الكلمة "debug"، وإلى 15 في حالة عطل في النواة (10 و 15 مجرد قيم سخيفة، وتكافئ 8). يمكن ضبط قيمة \fIconsole_loglevel\fP (إلى قيمة في النطاق 1\[en]8) بواسطة استدعاء \fBsyslog\fP() مع \fItype\fP بقيمة 8. .TP \fIdefault_message_loglevel\fP .\" commit 5af5bcb8d37f99ba415a1adc6da71051b84f93a5 ستُستخدم هذه القيمة كمستوى سجل لرسائل \fIprintk()\fP التي لا تحتوي على مستوى صريح. حتى لينكس 2.6.38 وما يشمل، كانت القيمة المبدئية المضمنة في الكود لهذا الحقل هي 4 (\fBKERN_WARNING\fP)؛ منذ لينكس 2.6.39، تُعرف القيمة المبدئية بواسطة خيار تهيئة النواة \fBCONFIG_DEFAULT_MESSAGE_LOGLEVEL\fP، والذي يكون مبدئياً 4. .TP \fIminimum_console_loglevel\fP القيمة في هذا الحقل هي القيمة الدنيا التي يمكن ضبط \fIconsole_loglevel\fP إليها. .TP \fIdefault_console_loglevel\fP .\" .\" هذه هي القيمة المبدئية لـ \fIconsole_loglevel\fP. .SS "مستوى السجل" كل رسالة \fIprintk\fP() لها مستوى سجل خاص بها. إذا لم يُحدد مستوى السجل صراحةً كجزء من الرسالة، فإنه يكون مبدئياً \fIdefault_message_loglevel\fP. المعنى التقليدي لمستوى السجل هو كالتالي: .TS lB lB lB lB c l. ثابت النواة قيمة المستوى المعنى KERN_EMERG 0 النظام غير قابل للاستخدام KERN_ALERT 1 T{ يجب اتخاذ إجراء فوراً T} KERN_CRIT 2 ظروف حرجة KERN_ERR 3 ظروف خطأ KERN_WARNING 4 ظروف تحذير KERN_NOTICE 5 T{ ظرف عادي لكن مهم T} KERN_INFO 6 معلوماتي KERN_DEBUG 7 رسائل مستوى التصحيح .TE .P ستطبع روتين \fIprintk()\fP للنواة رسالة على وحدة التحكم فقط إذا كان مستوى سجلها أقل من قيمة \fIconsole_loglevel\fP. .SH "قيمة الإرجاع" بالنسبة لـ \fItype\fP المساوي لـ 2 أو 3 أو 4، يعيد استدعاء ناجح لـ \fBsyslog\fP() عدد البايتات المقروءة. بالنسبة لـ \fItype\fP 9، يعيد \fBsyslog\fP() عدد البايتات المتاحة حالياً للقراءة من مخزن سجل النواة. بالنسبة لـ \fItype\fP 10، يعيد \fBsyslog\fP() الحجم الكلي لمخزن سجل النواة. بالنسبة لقيم أخرى لـ \fItype\fP، يُعاد 0 عند النجاح. .P في حالة الخطأ، يُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEINVAL\fP وسائط خاطئة (مثل: \fItype\fP خاطئ؛ أو بالنسبة لـ \fItype\fP 2 أو 3 أو 4، \fIbuf\fP هو NULL، أو \fIsize\fP أقل من صفر؛ أو بالنسبة لـ \fItype\fP 8، \fIlevel\fP خارج النطاق 1 إلى 8). .TP \fBENOSYS\fP استدعاء النظام \fBsyslog\fP() هذا غير متاح، لأن النواة جُمّعت مع خيار تهيئة النواة \fBCONFIG_PRINTK\fP معطلاً. .TP \fBEPERM\fP جرت محاولة لتغيير \fIconsole_loglevel\fP أو مسح مخزن حلقات رسائل النواة بواسطة عملية بدون صلاحية كافية (بشكل أدق: بدون القدرة \fBCAP_SYS_ADMIN\fP أو \fBCAP_SYSLOG\fP). .TP \fBERESTARTSYS\fP قُطع استدعاء النظام بواسطة إشارة؛ لم يُقرأ شيء. (يمكن رؤية هذا فقط أثناء التتبع.) .SH المعايير لينكس. .SH التاريخ .\" In libc4 and libc5 the number of this call was defined by .\" .BR SYS_klog . .\" In glibc 2.0 the syscall is baptized .\" .BR klogctl (). من البداية، لاحظ الناس أنه من المؤسف أن استدعاء النظام وروتين المكتبة بنفس الاسم هما شيئان مختلفان تماماً. .SH "انظر أيضًا" \fBdmesg\fP(1), \fBsyslog\fP(3), \fBcapabilities\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .