Label Cloud

Tuesday, December 9, 2008

ubuntu下用inittab

下面是我剛使用ubuntu不久時~搞很久才發現它和一般Linux之間的差異所寫下來的~
提供給需要的人參考囉!!

###### ubuntu 8.04- run level ######

一般 linux 在 /etc 底下會有一個 inittab 的檔案
但是在 ubuntu 的 /etc 底下卻找不到此檔案
因為在 ubuntu 的 /etc 下改用 event.d 來控制預設的開機 runlevel

若有需要更改啟動的 runlevel 是在 init (x) 的話
則不是使用一般的 inittab 檔來做修改
但是 ubuntu 對於 inittab 的設定方式也是接受的
若習慣使用 inittab 的使用者 則可以自己另外寫入一個 inittab 的檔案
而且不需將原本 /etc 下的 event.d 移除掉 系統則會以 inittab 的設定來啟動
將此 inittab 檔案放在 /etc 下 而若需要修改預設的 runlevel 就可以用此檔來修改

例如:
id : 2 : initdefault :
其中的 2 代表預設 runlevel 是使用 init 2 來啟動 若需要修改
則更改此數字為希望預設啟動的等級即可
但是切記!! 不能更改為 0 或 6
因為 0 為關機 而 6 為重新啟動 這樣會造成系統無法正常開機 而不斷的關機或重新啟動

*補充說明*
ubuntu 雖然可以接受 inittab 的設定方式 但是還有一點很重要的差異需要注意
一般安裝完 linux OS 開機進入圖形介面 當下所在的 runlevel 預設為 5
若不確定 則可在終端機裡下 "runlevel" 這個指令查詢目前所在的 runlevel
而 ubuntu 特別的是它預設開啟的 runlevel 為 2
就算將預設的 runlevel 更改為 3 (一般的文字介面) 仍然會發現還是會開啟圖形介面 X window
原因就是在 rc(x).d 裡面 可以發現幾乎都有 S(xx)gdm 的預設啟動 link 名稱在裡面
假設希望在設定啟動為 runlevel 3 時 不要開啟圖形介面 而是文字介面
那我們可以進入 /etc/rc3.d/ 裡面 將 S(xx)gdm 的預設啟動的link做更名、拿掉或是備份在其它地方
這樣在使用 runlevel 3 開機時 就不會將 gdm 的圖形介面服務啟動了

上述提到的 S(xx)gdm S 是表示 start 啟動服務的意思
而 xx 是表示兩位數字(規定要兩位數) 也就是啟動服務的先後順序
"gdm" 當然指的就是服務名稱

以此方式 當然使用者也可以用手動 link 的方式
將希望要在某 runlevel 開機時 就同時啟動某些服務的名稱 設定 link 在相對應的 rc(x).d 裡面
但是大部份預設啟動的方式可以用指令 chkconfig (service name) on 來做即可
這些都可以依個人需求來調整設定
(以上說明的所有"括號"都只是數字的區別而已 記得要去掉,而括號裡的x當然就是數字囉)

No comments: