現在的時代都使用 Systemd 來管理開機、甚至所有程式的執行 等等,取代掉傳統 init 的 System V。
現在 Debian、Ubuntu Linux 雖然使用 systemd,但是還是有讓以前的操作習慣相容,維持著 rc0.d ~ rc6.d、rc.local 等等可以使用,有時候用舊方法來查詢還蠻方 便的,話說,今天要使用時,發現都快忘光了,來簡單寫點紀錄當回憶,雖然已經都用不太到了~
Linux initrd 的開機程式啟動管理
Debian Linux 使用 rc0.d ~ rc6.d 來管理,Debian runlevel 定義:
- 0:關機 (Halt)
- 1:單一使用者模式 (single user mode)
- 2-5:多使用者模式 (multi user mode)
- 6:系統重啟 (reboot)
/etc 相關檔案 與 update-rc.d 管理
- /etc/inittab
- /etc/rc0.d/
- /etc/rc1.d/
- /etc/rc6.d/
- my-scirpt 是要新增開機自動執行的 script
- update-rc.d my-script defaults
- 全部預設:
- runlevel 2 3 4 5 啟動(start)
- runlevel 0 1 6 停止 (stop)。
- update-rc.d my-script start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
- 指定:
- runlevel 2 3 4 執行啟動順序為 20
- runlevel 5 執行啟動順序為 30
- runlevel 0 1 6 執行停止順序為 80
- update-rc.d -f my-script remove # 由開機啟動移除
- update-rc.d my-script defaults
管理開機啟動的程式 CLI GUI
- rcconf
- sysv-rc-conf