歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

SUSE服務啟動順序

SUSE 服務啟動順序的問題,終於把我給刺激了,不得不認真的看一下,以前使用RedHat時候,是用chkconfig進行啟動腳本的順序調整的。例如,
# chkconfig: 35 98 01
這表明,我想讓這個服務在runlever 3 和5的時候啟用,其他情況禁用。啟用時的啟動順序是98,這個已經很靠後了,停止順序是01,這個相當靠前哦。
然而,在SLES中,一切都變了,這種指定方式不再好用,(注意哦,不是不能用,是有限制)。SUSE引入了新的啟動順序配置方式,我管它叫做before/after方式,使用的相關命令是insserv。配置方式是在腳本中加入一些注釋,沒錯,就像這樣:

### BEGIN INIT INFO
# Provides:           Tomcat
# Required-Start:      $network Oracle-xe
# Required-Stop:      $network
# Default-Start:       2 3 5
# Default-Stop:       0 1 2 6
# Description:        Start Tomcat server
### END INIT INFO
解釋在這裡,

Provides: 指明這個 init 腳本控制的程序或者服務的名字。
Required-Start:指明需要在自身服務啟動之前先啟動的服務名稱。
Required-Stop: 指明需要在自身服務停止之前先停止的服務名。
Default-Start:指明服務自動啟動的 runlevel 級別。
Default-Stop:指明服務自動停止的 runlevel 級別。
Description:服務的說明。

然後要做的是,運行命令 insserv。insserv 命令會檢查這部分腳本內容,對應 Default-Start 和 Default-Stop 定義,在相應的 runlevel(/etc/init.d/rc?.d/) 目錄下創建到 /etc/init.d/ 目錄下腳本的啟動,停止鏈接。insserv 還會把服務之間的啟動和停止依賴性一起寫入文件 .depend.start file 和 .depend.stop。
天啊,看上去,SUSE的處理方式還是滿不賴的麼,不用糾結於給腳本設定多大的啟動順序數字。而且,還能自動寫入依賴關系,自動創建相應的啟動腳本,(其實只是給定了啟動順序數字,和創建了一個到啟動腳本的鏈接)。
據說SUSE對啟動腳本的這種處理方式,符合一種叫做LSB的標准。有興趣的朋友可以點這裡或者這裡圍觀www.linuxidc.com。

那麼,在SUSE中使用chkconfig配置啟動腳本有何限制呢,

它只能單純的解決在 /etc/init.d/ 下的腳本的自動啟動的問題,而不能定義各個腳本之間啟動停止的依賴性。當然也不會創建依賴關系。
那麼,在Redhat中能夠使用SUSE中這麼帥的配置方式麼,
如果裝了LSB相關包的話,似乎是可以的。

Copyright © Linux教程網 All Rights Reserved