我正在使用TS-7800 单板计算机来自 Technologic Systems,随 Debian 3.1 (Sarge) 一起提供。我已将其更新为 Squeeze,但由于各种驱动程序问题,我不得不回滚到 Sarge。我试图在应用程序服务启动之前配置它们所需的各种驱动程序和配置。理想情况下,我会调用一个包含驱动程序/配置的 init.d 脚本,然后调用其他 init.d 脚本(每个进程一个)。
我不知道如何保证启动顺序。我知道在更高版本的 Debian 中我可以使用磅头实现这一目标;但是有什么东西可以与 Sarge 中的 LBS 标头相媲美吗?
答案1
我建议不要手动创建符号链接,而是使用命令update-rc.d
在适当的运行级别中为您创建符号链接。
例如:
- 创造
/etc/init.d/myscript
- 跑步
update-rc.d /etc/init.d/myscript defaults 20
该参数defaults
指出使用默认运行级别来启动和停止服务,并且该参数20
规定了序列号。
您可以在以下位置找到更多信息:
- 问题 11.6Debian GNU/Linux 常见问题解答
- Debian 管理文章“让脚本在 Debian 启动时运行”
如果需要的话,不要忘记守护你的脚本。
答案2
您可以自己执行此操作。启动时,/etc/rcS.d
首先执行脚本。这里没有实际的脚本,只有指向/etc/init.d/
脚本的符号链接
它们以 xx 为前缀,Sxx
其中 xx 是一个数字,并定义了它们执行的顺序。
假设你的脚本/etc/init.d/mydriverscript
是
ln -s /etc/init.d/mydriverscript /etc/rcS.d/S01mydriverscript
然后它将在启动时先于任何其他脚本执行。如果您希望仅在特定运行级别运行它,那么您可以使用文件夹/etc/rc3.d
,它只会在您处于运行级别 3 时运行它。