有時候咱們須要Linux系統在開機的時候自動加載某些腳本或系統服務apache
主要用三種方式進行這一操做:ssh
ln -s 在/etc/rc.d/rc*.d目錄中創建/etc/init.d/服務的軟連接(*表明0~6七個運行級別之一)spa
chkonfig 命令行運行級別設置命令行
ntsysv 僞圖形運行級別設置進程
注意:1.這三種方式主要用於以redhat爲基礎的發行版ip
2.若是還不知道運行級別是什麼,那麼最好先看看相關資料再實驗it
在Linux中有7種運行級別(可在/etc/inittab文件設置),每種運行級別分別對應着/etc/rc.d/rc[0~6].d這7個目錄基礎
Tips:/etc/rc[0~6].d實際上是/etc/rc.d/rc[0~6].d的軟鏈接,主要是爲了保持和Unix的兼容性才作此策兼容性
這7個目錄中,每一個目錄分別存放着對應運行級別加載時須要關閉或啓動的服務ftp
由詳細信息能夠知道,其實每一個腳本文件都對應着/etc/init.d/目錄下具體的服務
K開頭的腳本文件表明運行級別加載時須要關閉的,S開頭的表明須要執行
所以,當咱們須要開機啓動本身的腳本時,只須要將可執行腳本丟在/etc/init.d目錄下,而後在/etc/rc.d/rc*.d中創建軟連接便可
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此處sshd是具體服務的腳本文件,S100ssh是其軟連接,S開頭表明加載時自啓動
若是須要在多個運行級別下設置自啓動,則需創建多個軟連接
這種方式比較繁瑣,適用於自定義的服務腳本
若是系統中已經存在某些服務(好比安裝apache時就會有httpd服務項),可使用下面的兩種方式
若是須要自啓動某些服務,只需使用chkconfig 服務名 on便可,若想關閉,將on改成off
在默認狀況下,chkconfig會自啓動2345這四個級別,若是想自定義能夠加上--level選項
上面咱們先將sshd服務的全部啓動級別關閉,而後使用--level選項啓動自定義級別
Tips:--list選項可查看指定服務的啓動狀態,chkconfig不帶任何選項則查看全部服務狀態
ntsysv和chkconfig實際上是同樣的,只不過加上了圖形而已
啓動ntsysv有兩種方式,一是直接在命令行中輸入ntsysv,二是使用setup命令,而後選擇系統服務
默認狀況下,當前運行級別爲多少,在ntsysv中設置的啓動服務的級別即是多少
好比,我當前的運行級別是3,那麼我在僞圖形界面中選擇啓動服務後,它的運行級別也會是3
若是想自定義運行級別可以使用ntsysv --level方式
以上三種操做須要保證服務腳本文件可執行,而且要有root權限
其中,第一種方式多用於自定義腳本,第2、三種多用於系統已存在的服務
好比ftp、samba、ssh、httpd等等
而且,要作相關設置須要弄清楚運行級別的問題
Tips:若是想手動啓動某服務,傳統的方式是 /etc/init.d 服務名 start
實際上還能夠這樣,service 服務名 start
0 表示關機
1 表示單用戶模式,單用戶模式下只有系統管理員才能登錄
2 表示多用戶模式,不支持文件共享,例如不支持NFS服務。這種模式不經常使用。
3 表示徹底多用戶模式,這是NFS服務。這是最經常使用的用戶模式,默認登錄到系統的字符界面。
4 表示基本不用的用戶模式,能夠實現某些特些特定的登錄請求
5 表示徹底多用戶模式,默認登錄到X-Window系統,也就是登錄到Linux圖像界面
6 表示重啓模式,也就是關閉全部運行進程,而後重啓系統服務