Suse 服务启动顺序的问题,终于把我给刺激了,不得不认真的看一下,以前使用Redhat时候,是用chkconfig进行启动脚本的顺序调整的。例如,
# chkconfig: 35 98 01
这表明,我想让这个服务在runlever 3 和5的时候启用,其他情况禁用。启用时的启动顺序是98,这个已经很靠后了,停止顺序是01,这个相当靠前哦。
然而,在SLES中,一切都变了,这种指定方式不再好用,(注意哦,不是不能用,是有限制)。SUSE引入了新的启动顺序配置方式,我管它叫做before/after方式,使用的相关命令是insserv。配置方式是在脚本中加入一些注释,没错,就像这样:
解释在这里,
然后要做的是,运行命令 insserv。insserv 命令会检查这部分脚本内容,对应 Default-Start 和 Default-Stop 定义,在相应的 runlevel(/etc/init.d/rc?.d/) 目录下创建到 /etc/init.d/ 目录下脚本的启动,停止链接。insserv 还会把服务之间的启动和停止依赖性一起写入文件 .depend.start file 和 .depend.stop。
天啊,看上去,SUSE的处理方式还是满不赖的么,不用纠结于给脚本设定多大的启动顺序数字。而且,还能自动写入依赖关系,自动创建相应的启动脚本,(其实只是给定了启动顺序数字,和创建了一个到启动脚本的链接)。
据说SUSE对启动脚本的这种处理方式,符合一种叫做LSB的标准。有兴趣的朋友可以点这里或者这里围观。
那么,在SUSE中使用chkconfig配置启动脚本有何限制呢,
那么,在Redhat中能够使用SUSE中这么帅的配置方式么,
如果装了LSB相关包的话,似乎是可以的。