Debian中Firestarter日志问题的解决

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

1、问题描述:

开启Firestarter后Console不断刷出如下内容:

Mar 27 21:25:25 debian kernel: ABORTED IN=wlan0 OUT=

MAC=00:0f:66:a1:89:28:00:12:17:27:5b:71:08:00 SRC=167.104.0.82

DST=192.168.1.103 LEN=40 TOS=0x00 PREC=0x20 TTL=48 ID=34256 PROTO=TCP SPT=443

2、问题原因:

printk的loglevel

3、相关资料:

printk有8个loglevel,定义在中,其中数值范围从0到7,数值越小,优先级越高。

#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 */ 调试信息

未指定优先级的默认级别定义在/kernel/printk.c中:

/* printk's without a loglevel use this.. */

#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */

/* We show everything that is MORE important than this.. */

#define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */

// 下面就是本文问题的始作俑者

#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */

int console_printk[4] = {

DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel */ 终端级别

DEFAULT_MESSAGE_LOGLEVEL, /* default_message_loglevel */默认级别

MINIMUM_CONSOLE_LOGLEVEL, /* minimum_console_loglevel */让用户使用的最小级别

DEFAULT_CONSOLE_LOGLEVEL, /* default_console_loglevel */默认终端级别

};

当优先级的值小于console_loglevel这个整数变量的值,信息就在Console显示出来。

而console_loglevel的初始值DEFAULT_CONSOLE_LOGLEVEL也定义在/kernel/printk.c中:

$cat /proc/sys/kernel/printk

7 4 1 7

4、问题解决:

这个默认值可以在sysctl.conf中设定,系统启动时就把sysctl.conf中的值写到/proc/sys/kernel/printk。

去掉sysctl.conf中“kernel.printk = 4 4 1 7”的注释。

再使用下面的命令修改其值 ,避免重启系统

#echo 4 > /proc/sys/kernel/printk

#cat /proc/sys/kernel/printk

4 4 1 7

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航