(1)具體操作
#vi /etc/inittab –編輯/etc/inittab文件找到下面語句:# Default runlevel. The runlevels used by RHS are: # 0 – halt (Do NOT set initdefault to this) –停機(jī)# 1 – Single user mode –單用戶模式# 2 – Multiuser, without NFS (The same as 3, if you do not havenetworking) –多用戶模式,不支持NFS# 3 – Full multiuser mode –多用戶模式 # 4 – unused –沒有使用 # 5 – X11 –圖形界面方式 # 6 – reboot (Do NOT set initdefault to this) –重新啟動(dòng)# id:5:initdefault: –默認(rèn)運(yùn)行等級(jí)是5,只要將此處改成 id:3:initdefault:即可 在文本模式想啟動(dòng)圖形界面,可以打如下命令:#startx
(2)*inittab是做什么的?
在KERNEL起來之后,將生成第一個(gè)進(jìn)程——init,實(shí)際上是執(zhí)行了/sbin/init。init的工作是根據(jù)/etc/inittab來執(zhí)行相應(yīng)的腳本進(jìn)行系統(tǒng)初始化,如設(shè)置鍵盤、字體,裝載模塊,設(shè)置網(wǎng)絡(luò),等等。
/etc/inittab文件的每一行包括四個(gè)域:
id:runlevels:action:process
runlevel是運(yùn)行模式,通常為0-6。模式0是 halt,模式6是reboot,模式1是單用戶,模式2/3是多用戶,模式5是運(yùn)行xdm以圖形界面方式登錄。id為標(biāo)識(shí)符,通常為兩個(gè)字母。 process為需要執(zhí)行的程序或腳本。action包括有:
(1) defaultinit —— 指定缺省的運(yùn)行模式(runlevel)
(2) sysinit —— 指定運(yùn)行的第一個(gè)程序/腳本,此時(shí)runlevels域不起作用。
(3) boot —— 在sysinit之后執(zhí)行,runlevels域不起作用
(4) bootwait —— 同boot,但init會(huì)等待該命令結(jié)束
(5) once —— 在進(jìn)入有runlevels指定的運(yùn)行模式時(shí)運(yùn)行
(6) wait —— 同上,但init會(huì)等待該命令結(jié)束
(7) respawn —— 在進(jìn)入相應(yīng)runlevel時(shí)執(zhí)行,并且若該進(jìn)程結(jié)束,init會(huì)再起一個(gè)進(jìn)程執(zhí)行同樣的命令
(icon_cool.gif ctrlaltdel —— 指定在用戶按下Ctrl-Alt-Del時(shí)執(zhí)行的命令
對(duì)于linux來說,執(zhí)行的順序?yàn)椋?/span>
/etc/rc.d/rc.sysinit # 由init執(zhí)行的第一個(gè)腳本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL為缺省的運(yùn)行模式
/sbin/mingetty # 等待用戶登錄
init程序部分
init 程序通常在/sbin或/bin下,它負(fù)責(zé)在系統(tǒng)啟動(dòng)時(shí)運(yùn)行一系列程序和腳本文件。init程序一旦被內(nèi)核調(diào)用,便成為系統(tǒng)的第0號(hào)進(jìn)程,該進(jìn)程對(duì)于 LINUX系統(tǒng)是十分重要的,有關(guān)它的詳細(xì)內(nèi)容請(qǐng)參閱其他資料。init進(jìn)程做的每一步都由/etc/initab中的配置決定。以下是RadHat 的/etc/inittab文件的例子:
inittab文件的每一行包含四個(gè)域,格式為:
code:runlevels:action:command
(1) code域用單個(gè)或兩個(gè)字符序列來作為本行的標(biāo)識(shí),這個(gè)標(biāo)識(shí)在此文件中是唯一的。文件中的某些記錄必須使用特定的code才能使系統(tǒng)工作正常。
(2) runlevels域給出的是本行的運(yùn)行級(jí)別。LINUX系統(tǒng)運(yùn)行在一定的級(jí)別下,當(dāng)inittab文件指定了某一特定的運(yùn)行級(jí)別時(shí),該記錄行包含的命令將被執(zhí)行。RedHat系統(tǒng)通常設(shè)置了7個(gè)運(yùn)行級(jí)別(0-6),各運(yùn)行級(jí)別的說明包含在inittab文件的開頭。
(3) action域指出的是init程序執(zhí)行command命令的方式。比如:只執(zhí)行command一次,還是在它退出時(shí)重啟。
(4) command域給出相應(yīng)記錄行要執(zhí)行的命令
運(yùn)行級(jí)別1是單用戶模式,所謂單用戶指的是系統(tǒng)運(yùn)行在唯一用戶–超級(jí)用戶模式下。而大多數(shù)情況下,系統(tǒng)運(yùn)行在多用戶模式下。在啟動(dòng)出錯(cuò)、文件系統(tǒng)出錯(cuò)等情況下,系統(tǒng)將進(jìn)入單用戶模式,此時(shí),系統(tǒng)只有很少的配置,這對(duì)于恢復(fù)系統(tǒng)是很必要的。
inittab文件首先指出缺省的運(yùn)行級(jí)別(如 id:3:initdefault:),我們看到上面的例子中缺省的運(yùn)行級(jí)別為3。此后根據(jù)下一條記錄,系統(tǒng)應(yīng)當(dāng)運(yùn)行/etc/rc.d/rc.sysinit,這是一個(gè)腳本文件,主要包括基本的系統(tǒng)初始化命令,如激活交換分區(qū)、檢查并掛上文件系統(tǒng)、裝載部分模塊等。
(1)具體操作
#vi /etc/inittab –編輯/etc/inittab文件
#vi /etc/inittab –編輯/etc/inittab文件
找到下面語句:
# Default runlevel. The runlevels used by RHS are:
# 0 – halt (Do NOT set initdefault to this) –停機(jī)
# 1 – Single user mode –單用戶模式
# 2 – Multiuser, without NFS (The same as 3, if you do not havenetworking) –多用戶模式,不支持NFS
# 3 – Full multiuser mode –多用戶模式
# 4 – unused –沒有使用
# 5 – X11 –圖形界面方式
# 6 – reboot (Do NOT set initdefault to this) –重新啟動(dòng)
#
id:5:initdefault: –默認(rèn)運(yùn)行等級(jí)是5,只要將此處改成 id:3:initdefault:即可
在文本模式想啟動(dòng)圖形界面,可以打如下命令:
#startx
(2)*inittab是做什么的?
(2)*inittab是做什么的?
在KERNEL起來之后,將生成第一個(gè)進(jìn)程——init,實(shí)際上是執(zhí)行了/sbin/init。init的工作是根據(jù)/etc/inittab來執(zhí)行相應(yīng)的腳本進(jìn)行系統(tǒng)初始化,如設(shè)置鍵盤、字體,裝載模塊,設(shè)置網(wǎng)絡(luò),等等。
/etc/inittab文件的每一行包括四個(gè)域:
id:runlevels:action:process
runlevel是運(yùn)行模式,通常為0-6。模式0是 halt,模式6是reboot,模式1是單用戶,模式2/3是多用戶,模式5是運(yùn)行xdm以圖形界面方式登錄。id為標(biāo)識(shí)符,通常為兩個(gè)字母。 process為需要執(zhí)行的程序或腳本。action包括有:
(1) defaultinit —— 指定缺省的運(yùn)行模式(runlevel)
(2) sysinit —— 指定運(yùn)行的第一個(gè)程序/腳本,此時(shí)runlevels域不起作用。
(3) boot —— 在sysinit之后執(zhí)行,runlevels域不起作用
(4) bootwait —— 同boot,但init會(huì)等待該命令結(jié)束
(5) once —— 在進(jìn)入有runlevels指定的運(yùn)行模式時(shí)運(yùn)行
(6) wait —— 同上,但init會(huì)等待該命令結(jié)束
(7) respawn —— 在進(jìn)入相應(yīng)runlevel時(shí)執(zhí)行,并且若該進(jìn)程結(jié)束,init會(huì)再起一個(gè)進(jìn)程執(zhí)行同樣的命令
(icon_cool.gif ctrlaltdel —— 指定在用戶按下Ctrl-Alt-Del時(shí)執(zhí)行的命令
對(duì)于linux來說,執(zhí)行的順序?yàn)椋?/span>
/etc/rc.d/rc.sysinit # 由init執(zhí)行的第一個(gè)腳本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL為缺省的運(yùn)行模式
/sbin/mingetty # 等待用戶登錄
init程序部分
init 程序通常在/sbin或/bin下,它負(fù)責(zé)在系統(tǒng)啟動(dòng)時(shí)運(yùn)行一系列程序和腳本文件。init程序一旦被內(nèi)核調(diào)用,便成為系統(tǒng)的第0號(hào)進(jìn)程,該進(jìn)程對(duì)于 LINUX系統(tǒng)是十分重要的,有關(guān)它的詳細(xì)內(nèi)容請(qǐng)參閱其他資料。init進(jìn)程做的每一步都由/etc/initab中的配置決定。以下是RadHat 的/etc/inittab文件的例子:
inittab文件的每一行包含四個(gè)域,格式為:
code:runlevels:action:command
(1) code域用單個(gè)或兩個(gè)字符序列來作為本行的標(biāo)識(shí),這個(gè)標(biāo)識(shí)在此文件中是唯一的。文件中的某些記錄必須使用特定的code才能使系統(tǒng)工作正常。
(2) runlevels域給出的是本行的運(yùn)行級(jí)別。LINUX系統(tǒng)運(yùn)行在一定的級(jí)別下,當(dāng)inittab文件指定了某一特定的運(yùn)行級(jí)別時(shí),該記錄行包含的命令將被執(zhí)行。RedHat系統(tǒng)通常設(shè)置了7個(gè)運(yùn)行級(jí)別(0-6),各運(yùn)行級(jí)別的說明包含在inittab文件的開頭。
(3) action域指出的是init程序執(zhí)行command命令的方式。比如:只執(zhí)行command一次,還是在它退出時(shí)重啟。
(4) command域給出相應(yīng)記錄行要執(zhí)行的命令
運(yùn)行級(jí)別1是單用戶模式,所謂單用戶指的是系統(tǒng)運(yùn)行在唯一用戶–超級(jí)用戶模式下。而大多數(shù)情況下,系統(tǒng)運(yùn)行在多用戶模式下。在啟動(dòng)出錯(cuò)、文件系統(tǒng)出錯(cuò)等情況下,系統(tǒng)將進(jìn)入單用戶模式,此時(shí),系統(tǒng)只有很少的配置,這對(duì)于恢復(fù)系統(tǒng)是很必要的。
inittab文件首先指出缺省的運(yùn)行級(jí)別(如 id:3:initdefault:),我們看到上面的例子中缺省的運(yùn)行級(jí)別為3。此后根據(jù)下一條記錄,系統(tǒng)應(yīng)當(dāng)運(yùn)行/etc/rc.d/rc.sysinit,這是一個(gè)腳本文件,主要包括基本的系統(tǒng)初始化命令,如激活交換分區(qū)、檢查并掛上文件系統(tǒng)、裝載部分模塊等。