我有一个名为 foo 的初始化脚本,它遵循/etc/init.d/skeleten 指令。例如,它有#chkconfig:345 63 37 的注释行和INIT INFO 的注释 block 。脚本是rpm打包的。服务器是 SLES 11 SP3 的 Linux 虚拟机。问题是当虚拟机重新启动时,脚本不会被执行。这是我的发现。
- foo 出现在/etc/init.d 和/etc/rc.d 中
- “who -r”命令显示系统运行级别为3
- foo 在/etc/rc.d/rc3.d 中没有任何符号链接(symbolic link)(因为 chckconfig 注释列出了 foo 的运行级别应该是 3 4 5)
- /var/log/boot.msg 日志文件不包含任何关于 foo 的条目
据我了解,foo 在启动过程中不运行的原因是/etc/rc.d/rc3.d 中缺少符号链接(symbolic link)。一些帖子提到评论 # chkconfig: 345 63 37 应该保证符号链接(symbolic link)的创建,但我不清楚为什么以及如何。有没有人对如何解决这个问题有任何想法?谢谢。
最佳答案
这可能是一个愚蠢的答案,但如果脚本制作正确,您所要做的就是
chkconfig - 添加服务
chkconfig -level (0123456) 服务(开/关)
这应该会自动生成符号链接(symbolic link)
如果不只是使用
ln -s/path/to/service//path/to/run/level
虽然不推荐这样做,因为它会导致您手动维护这些
关于linux - Suse 上的初始化脚本缺少符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42590702/