linux運行級別


  也許大家偶然會發現/sbin里有個init命令。你知道它是如何使用的嗎?
  如果你不喜歡使用圖形登錄方式,如何能夠讓用戶在控制台下運行startx命令呢?
  有時你要維護服務器,暫時不希望別的用戶登錄系統,但自己仍對網絡有訪問權,又該怎么辦呢?
  其實,如果你知道了三個問題之間的關系,它們就不成問題了。讓我們這里入手了解一下Linux的運行級別(runlevel)吧!
  其實init是Linux系統里的根進程,是系統所有進程的祖先。它的主要作用是根據記錄在/etc/inittab里的一個腳本(script)程序產生進程。這個文件通常用於控制用戶的登錄模式。Linux系統的有效登錄模式有0~9共十種,不過沿用UNIX系統的至多6種的限制,一般只有1到6有效。
  init一般在系統啟動時自動運行,也可以由root用戶調用。它的作用是切換系統的運行狀態。它的命令格式是:init NUM〈回車〉,其中NUM表示1到6的任一數字。
  6種模式中有兩種是系統內定的:
  0:停止系統運行。init 0〈回車〉相當於 halt〈回車〉。
  6:重啟系統。init 6〈回車〉相當於 reboot〈回車〉。
  如果你了解/etc/inittab文件,就千萬不要把0設為缺省登錄模式,否則你的Linux的運行就只能兩點一線了——開機←→停機,或者是開機←→重啟的無限循環。
  其他的4種模式實際上是由操作系統確定的。如果你願意修改Linux的源代碼,你也可以定義這4種(甚至6種)模式的實際功能。其實只要知道Linux發布廠商的約定就足夠了,下面我們就以藍點2.0為例,看看init的常用約定吧——
  init 1——進入單用戶模式。
  這和開機是選擇Safe Mode是一樣的,可以以root的權限對系統進行管理,但是不能進入圖形模式,也不支持中文,聲卡和網絡服務等就更不用提了。總之,它是系統可運行的最低軟硬件配置。
  它和Windows的安全模式是比較相似的,但一個本質的差別:在於只要你在Linux下運行相應的命令,硬件設備是可以在這種模式下被驅動的。例如只要你的光驅連線正確,一個mount /dev/cdrom命令,你的光盤內容就隨時可以在/mnt/cdrom里讀出來。
  要注意的是這一模式的字符控制台不能支持中文,但進入Xwin仍然能看到藍點漂亮的中文字體,輸入法也完全沒有問題。
  init 2——進入無網絡服務的多用戶模式
  如果你的計算機根本沒有連網,這個模式就跟普通模式一樣了。否則的話別人就不能通過網絡www、ftp或telnet登錄你的計算機了,但對與ping 命令你的計算機還是會作出反應的。如果連ping你也拒絕訪問,那么就不如直接把網線拔了!如果你的計算機作為網絡服務器,這一模式就挺有用了。譬如你要修整系統或更新網站內容,就可以把計算機調到這一模式,然后放心的進行你的工作,等工作完成后再切換到模式3或5就行了。但注意如果原來已經有用戶ftp或telnet進入了你的系統,用init 2 是不能中斷他和你的連接的,小心讓別人在這個時候黑你一把哦!——執行init 2前先用who命令檢查一下吧。
  這一模式下,在本機上的使用基本不變。你仍然可以訪問網絡,上Internet,ftp或telnet到網絡中的任何一台服務器。只是你的計算機在網絡中不給其他機器提供服務而已。計算機從第3運行級轉入這一模式時你會看到一系列網絡服務被停止。
  init 3或init 4——進入控制台登錄的多用戶模式
  這是藍點1.0的默認登錄模式,每個用戶都要先從黑白屏幕登錄之后才可以運行才能startx進入KDE精彩的圖形世界。而且Xwin啟動后,運行 startx的控制台就被鎖定了,除非你用startx &把Xwin放到后台運行。要到別的控制台用Ctrl+Alt+F*,*表示數字1到6中任一個,Ctrl+Alt+F7則回到圖形模式專用的7 號控制台(有時要用Ctrl+Alt+F8)。
  如果是從init 1 或init 2切換回init 3,我們可以看到一系列服務被重啟。
  init 5——進入圖形化登錄的多用戶模式
  這是藍點2.0安裝后默認的啟動模式。系統啟動后或執行init 5命令后,悅目的藍綠過渡色背景上就出現了漂亮的登錄窗口。
  所有帳號名都以圖標的方式出現在窗口里等待選擇,不必自己輸入。不過系統管理員可能不高興——這樣系統里有多少用戶豈不是讓人一目了然?不過在KDE控制中心中修改就可以解決問題的,我就不多說啦。
  如果系統出了問題,只要啟動仍然能進入這個界面(說明X服務器沒有問題),root帳號也可以從這里進入Linux的安全模式,就是在左下角的選擇框把模式從kde換為save failed就行了。當然進入的界面絕對沒有美觀可言,但用於修復X窗口管理器或應用程序的問題是必不可少的。
  登錄窗口剛出現時1到6控制台常常都是鎖定的。但在某個用戶登錄成功或失敗后,1到6的控制台就會變得全部可用。是不是有點莫名其妙?有時你還要在切換之后多按幾個回車甚至Ctrl+C才行呢。
  現在就來解決文章開頭所提的第二個問題吧——方法有兩種:傳統的方法就是root運行setup命令,重新配置X窗口系統,指定下次系統啟動時不自動進入圖形模式;另一種方法就是到控制台1到6的其中一個,鍵入init 3〈回車〉,圖形登錄窗口就會從7號控制台消失了,任何用戶都可以使用startx登錄系統。
  init 5這個模式不能和其他模式進行太多的切換。否則系統Linux就開始自我感覺不良好了,於是就重啟計算機以恢復元氣——Linux有時也要打打噴嚏的。
  更深入的了解……
  上述介紹的幾種模式玩夠了嗎?
  如果你想知道更多,就不妨打命令man init看看完全版的手冊,枯燥的手冊會告訴你:命令init結合/etc目錄下的一系列文件可以對你的系統的啟動實現深入的定制化設置……一般的用戶就不必為它操心啦 。

 

#0-停機(千萬不要把initdefault設置為0)
#1-單用戶模式
#2-多用戶,沒有NFS
#3-完全多用戶模式(標准的運行級)
#4-沒有用到
#5-X11(xwindow)
#6-重新啟動(千萬不要把initdefault設置為6)
這些級別在/etc/inittab 文件里指定。這個文件是init 程序尋找的主要文件,最先運行的服務是放在/etc/rc.d目錄下的文件。在大多數的Linux 發行版本中,啟動腳本都是位於 /etc/rc.d/init.d中的。這些腳本被用ln 命令連接到/etc/rc.d/rcn.d 目錄。(這里的n 就是運行級0-6)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM