Embora várias partes da documentação (incluindo man dmesg ) se refiram a ele como "o buffer de anel do kernel", pode ser melhor se referir a ele como o buffer de log do kernel, já que "buffer de anel" é um termo genérico Acredito que o kernel também usa buffers de anel para várias coisas completamente não relacionadas. O "printk buffer" também é apropriado, depois que a função de espaço do kernel é usada para gravar nele.
De qualquer forma, ele reside no espaço do kernel e uma interface de leitura é fornecida via /proc/kmsg e uma interface de leitura e gravação via /dev/kmsg . Então, se como root você vai:
echo "Hello Kernel!" > /dev/ksmg
Você verá se você, em seguida, cat /dev/ksmg (você provavelmente não verá isso aparecendo em qualquer registro, no entanto - veja o comentário de Matthew Phipps abaixo por um possível motivo). Essa é uma saída bruta e não se parece exatamente com as coisas que você vê em dmesg ou em seus arquivos de log. Há um pequeno bit de documentação sobre isso fornecido com o código-fonte do kernel. A leitura de /proc/kmsg (não o mesmo que /dev/ksmg ) é recomendada contra if (r) o syslog está em execução.
O Rsyslog é uma das várias implementações do syslog comumente usadas no linux. Estes são os aplicativos da área de usuário que originam as mensagens do kernel de /proc/ksmg e as mensagens de outros processos do usuário por meio de um soquete, /dev/log .