Linux 運(yùn)行級(jí)init詳解
Linux 啟動(dòng)時(shí)需要哪些步驟呢?本文將詳細(xì)描述不同的運(yùn)行級(jí)在啟動(dòng)中的作用。
對(duì)于那些在DOS/Win9x/NT 平臺(tái)下的高級(jí)用戶而言,Linux 似乎是一個(gè)怪物。沒(méi)有
config.sys ,沒(méi)有
autoexec.bat,具有個(gè)人特色的機(jī)器配置不知道從何開(kāi)始。
需要說(shuō)明的是,很多人認(rèn)為L(zhǎng)inux 是Unix 的一個(gè)克隆,但是,這種說(shuō)法對(duì)于Linux
是不公平的。Linux
比Unix更加開(kāi)放,功能更強(qiáng)大。我們應(yīng)該稱之為GNU/Linux 。
Linux 啟動(dòng)時(shí),運(yùn)行一個(gè)叫做init 的程序,然后由它來(lái)啟動(dòng)后面的任務(wù),包括多
用戶環(huán)境,網(wǎng)絡(luò)等。
那么,到底什么是運(yùn)行級(jí)呢?簡(jiǎn)單的說(shuō),運(yùn)行級(jí)就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能
級(jí)別。這個(gè)級(jí)別從1 到6 ,
具有不同的功能。這些級(jí)別在/etc/inittab 文件里指定。這個(gè)文件是init 程序?qū)?
找的主要文件,最先運(yùn)行
的服務(wù)是那些放在/etc/rc.d 目錄下的文件。
大多數(shù)的Linux 發(fā)行版本中,啟動(dòng)腳本位于 /etc/rc.d/init.d。這些腳本
被ln 命令來(lái)連接到 /etc/rc.d/rcn.d 目錄。(這里的n 就是運(yùn)行級(jí)0-6)
例如/etc/rc.d/rc2.d 下面的S10network 就是連接到/etc/rc.d/init.d下的
network 腳本的。
因此,我們可以知道,rc2.d 下面的文件就是和運(yùn)行級(jí)2 有關(guān)的。
文件開(kāi)頭的S 代表start 就是啟動(dòng)服務(wù)的意思,后面的數(shù)字10 就是啟動(dòng)的順序。
例如,在同一個(gè)目錄下,
你還可以看到 S80postfix 這個(gè)文件,80 就是順序在 10 以后,因?yàn)闆](méi)有啟動(dòng)網(wǎng)
絡(luò)的情況下,啟動(dòng)postfix
是沒(méi)有任何作用的。
再看一下 /etc/rc.d/rc3.d,可以看到文件S60nfslock,但是這個(gè)文件不存在于
/etc/rc.d/rc2.d 目錄下。
NFS 要用到這個(gè)文件,一般用在多用戶環(huán)境下,所以放在rc3.d 目錄下。
另外,在/etc/rc.d/rc2.d 還可以看到那些K 開(kāi)頭的文件,例如
/etc/rc.d/rc2.d/K45named ,K 代表 kill 。
標(biāo)準(zhǔn)的Linux運(yùn)行級(jí)為3 或者5 ,如果是3 的話,系統(tǒng)就在多用戶狀態(tài)。如果是5的
話,則是運(yùn)行著X Window
系統(tǒng)。如果目前正在3或5,而你把運(yùn)行級(jí)降低到2的話,init 就會(huì)執(zhí)行
K45named 腳本。
不同的運(yùn)行級(jí)定義如下:(可以參考Red Hat Linux 里面的/etc/inittab)
# 缺省的運(yùn)行級(jí),RHS 用到的級(jí)別如下:
# 0 - 停機(jī)(千萬(wàn)不要把initdefault 設(shè)置為0 )
# 1 - 單用戶模式
# 2 - 多用戶,但是沒(méi)有 NFS
# 3 - 完全多用戶模式
# 4 - 沒(méi)有用到
# 5 - X11
# 6 - 重新啟動(dòng) (千萬(wàn)不要把initdefault 設(shè)置為6 )
#
對(duì)各個(gè)運(yùn)行級(jí)的詳細(xì)解釋:
0 為停機(jī),機(jī)器關(guān)閉。
1 為單用戶模式,就像Win9x 下的安全模式類似。
2 為多用戶模式,但是沒(méi)有NFS 支持。
3 為完整的多用戶模式,是標(biāo)準(zhǔn)的運(yùn)行級(jí)。
4 一般不用,在一些特殊情況下可以用它來(lái)做一些事情。
例如在筆記本電腦的電池用盡時(shí),可以切換到這個(gè)模式來(lái)做一些設(shè)置。
5 就是 X11 ,進(jìn)到 X Window 系統(tǒng)了。
6 為重啟,運(yùn)行 init 6 機(jī)器就會(huì)重啟。
不同的運(yùn)行級(jí)有不同的用處,也應(yīng)該根據(jù)自己的不同情形來(lái)設(shè)置。例如,如果丟失
了root 口令,那么可以
讓機(jī)器啟動(dòng)進(jìn)入單用戶狀態(tài)來(lái)設(shè)置。在啟動(dòng)后的 lilo 提示符下輸入:
init=/bin/sh rw
就可以使機(jī)器進(jìn)入運(yùn)行級(jí)1 ,并把 root 文件系統(tǒng)掛為讀寫(xiě)。他會(huì)跳過(guò)所有系統(tǒng)認(rèn)
證,讓你使用passwd 程序
來(lái)改變r(jià)oot口令,然后啟動(dòng)到一個(gè)新的運(yùn)行級(jí)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評(píng)論