linux - Suse 上的初始化脚本缺少符号链接(symbolic link)

标签 linux rpm init boot suse

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

  1. foo 出现在/etc/init.d 和/etc/rc.d 中
  2. “who -r”命令显示系统运行级别为3
  3. foo 在/etc/rc.d/rc3.d 中没有任何符号链接(symbolic link)(因为 chckconfig 注释列出了 foo 的运行级别应该是 3 4 5)
  4. /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/

相关文章:

linux - 具有文件过滤功能的 Cron tar

gradle - 星云ospackage不遵守dirMode

linux - RPM 无法遵循安装时的依赖顺序

linux-kernel - Yocto 将 initramfs/initrd 镜像挂载到 Raspberry Pi

linux - 如何将 Linux Shell 中的 delete 和 find 命令重写为 Window 命令提示符?

linux Centos 多 VLAN 标记,与 cisco 交换机中继端口相同的 eth 卡

使用 yum 进行安装/删除/升级的 rpm scriptlet 排序

swift - 在子类中使用 init

linux - 运行级别 init.d 和 rc.d

ruby-on-rails - 如何构建任务 'gems:install'