È rsyslog
solo uno strato di astrazione in cima al buffer dell'anello del kernel? O il kernel ring buffer è la sua entità e l' rsyslog
interazione è simile a quella di qualsiasi altra "applicazione"?
È rsyslog
solo uno strato di astrazione in cima al buffer dell'anello del kernel? O il kernel ring buffer è la sua entità e l' rsyslog
interazione è simile a quella di qualsiasi altra "applicazione"?
Risposte:
Sebbene vari documenti (incluso man dmesg
) si riferiscano ad esso come "buffer del kernel ring", potrebbe essere meglio fare riferimento ad esso come buffer del log del kernel, poiché "buffer dell'anello" è un termine generico e credo che il kernel usi anche l'anello buffer per varie cose completamente non correlate. Anche il "buffer printk" è appropriato, dopo che la funzione dello spazio del kernel è stata utilizzata per scrivere su di esso.
Ad ogni modo, risiede nello spazio del kernel e un'interfaccia di lettura viene fornita tramite /proc/kmsg
e un'interfaccia di lettura-scrittura tramite /dev/kmsg
. Quindi se come root vai:
echo "Hello Kernel!" > /dev/ksmg
Lo vedrai se poi cat /dev/ksmg
(probabilmente non lo vedrai apparire in alcun registro, comunque - vedi il commento di Matthew Phipps sotto per un possibile motivo). Questo è un output non elaborato e non assomiglia esattamente alle cose che vedi dmesg
o dai tuoi file di registro. C'è un po 'di documentazione su questo fornita con il sorgente del kernel. Si consiglia di leggere da /proc/kmsg
(non uguale a /dev/ksmg
) se (r) syslog è in esecuzione.
Rsyslog è una delle numerose implementazioni di syslog comunemente usate su Linux. Queste sono applicazioni userland che generano messaggi kernel /proc/ksmg
e messaggi da altri processi userland tramite un socket /dev/log
.