我有一块 Linux 板,我在 /etc/init.d/ 目录下添加了一个初始化脚本。我可以手动使用脚本启动、停止、重新启动服务。对于 Debian,我们确实使用“update-rc.d”在启动时执行此脚本。但是我没有这个命令,那我怎么能在启动时执行脚本呢?有没有其他方法可以做到这一点?
问问题
4358 次
2 回答
1
您可以编辑 /etc/inittab 文件。
此外,update-rc.d 还有另外 2 个替代方案:
Rcconf - Rcconf 允许您控制在系统启动或重新启动时启动哪些服务。它显示可以在启动时启动的所有服务的菜单。配置为这样做的那些被标记,您可以打开和关闭单个服务。此工具配置与系统运行级别相关的系统服务。它使用 /etc/init.d/ 中的脚本打开/关闭服务。
File-rc - 使用单个配置文件的替代引导机制 该软件包提供了一种替代机制来引导系统、关闭系统和更改运行级别。/etc/rc?.d/* 链接将被转换为一个单独的配置文件 /etc/runlevel.conf,这比符号链接更易于管理,也更灵活。该软件包将在安装时自动将您现有的符号链接转换为文件方法,并在删除时将文件转换回符号链接。
于 2013-07-09T09:43:55.987 回答
0
inittab
还有一些其他用途。主要用途是创建“无法杀死”的服务,每次死亡时都会重新启动。
如果您只需要常规服务,您可以手动创建符号链接。来自 apache 的示例,例如具有默认运行级别的非常典型的服务。
# ls -la /etc/rc*.d/*apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc0.d/K02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc1.d/K02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc2.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc3.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc4.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc5.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Oct 2 13:45 /etc/rc6.d/K02apache2 -> ../init.d/apache2
所以它应该在运行级别 0 1 6 处被杀死并在运行级别 2 3 4 5 上启动。
于 2016-10-25T13:50:02.173 回答