【问题标题】:Symlink is missing for init script on SuseSuse 上的初始化脚本缺少符号链接
【发布时间】:2017-07-24 06:16:28
【问题描述】:

我有一个名为 foo 的初始化脚本,它遵循 /etc/init.d/skeleten 指令。例如,它有 # chkconfig: 345 63 37 的注释行和 INIT INFO 的注释块。该脚本由 rpm 打包。服务器是 SLES 11 SP3 的 Linux 虚拟机。问题是当 vm 重新启动时,脚本没有被执行。这是我发现的。

  1. foo 出现在 /etc/init.d 和 /etc/rc.d 中
  2. “who -r”命令显示系统运行级别为3
  3. foo 在 /etc/rc.d/rc3.d 中没有任何符号链接(因为 chckconfig 注释列出了 foo 的运行级别应该是 3 4 5)
  4. /var/log/boot.msg 日志文件不包含任何关于 foo 的条目

据我了解,启动过程中 foo 没有运行的原因是 /etc/rc.d/rc3.d 中缺少符号链接。一些帖子提到评论 # chkconfig: 345 63 37 应该保证符号链接的创建,但我不清楚为什么以及如何。有没有人对如何解决这个问题有任何想法?谢谢。

【问题讨论】:

标签: linux rpm init boot suse


【解决方案1】:

这可能是一个愚蠢的答案,但如果脚本制作正确,你应该做的就是

chkconfig -添加服务

chkconfig -level (0123456) 服务(开/关)

这应该会自动生成符号链接

如果不只是使用

ln -s /path/to/service/ /path/to/run/level

虽然不建议这样做,因为它会导致您手动维护这些

【讨论】:

  • 我通常会跳过level 选项; OP 注意到它有配置行来自动做出正确的决定。
  • 感谢您的回答。但是,问题是为什么没有自动创建符号链接,因为脚本已经有 # chkconfig: 345 63 37。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 2010-12-17
  • 2015-02-10
  • 2016-06-04
相关资源
最近更新 更多