Day - 23(系統(tǒng)服務(wù)):

一、CentOS 6和7的啟動流程:
CentOS 6:

內(nèi)核引導(dǎo)
1.當計算機打開電源后,首先是BIOS開機自檢,按照BIOS中設(shè)置的啟動設(shè)備(通常是硬盤)來啟動。操作系統(tǒng)接管硬件以后,首先讀入 /boot 目錄下的內(nèi)核文件。
運行init
init 進程是系統(tǒng)所有進程的起點,你可以把它比擬成系統(tǒng)所有進程的老祖宗,沒有這個進程,系統(tǒng)中任何進程都不會啟動。init 程序首先是需要讀取配置文件 /etc/inittab。
運行級別
許多程序需要開機啟動。它們在Windows叫做"服務(wù)"(service),在Linux就叫做"守護進程"(daemon)。init進程的一大任務(wù),就是去運行這些開機啟動的程序。但是,不同的場合需要啟動不同的程序,比如用作服務(wù)器時,需要啟動Apache,用作桌面就不需要。Linux允許為不同的場合,分配不同的開機啟動程序,這就叫做"運行級別"(runlevel)。也就是說,啟動時根據(jù)"運行級別",確定要運行哪些程序。
系統(tǒng)初始化
在init的配置文件中有這么一行: si::sysinit:/etc/rc.d/rc.sysinit 它調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統(tǒng)初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本。它主要完成的工作有:激活交換分區(qū),檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)。
建立終端
rc執(zhí)行完畢后,返回init。這時基本系統(tǒng)環(huán)境已經(jīng)設(shè)置好了,各種守護進程也已經(jīng)啟動了。init接下來會打開6個終端,以便用戶登錄系統(tǒng)。
用戶登錄系統(tǒng)
一般來說,用戶的登錄方式有三種:
(1)命令行登錄
(2)ssh登錄
(3)圖形界面登錄
CentOS 7:

區(qū)別:

二、系統(tǒng)的運行級別:
CentOS 6 :
級別:
0 關(guān)機
1 單用戶模式 (超級權(quán)限 必須面對實體硬件)
2 暫未使用
3 字符界面(黑框)
4 暫未使用
5 圖形界面
6 重啟
0 6 關(guān)機 重啟
3 5 字符 圖形
1 單用戶
2 4 沒有使用
CentOS 7:
級別:
0 關(guān)機
1 單用戶模式 (超級權(quán)限 必須面對實體硬件)
2 暫未使用
3 字符界面(黑框)
4 暫未使用
5 圖形界面
6 重啟
0 6 關(guān)機 重啟
3 5 字符 圖形
2 4 沒有使用
1 單用戶

命令:
查看當前的運行級別
systemctl get-default multi-user.target
修改系統(tǒng)下次啟動時候的運行級別:
systemctl set-default multi-user.target
三、systemd的使用
什么是systemd
系統(tǒng)運行的最高運行的最高級別的進程,祖宗進程。
命令:
systemctl start nginx
開啟nginx服務(wù)
systemctl stop nginx
停止nginx服務(wù)
systemctl restart nginx
重啟nginx服務(wù)
systemctl reload nginx
重新加載nginx服務(wù)
systemclt status nginx
查看nginx服務(wù)的信息
systemctl enable nginx
永久開啟nginx服務(wù),與當前服務(wù)的這狀態(tài)無關(guān)。
systemctl disable nginx
永久不啟動nginx服務(wù),與當前服務(wù)的這狀態(tài)無關(guān)。
查看信息中的狀態(tài):

四、單用戶模式(超級用戶權(quán)限的模式)
能正常引導(dǎo)進入系統(tǒng)
1.配置文件錯誤導(dǎo)致無法啟動
2.忘記ROOT密碼 ( 快照 | 單用戶修改)
https://mp.weixin.qq.com/s/1f-zCq8j4gL3xiB3AV9K3A 忘記root密碼
五、救援模式(CD光盤)
試用場景:
系統(tǒng)無法正常進入 比如沒有內(nèi)核 比如grub被修改 比如系統(tǒng)崩潰
沒有內(nèi)核文件,只能使用救援模式進入
系統(tǒng)崩潰, 要保留重要的數(shù)據(jù)的時候
grub菜單出現(xiàn)問題, linux windows