Linux基礎-6.系統的啟動過程
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.系統的啟動過程