在維護(hù)Linux系統(tǒng)運轉(zhuǎn)的日子里,肯定會遇到需要系統(tǒng)管理員對開機(jī)或者關(guān)機(jī)命令腳本進(jìn)行修改的情況。有兩種方法可以用來實現(xiàn)修改的目的:
● 如果所做的修改只在引導(dǎo)開機(jī)的時候起作用,并且改動不大的話,可以考慮簡單地編輯一下/etc/rc.d/rc.local腳本。這個命令腳本程序是在引導(dǎo)過程的最后一步被執(zhí)行的。
● 如果所做的修改比較細(xì)致,或者還要求關(guān)閉進(jìn)程使之明確地停止運行,則需要在/etc/rc.d/init.d子目錄中添加一個命令腳本程序。這個命令腳本程序必須可以接受Start和Stop參數(shù)并完成相應(yīng)的操作。
第一種方法,編輯/etc/rc.d/rc.local腳本,當(dāng)然是兩種方法中比較簡單的。如果想在這個命令腳本程序中添加內(nèi)容,只需要使用喜歡的編輯器程序打開它,再把打算執(zhí)行的命令附加到文件的末尾就可以了。這對一兩行的修改來說的確很便利。
如果確實需要使用一個命令腳本程序,這時必須選擇第二個方法。編寫一個rc命令腳本程序的過程并不像想象中那么困難。我們下面就給出一個例子,看看它是怎樣實現(xiàn)的(順便說一句,你可以把我們的例子當(dāng)作范本,按照自己的需要進(jìn)行修改和添加)。
假設(shè)你打算每隔60分鐘調(diào)用一個特殊的程序來彈出一條消息,提醒自己需要從鍵盤前面離開休息一會兒,命令腳本程序?qū)ㄏ旅鎺讉€部分:
● 關(guān)于這個命令腳本程序功能的說明(這樣就不會在一年之后忘記它);
● 在試圖運行它之前驗證這個命令腳本程序確實存在;
● 接受start和stop參數(shù)并執(zhí)行要求的動作。
參數(shù)給定后,我們就可以編寫命令的腳本程序。這個程序很簡單,大家可以自己編寫一下,我在這里就不給出了。
編寫好新的命令腳本程序之后,再從相關(guān)的運行級別子目錄中加上必要的符號鏈接,來控制這個命令腳本程序的啟動或者停止。在我的印象中,只想讓它在運行級別3或者運行級別5中啟動,原因是我認(rèn)為只有這兩個運行級別才是日常工作的地方。最后,希望這個命令腳本程序在進(jìn)入運行級別6(重啟動)的時候被關(guān)閉。
激活或者禁止服務(wù)項目
有的時候會發(fā)現(xiàn),在引導(dǎo)的時候并不需要某個特定的服務(wù)被啟動。如果你正在考慮使用Linux替換Windows NT的文件和打印服務(wù)器,就更是如此。
我們已經(jīng)知道,在特定的運行級別子目錄中給符號鏈接改個名稱,就可以讓該服務(wù)不被啟動,如把其名稱的第一個字母由S改為K。一旦熟練掌握了命令行和符號鏈接,就會發(fā)現(xiàn)這是激活或者禁止服務(wù)的最快辦法。
在學(xué)習(xí)這個改名方法的時候,可能會覺得圖形化的操作界面ksysv比較容易掌握。雖然它原來是設(shè)計使用在KDE環(huán)境里的,但在 Red Hat Linux 7.2下缺省安裝的GNOME環(huán)境里也運行得很好。如果想啟動它,只需簡單地打開一個xterm窗口,并輸入ksysv命令就可以了。屏幕上會出現(xiàn)一個窗口,其中列出了能夠修改的全部參數(shù),需要時還包括在線幫助。
警告:如果是在一個現(xiàn)實中的系統(tǒng)上學(xué)習(xí)本文的知識,要多多運用常識。當(dāng)試著對啟動腳本程序進(jìn)行修改的時候,要記住所做的修改可能會造成你的系統(tǒng)不能正常工作,而且無法采用重啟動的方法恢復(fù)。不要在正常運轉(zhuǎn)的系統(tǒng)上實驗新的設(shè)置,對你準(zhǔn)備修改的文件要全部進(jìn)行備份。最重要的是,在手邊要準(zhǔn)備一張引導(dǎo)盤以防不測。