一个服务先于另一个服务启动

一个服务先于另一个服务启动

我想更改第 3 处的 iptables。默认情况下,在/etc/rc3.d目录中的iptables服务是S08iptables,我想将其更改为S03iptables

我执行了以下命令:

ckconfig --level 3 iptables on

之后,我返回到 /etc/rc3.d 检查更改是否已应用到文件,但没有。

我执行的命令正确吗?

我想知道如何使用 systemd 做同样的事情,因为我有一台 Cent0s7 机器,我查看了 /etc/systed/system 但服务没有显示我的顺序

答案1

Systemd 没有像 sysv init 那样的硬编码数字线性排序。它在单元文件中使用各种关键字来描述在另一个服务之前、之后或作为另一个服务的一部分启动的内容。 (看这个回答有关更多详细信息,如评论中所述)

因此,如果您希望 iptables 在另一个服务之前运行,您可以更新 iptables 服务单元文件(systemctl edit iptables.service)并添加 Before=otherservice.service,也可以编辑 otherservice.service 文件以添加 After=iptables 。服务。

systemd 中的单元也不是按顺序执行的,因此除非您指定某种顺序,否则它们将同时启动。

系统启动后,您可以使用“systemd-analysis key-chain”来更好地了解启动的顺序。

相关内容