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