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命令就可以了。屏幕上會出現一個窗口,其中列出了能夠修改的全部參數,需要時還包括在線幫助。 


警告:如果是在一個現實中的系統上學習本文的知識,要多多運用常識。當試着對啓動腳本程序進行修改的時候,要記住所做的修改可能會造成你的系統不能正常工作,而且無法採用重啓動的方法恢復。不要在正常運轉的系統上實驗新的設置,對你準備修改的文件要全部進行備份。最重要的是,在手邊要準備一張引導盤以防不測。
發佈了16 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章