커널 링 버퍼는 rsyslog와 관련하여 어디에 있습니까?

커널 링 버퍼는 rsyslog와 관련하여 어디에 있습니까?

rsyslog커널 링 버퍼 위에 추상화 계층만 있는 걸까요 ? 아니면 커널 링 버퍼가 자체 엔터티이고 rsyslog상호 작용이 다른 "응용 프로그램"의 상호 작용과 비슷합니까?

답변1

다양한 문서(포함 man dmesg)에서는 이를 "커널 링 버퍼"라고 부르지만 "링 버퍼"는 일반적인 용어이고 커널도 링을 사용한다고 생각하므로 커널 로그 버퍼라고 부르는 것이 더 나을 수 있습니다. 완전히 관련되지 않은 다양한 것들을 위한 버퍼. "printk 버퍼"는 쓰기에 사용되는 커널 공간 함수 뒤에도 적합합니다.

어쨌든 이는 커널 공간에 상주하며 읽기 인터페이스는 를 통해 제공되고 /proc/kmsg읽기-쓰기 인터페이스는 를 통해 제공됩니다 /dev/kmsg. 따라서 루트로 이동하면 다음과 같습니다.

echo "Hello Kernel!" > /dev/ksmg

그러면 이를 알 수 있습니다 cat /dev/ksmg(그러나 어떤 로그에서도 이 내용이 표시되지 않을 수도 있습니다. 가능한 이유는 아래 Matthew Phipps의 설명을 참조하세요). 이는 원시 출력이므로 dmesg로그 파일에서 볼 수 있는 내용과 정확하게 일치하지 않습니다 . 조금있다약간의 문서이에 대해 커널 소스와 함께 제공됩니다. (r)syslog가 실행 중인 경우 /proc/kmsg(와 동일하지 않음 ) 에서 읽는 것이 /dev/ksmg좋습니다.

Rsyslog는 여러 로그 중 하나입니다.시스템 로그리눅스에서 일반적으로 사용되는 구현. 이는 /proc/ksmg소켓, /dev/log.

관련 정보