Init-Script

rc、rc.local 和 rc.sysinit 有什麼區別?

  • June 9, 2019

我試圖在啟動時顯示目前執行級別的啟動腳本列表。我寫了以下程式碼。

rl=`runlevel | cut -d " " -f2`
ls /etc/rc.d/rc$rl.d/S* | cut -d "/" -f5
sleep 10

如果我將此程式碼放入rc.local文件中,它就可以工作。

但是,如果我將它放在rc文件或單獨的腳本文件abc/etc/init.d並通過在執行級別目錄中創建軟連結,它就不起作用。

但是像下面這樣的簡單命令可以在所有方法中執行。

ls /etc/init.d

除非某些腳本已啟動,否則某些命令(例如執行級別或管道)將無法工作?或者還有別的什麼?

如果我將程式碼放入rc文件中,我的程式碼會在重啟前後執行。

  • rc那麼,rc.localrc.sysinit文件有什麼區別呢?
  • 我究竟需要在哪裡編輯這些文件?

我還可以在 2、3、4 和 5 執行級別中找到S99local-> 軟連結。rc.local

這是否意味著它rc.local不會在執行級別 1 上執行?

  • rc Linux 發行版通常不使用,但在 BSD中使用
  • rc.local用於在啟動期間能夠執行額外的命令而無需添加符號連結。
  • rc.sysinit似乎是Red Hat特定的,並且在此過程的早期執行。它作為第一個腳本之一rc.local執行,稍後執行。

我還可以在 2、3、4 和 5 執行級別中找到 rc.local 的 S99local -> 軟連結。這是否意味著 rc.local 不會在執行級別 1 上執行?

正確,這意味著作為符號連結的 S99local/etc/rc.local將是進入執行級別2、、3和時4最後執行的腳本之一5。它不會像單使用者1執行級別那樣1為執行級別執行,通常用於救援/維護工作。

引用自:https://unix.stackexchange.com/questions/140270