什麼是執行階段(runlevel)?
您已經知道了 init 如何使用號碼來決定該啟用那個執行階段。一個 執行階段 將會代表著您的系統將執行那些程序(執行階段程序或是 起始程序(initscripts))。
在 Gentoo 內共有定義七個執行階段:三個內部執行階段,和四個使用者定義的執行階段。內部的執行階段叫做 sysinit,shoutdown 和 reboot 就和他們的名字一樣:
使用者定義的執行階段包含著 /etc/runlevels 的自目錄: boot,default,nonetwork 和 single。boot 的執行階段將起始包含其他所有系統相關的服務。剩下的三個執行階段則是依照不同的服務而類別:default 適用於日常運作所需,nonetwork 適用於沒有網路連線的需求,和 single 則是在您需要整理系統時所用。
使用 Init Scripts
rc 的程序叫做 init scripts。每個在 /etc/init.d 的程序都可以使用 start,stop,restart,pause,zap, status,ineed,iuse,needsme,usesme 或是 broken 為參數。
要開始,停止,或是重新啟動一個服務(和所有相依的服務),您應該使用 start ,stop 和 restart:
原始碼 6: 啟用 Postfix |
# /etc/init.d/postfix start
|
注意: 只有 指定 的服務會被停止或是重開。其他相依的程式(那些使用這個服務但是不需要他的)將不會被影響到。 |
如果您要停止一個服務,但是不是依賴著它的其他服務,您可以使用 pause:
原始碼 7: 停止 Postfix 但是繼續執行其他相依的服務 |
# /etc/init.d/postfix pause
|
如果您要查看某個服務的狀態(啟用,停止,暫停﹍)您可以使用 status:
原始碼 8: 關於 postfix 的狀態 |
# /etc/init.d/postfix status
|
如果狀態告訴您這個服務正在執行,但是您知道這是錯的,那您將可以使用 zap 將狀態重設為 "停止":
原始碼 9: 重設 postfix 的狀態 |
# /etc/init.d/postfix zap
|
如果要查看某個服務的相依性有那些,您可以使用 iuse 或是 ineed。您可以使用 ineed 來觀看服務的相關功能。iuse 則是查看服務是否有被其他服務依賴著。
原始碼 10: 查詢 Postfix 依賴的服務 |
# /etc/init.d/postfix ineed
|
類似的,您可以查詢那些服務需要那些服務(needsme)或是(usesme):
原始碼 11: 需要用到 Postfix 的服務 |
# /etc/init.d/postfix needsme
|
最後您可以查看依賴著某個服務但是壞損的其他服務:
原始碼 12: 查詢 Postifx 需要但是損毀的相依性 |
# /etc/init.d/postfix broken
|