天天看點

Linux開機程式内幕(2)

編寫自己的rc指令腳本 

在維護Linux系統運轉的日子裡,肯定會遇到需要系統管理者對開機或者關機指令腳本進行修改的情況。有兩種方法可以用來實作修改的目的: 

● 如果所做的修改隻在引導開機的時候起作用,并且改動不大的話,可以考慮簡單地編輯一下/etc/rc.d/rc.local腳本。這個指令腳本程式是在引導過程的最後一步被執行的。 

● 如果所做的修改比較細緻,或者還要求關閉程序使之明确地停止運作,則需要在/etc/rc.d/init.d子目錄中添加一個指令腳本程式。這個指令腳本程式必須可以接受Start和Stop參數并完成相應的操作。 

第一種方法,編輯/etc/rc.d/rc.local腳本,當然是兩種方法中比較簡單的。如果想在這個指令腳本程式中添加内容,隻需要使用喜歡的編輯器程式打開它,再把打算執行的指令附加到檔案的末尾就可以了。這對一兩行的修改來說的确很便利。 

如果确實需要使用一個指令腳本程式,這時必須選擇第二個方法。編寫一個rc指令腳本程式的過程并不像想象中那麼困難。我們下面就給出一個例子,看看它是怎樣實作的(順便說一句,你可以把我們的例子當作範本,按照自己的需要進行修改和添加)。 

假設你打算每隔60分鐘調用一個特殊的程式來彈出一條消息,提醒自己需要從鍵盤前面離開休息一會兒,指令腳本程式将包括下面幾個部分: 

● 關于這個指令腳本程式功能的說明(這樣就不會在一年之後忘記它); 

● 在試圖運作它之前驗證這個指令腳本程式确實存在; 

● 接受start和stop參數并執行要求的動作。 

參數給定後,我們就可以編寫指令的腳本程式。這個程式很簡單,大家可以自己編寫一下,我在這裡就不給出了。 

編寫好新的指令腳本程式之後,再從相關的運作級别子目錄中加上必要的符号連結,來控制這個指令腳本程式的啟動或者停止。在我的印象中,隻想讓它在運作級别3或者運作級别5中啟動,原因是我認為隻有這兩個運作級别才是日常工作的地方。最後,希望這個指令腳本程式在進入運作級别6(重新開機動)的時候被關閉。 

激活或者禁止服務項目 

有的時候會發現,在引導的時候并不需要某個特定的服務被啟動。如果你正在考慮使用Linux替換Windows NT的檔案和列印伺服器,就更是如此。 

我們已經知道,在特定的運作級别子目錄中給符号連結改個名稱,就可以讓該服務不被啟動,如把其名稱的第一個字母由S改為K。一旦熟練掌握了指令行和符号連結,就會發現這是激活或者禁止服務的最快辦法。 

在學習這個改名方法的時候,可能會覺得圖形化的操作界面ksysv比較容易掌握。雖然它原來是設計使用在KDE環境裡的,但在Red Hat Linux 7.2下預設安裝的GNOME環境裡也運作得很好。如果想啟動它,隻需簡單地打開一個xterm視窗,并輸入ksysv指令就可以了。螢幕上會出現一個視窗,其中列出了能夠修改的全部參數,需要時還包括線上幫助。 

警告:如果是在一個現實中的系統上學習本文的知識,要多多運用常識。當試着對啟動腳本程式進行修改的時候,要記住所做的修改可能會造成你的系統不能正常工作,而且無法采用重新開機動的方法恢複。不要在正常運轉的系統上實驗新的設定,對你準備修改的檔案要全部進行備份。最重要的是,在手邊要準備一張引導盤以防不測。

繼續閱讀