어떤 이유에서인지 USB 장치를 연결할 때마다 많은 메시지가 터미널에 덤프됩니다. (기기ID, 버퍼링 모드 등을 알려주세요.)
이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?
고쳐 쓰다:
몇몇 사람들이 나에게 몇 가지 질문을 했습니다. 따라서 관련성이 있을 수 있는 지금까지 제가 수집한 정보를 요약해 보겠습니다.
현재 보고 있는 가상 터미널이 무엇이든 흩어져 있는 텍스트가 나타납니다. 각 줄에는 시스템 가동 시간처럼 보이는 숫자가 앞에 붙습니다.
이
quiet
매개변수는 이미 커널 명령줄에 있습니다.현재
printk
로 설정되어 있습니다6 4 1 7
.내가 아는 한,
syslog
패키지가 설치되지도 않았습니다. (또는rsyslog
.) 물론/etc
.init 이어야 합니다
systemd
./etc/sysctl.d
비었다./etc/sysctl.conf
댓글만 포함됩니다.
답변1
시작 방법:
quiet loglevel=3
정보를 위해:
quiet [KNL] Disable most log messages
loglevel= All Kernel Messages with a loglevel smaller than the
console loglevel will be printed to the console. It can
also be changed with klogd or other programs. The
loglevels are defined as follows:
0 (KERN_EMERG) system is unusable
1 (KERN_ALERT) action must be taken immediately
2 (KERN_CRIT) critical conditions
3 (KERN_ERR) error conditions
4 (KERN_WARNING) warning conditions
5 (KERN_NOTICE) normal but significant condition
6 (KERN_INFO) informational
7 (KERN_DEBUG) debug-level messages
확인을 시작한 후(보고된 첫 번째 숫자로 3을 보고 싶습니다):
$ sysctl kernel.printk
kernel.printk = 3 4 1 4
kernel.printk
자세한 내용은 다음을 참조하세요.kernel.printk 값에 대한 설명.
printk
나중에 부팅 프로세스 중에 덮어쓸 수 있으며 sysctl
일반적으로 한 번 처리되거나 (배포 및 부팅 프로세스에 따라) 처리 /etc/sysctl.conf
됩니다 ./etc/sysctl.d/*
그런 다음 로깅 데몬에 따라 추가 조정이 필요할 수도 있습니다. 왜냐하면 systemd
당신이 그것을 확인할 수도 있기 때문입니다 /etc/systemd/journald.conf
.
답변2
메시지 앞에 숫자가 오면 Linux 커널에 의해 생성됩니다. (이 숫자는 시스템이 시작된 이후의 시간(초)을 나타냅니다.) 이러한 메시지를 중지하려면 이 quiet
매개변수를 커널 명령줄에 추가합니다. /boot 파티션의 파일을 편집하거나 부트로더에서 제공하는 구성 도구(예: GRUB)를 사용하여 이를 수행할 수 있습니다. 또한 시스템이 시작될 때 메시지가 표시되지 않습니다.
답변3
만약에커널에 대한 Miroslav Koskar의 제안은 loglevel
도움이 되지 않습니다(IMO에서는 3 대신 2 또는 1을 사용할 수도 있음). /etc/syslog.conf
(또는 rsyslog.conf
)에 /dev/console
.아마도커널이 이 작업을 직접 수행하지 않으면 이런 일이 발생할 수 있습니다.
라인이 다음과 같은 경우:
*.warn /dev/console
또는 *.warn
으로 변경 하거나 주석 처리하세요. 자세한 내용은 시스템 로그 설명서를 참조하세요.*.crit
*.emerg
loglevel
작동하지 않고 분명히 syslogd가 없기 때문에 (나쁜 생각, btw) printk 설정이 6 4 1 7인 것이 문제일 수 있습니다. 첫 번째는 콘솔 로그 수준입니다. 이를 변경해야 합니다. 다음 두 가지 방법 중 하나로 루트로 이 작업을 수행할 수 있습니다.
sysctl kernel.printk="2 4 1 7"
- or -
echo "2 4 1 7" > /proc/sys/kernel/printk
sysctl kernel.printk
그런 다음 이를 사용하거나 검사 할 수 있습니다 cat /proc/sys/kernel/printk
. USB 메시지는 중요한 메시지일 가능성이 낮으며(로그 레벨 2), 우선순위 없이 어떤 모듈에서든 제출되면 4개의 printk 값(이 경우 4) 중 두 번째인 기본값을 사용합니다.
이것이 효과가 있다면 파일을 추가하고 /etc/sysctl.d/
다음 줄을 추가해야 합니다:
kernel.printk = 2 4 1 7
거기에는 인용이 필요하지 않다고 생각합니다. 디렉터리가 존재하지 않으면 디렉터리에 줄을 추가 /etc/sysctl.conf
하고 필요한 경우 만듭니다. 자세한 내용은 을 참조하십시오 man sysctl.conf
.
답변4
결국 시작 스크립트 중 하나에 다음 명령을 추가하여 이 문제를 해결할 수 있었습니다.
klogconsole -l 3
시스템이 종료되는 것 같습니다. (적어도 명령을 실행한 후에는 가능합니다.)