linux運行層級

來源:互聯網
上載者:User

     也許大家偶然會發現/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仍然能看到藍點漂亮的中文字型,IME也完全沒有問題。
  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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.