1. 程式人生 > >Linux基礎-6.系統的啟動過程

Linux基礎-6.系統的啟動過程

回來 過程 alt+ 命令行 image 維護 防止 down 用戶登錄

Linux啟動時我們會看到許多啟動信息

Linux系統的啟動過程並不是大家想象中的那麽復雜,其過程可以分為5個階段:

  • 內核的引導
  • 運行init
  • 系統初始化
  • 建立終端
  • 用戶登錄系統
init程序的類型:
•SysV:init,CentOS 5之前,配置文件:/etc/inittab
•Upstart:init,CentOS 6,配置文件:/etc/inittab, /etc/init/*.conf
•Systemd:systemd,CnetOS 7,配置文件:/usr/lib/systemd/system, /etc/systemd/system

1、內核引導

當計算機打開電源後,首先是BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬盤)來啟動

操作系統接管硬件以後,首先讀入/boot目錄下的內核文件

技術分享圖片

2、運行init

init進程是系統所有進程的起點,可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啟動

init程序首先是需要讀取配置文件/etc/inittab

技術分享圖片

3、運行級別

許多程序需要開機啟動。在Windows中叫做“服務”(service),在Linux中叫做“守護進程”(daemon)

init進程的一大任務,就是去運行這些開機啟動的程序

但是,不同的場合需要啟動不同的程序,比如用作服務器時,需要啟動Apache,用作桌面就不需要

Linux允許為不同的場合,分配不同的開機啟動程序,這就叫做“運行級別”(run level)。也就是說,啟動時根據“運行級別”,三寶要運行哪些程序

技術分享圖片

Linux系統有7個運行級別(run level):

  • 運行級別0:系統關機狀態,系統默認運行級別不能設為0,否則不能正常啟動
  • 運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登錄
  • 運行級別2:多用戶狀態(沒有NFS)
  • 運行級別3:完全的多用戶狀態(有NFS),登錄後進入控制臺命令行模式
  • 運行級別4:系統未使用,保留
  • 運行級別5:X11控制臺,登錄後進入圖形GUI模式
  • 運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動

4、系統初始化

技術分享圖片

5、建立終端

系統初始化後,這時基本系統環境已經設置好了,各種守護進程也已經啟動了

init接下來會打開6個終端(tty1~tty6),以便用戶登錄系統。

同時它會顯示一個文本登錄界面,這個界面就是我們經常看到的登錄界面,在這個登錄界面中會提示用戶輸入用戶名,而用戶輸入的用戶將作為參數傳給login程序來驗證用戶的身份

6、用戶登錄系統

一般來說,用戶的登錄方式有三種:

  • (1)命令行登錄
  • (2)shh登錄
  • (3)圖形界面登錄

技術分享圖片

對於運行級別為5的圖形方式用戶來說,他們的登錄是通過一個圖形化的登錄界面。登錄成功後可以直接進入KDE、Gnome等窗口管理器

對於文本方式登錄的情況,當我們看到mingetty的登錄界面時,我們就可以輸入用戶名和密碼來登錄系統了

Linux的賬號驗證程序是login,login會接收mingetty傳來的用戶名作為用戶名參數,然後login會對用戶名進行分析:如果用戶名不是root,且存在/etn/nologin文件,login將輸出nologin文件的內容,然後退出。這通常用來系統維護時防止非root用戶登錄。只有/etc/securetty中登記了的終端才允許root用戶登錄,如果不存在這個文件,則root用戶可以在任何終端上登錄

/etc/usertty文件用於對用戶作出附加訪問限制,如果不存在這個文件,則沒有其他限制

7、圖形模式與文字模式的切換方式

Linux預設提供了六個命令窗口終端機讓我們來登錄

默認我們登錄的就是第一個窗口,也就是tty1,這六個窗口分別為tty1,tty2...tty6,可以按下ctrl+alt+F1~F6來切換

如果安裝了圖形界面,默認情況下是進入圖形界面的,此時就可以按ctrl+alt+F1~F6來進入其中一個命令窗口界面

當你進入命令窗口界面後再返回圖形界面只要按下ctrl+alt+F7就回來了

技術分享圖片

8、Linux關機

在Linux領域內大多用在服務器上,很少遇到關機的操作。畢竟服務器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機

正確的關機流程為:sync > shutdown > reboot > halt

關機指令為:shutdown,可以用man shutdown來查看幫助文檔

例如:可以運行如下命令關機:

sync 將數據由內存同步到硬盤中
shutdown 關機指令
shutdown -h 10 這個命令是說計算機將在10分鐘後關機,並且會顯示在登錄用戶的當前屏幕中
shutdown -h now 立馬關機
shutdown -h +10 10分鐘後關機
shutdown -r now 系統立馬重啟
shutdown -r +10 系統10分鐘後重啟
reboot 重啟,等同於shutdown -r now
halt 關閉系統,等同於shutdown -h now和poweroff
init 0 關機
init 6 重啟

Linux基礎-6.系統的啟動過程