Có phải rsyslog
chỉ là một lớp trừu tượng trên đầu bộ đệm vòng nhân? Hoặc là bộ đệm vòng nhân thực thể của chính nó và rsyslog
tương tác của nó giống như bất kỳ "ứng dụng" nào khác?
Có phải rsyslog
chỉ là một lớp trừu tượng trên đầu bộ đệm vòng nhân? Hoặc là bộ đệm vòng nhân thực thể của chính nó và rsyslog
tương tác của nó giống như bất kỳ "ứng dụng" nào khác?
Câu trả lời:
Mặc dù nhiều phần tài liệu khác nhau (bao gồm man dmesg
) gọi nó là "bộ đệm vòng nhân", nhưng tốt hơn nên gọi nó là bộ đệm nhật ký hạt nhân, vì "bộ đệm vòng" là một thuật ngữ chung và tôi tin rằng hạt nhân cũng sử dụng vòng bộ đệm cho những thứ hoàn toàn không liên quan. "Bộ đệm printk" cũng thích hợp, sau hàm không gian kernel được sử dụng để ghi vào nó.
Dù sao, nó nằm trong không gian kernel và giao diện đọc được cung cấp qua /proc/kmsg
và giao diện đọc-ghi thông qua /dev/kmsg
. Vì vậy, nếu là root bạn đi:
echo "Hello Kernel!" > /dev/ksmg
Tuy nhiên, bạn sẽ thấy nó nếu bạn cat /dev/ksmg
(có lẽ bạn sẽ không thấy điều này xuất hiện trong bất kỳ nhật ký nào, tuy nhiên - hãy xem nhận xét của Matthew Phipps bên dưới để biết lý do có thể). Đây là đầu ra thô và trông không chính xác như những thứ bạn nhìn thấy từ dmesg
hoặc trong các tệp nhật ký của bạn. Có một chút tài liệu về điều này được cung cấp với nguồn kernel. Đọc từ /proc/kmsg
(không giống như /dev/ksmg
) được khuyến nghị chống lại nếu (r) syslog đang chạy.
Rsyslog là một trong số các triển khai nhật ký hệ thống thường được sử dụng trên linux. Đây là các ứng dụng vùng người dùng có nguồn thông điệp kernel /proc/ksmg
và tin nhắn từ các quy trình người dùng khác thông qua một ổ cắm , /dev/log
.