When you boot your computer, the first thing that it will do is load the bootloader -- either GRUB or LILO in most cases. The bootloader will then load the Linux kernel -- the core operating system. Next, a process called init starts. This process reads the file /etc/inittab to establish the runlevel to use. The runlevel is the start mode for the computer.
Once init knows the runlevel it will look for the appropriate files or directories as defined in /etc/initab.
Init will then either run the script files defined by /etc/initab, or run the script files in the directories defined by /etc/initab (depending on the set up of your system).
Finally, init will present you with the logon mode that you've selected.
Fedora 下是有/etc/inittab文件的,而在Ubuntu中是沒有這一個(gè)文件的,因?yàn)樵趗buntu中,inittab軟件包已經(jīng)被upstart軟件包替換了,所有的配置信息都在/etc/event.d/目錄下。inittab文件在inittab里面這樣描述的,This inittab file describes how the INIT process should set up the system in a certain run-level.即在linux啟動(dòng)時(shí),會(huì)運(yùn)行一個(gè)init程序,然后由它啟動(dòng)后面的任務(wù),包括用戶環(huán)境,網(wǎng)絡(luò)等。到底什么是運(yùn)行級呢?簡單的說,運(yùn)行級就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級別。這個(gè)級別從1 到6 ,具有不同的功能。這些級別在/etc/inittab(在Fedora下是這樣,別的發(fā)行版中不可能存在這個(gè)文件) 文件里指定。這個(gè)文件是init程序?qū)ふ业闹饕募钕冗\(yùn)行的服務(wù)是那些放在/etc/rc.d(Fedora下有這個(gè)目錄,其他Linux發(fā)行版中不一定有些目錄) 目錄下的文件。
Fedora(8.0)在/etc目錄下有一個(gè)rc.d目錄,里面有rcn.d目錄(n代表從1-6的數(shù)字),init.d目錄,還有三個(gè)腳本rc.local,rc,rc.sysinit.
而/etc目錄下的 rc,rc0.d/,rc1.d/,rc2.d/,rc3.d/,rc4.d/,rc5.d/,rc6.d/,rc.local,rc.sysinit 均是到/etc/rc.d目錄下的軟鏈接。
Ubuntu(7.10)下/etc目錄下沒有rc.d目錄,/etc目錄下直接存放著rc0.d/,rc1.d/,rc2.d/,rc3.d/,rc4.d/,rc5.d/,rc6.d/,rc.local,rcS.d/,init.d/
其中,在init.d目錄下存放著一些系統(tǒng)啟動(dòng)腳本。rc*.d目錄下都是一些到/etc/init.d目錄下的軟鏈接。
rc后面的數(shù)字,不言而明,其實(shí)是代表系統(tǒng)的runlevel,由于Linux的發(fā)行版本眾多,所以數(shù)字級別在不同的發(fā)行版里所代表含義不一樣,如需更改你的linux發(fā)行版,務(wù)必先仔細(xì)閱讀自己所用linux版本的發(fā)行文檔。比如,F(xiàn)edora 的runlevel 3是無GUI的多用戶模式,而UBUNTU的2才是多用戶模式,且在Server版本里2是默認(rèn)啟動(dòng)級別。
rc.local只運(yùn)行一次,僅在系統(tǒng)啟動(dòng)時(shí).它是在系統(tǒng)里其他腳本已經(jīng)運(yùn)行完畢,在登錄提示符出現(xiàn)前運(yùn)行.在Debian里是不用rc.local里作啟動(dòng)腳本的.Ubuntu中的rc3.d目錄下的S99rc.local是到/etc/init.d/rc.local的軟鏈接.而/etc/下的rc.local文件是一個(gè)空文件.Fedora下的/etc/rc3.d/SSlocal是到/etc/rc.local文件的鏈接.
改變運(yùn)行級別(runlevel)和系統(tǒng)啟動(dòng)什么服務(wù),更改rc.local這樣的腳本,手動(dòng)更改配置文件是可以的,但手動(dòng)改寫不是必要的.在Fedora中有chkconfig命令,在Debian中有update-rc.d命令能幫我們做這些事.
通過了解這些文件,我們能夠增加自己需要的服務(wù),檢查自己不需要的系統(tǒng)啟動(dòng)項(xiàng),還有拖慢系統(tǒng),或者讓系統(tǒng)負(fù)載的Services.還能清楚是否有危險(xiǎn)用戶增加可怕腳本到init.d,rc.d目錄中.
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。