나는 종종 “커널 링 버퍼”, “사용자 수준”, “로그 수준”이라는 단어와 다른 단어들이 함께 나타나는 것을 보았습니다. 예 :
/ var / log / dmesg 커널 링 버퍼 정보가 들어 있습니다.
/var/log/kern.log 모든 로그 수준의 커널 메시지 만 포함
/var/log/user.log 모든 사용자 레벨 로그에 대한 정보가 들어 있습니다.
그들은 모두 로그에 관한 것입니까? 그들은 어떻게 관련되고 다른가?
“레벨”이란 여러 레벨의 계층 구조를 상상할 수 있습니까?
“사용자 수준”은 “사용자 공간”과 관련이 있습니까?
답변
예,이 모든 것은 로깅과 관련이 있습니다. 아니요, 런레벨 또는 “보호 링”과 관련이 없습니다.
커널은 로그를 링 버퍼에 보관합니다. 그 주된 이유는 syslog 데몬이 시작하여 수집 할 수있을 때까지 시스템 시작 로그가 저장되기 때문입니다. 그렇지 않으면 syslog 데몬을 시작하기 전에 로그 기록이 없습니다. 해당 링 버퍼 dmesg
의 내용은 명령을 사용하여 언제든지 볼 수 있으며 해당 내용은 /var/log/dmesg
syslog 데몬이 시작 되는 것처럼 저장 됩니다.
커널에서 제공되지 않은 모든 로그는 syslog 데몬으로 생성 될 때 전송되므로 버퍼에 보관되지 않습니다. 커널 로그는 또한 생성 될 때 syslog 데몬에 의해 선택되지만 링 버퍼에 (필수적으로는 틀림없이) 계속 저장됩니다.
로그 수준은 syslog (3) 맨 페이지 에 설명되어 있으며 다음과 같습니다.
- LOG_EMERG : 시스템을 사용할 수 없습니다
- LOG_ALERT : 즉시 조치를 취해야합니다
- LOG_CRIT : 중요한 조건
- LOG_ERR : 오류 조건
- LOG_WARNING : 경고 조건
- LOG_NOTICE : 정상이지만 중요한 조건
- LOG_INFO : 정보 메시지
- LOG_DEBUG : 디버그 수준 메시지
각 수준은 이전 수준보다 덜 중요하도록 설계되었습니다. 한 수준에서 로그를 기록하는 로그 파일도 더 중요한 모든 수준에서 로그를 기록합니다.
/var/log/kern.log
와 /var/log/mail.log
(예를 들어) 의 차이점 은 레벨이 아니라 시설 또는 범주와 관련이 있습니다. 범주는 맨 페이지에도 나와 있습니다.
답변
적어도 귀하의 질문에 대한 첫 번째 부분에 대답하려면 dmesg
:
/var/log/dmesg
부팅시 커널이 생성 한 메모리 버퍼 인 ‘커널 링 버퍼 (kernel ring buffer)’의 내용을 저장하는데, 부트 로더 단계를지나 자마자 생성되는 로그 데이터를 저장합니다.
링 버퍼는 새로운 메시지가 들어올 때 가장 오래된 메시지를 제거하는 항상 일정한 크기의 특수한 종류의 버퍼입니다. 커널 링 버퍼에 저장된 텍스트는 Unix를 처음 부팅 할 때 화면에서 깜박 거리는 것을 나타냅니다. 콘솔 모드의 기계와 유사합니다 (스플래쉬 화면 없음, Plymouth). 커널 로그는 메모리 버퍼에 저장되므로 시스템이 syslog
데몬이 인계 할 수 있는 지점까지 부트 스트랩 될 때까지 부트 로그가 있어야합니다 .
dmesg
Linux util-linux
에서 kernel.org에서 공개 한 시스템 유지 보수 도구 의 필수 패키지의 일부입니다 . dmesg(1)
매뉴얼 페이지 에 따르면
dmesg는 커널 링 버퍼를 검사하거나 제어하는 데 사용됩니다.
참조 : http://www.computerhope.com/unix/dmesg.htm
‘systemd’init에서이 명령을 사용하여 커널 링 버퍼를 인쇄 할 수 있습니다 :
# journalctl --dmesg or journalctl -k
, thxs for correction @don_crissti
dmesg | grep -i ethernet
예를 들어 명령 을 실행 하면 문자열 ‘ethernet’에 대한 커널 링 버퍼가 구문 분석됩니다.
이것이 문의의 첫 부분에 도움이되기를 바랍니다.