2,582 瀏覽數

Linux command – update-rc.d

第一次用 update-rc.d 指令,主要是將程式加入到 sysvinit 的開機流程中,我們不需要手動寫到 /etc/rc*.d 中 (K 開頭是 kill,S 開頭是 start,數字順序則是代表啟動順序)

首先寫個角本 ( script ) 到 /etc/init.d ,至於相關的 link 就交給 update-rc.d 來完成.

我已經在 /etc/init.d 中建立一個叫作 ben.sh 的 script,然後執行,連結就自動產生了.

root@ben-virtual-machine:~# update-rc.d ben.sh defaults
update-rc.d: warning: /etc/init.d/ben.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/ben.sh ...
   /etc/rc0.d/K20ben.sh -> ../init.d/ben.sh
   /etc/rc1.d/K20ben.sh -> ../init.d/ben.sh
   /etc/rc6.d/K20ben.sh -> ../init.d/ben.sh
   /etc/rc2.d/S20ben.sh -> ../init.d/ben.sh
   /etc/rc3.d/S20ben.sh -> ../init.d/ben.sh
   /etc/rc4.d/S20ben.sh -> ../init.d/ben.sh
   /etc/rc5.d/S20ben.sh -> ../init.d/ben.sh

要移除也很簡單

root@ben-virtual-machine:~# update-rc.d ben.sh remove
update-rc.d: /etc/init.d/ben.sh exists during rc.d purge (use -f to force)
root@ben-virtual-machine:~# update-rc.d -f ben.sh remove
 Removing any system startup links for /etc/init.d/ben.sh ...
   /etc/rc0.d/K20ben.sh
   /etc/rc1.d/K20ben.sh
   /etc/rc2.d/S20ben.sh
   /etc/rc3.d/S20ben.sh
   /etc/rc4.d/S20ben.sh
   /etc/rc5.d/S20ben.sh
   /etc/rc6.d/K20ben.sh

其他使用方式請參考 # man update-rc.d 或是 http://manpages.ubuntu.com/manpages/precise/en/man8/update-rc.d.8.html

發表迴響