Có phải rsyslogchỉ 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à rsyslogtương tác của nó giống như bất kỳ "ứng dụng" nào khác?
Có phải rsyslogchỉ 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à rsyslogtươ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/kmsgvà 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ừ dmesghoặ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/ksmgvà tin nhắn từ các quy trình người dùng khác thông qua một ổ cắm , /dev/log.