溫馨提示×

溫馨提示×

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

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

Linux運行級別的重要性

發(fā)布時間:2020-06-02 09:05:40 來源:億速云 閱讀:352 作者:Leah 欄目:編程語言

Linux運行級別是什么?一般大家對Linux運行級別的了解可能停留在概念的層面上,而對于Linux運行級別的重要性了解相對較少。今天就跟大家聊聊Linux運行級別的重要性。

你可以將Linux運行級別視為操作系統(tǒng)運行的不同“模式”。這些模式或運行級別中的每一個都有其自己的已打開或關(guān)閉的進程和服務(wù)的列表。 從Linux啟動時開始,它始終處于某個運行級別。

隨著你繼續(xù)使用計算機,此運行級別可能會更改,具體取決于操作系統(tǒng)需要訪問的服務(wù)類型。

例如,與僅在系統(tǒng)上運行命令行的情況相比,使用圖形用戶界面運行Linux機器將需要不同的運行級別。

這是因為圖形用戶界面將需要訪問命令行所隱含的各種服務(wù)。 為了使系統(tǒng)確定需要打開(或關(guān)閉)哪些服務(wù),它會根據(jù)需要更改運行級別。

Linux運行級別的重要性

你可能已經(jīng)使用Linux多年了,而沒有意識到有不同的運行級別。 這是因為大多數(shù)服務(wù)器管理員不需要經(jīng)常配置它。
但是,Linux運行級別確實使管理員能夠更好地控制其管理的系統(tǒng)。

可以更改系統(tǒng)所在的運行級別(稍后將在本文中了解如何操作)以及在運行級別內(nèi)部運行的服務(wù)。 這使我們可以完全控制我們的系統(tǒng)在任何給定時間訪問哪些服務(wù)。                                             
Linux中有幾個運行級別?

Linux中有七個不同的運行級別,從零到六個。 各種發(fā)行版可能會不同地使用這七個運行級別,因此要匯編一份確定的運行級別清單并不容易。

相反,你需要檢查運行級別如何在你使用的特定發(fā)行版上工作。 在大多數(shù)情況下,以下列表表示Linux發(fā)行版通常如何配置運行級別:

運行級別0關(guān)閉系統(tǒng)。
運行級別1是單用戶模式,用于維護或管理任務(wù)。 你可能還會看到此模式稱為運行級別S(S代表單用戶)。
運行級別2是多用戶模式。 該運行級別不使用任何網(wǎng)絡(luò)服務(wù)。
運行級別3是具有聯(lián)網(wǎng)功能的多用戶模式。 如果你使用的系統(tǒng)沒有引導(dǎo)進入GUI(圖形用戶界面),則這是你慣常使用的運行級別。
不使用運行級別4。 用戶可以根據(jù)自己的目的自定義此運行級別(我們將在本文后面介紹如何執(zhí)行此操作)。
運行級別5與運行級別3相同,但它還會啟動顯示管理器。 如果使用引導(dǎo)進入GUI的系統(tǒng),則這是你慣常使用的運行級別。
運行級別6重新引導(dǎo)系統(tǒng)。

我當(dāng)前的運行水平是多少?
你只需在終端中輸入“ runlevel”,即可在大多數(shù)發(fā)行版上看到當(dāng)前的運行級別。

Linux運行級別的重要性

輸入“運行級別”命令時,它將給你兩個不同的數(shù)字。 第一個數(shù)字是系統(tǒng)正在運行的先前運行級別,第二個數(shù)字是系統(tǒng)的當(dāng)前運行級別。
在上面的屏幕截圖中,“ N”是“ none”的縮寫,表示該系統(tǒng)以前沒有處于任何不同的運行級別。 “ 5”表示我們的系統(tǒng)當(dāng)前處于運行級別5。
在本示例中,我們正在運行CentOS,該CentOS直接引導(dǎo)到圖形界面,因此為什么系統(tǒng)直接進入運行級別5。

如何更改當(dāng)前運行級別?

你可以使用“ telinit”命令更改系統(tǒng)的當(dāng)前運行級別。 例如,要更改為CentOS上的運行級別3,你可以輸入:
$ telinit 3

Linux運行級別的重要性

請記住,你必須是root用戶才能執(zhí)行此命令。 請注意,運行級別在Debian和Ubuntu上的工作方式有所不同-例如,即使不啟動GUI,Ubuntu也會啟動進入運行級別5。
如果你按照上面的示例,你的屏幕可能會變黑。 這是因為你留在-現(xiàn)在為空-tty。 只需在鍵盤上執(zhí)行Alt + F1(或其他功能鍵)即可將其帶到工作終端。

如果再次使用“ runlevel”命令,我們將看到我們現(xiàn)在處于運行級別3,并且由于我們剛剛對其進行了更改,因此上一個運行級別被列為5。

Linux運行級別的重要性

Linux系統(tǒng)的目標(biāo)是Vs. 運行級別

近年來,systemd已經(jīng)取代了長期存在的“ System V init”(運行級別)系統(tǒng)。 它仍然以基本相同的方式工作,但是使用一些新命令,并且通常將“運行級別”稱為“目標(biāo)”。
運行級別0 = poweroff.target(runlevel0.target)
運行級別1 = rescue.target(runlevel1.target)
運行級別2 =多用戶目標(biāo)(runlevel2.target)
運行級別3 =多用戶目標(biāo)(runlevel3.target)
運行級別4 =多用戶目標(biāo)(runlevel4.target)
運行級別5 = graphic.target(runlevel5.target)
運行級別6 = reboot.target(runlevel6.target)

隨著本教程的進行,我們將繼續(xù)介紹systemd和你需要知道的命令。

如何在啟動時更改默認(rèn)運行級別?

有很多原因可能導(dǎo)致你希望啟動到另一個運行級別。 例如,系統(tǒng)管理員通常會啟動到命令行,并且僅在認(rèn)為必要時才啟動圖形界面。
對于此功能,你需要確保將默認(rèn)運行級別設(shè)置為3,而不是5。

過去,需要在啟動時編輯/ etc / inittab文件以定義默認(rèn)運行級別。 在某些發(fā)行版上,你可能仍然會遇到這種情況。
如果使用幾年未升級的操作系統(tǒng),你仍然會發(fā)現(xiàn)此方法很適合你。有很多原因可能導(dǎo)致你希望啟動到另一個運行級別。 例如,系統(tǒng)管理員通常會啟動到命令行,并且僅在認(rèn)為必要時才啟動圖形界面。
$ vi /etc/inittab

Linux運行級別的重要性

在上面的屏幕截圖中,運行級別5當(dāng)前設(shè)置為啟動的默認(rèn)運行級別。

截至2016年,大多數(shù)主要的Linux發(fā)行版都已淘汰了/ etc / inittab文件,而使用systemd目標(biāo)-我們將在本文后面介紹這些差異。

你可能會發(fā)現(xiàn)你的系統(tǒng)根本沒有/ etc / inittab文件,或者你的inittab文件可能建議你使用systemd代替,例如CentOS系統(tǒng)中的此屏幕快照。
Linux運行級別的重要性

要檢查系統(tǒng)的當(dāng)前默認(rèn)目標(biāo):
$ systemctl get-default
Linux運行級別的重要性

在上面的屏幕截圖中,從系統(tǒng)返回的回復(fù)是“ graphical.target”。 你可能會猜到,這等效于運行級別5。
要查看其他可用目標(biāo)及其關(guān)聯(lián)的運行級別,請輸入:
$ ls -l /lib/systemd/system/runlevel*

Linux運行級別的重要性
這些符號鏈接告訴我們,systemd目標(biāo)的運行方式幾乎與運行級別相同。 那么,如何在啟動時更改默認(rèn)運行級別(或目標(biāo))? 我們需要創(chuàng)建一個新的符號鏈接,如下所示:
$ ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

Linux運行級別的重要性

此命令會將我們的默認(rèn)運行級別更改為3,因此,下次重新引導(dǎo)時,我們的系統(tǒng)將處于運行級別3而不是5。如果你希望使用不同的運行級別,則只需用其他數(shù)字代替“ 3”即可。 命令。

作為參考,該命令中的-f開關(guān)指示在創(chuàng)建新鏈接之前應(yīng)刪除目標(biāo)文件。 你也可以先使用簡單的rm命令將其刪除。
你可以再次使用“ systemctl get-default”命令確認(rèn)更改已成功完成。

Linux運行級別的重要性
運行級別3與。 運行級別5

你將聽到并使用最多的兩個運行級別分別是3和5?;旧峡梢詺w結(jié)為:運行級別3是命令行,運行級別5是圖形用戶界面。

當(dāng)然,并非每個發(fā)行版都遵循此約定,并且你的系統(tǒng)可以由管理員配置,以使這些運行級別具有更多差異。
但是,總的來說就是這樣。 如果你想確切了解在這兩個運行級別上啟用了哪些服務(wù),我們將在下一部分中介紹。

列出在特定運行級別啟用的服務(wù)

直到最近幾年,“ chkconfig -list”是用于列出將在不同運行級別啟用的服務(wù)的命令。 如果你的操作系統(tǒng)是最新的,則該命令可能會給你帶來錯誤或?qū)⒛阃七t到systemd。

Linux運行級別的重要性

如果要查看引導(dǎo)到圖形模式(運行級別5)時將啟動什么服務(wù),可以運行以下命令:
$ systemctl list-dependencies graphical.target

Linux運行級別的重要性

要查看默認(rèn)情況下在其他運行級別上運行的服務(wù),只需將“ graphical.target”替換為你需要查看的目標(biāo)名稱。
進程將在哪個運行級別下運行?

如果要查看特定服務(wù)在哪個運行級別運行,可以使用以下命令:
$ systemctl show -p WantedBy [name of service]

例如,如果你想查看SSH守護進程將在哪個運行級別運行,請鍵入:
$ systemctl show -p WantedBy sshd.service

Linux運行級別的重要性

根據(jù)以上屏幕截圖中的輸出,SSH服務(wù)將在運行級別2、3和4(multi-user.target)上啟動。
如何更改應(yīng)用程序的運行級別?
如上所示,我們的SSH服務(wù)僅在2-4級運行(multi-user.target)。 如果我們還希望它在啟動到圖形界面-運行級別5(graphical.target)時啟動,該怎么辦? 我們可以通過以下命令應(yīng)用該配置:
$ systemctl enable sshd.service

Linux運行級別的重要性

Linux中運行級別的安全問題

正如我們在本文前面所說的,Linux運行級別的重點是使管理員可以控制在特定條件下運行的服務(wù)。對系統(tǒng)進行這種細(xì)粒度控制可以增強安全性,因為你可以確保沒有多余的服務(wù)在運行。

當(dāng)管理員不知道確切正在運行什么服務(wù)時,就會出現(xiàn)問題,因此不必費心保護這些。

你可以使用本指南中的方法來配置默認(rèn)運行級別并控制正在運行的應(yīng)用程序。這些做法不僅可以釋放系統(tǒng)資源,還可以使服務(wù)器更安全。
記住只使用所需的運行級別。例如,如果僅打算使用終端,則沒有必要啟動運行級別5(圖形界面)。

更改為不同的運行級別將引入多個新服務(wù),其中一些服務(wù)可能會在后臺完全運行,你可能會忘記保護它們。

哪個運行級別最適合我?

確定哪種運行級別最適合所有人取決于情況。通常,你可能會定期使用運行級別3和5。

如果你熟悉命令行并且不需要圖形界面,則運行級別3(在大多數(shù)發(fā)行版中)將是最適合你的。

這將阻止不必要的服務(wù)運行。另一方面,如果你想要更多的桌面體驗和圖形界面來使用各種應(yīng)用程序等,則運行級別5將是你的首選運行級別。

如果需要在生產(chǎn)服務(wù)器上執(zhí)行維護,則運行級別1非常適合這種情況。這用于確保你是服務(wù)器上的唯一服務(wù)器(甚至沒有啟動網(wǎng)絡(luò)服務(wù)),并且可以不間斷地執(zhí)行維護。
在極少數(shù)情況下,你甚至可能需要使用運行級別4。這僅在你或系統(tǒng)管理員具有自定義配置的運行級別的特定情況下使用。我們將在下一部分中介紹如何做到這一點。

正如你可能已經(jīng)假設(shè)的那樣,你不會(也不能)在運行級別0或6中運行系統(tǒng),但是可以切換到它們以重新引導(dǎo)或關(guān)閉電源。通常沒有必要這樣做,因為還有其他命令可以為我們執(zhí)行此操作。

我們可以在Linux中創(chuàng)建新的運行級別嗎?

可以在Linux中創(chuàng)建一個新的運行級別,但是極不可能需要這樣做。 如果確定要執(zhí)行此操作,則可以從復(fù)制現(xiàn)有的systemd目標(biāo)之一開始,然后使用自己的自定義進行編輯。

目標(biāo)位于:
/usr/lib/systemd/system

如果要基于graphical.target(運行級別5)作為新的運行級別/目標(biāo),請將該目錄復(fù)制到新的目標(biāo)目錄。
$ cp /usr/lib/systemd/system/graphical.target /usr/lib/systemd/system/mynew.target

之后,創(chuàng)建一個新的“ wants”目錄,如下所示:
$ mkdir /etc/systemd/system/mynew.target.wants

然后從/ usr / lib / systemd / system符號鏈接要為新的運行級別啟用的其他服務(wù)。

看完上述內(nèi)容,你們對Linux運行級別的重要性有進一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道

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

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

AI