Est-ce rsyslog
juste une couche d'abstraction au-dessus du tampon d'anneau du noyau? Ou bien le noyau du tampon en anneau est-il sa propre entité et l' rsyslog
interaction est-elle comme celle de toute autre "application"?
Est-ce rsyslog
juste une couche d'abstraction au-dessus du tampon d'anneau du noyau? Ou bien le noyau du tampon en anneau est-il sa propre entité et l' rsyslog
interaction est-elle comme celle de toute autre "application"?
Réponses:
Bien que divers documents (y compris man dmesg
) le désignent comme "le tampon d'anneau du noyau", il pourrait être préférable de le désigner comme le tampon de journal du noyau, car "le tampon d'anneau" est un terme générique et je crois que le noyau utilise également l'anneau tampons pour diverses choses complètement indépendantes. Le "tampon printk" est également approprié, après la fonction d'espace du noyau utilisée pour y écrire.
Quoi qu'il en soit, il réside dans l'espace du noyau et une interface de lecture est fournie via /proc/kmsg
et une interface de lecture-écriture via /dev/kmsg
. Donc, si en tant que root, vous allez:
echo "Hello Kernel!" > /dev/ksmg
Vous le verrez si vous le faites alors cat /dev/ksmg
(vous ne le verrez probablement pas dans les journaux, cependant - voir le commentaire de Matthew Phipps ci-dessous pour une raison possible). Il s'agit d'une sortie brute et ne ressemble pas exactement à ce que vous voyez dans dmesg
ou dans vos fichiers journaux. Il y a un peu de documentation à ce sujet fournie avec la source du noyau. La lecture à partir de /proc/kmsg
(différent de /dev/ksmg
) est déconseillée si (r) syslog est en cours d'exécution.
Rsyslog est l'une des nombreuses implémentations syslog couramment utilisées sur Linux. Ce sont des applications userland que les messages du noyau source de /proc/ksmg
et messages provenant d' autres processus userland via une prise, /dev/log
.