.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2012, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Written 11 June 1995 by Andries Brouwer .\" 2008-02-15, Jeremy Kerr .\" Add info on command type 10; add details on types 6, 7, 8, & 9. .\" 2008-02-15, Michael Kerrisk .\" Update LOG_BUF_LEN details; update RETURN VALUE section. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH syslog 2 "30 mars 2023" "Pages du manuel de Linux 6.05.01" .SH NOM syslog, klogctl \- Lire et/ou effacer les tampons circulaires de messages du noyau\ ; définir console_loglevel .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP /* Définition des constantes \fBSYSLOG_*\fP */ \fB#include \fP /* Définition des constantes \fBSYS_*\fP */ \fB#include \fP .PP \fBint syscall(SYS_syslog, int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP .PP /* L'interface de la glibc */ \fB#include \fP .PP \fBint klogctl(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP .fi .SH DESCRIPTION \fINote\fP\ : vous cherchez sans doute la fonction de la bibliothèque\ C \fBsyslog\fP() qui communique avec \fBsyslogd\fP(8)\ ; reportez\-vous à \fBsyslog\fP(3) pour plus de détails. .PP Cette page décrit l'appel système du noyau \fBsyslog\fP() qui est utilisé pour contrôler le tampon du noyau \fIprintk\fP()\ ; la fonction d'enveloppe de la glibc correspondant à cet appel système est \fBklogctl\fP(). .SS "Le tampon de journalisation du noyau." .\" Under "General setup" ==> "Kernel log buffer size" .\" For Linux 2.6, precisely the option seems to have appeared in Linux 2.5.55. Le noyau dispose d'un tampon circulaire d'une longueur \fBLOG_BUF_LEN\fP dans lequel il stocke les messages fournis en paramètre à la fonction du noyau \fBprintk\fP() (sans tenir compte du niveau de journalisation). Dans les premiers noyaux, \fBLOG_BUF_LEN\fP avait pour valeur 4096\ ; à partir de Linux 1.3.54, elle valait 8192\ ; à partir de Linux\ 2.1.113, elle valait 16384\ ; depuis Linux 2.4.23/2.6, la valeur est une option de configuration du noyau (\fBCONFIG_LOG_BUF_SHIFT\fP, valeur par défaut dépendant de l'architecture). Depuis Linux\ 2.6.6, la commande de type 10 (voir plus bas) renvoie la taille du tampon. .SS Commandes L'argument \fItype\fP détermine quelle action est réalisée par cette fonction. La liste ci\-dessous précise les valeurs que peut prendre \fItype\fP. Les noms symboliques sont définis dans les sources du noyau, mais ne sont pas exportés dans l'espace utilisateur\ ; vous devrez donc utiliser les identifiants numériques ou redéfinir vous\-même les noms. .TP \fBSYSLOG_ACTION_CLOSE\fP (0) Ferme le journal. Actuellement, cette instruction est sans effet. .TP \fBSYSLOG_ACTION_OPEN\fP (1) Ouvre le journal. Actuellement, cette instruction est sans effet. .TP \fBSYSLOG_ACTION_READ\fP (2) Lecture du journal. Dès que le tampon du journal n'est plus vide, l'appel lit au plus \fIlen\fP octets qu'il place dans le tampon vers lequel pointe \fIbufp\fP. Il renvoie le nombre d'octets lus. Les octets lus sont supprimés du tampon du journal\ : les informations ne peuvent être lues qu'une seule fois. C'est la fonction exécutée par le noyau quand un programme utilisateur lit \fI/proc/kmsg\fP. .TP \fBSYSLOG_ACTION_READ_ALL\fP (3) Lecture de tous les messages restant dans le tampon circulaire, qui sont déplacés dans le tampon vers lequel pointe \fIbufp\fP. L'appel lit les \fIlen\fP derniers octets dans le tampon du journal (de manière non destructive). Il ne lira pas plus que ce qui a été écrit dans le tampon depuis la dernière exécution de la commande de nettoyage (commande «\ clear ring buffer\ », voir plus bas la commande\ 5). L'appel renvoie le nombre d'octets lus. .TP \fBSYSLOG_ACTION_READ_CLEAR\fP (4) Lecture et suppression de tous les messages du tampon circulaire. L'appel effectue exactement la même chose que la commande de \fItype\fP 3, mais exécute également la commande «\ clear ring buffer\ ». .TP \fBSYSLOG_ACTION_CLEAR\fP (5) L'appel ne fait qu'exécuter la commande «\ clear ring buffer\ ». Les arguments \fIbufp\fP et \fIlen\fP ne sont pas pris en compte. .IP Cette fonction ne vide pas réellement le tampon circulaire. Plus exactement, elle définit une variable de suivi d'activité du noyau qui détermine ce que renvoient les commandes 3 (\fBSYSLOG_ACTION_READ_ALL\fP) et 4 (\fBSYSLOG_ACTION_READ_CLEAR\fP). Cette commande est sans effet sur les commandes 2 (\fBSYSLOG_ACTION_READ\fP) et 9 (\fBSYSLOG_ACTION_SIZE_UNREAD\fP). .TP \fBSYSLOG_ACTION_CONSOLE_OFF\fP (6) .\" commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 La commande sauvegarde la valeur actuelle de \fIconsole_loglevel\fP puis affecte la valeur \fIminimum_console_loglevel\fP à \fIconsole_loglevel\fP afin que les messages soient affichés sur la console. Avant Linux 2.6.32, la commande affectait seulement la valeur \fIminimum_console_loglevel\fP à \fIconsole_loglevel\fP. Reportez\-vous aux explications relatives à \fI/proc/sys/kernel/printk\fP plus bas. .IP Les arguments \fIbufp\fP et \fIlen\fP ne sont pas pris en compte. .TP \fBSYSLOG_ACTION_CONSOLE_ON\fP (7) .\" commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 Si la commande \fBSYSLOG_ACTION_CONSOLE_OFF\fP a été exécutée précédemment, cette commande réaffecte à \fIconsole_loglevel\fP la valeur sauvegardée au moment de cette exécution. Avant Linux 2.6.32, cette commande réaffectait la valeur \fIdefault_console_loglevel\fP à \fIconsole_loglevel\fP. Reportez\-vous aux explications relatives à \fI/proc/sys/kernel/printk\fP plus bas. .IP Les arguments \fIbufp\fP et \fIlen\fP ne sont pas pris en compte. .TP \fBSYSLOG_ACTION_CONSOLE_LEVEL\fP (8) L'appel positionne \fIconsole_loglevel\fP à la valeur indiquée dans \fIlen\fP, qui doit être un entier compris entre 1 et 8 (inclus). Le noyau applique implicitement une valeur minimale \fIminimum_console_loglevel\fP pour \fIlen\fP Consultez la section \fBLe niveau de journalisation\fP (log level) pour plus de détails. L'arguments \fIbufp\fP n'est pas pris en compte. .TP \fBSYSLOG_ACTION_SIZE_UNREAD\fP (9) (à partir de Linux 2.4.10) L'appel renvoie le nombre d'octets disponibles en lecture dans le tampon de journalisation du noyau au moment de l'appel, au moyen de la commande 2 (\fBSYSLOG_ACTION_READ\fP). Les arguments \fIbufp\fP et \fIlen\fP ne sont pas pris en compte. .TP \fBSYSLOG_ACTION_SIZE_BUFFER\fP (10) (à partir de Linux 2.6.6) Cette commande renvoie la taille totale du tampon du journal du noyau. Les arguments \fIbufp\fP et \fIlen\fP ne sont pas pris en compte. .PP .\" .\" Toutes les commandes, excepté 3 et 10, nécessitent des privilèges. Dans les noyaux Linux avant Linux\ 2.6.37, seules les commandes de type\ 3 à 10 étaient permises aux processus non privilégiés ; depuis Linux\ 2.6.37, les commandes de type 3 et 10 sont permises à ces processus seulement si \fI/proc/sys/kernel/dmesg_restrict\fP vaut 0. Avant Linux\ 2.6.37, «\ privilégié\ » signifiait que l'appelant avait la capacité \fBCAP_SYS_ADMIN\fP. Depuis Linux\ 2.6.37, «\ privilégié\ » signifie que l’appelant soit la capacité \fBCAP_SYS_ADMIN\fP (maintenant obsolète pour cet usage), soit la (nouvelle) capacité \fBCAP_SYSLOG\fP. .SS /proc/sys/kernel/printk \fI/proc/sys/kernel/printk\fP est un fichier accessible en écriture qui contient quatre valeurs qui affectent le comportement la fonction \fIprintk()\fP du noyau lors de l'affichage ou de la journalisation des messages d'erreur. Ces quatre valeurs sont\ : .TP \fIconsole_loglevel\fP .\" since Linux 2.4 Seuls les messages dont le niveau de journalisation est inférieur à cette valeur seront affichés sur la console. La valeur par défaut du champ est \fBDEFAULT_CONSOLE_LOGLEVEL\fP\ (7), mais elle est ramenée à\ 4 si la ligne de commande du noyau contient le mot clef «\ quiet\ », à\ 10 si la ligne de commande contient le mot «\ debug\ », et à\ 15 en cas d'erreur du noyau (les valeurs\ 10 et 15 n'ont en fait pas de sens car elles équivalent à\ 8). La valeur \fIconsole_loglevel\fP peut prendre une valeur (comprise entre\ 1 et\ 8) définie par un appel à \fBsyslog\fP() avec un \fItype\fP valant\ 8. .TP \fIdefault_message_loglevel\fP .\" commit 5af5bcb8d37f99ba415a1adc6da71051b84f93a5 Cette valeur fournira le niveau de journalisation des messages de \fIprintk()\fP pour lesquels un niveau de journalisation n'est pas explicitement défini. Jusqu'à Linux\ 2.6.38 inclus, la valeur par défaut inscrite dans le code pour ce champ était\ 4 (\fBKERN_WARNING\fP)\ ; à partir de Linux\ 2.6.39, la valeur par défaut est déterminée par l'option de configuration du noyau \fBCONFIG_DEFAULT_MESSAGE_LOGLEVEL\fP, qui par défaut vaut\ 4. .TP \fIminimum_console_loglevel\fP Ce champ contient la valeur minimale qui peut être affectée à \fIconsole_loglevel\fP. .TP \fIdefault_console_loglevel\fP .\" .\" La valeur par défaut de \fIconsole_loglevel\fP. .SS "Le niveau de journalisation (log level)" Chaque message de \fIprintk\fP() a son propre niveau de journalisation. Si le niveau de journalisation n'est pas explicitement précisé comme partie du message, il vaut par défaut \fIdefault_message_loglevel\fP. Le niveau de journalisation a par convention les significations suivantes\ : .TS lB lB lB lB c l. Constante du noyau Valeur du niveau Signification KERN_EMERG 0 Le système est inutilisable KERN_ALERT 1 T{ Des actions doivent être entreprises immédiatement T} KERN_CRIT 2 Les conditions sont critiques KERN_ERR 3 Des erreurs se produisent KERN_WARNING 4 Des avertissements se présentent KERN_NOTICE 5 T{ Condition normale, mais message significatif T} KERN_INFO 6 Message d'information simple KERN_DEBUG 7 Messages de débogage .TE .sp 1 La routine du noyau \fIprintk()\fP n'affiche un message sur la console que si son niveau de journalisation est inférieur à la valeur \fIconsole_loglevel\fP. .SH "VALEUR RENVOYÉE" Quand \fItype\fP est égal à 2, 3 ou 4, un appel réussi à \fBsyslog\fP() renvoie le nombre d'octets lus. Pour le \fItype\fP 9, \fBsyslog\fP() renvoie le nombre d'octets disponibles actuellement en lecture dans le tampon de journalisation du noyau. Pour le \fItype\fP 10, \fBsyslog\fP() renvoie la taille totale du tampon de journalisation du noyau. Pour les autres valeurs de \fItype\fP, \fB0\fP est renvoyé en cas de succès. .PP En cas d'erreur, \fB\-1\fP est renvoyé et \fIerrno\fP est défini pour préciser l'erreur. .SH ERREURS .TP \fBEINVAL\fP Mauvais paramètres (par exemple, mauvais \fItype\fP\ ; ou \fItype\fP égal à 2, 3 ou 4, \fIbuf\fP est NULL ou \fIlen\fP est inférieur à 0\ ; ou pour \fItype\fP égal à 8, le niveau \fIlevel\fP est en dehors de l'intervalle allant de 1 à 8). .TP \fBENOSYS\fP L'appel système \fBsyslog\fP() n'est pas disponible car le noyau a été compilé sans que l'option \fBCONFIG_PRINTK\fP de configuration du noyau n'ait été activée. .TP \fBEPERM\fP Un changement de \fIconsole_loglevel\fP ou un effacement du tampon circulaire de messages du noyau par un processus sans les privilèges suffisants (plus précisément sans la capacité \fBCAP_SYS_ADMIN\fP ou \fBCAP_SYSLOG\fP) a été tenté. .TP \fBERESTARTSYS\fP L'appel système a été interrompu par un signal, et rien n'a été lu. (Cela ne peut être vu que pendant un suivi de processus). .SH STANDARDS Linux. .SH HISTORIQUE .\" 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 (). Depuis longtemps, des gens trouvent regrettable qu'un appel système et une routine de bibliothèque aient le même nom bien qu'ils n'aient pas de rapport entre eux. .SH "VOIR AUSSI" \fBdmesg\fP(1), \fBsyslog\fP(3), \fBcapabilities\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Cédric Boutillier , Frédéric Hantrais et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .