曲径通幽论坛

标题: 系统日志的 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