自啟動服務非常重要,例如
(1)需要手動添加希望自啟的服務,如安裝svn后沒有自動添加,就需要我們手動加入
(2)安裝某些程序后,自動加到自啟動了,但我們不需要,需要手動移除
(3)很多惡意程序都會把自己加入自啟動,需要我們排查刪除
運行級別的原理
涉及到自啟動操作時,就會接觸到 /etc/rc.d/rc[0-6].d 這7個目錄
這幾個目錄代表著linux的7個運行級別
在 /etc/inittab 文件中指定了系統啟動時默認進入哪個級別
Linux進入運行級別后,就會進入對應的 rcN.d 目錄,按照文件名順序檢索目錄下的文件
rcN.d 目錄下都是一些鏈接文件,這些鏈接文件都指向 /etc/init.d 目錄下的service腳本文件,例如

命名規則為:
K+nn+服務名,或 S+nn+服務名
K – 系統將終止對應的服務
S – 系統將啟動對應的服務
nn – 兩位數字,執行順序

7個運行級別是什么?
0 – 停機
1 – 單用戶模式,root權限,用于系統維護,禁止遠程登陸
2 – 多用戶狀態,沒有 NFS
3 – 標準多用戶模式,登陸后進入命令行模式
4 – 系統未使用,保留
5 – 多用戶圖形模式,登陸后進入圖形GUI模式
6 – 重新啟動
服務器一般都是命令行模式,所以默認運行級別為 3
如何添加自啟程序?
(1)/etc/init.d 目錄中添加
以啟動SVN為例
1)在 /etc/init.d 目錄下創建啟動服務的腳本
vim /etc/init.d/svn
內容
#!/bin/bash
svnserve -d -r /svn倉庫路徑
設置執行權限
chmod 755 /etc/init.d/svn
2)把這個腳本軟鏈接到 /etc/rc.d/rc3.d
ln -s /etc/init.d/svn /etc/rc.d/rc3.d/S101svn
S 代表是要執行這個腳本,101 是執行順序,通常要大于60,這樣可以保證基礎服務都已經啟動完成
重啟linux測試
(2)/etc/rc.local 文件中添加
直接修改 /etc/rc.local
該腳本是在系統初始化級別腳本運行之后再執行的,因此可以在里面添加想在系統啟動之后執行的腳本
(3)chkconfig 命令添加
如何禁止自啟程序?
(1)直接刪除 /etc/rc.d/rcN.d 目錄的目標鏈接文件
(2)刪除 /etc/rc.local 文件中定義的啟動腳本
(3)查看自啟動服務列表,從中選擇目標服務執行禁止操作
chkconfig –list
chkconfig –del 服務名
以上就是本文關于淺談管理linux開機自啟服務的一些技巧的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!