我有一个名为foo的init脚本,它遵循/etc/init.d/skeleten指令 . 例如,它有#chkconfig:345 63 37的注释行和INIT INFO的注释块 . 该脚本由rpm打包 . 该服务器是SLES 11 SP3的Linux vm . 问题是当vm重新启动时,脚本不会被执行 . 这是我发现的 .
-
foo出现在/etc/init.d和/etc/rc.d中
-
"who -r"命令显示系统运行级别为3
-
foo在/etc/rc.d/rc3.d中没有任何符号链接(因为chckconfig注释列出了foo的运行级别应该是3 4 5)
-
/var/log/boot.msg日志文件不包含任何有关foo的条目
根据我的理解,foo在启动过程中不运行的原因是/etc/rc.d/rc3.d中缺少符号链接 . 一些帖子提到评论#chkconfig:345 63 37应该保证创建符号链接,但我不清楚为什么以及如何 . 有没有人对如何解决这个问题有任何想法?谢谢 .
1 回答
这可能是一个愚蠢的答案,但如果脚本是正确的,你应该做的就是
chkconfig -add服务
chkconfig -level(0123456)服务(开/关)
这应该自动生成符号链接
如果不是只是使用
ln -s / path / to / service / / path / to / run / level
虽然不建议这样做,因为它会导致您手动维护这些