เมื่อฉันเสียบ usbhub (7 แท่งใน) udev แสดงข้อความจำนวนมากในคอนโซล ฉันสามารถซ่อนข้อความเหล่านี้หรือส่งไปที่ / dev / null ได้หรือไม่?
เมื่อฉันเสียบ usbhub (7 แท่งใน) udev แสดงข้อความจำนวนมากในคอนโซล ฉันสามารถซ่อนข้อความเหล่านี้หรือส่งไปที่ / dev / null ได้หรือไม่?
คำตอบ:
บน CentOS ฉันไม่ได้รับudev
ข้อความเมื่อฉันเสียบนิ้วหัวแม่มือ USB ง่ายๆ แทนที่จะได้รับ:
[sdb] Assuming drive cache: write through
สองสามครั้ง
แต่นี่ไม่ใช่udev
หรือsyslog
พูดถึงสิ่งนี้กับคุณบนคอนโซล คุณสามารถรู้เรื่องนี้ได้ด้วยตัวคุณเองโดยการฆ่าsyslogd
หรือrsyslogd
(โปรดตรวจสอบให้แน่ใจว่านี่ไม่ใช่เซิร์ฟเวอร์ที่ใช้งานจริงซึ่งฉันหวังว่ามันจะไม่เกี่ยวกับการใส่ฮับ USB และทุกอย่างที่ :) และใส่อุปกรณ์ USB อีกครั้ง
ข้อความยังคงปรากฏขึ้นดังนั้นตามที่Ulrichกล่าวมานี้มาจากเคอร์เนลหรือโมดูล USB ที่แน่นอนซึ่งใช้kernel.printk
ในการแสดงข้อความเหล่านี้ไม่ได้ใช้บริการระบบใด ๆ เลย
ข้อความที่ตัดตอนมาจากเอกสาร linux sysctl/kernel.txt
:
สี่ค่าใน printk แสดงว่า: console_loglevel, default_message_loglevel, Minimum_console_loglevel และ default_console_loglevel ตามลำดับ
ค่าเหล่านี้มีผลต่อพฤติกรรม printk () เมื่อพิมพ์หรือบันทึกข้อความผิดพลาด ดู 'man 2 syslog' สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ loglevels ต่างๆ
- console_loglevel: ข้อความที่มีลำดับความสำคัญสูงกว่านี้จะถูกพิมพ์ไปยังคอนโซล
- default_message_level: ข้อความที่ไม่มีลำดับความสำคัญชัดเจนจะถูกพิมพ์ด้วยลำดับความสำคัญนี้
- minim_console_loglevel: ค่าต่ำสุด (สูงสุด) ที่สามารถตั้งค่า console_loglevel
- default_console_loglevel: ค่าเริ่มต้นสำหรับ console_loglevel
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
ดังนั้นการใช้ค่าที่กล่าวถึงข้างต้นสำหรับการขัดแย้งกับ printk คุณสามารถรับเคอร์เนลเพื่อปิดข้อความเกี่ยวกับข้อมูลหรือคำเตือนง่ายๆบนคอนโซล ตัวอย่างเช่น,
echo "3 3 3 3" > /proc/sys/kernel/printk
ทำให้การแทรกของฉันของ thumbstick USB เงียบไปทั้งหมด คุณต้องการทำให้ผ่านการรีบูทเพิ่มบรรทัดใน/etc/sysctl.conf
:
kernel.printk = 3 3 3 3
ใช่โดยเปลี่ยนเป็นช่อง syslog อื่นหากคุณเข้าใจว่า syslog ทำงานอย่างไร:
จากคู่มือ udev:
udev_log
The logging priority which can be set to err ,info or the corre-
sponding numerical syslog(3) value. The default value is err.
ดังนั้นตอนนี้คุณสามารถแก้ไข/etc/udev/udev.conf
และเปลี่ยนแปลงค่านี้ได้