您好,登錄后才能下訂單哦!
這篇“Linux的運(yùn)行級(jí)別與目標(biāo)怎么設(shè)置”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Linux的運(yùn)行級(jí)別與目標(biāo)怎么設(shè)置”文章吧。
大家都知道 Windows 有安全模式,它是Windows的最小模式,和普通模式相比,安全模式可以讓用戶更好地進(jìn)行系統(tǒng)檢測(cè)以及錯(cuò)誤修復(fù)。Linux 的運(yùn)行級(jí)別是個(gè)類似的機(jī)制,不同的運(yùn)行級(jí)別有不同的作用:
我們通常用到的是級(jí)別 3 和 5,一般服務(wù)器不需要安裝圖形界面,并且需要支持用戶遠(yuǎn)程連接,所以運(yùn)行級(jí)別會(huì)選擇 3;個(gè)人電腦一般需要 GUI,所以會(huì)選擇運(yùn)行級(jí)別 5。
想查看當(dāng)前系統(tǒng)的運(yùn)行級(jí)別可以使用命令用到命令
#runlevel
N 5
上面的結(jié)果表示當(dāng)前的運(yùn)行級(jí)別是 5。在不同級(jí)別間切換可以使用命令
#init [運(yùn)行級(jí)別]
比如當(dāng)前運(yùn)行在級(jí)別 3,是多用戶字符界面,想要啟動(dòng) GUI 圖形界面,只需要輸入 init 5
雖然運(yùn)行級(jí)別可以實(shí)時(shí)切換,如果想修改系統(tǒng)啟動(dòng)時(shí)默認(rèn)的運(yùn)行級(jí)別,在 CentOS 5 和 6 中也可以修改 /etc/inittab 文件來(lái)進(jìn)行配置。
在 CentOS 7 之前,系統(tǒng)的初始化進(jìn)程是 init,它的 PID 是 1,初始化進(jìn)程就是系統(tǒng)第一個(gè)被執(zhí)行的程序,所有其他進(jìn)程都是它的子進(jìn)程,所以我們切換運(yùn)行級(jí)別用到的命令是 init,系統(tǒng)啟動(dòng)默認(rèn)運(yùn)行級(jí)別的配置文件是 /etc/inittab。
從 CentOS 7 開(kāi)始,系統(tǒng)初始化進(jìn)程采用了全新的 systemd。從它的名字可以看出,它是一個(gè)服務(wù),由系統(tǒng)自動(dòng)在后臺(tái)運(yùn)行。和 init 相比,systemd 有一些明顯的優(yōu)勢(shì):
1) systemd 在系統(tǒng)啟動(dòng)時(shí)使用了并發(fā)的啟動(dòng)機(jī)制,而 init 是按順序依次啟動(dòng)每項(xiàng)服務(wù)。實(shí)際上很多服務(wù)之間沒(méi)有依賴關(guān)系,不需要依次等待。在 Linux 早期,計(jì)算機(jī)的CPU是單核的,一次只能處理一項(xiàng)任務(wù),所以 init 的設(shè)計(jì)有它的合理性。但隨著硬件技術(shù)發(fā)展,現(xiàn)在的服務(wù)器CPU大多是多核心的,可以同時(shí)處理多項(xiàng)任務(wù),systemd 可以并發(fā)啟動(dòng)那些不相關(guān)的服務(wù),所以系統(tǒng)啟動(dòng)速度得到了極大的提升。
2) systemd 是按需啟動(dòng)服務(wù),而 init 是將所有后臺(tái)服務(wù)統(tǒng)統(tǒng)啟動(dòng),全部完成后才允許用戶登錄。init 的這種方式會(huì)使得系統(tǒng)啟動(dòng)比較慢,另外也會(huì)占用比較多的系統(tǒng)資源。systemd 采用的方式是只有某個(gè)服務(wù)被請(qǐng)求時(shí)才會(huì)啟動(dòng)它,使用完成后會(huì)動(dòng)態(tài)將該服務(wù)關(guān)閉,所以不管是啟動(dòng)速度,還是系統(tǒng)資源的使用, systemd 都有很大的優(yōu)勢(shì)。
systemd 有兩個(gè)核心的概念,單元(unit)和 目標(biāo)(target)。systemd 進(jìn)程對(duì)系統(tǒng)的管理就是通過(guò)一個(gè)個(gè)的單元來(lái)實(shí)現(xiàn)的。比如服務(wù),每一個(gè)服務(wù)都有一個(gè)對(duì)應(yīng)的單元,而且每個(gè)單元都有一個(gè)配置文件,配置文件通常以 .service 作為文件名后綴,像 sshd 服務(wù),它的配置文件就是 /usr/lib/systemd/system/sshd.service
有一類比較重要的單元叫目標(biāo)單元(target unit),或者簡(jiǎn)稱目標(biāo)(target),它們的配置文件名后綴為 .target。在 systemd 中,我們用 target 來(lái)模擬實(shí)現(xiàn)系統(tǒng)不同的運(yùn)行級(jí)別。
上面提到,CentOS 7 將系統(tǒng)初始化進(jìn)程從 init 改為了 systemd,init 的運(yùn)行級(jí)別(runlevels)也改成了用目標(biāo)(target)來(lái)實(shí)現(xiàn),不同的運(yùn)行級(jí)別和目標(biāo)之間是什么對(duì)應(yīng)關(guān)系呢,我們用下面這張圖來(lái)做了一個(gè)總結(jié):
常用的運(yùn)行級(jí)別是 3 (多用戶字符模式)和 5(多用戶圖形界面模式),它們分別對(duì)應(yīng)的目標(biāo)就是 multi-user.target 和 graphical.target。設(shè)置和切換不同的運(yùn)行級(jí)別,CentOS 7 還是向前支持 init 命令,但是更建議我們使用 systemd 的管理工具 systemctl 來(lái)完成。
1) 查看當(dāng)前系統(tǒng)默認(rèn)運(yùn)行,可以使用 systemctl get-default 命令
#systemctl get-default
multi-user.target
2) 切換不同運(yùn)行級(jí)別,以管理員身份使用 systemctl [目標(biāo)名稱] 命令
#systemctl isolate graphical.target 切換到圖形界面
3) 設(shè)置系統(tǒng)啟動(dòng)默認(rèn)運(yùn)行級(jí)別
在 CentOS 5 和 6 中,系統(tǒng)啟動(dòng)默認(rèn)的運(yùn)行級(jí)別可以在 /etc/inittab 文件中進(jìn)行配置,但在 CentOS 7 中,我們打開(kāi)這個(gè)配置文件看一下:
從配置文件內(nèi)容可以看到,“在這里做任何的配置對(duì)系統(tǒng)都是沒(méi)有作用的,systemd 用目標(biāo)來(lái)取代運(yùn)行級(jí)別。默認(rèn)有兩個(gè)主要的目標(biāo),multi-user.target 相當(dāng)于運(yùn)行級(jí)別 3,graphical.target 相當(dāng)于運(yùn)行級(jí)別 5。使用 systemctl get-default 來(lái)看當(dāng)前使用目標(biāo),使用 systemctl set-default Target.target 來(lái)設(shè)置系統(tǒng)默認(rèn)目標(biāo)”。
所以我們用下面的命令來(lái)試一下,將系統(tǒng)啟動(dòng)目標(biāo)設(shè)置為 graphical
#systemctl set-default graphical.target
設(shè)置成功后,重啟電腦,發(fā)現(xiàn)果然進(jìn)入了 GUI 圖形界面模式。
以上就是關(guān)于“Linux的運(yùn)行級(jí)別與目標(biāo)怎么設(shè)置”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。