我的问题与这问题完全相同,只是我想在FreeBSD中更改服务。
我做了一些研究,我发现了rcorder命令,它提供了以下参数的全部服务顺序。
rcorder /etc/rc.d/* /usr/local/etc/rc.d/*此外,我可以添加任何rc.d脚本的REQUIRE选项,以便在它之前启动我的服务。我不喜欢这种方式,因为我不想改变其他程序的rc.d脚本。有什么更合适的方法吗?
谢谢..。
发布于 2013-08-01 17:06:00
rc启动顺序由rcorder决定,正如您已经确定的那样。
这个确定启动顺序的过程是自动的,的手册页rcorder相对来说是不言自明的,但是您可能需要花一些时间回顾一下实用rc.d脚本和rc手册页,然后再做任何更改。
在您的特定情况下,您可以告诉rcorder,您的脚本更喜欢启动BEFORE:其他脚本(使用BEFORE关键字),但是这只应该有充分的理由并在一定的限制范围内完成。
来自实际的rc.d脚本文章:
注意:前面的:行不应该被滥用来处理另一个脚本中的不完整依赖列表。使用以前的适当情况:当另一个脚本不关心我们的脚本时,但是如果在另一个脚本之前运行,我们的脚本可以更好地完成它的任务。一个典型的现实例子是网络接口与防火墙:虽然接口在工作中不依赖于防火墙,但防火墙在没有任何网络流量之前就准备好了,这将使系统安全受益。
再加上
请记住,将服务名称放在REQUIRE: line中并不能保证服务在脚本启动时实际运行。在rc.conf(5)中,所需的服务可能无法启动或仅被禁用。显然,rcorder(8)无法跟踪这些细节,rc(8)也不会这样做。因此,我们的脚本启动的应用程序应该能够处理任何不可用的所需服务。
发布于 2020-06-03 12:52:59
当然,修补现有的脚本是个坏主意,它们在升级后会被覆盖。您可以创建另一个脚本,它什么也不做,但是包含请求和关键字之前,这样它将交换另外两个脚本的顺序。
https://serverfault.com/questions/527981
复制相似问题