溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)啟動(dòng)順序是什么

發(fā)布時(shí)間:2021-10-21 16:57:27 來源:億速云 閱讀:155 作者:柒染 欄目:云計(jì)算

Linux系統(tǒng)啟動(dòng)順序是什么,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

Linux啟動(dòng)順序

加電加電自檢(BIOS)硬件檢查

MBR(找到需要啟動(dòng)的系統(tǒng),由于實(shí)際計(jì)算機(jī)上可能會(huì)裝有多個(gè)系統(tǒng))

bootloader系統(tǒng)初始化,裝載kenel到內(nèi)存

內(nèi)核執(zhí)行,決定哪些設(shè)備需要驅(qū)動(dòng)程序初始化,掛載根文件系統(tǒng),啟動(dòng)第一個(gè)進(jìn)程init

啟動(dòng)/etc/rc.d/sysinit

(這是由init執(zhí)行的第一個(gè)腳本,在Redhat中,/etc/rc.d/rc.sysinit主要做在各個(gè)運(yùn)行模式中相同的初始化工作,包括:調(diào)入keymap以及系統(tǒng)字體,啟動(dòng)swapping,設(shè)置主機(jī)名,設(shè)置NIS域名,檢查(fsck)并mount文件系統(tǒng),打開quota,裝載聲卡模塊,設(shè)置系統(tǒng)時(shí)鐘)

(rc--run command運(yùn)行命令,d-精靈進(jìn)程,啟動(dòng)過程看不到的進(jìn)程,/etc文件下是很重要的配置文件,不要亂修改)

加載其他模塊(內(nèi)存、硬盤、光驅(qū)等)

run level script(/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL為缺省的運(yùn)行模式,最多6層,每個(gè)層次啟動(dòng)的程序是不一樣的,各個(gè)層次之間沒有關(guān)系)

執(zhí)行/etc/rc.d/rc.local(非常重要,在安裝tomcat后需要設(shè)置自啟動(dòng)時(shí)修改這個(gè))      —執(zhí)行/bin/loginshell啟動(dòng)

拓展:Linux引導(dǎo)過程

系統(tǒng)加電之后,首先進(jìn)行的硬件自檢,然后是bootloader對(duì)系統(tǒng)的初始化,加載內(nèi)核。內(nèi)核被加載到內(nèi)存中之后,就開始執(zhí)行了。一旦內(nèi)核啟動(dòng)運(yùn)行,對(duì)硬件的檢測(cè)就會(huì)決定需要對(duì)哪些設(shè)備驅(qū)動(dòng)程序進(jìn)行初始化(這里的硬件檢測(cè)與前面的硬件自檢不同,這是系統(tǒng)內(nèi)核對(duì)硬件進(jìn)行檢測(cè)以決定是否需要初始化)。從這里開始,內(nèi)核就能夠掛裝根文件系統(tǒng)(這個(gè)過程類似于Windows識(shí)別并存取C盤的過程)。內(nèi)核掛裝了根文件系統(tǒng),并已初始化所有的設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)結(jié)構(gòu)等之后,就通過啟動(dòng)一個(gè)叫init的用戶級(jí)程序,完成引導(dǎo)進(jìn)程。

拓展:?jiǎn)?dòng)順序

 Init進(jìn)程是系統(tǒng)啟動(dòng)之后的第一個(gè)用戶進(jìn)程,所以它的pid(進(jìn)程編號(hào))始終為1。init進(jìn)程上來首先做的事是去讀取/etc/目錄下inittab文件中initdefault id值,這個(gè)值稱為運(yùn)行級(jí)別(run-level)。它決定了系統(tǒng)啟動(dòng)之后運(yùn)行于什么級(jí)別。運(yùn)行級(jí)別決定了系統(tǒng)啟動(dòng)的絕大部分行為和目的。這個(gè)級(jí)別從0到6,具有不同的功能。不同的運(yùn)行級(jí)定義如下:

 # 0 - 停機(jī)(千萬別把initdefault設(shè)置為0,否則系統(tǒng)永遠(yuǎn)無法啟動(dòng))

 # 1 - 單用戶模式

 # 2 - 多用戶,沒有 NFS

 # 3 - 完全多用戶模式(標(biāo)準(zhǔn)的運(yùn)行級(jí))

 # 4 – 系統(tǒng)保留的

 # 5 - X11 (x window)

 # 6 - 重新啟動(dòng) (千萬不要把initdefault 設(shè)置為6,否則將一直在重啟 )

拓展: /etc/rc.d/與/etc/rc.d/init.d的關(guān)系

在這里先解釋一下init.d里面放的都是什么東西。這個(gè)目錄存放的是一些腳本,一般是linux以rpm包安裝時(shí)設(shè)定的一些服務(wù)的啟動(dòng)腳本。系統(tǒng)在安裝時(shí)裝了好多rpm包,這里面就有很多對(duì)應(yīng)的腳本。執(zhí)行這些腳本可以用來啟動(dòng),停止,重啟這些服務(wù)。

前面說到,/etc/rc.d/init.d這個(gè)目錄下的腳本就類似與windows中的注冊(cè)表,在系統(tǒng)啟動(dòng)的時(shí)候執(zhí)行。程序運(yùn)行到這里(init進(jìn)程讀取了運(yùn)行級(jí)別),相信從命名的角度大家也能猜到該運(yùn)行/etc/rc.d/init.d里面的腳本了,不然它為什么也叫init.d呢。沒錯(cuò),是該運(yùn)行init.d里的腳本了,但是并不是直接運(yùn)行,而是有選擇的因?yàn)橄到y(tǒng)并不需要啟動(dòng)所有的服務(wù)。

    那么,系統(tǒng)是如何選擇哪些需要啟動(dòng)哪些不要呢?這時(shí)剛才說的運(yùn)行級(jí)別就起作用了。

在決定了系統(tǒng)啟動(dòng)的run level之后,/etc/rc.d/rc這個(gè)腳本先執(zhí)行。在RH9和FC7的源碼中它都是一上來就check_runlevel()(雖然實(shí)現(xiàn)的代碼不一樣,也大同小異),知道了運(yùn)行級(jí)別之后,對(duì)于每一個(gè)運(yùn)行級(jí)別,在rc.d下都有一個(gè)子目錄分別是rc0.d,rc1.d ….. rc6.d。每個(gè)目錄下都是到init.d目錄的一部分腳本一些鏈接。每個(gè)級(jí)別要執(zhí)行哪些服務(wù)就在相對(duì)應(yīng)的目錄下,比如級(jí)別5要啟動(dòng)的服務(wù)就都放在rc5.d下,但是放在這個(gè)rc5.d下的都是一些鏈接文件,鏈接到init.d中相對(duì)應(yīng)的文件,真正干活的init.d里的腳本。

拓展:rc?.d的作用

rc?.d中的?代表不同的運(yùn)行級(jí)別了,/etc/rc.d/rc根據(jù)其參數(shù)指定的運(yùn)行模式(運(yùn)行級(jí)別,你在inittab文件中可以設(shè)置)來執(zhí)行相應(yīng)目錄下的腳本。凡是以Kxx開頭的,都以stop為參數(shù)來調(diào)用;凡是以Sxx開頭的,都以start為參數(shù)來調(diào)用。調(diào)用的順序按xx從小到大來執(zhí)行。例如,假設(shè)缺省的運(yùn)行模式是3,/etc/rc.d/rc就會(huì)按上述方式調(diào)用/etc/rc.d/rc3.d/下的腳本。

例如進(jìn)入圖形模式的運(yùn)行級(jí)別是5,就是說在rc5.d中的S開頭進(jìn)程都會(huì)運(yùn)行,網(wǎng)絡(luò)多用戶文本模式的運(yùn)行級(jí)別是3,就是運(yùn)行所有rc3.d中S開頭的進(jìn)程。

單用戶模式就是rc1.d,如果是rc0.d就是關(guān)機(jī),其中沒有S開頭的,都是K開頭的進(jìn)程名字,代表殺掉進(jìn)程。

Linux系統(tǒng)啟動(dòng)順序是什么

 注:其余操作(1)exit(2)logout(注銷)(3)reboot(重啟)(4)shutdown(有參數(shù),可以通過shutdown --help/shutdown --??/man shutdown—man【manual-手冊(cè)的意思】會(huì)詳細(xì)介紹指令,退出用q),即關(guān)機(jī)的意思,然后可以關(guān)閉虛擬機(jī)的電源。

(5)一般敲init0也會(huì)關(guān)機(jī)。

Linux啟動(dòng)層次

Linux系統(tǒng)啟動(dòng)順序是什么

注:NFS 網(wǎng)絡(luò)文件系統(tǒng),有NFS時(shí)可以聯(lián)網(wǎng)。

配置文件

etc目錄作用:

/etc目錄用來存放系統(tǒng)中的配置文件,基本上所有的配置文件都可以在這里找到。這些文件一般都以XXX.conf的形式命名。通過編輯這些文件, 就可以對(duì)系統(tǒng)進(jìn)行更改和管理。如/etc/xinetd.conf是xinetd服務(wù)的配置文件,/etc/resolv.conf是用來指定本機(jī)的 DNS服務(wù)器地址等。

我們安裝好了一個(gè)新的軟件。其配置文件可能存放在/etc目錄下,也可能是在其他的目錄,如軟件主程序所在的目錄。有時(shí)為了便于管理,可以在/etc目錄下建立到新軟件配置文件的符號(hào)鏈接,這樣無論軟件如何安裝,我們都可以在/etc目錄下找到其配置文件。

例如:DNS服務(wù)的named進(jìn)程配置文件named.conf一般存放在/var/named目錄下,則可以通過以下命令建立上述符號(hào)鏈接:

# ln –s /var/named/named.conf /etc/named.conf

以后再修改DNS服務(wù)的配置,只要編輯 /etc/named.conf就可以了。

Linux系統(tǒng)啟動(dòng)順序是什么

rc0.d是一個(gè)目錄,不是一個(gè)文件,如下:

Linux系統(tǒng)啟動(dòng)順序是什么

——對(duì)于linux任意一個(gè)指令敲5次esc,會(huì)出現(xiàn)所有的指令。

——指令加上--help或者指令加上--?即可給出指令的相應(yīng)提示信息或者用 man shutdown——這就可以告訴我們shutdown的相關(guān)操作

Linux系統(tǒng)啟動(dòng)順序是什么

exist退出terminal終端,shutdown關(guān)機(jī),logout注銷。

關(guān)于Linux系統(tǒng)啟動(dòng)順序是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI