Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103679105
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-04 12:33:12

作者: hospcuq  出自:
前两天主意到自己那台RHEL5下的/var/log/boot.log总是为空的,检查了一下/etc/syslog.conf也没有发现什么错误.发现原来这个记录到boot.log的功能在RHEL5下被裁去了.

继续搜索了一下发现这个问题在Fedora里已经存在挺久了。原因是Redhat决定淘汰对initlog的使用,所以在/etc/init.d/functions中将所有调用initlog的命令给注释起来了.

e.g.
CODE:
# Log that something succeeded
success() {
#if [ -z "${IN_INITLOG:-}" ]; then
# initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
#fi
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_success
return 0
}

我觉得boot.log对于考试中做trouble shooting或是正常运行一个服务器都是比较有用的一个日志,所以没有了是比较不方便的。查了一下,还好/sbin/initlog还在,只是调用它的时候会给出一个Warning告诉你它已经被deprecated了。那么一个简单的恢复就是编辑/etc/init.d/functions文件把这些注释都去掉。重启之后就可以看到boot.log里面记录了在你选择的run level下的daemon的开启和关闭记录了。

但问题是如果只是要判断这些daemon是不是在开机的时候运行了,其实一个简单的ps命令,或者查看一下/var/lock/subsys下对应的lock 文件就可以了。但是在Redhat决定不用initlog之后把其它daemon自带的init script里所有用到initlog的命令都去除了。比如我对比了一下RHEL4和RHEL5下/etc/init.d/kudzu文件
CODE:
#RHEL4
start)
echo -n $"Checking for new hardware"
rm -f /var/run/Xconfig
rm -f /var/run/Xconfig-failed

# Have a 30 second timeout.
/usr/sbin/kudzu $KUDZU_ARGS -t 30
RETVAL=$?
if [ "$RETVAL" -eq 0 ]; then
action "" /bin/true
else
action "" /bin/false
if [ "$RETVAL" -eq 5 ]; then
echo -n $"Hardware configuration timed out."
echo -n $"Run '/usr/sbin/kudzu' from the command line to re-detect."
initlog -n kudzu -s $"Hardware configuration timed out."
initlog -n kudzu -s $"Run '/usr/sbin/kudzu' from the command line to re-detect."
fi
fi


CODE:
#RHEL5
start)
echo -n $"Checking for hardware changes"
rm -f /var/run/Xconfig
rm -f /var/run/Xconfig-failed

# Have a 30 second timeout.
/sbin/kudzu $KUDZU_ARGS
RETVAL=$?
if [ "$RETVAL" -eq 0 ]; then
action "" /bin/true
else
action "" /bin/false
fi

这样即使去掉了/etc/init.d/functions文件中的注释,那些个额外的启动关闭信息就都不会记录到boot.log中了,里面就只有succeeded, failed了

当然了对于相应的服务查看它自身的日志文件还是最有效的方法。只是觉得boot.log已经提供了一个比较不错的日志,Redhat既然认为initlog已经过时,但是在没有更新之间不应该直接把它停了。而且从Fedora的情况上看来这个问题已经存在挺久了,希望可以早点出update解决吧
阅读(375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~