曲径通幽论坛
标题:
系统日志的 logd 和读取工具 logread 在哪里?
[打印本页]
作者:
beyes
时间:
2015-5-16 10:17
标题:
系统日志的 logd 和读取工具 logread 在哪里?
突发奇想,想把日志相关工具去掉,没有干什么,纯粹是好玩。
在 openwrt 中,系统日志并不是放在某个文件中,而是放在内存的一块缓冲区里,这个缓冲区大小是可以定义的。
一开始,搜索看到 busybox 里有相关的选项:
[attach]4041[/attach]
[attach]4042[/attach]
以为 syslogd ,将其去掉,发现编译后的固件还是能读到日志。
后来看了一下 /etc/init.d/log ,发现 /sbin 下有个守护进程 logd 是记录系统日志的,然后用 logread 便可将其读出。
再继续找,原来这两工具 /sbin/logd 和 /sbin/logread 是在 ubox 里的,ubox 是个系统辅助工具集:
[attach]4043[/attach]
如何去掉 /sbin/logd 和 /sbin/logread,以及 /etc/init.d/log 呢?
修改 ubox 的 Makefile 即可,位置是:package/system/ubox/Makefile
将其中的 log 和 logread 去掉,并将 $(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log 屏蔽起来就行了,如下图所示:
[attach]4044[/attach]
完后,再编译固件,刷机之后可以看到:
[attach]4045[/attach]
系统日志里果然是空白的了。实际上,LUCI 调用的也是 logread 这个程序。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2