為什麼說Ubuntu的執行級別為2

2022-03-16 02:57:42 字數 2612 閱讀 3518

分析過程:

首先從這篇文章了解到debian系的執行級別2~5都是一樣的。並通過

cd /etc/init

less rc-sysinit.conf

發現裡面有句:env default_runlevel=2,所以在這個發現上,可以說明ubuntu的預設執行級別為2。

所以總結上面所說的,應該是這樣:根據

debian策略手冊

,預設情況下,執行級別2到5之間沒有區別。如下所示:

0 : system halt.

1 : single-user mode.

2 : graphical multi-user plus networking (default)

3 : same as "2", but not used.

4 : same as "2", but not used.

5 : same as "2", but not used.

6 : system reboot.

也就是說,在debian系的系統上,2為預設級別,其餘的3~5都沒有使用。且官方介紹也是從2開始說起。

但是奇怪的發現,如果在ubuntu 16.04的系統上執行runlevel命令,得到的是n 5,這於下面所示的級別上對應的就是gui:

執行級別

名稱

描述0停

關閉系統

1單使用者模式

管理任務模式。

2多使用者模式

不配置網路介面,不匯出網路服務

3多使用者模式與網路

正常啟動系統

4未使用/使用者可定​​義

為了特殊目的

5使用gui顯示管理器正常啟動系統

執行級別3 +顯示管理器6重啟

重新啟動系統

s或s單使用者模式

不配置網路介面或啟動後台程序。

或者會不會這樣,在server版本裡面才會顯示2,其實不是,經過測試,在server 16.04版本上同樣是n 5。

那麼這樣就奇怪了,會不會是隨著版本的公升級,這個啟動級別同樣也公升級了。

從發現ubuntu系統級別的變更歷史:

1、ubuntu 6.10及以前版本使用sysvinit。

2、ubuntu 14.10及以前版本使用upstart但是還留著sysvinit並存。

3、ubuntu 15.04開始預設使用systemd,但是可以在開機選項選擇使用systemd或upstart,但是不可同時使用sysvinit或upstart並存。

而systemd不再使用runlevel進行代表,而是使用target進行展示,對照的**如下:

┌─────────┬───────────────────┐

│runlevel │ target │

├─────────┼───────────────────┤

│0 │ poweroff.target │

├─────────┼───────────────────┤

│1 │ rescue.target │

├─────────┼───────────────────┤

│2, 3, 4 │ multi-user.target │

├─────────┼───────────────────┤

│5 │ graphical.target │

├─────────┼───────────────────┤

│6 │ reboot.target │

└─────────┴───────────────────┘

這個**出自:

那麼我在測試時發現,在桌面版還是伺服器版的ubuntu 16.04獲取預設的target時。都是顯示graphical.target,也就是與n 5這個級別對應的。(命令:systemctl get-default

但似乎這個也沒有多少結論說明預設級別為2的問題。

總結:

所以,我猜測,由於歷史原因,在15.04之前,系統級別應該還是以2為預設,但是經過15.04,使用了systemd的問題,預設級別上改為了5為預設,而經過上面的歷史發展,無論在2~5之間,都是沒有區別的。

或者是由於systemd這個的使用,使以前的一些文章上如何修改系統執行級別的,在16.04不生效的問題。那麼要修改執行級別,可以參考這篇文章進行修改:

其它發現:

如果16.04的系統以5為預設級別,那麼我建立乙個服務之後,放在2級別上面就不會執行嗎?不是這樣的,系統的執行級別是說從小到大的依次執行,要執行到5,那麼會經過2;所以,我們在設定服務時,也就是直接在2上設定自動啟動就行了,但是發現一些服務會在2~5都設定自動執行,所以我猜測,這樣的做法應該是為了保險,無論在哪個執行級別都能啟動這個服務。參考:

還有一些做法是在2~4設定啟動,然後到5就以k開頭去殺死,我覺得這種做法可以實現效果,但是如果按照上面的總結,依次執行的執行級別,會不會有點浪費資源,要先啟動再殺死,倒不如從一開始的2級別到5級別都不啟動好一些。

參考:

CIO為什麼說「不」

選擇 是 對於有些人來說,是一種逃避責任的最好辦法,所有的後果都可以由那個提出建議的人來承擔。而當你說 不 的時候,不但會憑空給自己樹立很多對立面,同時也會將所有的責任肩負在自己身上。說 不 對於 cio來講是需要一定的勇氣,但更為重要的是它要求 cio具備乙個理性的頭腦。itit it建設勢必要 ...

ubuntu修改預設執行級別

由於之前自己學習的時候都是 使用的centos6.5,這幾天聽老師說要用ubuntu來上課,我看不來xwindows就想改啟動為命令列後面發現不一樣,centos就是改inittad檔案就好,而ubuntu卻要像下面一樣,等我以後搞明白了,再來補充現在先做乙個記錄 vi etc default gr...

為什麼說Google沒了節操

強制要求使用者註冊google 現在google旗下的很多產品都會強制地要求使用者註冊google 的賬號,也許你一開始只是想要個郵箱和網上硬碟,但是你還是會被拖進這個社交網路享受到一些額外的服務,例如被投票 被分享 被推薦 被代表 被公開。最嚴重的是youtube,即使想投個票也要登入google...