Ubuntu中缺少inittab檔案的原因

2021-06-09 23:25:20 字數 1889 閱讀 4970

問:**ubuntu啟動過程,init程序啟動後為什麼沒有inittab檔案?

答:**

因為debian 系衍生出來的linux 一向是沒有使用/etc/inittab 作為登入狀態文件來使用的。但是

雖然沒有系統預設沒有這個檔案,但是你可以自己建乙個inittab檔案。

因為從/etc/event.d/中的rc-default檔案中**可以看出:

script

runlevel --reboot || true

if grep -q -w -- "-s\|single\|s" /proc/cmdline; then

telinit s

elif [ -r /etc/inittab ]; then

rl="$(sed -n -e "/^id:[0-9]*:initdefault:/" /etc/inittab || true)"

if [ -n "$rl" ]; then

telinit $rl

else

telinit 2 fi

else

telinit 2 fi

end script

系統會首先搜尋inittab檔案,如果不存在,那麼將執行在2級別上。所以你可以自己建個inittab檔案,或者把相應的telinit 2 改為 telinit x(你想要執行的級別)

轉到kubuntu之前曾經學習了一下,了解到ubuntu在6.10開始用upstart替代init,主要指令碼都在/etc/event.d下面,預設情況下/etc下沒有inittab檔案。

剛裝上kubuntu時候專門到/etc/event.d下看了一下,特別注意到rc-default這個指令碼,裡面有一段內容:

elif [ -r /etc/inittab ] then

說明預設情況下inittab雖然不存在,但是使用者建立的inittab還是會被注意到的。

然後又經別人的指點看了一下/usr/share/doc/upstart/下面的文件,其中readme.debian中有這麼一段內容:

這就給我這樣乙個印象,即雖然ubuntu用upstart替代init,但還是和init保持相容。

今天正好需要將系統直接啟動到字元介面下,即不啟動kdm。

edit the /etc/inittab file

那就試試自建乙個inittab檔案,並按照以前的習慣寫入一行id:3:initdefault: ,儲存後重新啟動,結果發現毫無變化,依然啟動到桌面,有點納悶,難道inittab不起作用?在終端裡輸入runlevel檢查當前狀態,顯示 n 3,說明inittab有效果,那是什麼原因呢?

將剛才建立的inittab移除,將系統恢復到之前的狀態並重新啟動,再用runlevel檢查,顯示 n 2,說明ubuntu系統的default runlevel可能是2,這和我以前的常識有些衝突,看來又需要學習了。

先去分別檢視/etc/rc2.d至rc5.d下的內容,發現基本一致,都啟動了kdm。這與其他的linux發行版不太一致,通常runlevel 3是multi user mode,即直接登入到字元介面;而runlevel 5是multi user mode with gui,即登入到圖形介面。

後來在debian的faq裡面搜尋到這樣的內容:

0(halt the system)

1(single-user mode)

2through5(various muli-user modes),and

6(reboot the system)

小區別就在這裡了,看來debian以及衍生出來的發行版,如ubuntu的default runlevel確實是2,而且id 2至5都是一樣的。

真相大白,再次建立inittab,寫入id:3:initdefault: ,然後進入/etc/rc3.d,將s13kdm移動到其他目錄備份起來,重新啟動系統,如願以償進入字元介面。

ubuntu 缺少動態依賴庫

困擾我好久的乙個報錯,終於解決了 之前我一直以為是 python 的問題,以為是模組相互調引起的報錯,忽略了最後一行這個錯誤 oserror libgcbase gcc421 v3 0.so cannot open shared object file no such file or directo...

解決Ubuntu下latex編譯缺少中文字型的錯誤

1.緒言 thesis uestc.cls 58 fontspec error font not found the font simhei cannot be found.see the fontspec documentation for further information.for imme...

ubuntu系統的螢幕擴充套件之缺少顯示卡驅動

在linux系統下進行開發,如果可以擴充套件一塊顯示屏會極大的提高我們的開發效率,但對於我們剛剛從windows轉到linux的雛鳥來說,多多少少還會有些不適應,就那擴充套件螢幕來說,我們只要把擴充套件屏插入到電腦的hdmi介面上通過win p就可以對擴充套件螢幕進行設定,然而在linux下,插上介...