openSUSE下開機自動運行腳本命令的方法

/etc/init.d/boot.local文件中添加命令。RedHat系統的對應文件是/etc/rc.d/rc.local

對於Linux系統啓動時自動運行的命令或程序,在rh-basedlinux系統,一般常見是放在/etc/rc.d/rc.local中。但SuSELinux沒有這個文件,另外也不推薦使用者這樣管理啓動服務。推薦使用正規的方式來管理服務啓動方式。

有人會說,在SuSE系統裏,可以放在/etc/init.d/boot.local中,這要看實際情況。因爲SuSE/etc/init.d /boot.local文件是由/etc/init.d/boot這個script所啓動的,而且是最後bootscript工作完成要準備進入 runlevel環境執行各項rcscript時所執行。而rh/etc/rc.d/rc.local檔案是runlevel環境執行各項 rcscript時最後一個階段執行的,所以層面不一樣。如果你要運行的程序適合於runlevel這項服務之前就執行的話,在SuSElinux中可以放在boot.local文件裏。

但如果你的服務需要是在進入runlevel後才執行的話,SuSE下正規做法應該是自己寫一個 rcscript放到/etc/init.d/目錄下,然後使用chkconfigorinssev程序來管理配置能夠於某個runlevel環境開機時是否要啓用關閉該服務項目。該rcscript寫法可以自己參考一下/etc/init.d/裏面現成的script檔案,應該很容易就寫一個自己的版本

 

 

 

關於開機啓動腳本配置文件SUSE與其它Linux設置不一樣,網上查了半天記錄如下

那就是/etc/init.d 下的幾個檔案

1. boot.local –> 這個開機啓動檔案會在 rc5.d前就有動作

2. halt.local –> 這個關機啓動檔案會在最後有動作

3. before.local –> 這個檔案比較用不到所以不需多做解釋

4. after.local –> 這個檔案會在 rc5.d 之後有動作,就是最重要的開機啓動檔沒有的話 新建一個

上面第三及第四個檔案預設是不存在的喔!!

當你看過/etc/init.d/rc 這個檔案就知道爲什幺了

所以當你要使用第三或第四個檔案時請自己建立,就像妳寫個 shell 一樣很簡單

 

openSUSE啓動程序的設置比較特殊,以openSUSE 1110 sp2爲例。openSUSE的啓動較分散,主要有/etc/rc.d/boot.local/etc/rc.d/after.local/etc/init.d/before.local三個文件。每個文件的意義如下:

/etc/rc.d/after.local
此文件需要手動創建。它是在系統已完成運行級的啓動後執行的腳本。與其它系統的rc.local相似。
/etc/rc.d/boot.local
此文件在系統啓動後,進入運行級前就執行的用戶腳本。注意這一文件執行時網絡等設備都尚未就緒,使用時應小心。
/etc/rc.d/before.local
此文件貌似需要手動創建,在系統進入運行級前執行,但比boot.local晚,此時網絡等設備也未就緒。
一般,對於多數啓動程序來說,將其加到/etc/rc.d/after.local中較爲合適。

下面是我遇到的情況,我的問題是想將mac地址修改爲其他的地址,但是不管在YaST中設置還是在/etc/sysconfig/network/ifcfg-eth0文件中修改就是不能修改爲指定的mac地址,於是用一下辦法解決:

vi/etc/rc.d/after.local #寫下一下內容

/sbin/ifconfigeth0 down
/sbin/ifconfig eth0 hw ether 00:0C:jj:kk:45:ee

/sbin/ifconfigeth0 up

#reboot--試試效果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章