나는 성공하지 못한 채 centos7의 파일에 KERN_DEBUG 메시지를 기록하려고 했습니다. "dmesg"에서는 가져올 수 있지만 /var/log/messages 또는 /var/log/dmesg에서는 가져올 수 없습니다.
테스트에 사용할 수 있는 MWE 커널 모듈은 다음과 같습니다.
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void) {
printk(KERN_DEBUG "Hello world!\n");
return 0;
}
void cleanup_module(void) {
}
그리고 해당 Makefile은 다음과 같습니다.
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
rsyslog 구성을 수정하여 다른 로그 파일을 추가해 보았습니다.
[root@centos7 ]# cat /etc/rsyslog.d/kern.conf
kern.* /var/log/kern.log
그러나 rsyslogd를 다시 시작해도 채워지지 않습니다. SELinux를 적용하도록 설정했으므로 재미삼아 파일을 터치하고 /var/log/messages에서 컨텍스트를 복사했습니다.
[root@centos7 mwe]# ls -lZ /var/log/kern.log
-rw-r--r--. root root system_u:object_r:var_log_t:s0 /var/log/kern.log
물론 나는 SELinux 오류를 본 적이 없습니다. 그것은 단지 실행 중에 무릎을 꿇는 반응이었습니다.
누구든지 성공적으로 구성했습니까?
답변1
Centos 7은 저널링을 syslog로 사용하고 rsyslog는 기본적으로 우회됩니다.
대신 rsyslog를 사용하려면 다음을 참조하세요.https://www.internetstaff.com/replace-journald-fedora-centos-redhat/