2007/06/15

linux: To run automatically at boot time



這個問題相似的問的很多...

先談談 rh-based linux 系統,一般常見是放在 /etc/rc.d/rc.local 檔案可以達成開機啟動指定敘述的功能。suse linux 沒有這個檔案,而且也希望您使用正規方式來管理服務啟動方式。

不過另外會有人說放在 /etc/init.d/boot.local 即可,這要看實際情況。因為 suse 的 /etc/init.d/boot.local 檔案是由 /etc/init.d/boot 這個 script 所啟動的,而且是最後 boot script 工作完成要準備進入 runlevel 環境執行各項 rc script 時所執行。

rh 的 /etc/rc.d/rc.local 檔案是 runlevel 環境執行各項 rc script 時最後一個階段執行的,所以層面不一樣。

你的服務需要是在進入 runlevel 前執行的話,請把敘述放 /etc/init.d/boot.local。若是於 runlevel 執行後才執行的話,於 suse 下正規做法應該是自己寫一個 rc script 檔案放置於 /etc/init.d/ 目錄內,然後使用 chkconfig or inssev 程式來管理配置能夠於某個 runlevel 環境開機時是否要啟用關閉該服務項目。

該 rc script 檔案寫法可以自己參考一下 /etc/init.d/ 裡面現成的 script 檔案,應該很容易就寫一個自己的版本。

archer> 寫好之後,按 SuSE 的習慣,要再做個 symbolic link 到 /usr/sbin

直接把 backlight 放 /etc/init.d/ 目錄基本上不大對,因為一般是放置 shell script 要能夠接收 start|stop 等參數。

至於放 boot.local 也要看是哪種程式,因為若是網路程式的話可能就沒幫助,因為當時候尚未啟動網路服務。

沒有留言: