溫馨提示×

溫馨提示×

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

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

Linux下如何查看運行級別

發布時間:2022-01-26 09:45:40 來源:億速云 閱讀:202 作者:小新 欄目:開發技術
# Linux下如何查看運行級別

## 目錄
1. [運行級別概述](#運行級別概述)
2. [查看當前運行級別](#查看當前運行級別)
3. [查看默認運行級別](#查看默認運行級別)
4. [運行級別配置文件](#運行級別配置文件)
5. [切換運行級別](#切換運行級別)
6. [systemd與傳統init系統的區別](#systemd與傳統init系統的區別)
7. [常見問題排查](#常見問題排查)
8. [運行級別最佳實踐](#運行級別最佳實踐)
9. [總結](#總結)

## 運行級別概述

運行級別(Runlevel)是Unix/Linux系統中用來定義系統不同操作模式的概念。每個運行級別對應一組特定的服務或進程,決定了系統啟動時加載哪些服務和功能。

### 傳統SysVinit運行級別
在傳統的SysVinit系統中,定義了7個標準運行級別:

| 運行級別 | 描述 |
|---------|------|
| 0       | 停機(Halt)|
| 1/S     | 單用戶模式(救援模式)|
| 2       | 多用戶模式(無網絡服務)|
| 3       | 完整的多用戶模式(命令行界面)|
| 4       | 保留未使用(用戶可自定義)|
| 5       | 圖形界面模式 |
| 6       | 重啟 |

### systemd的運行目標
現代Linux發行版(如RHEL 7+/Ubuntu 16.04+)使用systemd替代傳統的init系統,其對應概念稱為"目標"(target):

| 傳統運行級別 | systemd目標 | 描述 |
|-------------|------------|------|
| 0           | poweroff.target | 關閉系統 |
| 1/S         | rescue.target | 救援模式 |
| 2,3,4       | multi-user.target | 多用戶命令行模式 |
| 5           | graphical.target | 圖形界面模式 |
| 6           | reboot.target | 重啟系統 |

## 查看當前運行級別

### 傳統init系統查看方法

```bash
# 使用runlevel命令
$ runlevel
N 3  # 輸出格式:前一個運行級別 當前運行級別(N表示無前一個級別)

# 使用who命令
$ who -r
run-level 3  2023-08-20 14:30

systemd系統查看方法

# 查看當前目標
$ systemctl get-default
graphical.target

# 查看系統當前狀態
$ systemctl list-units --type target --state active
UNIT                  LOAD   ACTIVE SUB    DESCRIPTION
basic.target          loaded active active Basic System
graphical.target      loaded active active Graphical Interface
multi-user.target     loaded active active Multi-User System

查看默認運行級別

傳統init系統

# 查看/etc/inittab文件(舊版系統)
$ cat /etc/inittab
id:5:initdefault:

systemd系統

# 查看默認目標
$ systemctl get-default
graphical.target

# 查看目標依賴關系
$ systemctl show -p Requires -p Wants graphical.target

運行級別配置文件

SysVinit系統目錄結構

/etc/rc.d/
├── rc0.d
├── rc1.d
├── rc2.d
├── rc3.d
├── rc4.d
├── rc5.d
├── rc6.d
└── init.d

每個rcN.d目錄包含以S(Start)或K(Kill)開頭的符號鏈接,例如: - S10network → 啟動網絡服務 - K05atd → 停止atd服務

systemd服務單元

/etc/systemd/system/
├── default.target -> /lib/systemd/system/graphical.target
├── multi-user.target.wants
│   ├── cron.service
│   ├── ssh.service
└── graphical.target.wants
    ├── gdm.service

切換運行級別

臨時切換(傳統init)

# 切換到運行級別3
$ init 3
# 或
$ telinit 3

永久切換(傳統init)

編輯/etc/inittab文件:

id:3:initdefault:

systemd系統切換

# 臨時切換到多用戶模式
$ systemctl isolate multi-user.target

# 設置默認目標
$ sudo systemctl set-default multi-user.target

# 創建自定義目標(高級用法)
$ cp /lib/systemd/system/multi-user.target /etc/systemd/system/my-custom.target
$ systemctl enable my-custom.target

systemd與傳統init系統的區別

特性 SysVinit systemd
啟動速度 較慢(串行啟動) 快(并行啟動)
配置方式 腳本(/etc/init.d) 單元文件(.service/.target)
運行級別 數字表示(0-6) 目標(target)概念
服務管理 service命令 systemctl命令
日志系統 分散的日志文件 集中式journalctl
依賴處理 手動配置 自動解析依賴

常見問題排查

1. 運行級別切換失敗

# 查看啟動日志
$ journalctl -b
# 或(傳統系統)
$ cat /var/log/boot.log

2. 服務未按預期啟動

# 檢查服務狀態
$ systemctl status servicename
# 或
$ service servicename status

# 查看服務依賴
$ systemctl list-dependencies servicename

3. 圖形界面無法啟動

# 檢查顯示管理器狀態
$ systemctl status gdm  # 或lightdm/sddm

# 臨時嘗試啟動Xorg
$ startx

運行級別最佳實踐

  1. 生產服務器建議

    • 使用運行級別3/multi-user.target
    • 禁用不必要的圖形服務
    • 通過SSH進行遠程管理
  2. 桌面環境優化

    • 使用運行級別5/graphical.target
    • 考慮禁用開機動畫加速啟動
    $ sudo systemctl disable plymouth-quit-wait.service
    
  3. 自定義運行級別

    # 創建自定義目標
    $ cp /usr/lib/systemd/system/multi-user.target /etc/systemd/system/myapp.target
    # 添加必要服務
    $ systemctl enable myservice.service --target=myapp.target
    
  4. 應急恢復

    • 單用戶模式(運行級別1)忘記root密碼時:
      • 在GRUB菜單按’e’編輯啟動參數
      • 在linux行末尾添加singlesystemd.unit=rescue.target
      • Ctrl+X啟動

總結

Linux運行級別管理經歷了從傳統SysVinit到現代systemd的演變。雖然概念有所變化,但核心思想保持一致。關鍵要點:

  1. 傳統系統使用runlevelinit命令,而systemd使用systemctl
  2. 生產環境通常使用多用戶模式(3/multi-user.target)
  3. 通過systemctl list-dependencies可以深入理解服務關系
  4. 日志分析是排查運行級別問題的關鍵

掌握運行級別管理技術,可以幫助系統管理員: - 優化系統啟動過程 - 快速排除啟動故障 - 根據需求定制系統環境 - 在資源受限的設備上實現最佳性能

隨著Linux系統的發展,建議管理員同時掌握傳統init和systemd兩套管理方式,以應對不同環境和運維需求。

注意:本文基于通用Linux系統編寫,具體命令可能因發行版不同略有差異。實際操作前請參考您使用的發行版官方文檔。 “`

這篇文章共計約4150字,采用Markdown格式編寫,包含: - 多級標題結構 - 表格對比 - 代碼塊示例 - 有序/無序列表 - 強調文本 - 橫向對比表格 - 實際命令示例 - 故障排查建議 - 最佳實踐指導

內容覆蓋了從基礎概念到高級應用的完整知識體系,適合不同層次的Linux用戶閱讀參考。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女