吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是Linux運行級別

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-14 17:44 ? 次閱讀

您可以將Linux運行級別視為操作系統運行的不同模式。這些模式或運行級別中的每一個都有其打開或關閉的進程和服務。

從Linux啟動開始,它就始終處于某個運行級別。隨著您繼續使用Linux時間變化,此運行級別可能會發生變化,具體取決于操作系統需要訪問的服務類型。

例如,使用圖形用戶界面運行Linux機器將需要不同的運行級別,而不是僅在系統上運行命令行。

這是因為圖形用戶界面需要訪問命令行根本不需要的各種服務。為了讓系統確定需要打開或關閉哪些服務,它會根據需要更改運行級別。

您可能已經使用Linux多年,卻沒有意識到存在不同的運行級別。這是因為大多數服務器管理員不需要經常配置它。

但是,Linux運行級別確實使管理員能夠更好地控制和管理系統。您可以更改系統所在的運行級別,在不同的運行級別運行不同的服務。

這使我們能夠完全控制我們的系統在那些運行級別訪問哪些服務。

什么是Linux 運行級別

在Linux中有七種不同的運行級別,從0到6。不同的發行版可能會以不同的方式使用這七個運行級別,因此編制一份運行級別功能的明確列表并不容易。

相反,您需要檢查運行級別在不同的Linux發行版的工作方式。在大多數情況下,下面的列表展示了Linux發行版的運行級別與能力.

**運行級別0 **關閉系統。運行級別6 重新引導系統。

**運行級別1 **單用戶模式,用于維護或管理任務。您可能還會看到這種模式被稱為S運行級別。這個用戶是root用戶。

**運行級別2 **多用戶模式。此運行級別不能夠使用任何網絡服務。

**運行級別3 **具有網絡功能的多用戶模式。您使用的系統將不能引導至GUI圖形用戶界面或者桌面環境,這是服務器首選的運行級別。

**運行級別4 **用戶可以根據自己的目的自定義此運行級別,我們將在本教程后面介紹如何執行此操作。

運行級別5運行級別3相同,但它還啟動了一個顯示管理器。如果您引導至GUI或者具有桌面環境的系統,這就是您正在使用的運行級別。

查看當前運行級別

您可在終端中運行命令runlevel即可查看大多數Linux發行版的當前運行級別。

runlevel命令它會給你兩個不同的數字。第一個數字是您的系統之前的運行級別,第二個數字是您系統的當前運行級別。

Nnone的縮寫,表示系統之前的運行級別與現在運行級別相同。5表示我們的系統當前處于 運行級別5

在這個例子中,我們運行的是CentOS,它可直接啟動到圖形界面,因此系統直接進入運行級別 5。

runlevel
N 5

更改運行級別

您可以使用telinit命令更改系統的當前運行級別。要更改Linux的運行級別您必須以root或者具有sudo權限用戶才能運行telinit命令。

例如,要將CentOS運行級別更改為3,請運行命令sudo telinit 3。注意,運行級別在Debian和Ubuntu的工作方式不同。

例如,即使沒有啟動 GUI,Ubuntu也會啟動到運行級別 5。

如果您按照上面的示例進行操作,您的屏幕可能會變為空白。這是因為你停留在空的TTY,鍵入Alt+F1即可進入終端工作。

如果我們再次運行命令runlevel,我們會看到現在處于運行級別 3,并且之前的運行級別是 5,因為我們剛剛更改運行級別,所以不是None

近年來,systemd已經取代了長期存在的System V初始化系統。它仍然以基本相同的方式工作,但使用了不同命令方式設置運行級別,并且將運行級別稱為target

運行級別 0是poweroff.target。運行級別 1是rescue.target。運行級別 2是multi-user.target。

運行級別 3是multi-user.target。運行級別 4是multi-user.target。運行級別 5是graphical.target。運行級別 6是reboot.target。

在使用SystemD作為初始化系統的Linux發行版中,設置運行級別的命令是systemctl isolate

sudo systemctl isolate multi-user.target # or runlevel3.target
sudo systemctl isolate graphical.target # or runlevel5.target

更改默認運行級別

您可能希望啟動到不同的運行級別的原因有很多。例如,系統管理員通常會啟動到命令行接口,并且僅在認為必要時啟動到圖形界面時。

過去,需要編輯/etc/inittab文件以在啟動時定義默認運行級別。在某些發行版上,您可能仍然會發現這種情況。

截至2016年,大多數主要Linux發行版已逐步淘汰/etc/inittab文件以支持systemd-target。我們將在本文后面介紹差異。

您可能會發現您的系統根本沒有/etc/inittab文件,或者您的inittab文件可能會建議您使用systemd代替。

在CentOS系統中。當你打開/etc/inittab文件文件時,第一行將提示你一個消息ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM。

也就是說,你在此編輯的任何配置都不會影響你系統。也就相當于廢棄了。并告訴你獲取系統默認運行級別的命令是sudo systemctl get-default

設置系統默認運行級別命令sudo systemctl set-default TARGET.target

sudo systemctl get-default
sudo systemctl set-default multi-user.target # or runlevel3.target
sudo systemctl set-default graphical.target # or runlevel5.target
sudo systemctl get-default

如果你需要查看其他可用systemd-target及其關聯的運行級別,可以運行命令ls -l /lib/systemd/system/runlevel*

這些符號鏈接告訴我們systemd目標的運行方式幾乎與運行級別相同。那么,我們也可以通過修改/etc/systemd/system/default.target的符號鏈接修改默認運行級別或目標。

ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target此命令會將我們的默認運行級別更改為 3。

sudo ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
sudo systemctl get-default

因此下次重新啟動時,我們的系統將處于運行級別3而不是5。如果您想要不同的運行級別,您只需用不同的數字代替命令中的3

作為參考,ln命令中的-f選項指示應在創建新鏈接之前刪除目標文件。您也可以先使用rm命令將其刪除。

您可以再次使用systemctl get-default命令確認更改是否成功。

運行級別3與運行級別5

您將聽到并使用最多的兩個運行級別將是3和5。基本上可以總結為:運行級別3是命令行,運行級別5是圖形用戶界面。

當然,并不是每個發行版都遵循這個約定,在您的系統可以由管理員配置,以便這些運行級別有更多差異。

但是,總的來說,它就是這樣工作的。如果您想查看在這兩個運行級別上啟用了哪些服務,我們將在下一節中介紹。

列出運行級別服務

直到最近幾年,systemd是列出在不同運行級別啟用的服務的命令。如果您的操作系統不是最新的,該命令可能會給您一個錯誤或將讓你使用chkconfig –list

如果我們想查看啟動到圖形模式,運行級別 5時啟動哪些服務,可以運行命令systemctl list-dependencies graphics.target

要查看在其它運行級別啟用的服務,只需將graphical.target替換為您需要查看的目標的名稱。

sudo systemctl list-dependencies graphics.target

如果您想查看指定的服務運行在哪個運行級別,可以使用命令systemctl show -p WantedBy [服務名稱]

例如,如果您想查看 SSH服務將在哪個運行級別運行,您可以運行命令systemctl show -p WantedBy sshd.service

我們的SSH服務運行在multi-user.target。如果我們還希望它在我們啟動到圖形界面時啟動時,也就是運行級別 5/graphical.target。請運行命令systemctl enable sshd.service

sudo systemctl show -p WantedBy sshd.service

Linux運行級別與安全

正如我們在本文前面所說的,Linux運行級別的目的是讓管理員控制在特定條件下運行的服務。

對系統進行這種精細控制可以增強安全性,因為您可以確定沒有無關的服務在運行。

當管理員不知道究竟運行了哪些服務時,就會出現問題,因此他不會費心保護這些攻擊面。

您可以使用本教程中的方法來配置默認運行級別并控制運行的應用程序。這些做法不僅可以釋放系統資源,還可以讓您的服務器更加安全。

請記住只使用您需要的運行級別。例如,如果您只打算使用終端,則啟動運行級別 5圖形界面是沒有意義的。

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

運行級別選擇

確定最適合您的運行級別取決于具體情況。通常,您可能會定期使用運行級別3和5。

如果您熟悉命令行并且不需要圖形界面,那么運行級別 3將是最適合您的,在大多數發行版上。

這將阻止不必要的服務運行。另一方面,如果您想要更多的桌面體驗和圖形界面來使用各種應用程序等,那么運行級別5將是您首選的運行級別。

如果您需要在生產服務器上執行維護,運行級別1非常適合這種情況。您可以使用此運行級別來確保您是服務器上的唯一一個用戶。

在極少數情況下,您甚至可能需要使用運行級別 4。這僅適用于您或系統管理員具有自定義配置的運行級別的特定情況。我們將在下一節介紹如何做到這一點。

正如您可能假設的那樣,您不會,也不能在運行級別0或6中運行您的系統,但可以切換到它們只是為了重新啟動或關閉電源

通常你不需要這樣做,因為還有其他命令可以為我們這樣做。

Linux創建運行級別

在Linux中創建一個新的運行級別是可能的,但您極不可能需要這樣做。如果您仍然決定這樣做。

您可以首先復制現有的systemd target的其中一個,然后使用您自己的自定義進行編輯。這些目標都位于/usr/lib/systemd/system/目錄中。

如果您想基于graphics.target/運行級別 5建立新的運行級別/目標,你可以運行命令cp /usr/lib/systemd/system/graphical.target /usr/lib/systemd/system/mynew.target創建graphical.target的副本。

創建一個新的wants目錄運行命令mkdir /etc/systemd/system/mynew.target.wants

然后從/usr/lib/systemd/system/graphics.target.wants目錄中復制符號鏈接到你運行級別目錄的wants目錄中。

cp /usr/lib/systemd/system/graphical.target \\ 
/usr/lib/systemd/system/mynew.target

sudo mkdir /etc/systemd/system/mynew.target.wants

我希望你覺得這個教程很有用。繼續回來。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210402
  • 操作系統
    +關注

    關注

    37

    文章

    6896

    瀏覽量

    123749
  • 命令
    +關注

    關注

    5

    文章

    696

    瀏覽量

    22112
收藏 人收藏

    評論

    相關推薦

    如何檢查Linux服務器的運行時間

    Linux 中的 uptime 用于查看系統啟動后的運行時間。它是一個比較簡單的 Linux 命令,可以不帶參數直接運行
    發表于 11-25 15:25 ?1.5w次閱讀
    如何檢查<b class='flag-5'>Linux</b>服務器的<b class='flag-5'>運行</b>時間

    Linux中如何查看系統運行信息

    Linux系統中,查看系統運行狀態(或者故障排除),比如內存或者CPU使用率的時候,可以使用top命令,它提供了系統運行情況的信息。根據man手冊,top程序提供了運行系統的動態實時
    發表于 11-25 16:37 ?4084次閱讀
    <b class='flag-5'>Linux</b>中如何查看系統<b class='flag-5'>運行</b>信息

    #硬聲創作季 云計算基礎入門:05-什么是Linux運行級別

    云計算
    Mr_haohao
    發布于 :2022年10月16日 00:10:55

    #硬聲創作季 Linux云計算教程:D8-10-Linux運行級別介紹

    云計算Linux
    Mr_haohao
    發布于 :2022年10月17日 09:33:36

    #硬聲創作季 Linux云計算教程:D8-11-Linux運行級別相關命令介紹與下節內容

    云計算Linux
    Mr_haohao
    發布于 :2022年10月17日 09:34:17

    linux系統運維面試題(3)

    |hello-nanjing" 41 描述Linux運行級別0-6的各自含義運行級別的配置文件在 /etc/inittab runleve
    發表于 05-18 17:25

    重啟和關閉 Linux 系統的 6 個終端命令

    init(“initialization”的簡寫)是系統啟動的第一個進程。 它將會檢查 /etc/inittab 文件并決定 linux 運行級別。同時,允許用戶在 Linux 設備
    發表于 11-02 12:34

    Linux重啟命令介紹

    重啟。通過 init 命令關閉和重啟 Linux 系統init(“initialization” 的簡寫)是系統啟動的第一個進程。它將會檢查 /etc/inittab 文件并決定 linux 運行
    發表于 10-13 15:33

    Linux運行級init詳解

    Linux 啟動時需要哪些步驟呢?本文將詳細描述不同的運行級在啟動中的作用。 對于那些在DOS/Win9x/NT 平臺下的高級用戶而言,Linux 似乎是一個怪物。沒有confi g.sys ,沒有
    發表于 11-07 10:59 ?0次下載

    linux基礎技術

    =weiqiong //202.204.114.38/wei /tmp 此命令可以mount上win和linux共享的目錄 三.linux運行級別有6種: 0:系統停止,用這個
    發表于 11-07 15:29 ?1次下載

    LINUX是什么?LINUX運行所需的硬件/軟件

    LINUX會發展成為一個自給自足的系統,現在需要Minix-386才能正常運行。你需要Minix讓初始化啟動文件系統,和編譯OS二進制。在那之后LINUX是一個自給自足的系統,但是為了做文件系統檢查(fsck)和修改之后重編譯系
    的頭像 發表于 07-11 15:32 ?6696次閱讀

    linux的程序如何運行

     運行linux程序有三種方法
    發表于 05-17 09:40 ?3549次閱讀
    <b class='flag-5'>linux</b>的程序如何<b class='flag-5'>運行</b>

    Linux內核的編譯與運行

    本文檔的主要內容詳細介紹的是Linux內核的編譯與運行免費下載。
    發表于 03-25 13:48 ?16次下載

    Linux內核的編譯和運行

    想讓Linux內核代碼跑起來,得先搭建編譯和運行代碼的環境。
    發表于 06-23 11:56 ?1626次閱讀
    <b class='flag-5'>Linux</b>內核的編譯和<b class='flag-5'>運行</b>

    linux虛擬機怎么運行代碼

    運行代碼是Linux虛擬機中的常見操作,本文將詳細介紹如何運行代碼。 首先,要運行代碼,你需要先安裝好Linux虛擬機,并確保能夠順利
    的頭像 發表于 11-17 10:12 ?5243次閱讀
    百家乐园好又多| 百家乐园选蒙| 百家乐官网五湖四海娱乐场 | 皇冠网都市小说| 中华德州扑克论坛| 筹码币百家乐官网麻将| 赌场百家乐官网网站| 百家乐网站那个好| 大发888投注明升网址| 淅川县| 金界百家乐官网的玩法技巧和规则 | 百家乐出庄的概率| 炸金花棋牌游戏| 百家乐官网平台凯发| 菲律百家乐太阳城| 德州扑克和梭哈| 澳门百家乐官网庄闲的玩法| 微信百家乐官网群资源| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 真人百家乐海立方| 大发888国际娱乐场| 百家乐官网电子路单下载| 现金百家乐技巧| 金溪县| 金锁玉关24山砂水断| 大发888体育网| 百家乐官网认牌| AG百家乐大转轮| 澳门在线赌场| 最新百家乐游戏机| 大发888手机版官网| 奔驰百家乐官网游戏电玩| 娱乐百家乐的玩法技巧和规则| 漳州市| 百家乐娱乐官方网| 博彩通评级| 杨筠松 24山| 赌场百家乐破解| 百家乐官网最全打法| 百家乐赌博机怎么玩| 伊吾县|