Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1249912
  • 博文数量: 298
  • 博客积分: 10050
  • 博客等级: 上将
  • 技术积分: 3277
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-14 13:36
文章分类
文章存档

2015年(7)

2012年(1)

2010年(5)

2009年(55)

2008年(73)

2007年(160)

我的朋友

分类: LINUX

2007-12-06 21:26:37

交叉编译日志记录包的安装

1.        修改makefile

    CC=gcc修改为

CC=/usr/local/arm/2.95.3/linux/bin/arm-linux-gcc

 

2.        修改 syslogd.c中的几个定义

(因为我们板子上的根文件系统为只读fs,所以/etc下面不可写。而程序中均默认为/etc目录,我们将其/etc替代为/mnt/yaffs/syslog,如果文件系统可写,就不用修改了)

 

其中主要用到是配置文件的目录_PATH_LOGCONF,将其指定为了/mnt/yaffs/syslog/syslog.conf

 

#define UTMP_FILE "/mnt/yaffs/syslog/utmp"

 

#define _PATH_LOGCONF        "/mnt/yaffs/syslog/syslog.conf"

 

#define _PATH_LOGPID "/mnt/yaffs/syslog/syslogd.pid"

 

3.        修改syslogd.cinit函数

将下列的几行程序注释掉,并且对LogPort赋个任意值。

 

//       sp = getservbyname("syslog", "udp");

//     if (sp == NULL) {

//                errno = 0;

//                logerror("network logging disabled (syslog/udp service unknown).");

//                logerror("see syslogd(8) for details of whether and how to enable it.");

//                return;

//       }

         LogPort =669 ;

 

  这个地方开始我们并没有注意到,在先前实验中,我们运行syslog时,报错:

network logging disabled (syslog/udp service unknown).

see syslogd(8) for details of whether and how to enable it.

然后发现到,找到了程序,注释掉,即禁止了其日志文件可以通过网络发送到其他

终端的功能。

第一,因为这个服务我们的内核不支持,会导致记录日志的子程序syslog不能正常

   工作(如程序,直接return了),则只能将内核记录信息输出到终端,而不能实现

记录到文件。

    第二,我们认为一般的是PC机做服务器时记录了日志文件并通过网络备份到其他主机上

    需要这个服务,但对于PDA这样并不是十分安全,也不需要。

 

4. make

(这里没有运行make install,这样会覆盖掉PC机下原有的文件)

Make后在安装包所在目录下,新得到syslogklogd两个可执行文件

 

5. 设置配置文件syslog.conf (存放于/mnt/yaffs/syslog/syslog.conf)

# Log all kernel messages to the console.

# Logging much else clutters up the screen.

kern.*                                                                /mnt/yaffs/syslog/kern

 

# Log anything (except mail) of level info or higher.

# Don't log private authentication messages!

*.info;mail.none;authpriv.none;cron.none          /mnt/yaffs/syslog/messages

 

# The authpriv file has restricted access.

authpriv.*                                               /mnt/yaffs/syslog/secure

 

# Log all the mail messages in one place.

mail.*                                                                /mnt/yaffs/syslog/maillog

 

 

# Log cron stuff

cron.*                                                               /mnt/yaffs/syslog/cron

 

# Everybody gets emergency messages

*.emerg                                                             *

 

# Save news errors of level crit and higher in a special file.

uucp,news.crit                                                 /mnt/yaffs/syslog/spooler

 

# Save boot messages also to boot.log

local7.*                                                    /mnt/yaffs/syslog/boot.log

 

将产生的不同日志信息,按照类别存放在不同的文件下。以便观察检查。

 

6.试验

6.1 试验telnet, PCtelnet实验板

    日志记录情况:

Jan 11 02:11:31 (none) auth.info login[165]: root login  on `pts/0' from `192.168.0.184'

 

6.2 试验ftpPCftp连接实验板

    日志记录情况:

Jan 11 02:12:46 (none) local2.info in.ftpd[171]: connection from 192.168.0.184

Jan 11 02:12:54 (none) local2.info in.ftpd[171]: root logged in 

Jan 11 02:13:47 (none) local2.err in.ftpd[171]: Can't open file: Permission denied

PC机下/root目录下的文件不能被上传,出错信息)

Jan 11 02:14:41 (none) local2.info in.ftpd[171]: //var/log/rpm.txt uploaded

(更改了目录,上传了PC机下/var/log下的rpm.txt文件到实验板上)
阅读(1807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~