¿Es rsyslog
solo una capa de abstracción en la parte superior del búfer de anillo del núcleo? ¿O es el búfer de anillo del núcleo su propia entidad y rsyslog
la interacción es como la de cualquier otra "aplicación"?
¿Es rsyslog
solo una capa de abstracción en la parte superior del búfer de anillo del núcleo? ¿O es el búfer de anillo del núcleo su propia entidad y rsyslog
la interacción es como la de cualquier otra "aplicación"?
Respuestas:
Aunque varios documentos (incluidos man dmesg
) se refieren a él como "el búfer de anillo del núcleo", podría ser mejor referirse a él como el búfer de registro del núcleo, ya que "búfer de anillo" es un término genérico y creo que el núcleo también usa anillo amortiguadores para varias cosas completamente no relacionadas. El "printk buffer" también es apropiado, después de la función de espacio del kernel utilizado para escribir en él.
De todos modos, reside en el espacio del kernel y se proporciona una interfaz de lectura y una interfaz de /proc/kmsg
lectura y escritura /dev/kmsg
. Entonces, si como root vas:
echo "Hello Kernel!" > /dev/ksmg
Lo verá si entonces cat /dev/ksmg
(probablemente no verá que esto aparezca en ningún registro; sin embargo, vea el comentario de Matthew Phipps a continuación por una posible razón). Esta es una salida sin formato y no se ve exactamente como las cosas que ves desde dmesg
o en tus archivos de registro. Hay un poco de documentación sobre esto proporcionada con la fuente del núcleo. Se recomienda leer /proc/kmsg
(no es lo mismo que /dev/ksmg
) si (r) syslog se está ejecutando.
Rsyslog es una de una serie de implementaciones de syslog comúnmente utilizadas en Linux. Estas son aplicaciones de área de usuario que generan mensajes del núcleo /proc/ksmg
y mensajes de otros procesos de tierra de usuario a través de un socket /dev/log
.