類別:系統及安全性
| 發布於 2025-06-24 20:07
系統初始化 / 初始化程式服務(systemd)
開機管理程式
Linux 預設的開機管理程式為 GRUB(Grand Unified Bootloader),讓使用者在系統啟動時選擇要啟動的作業系統。GRUB 第二版(GRUB2)是 GRUB 的改良版本。
- GRUB2:開機時按住
Shift 鍵可顯示選單(在某些發行版中為 Esc)。
- GRUB:使用
Esc 顯示選單。
/boot/grub/grub.cfg
GRUB2 的主要設定檔,此檔案不應手動更改。若需變更設定,應修改以下檔案之一後執行
update-grub 或 grub-mkconfig:
/etc/default/grub
/etc/grub.d/ 目錄下的腳本
/etc/default/grub
此檔案為 GRUB 的使用者可編輯設定檔,常用設定如下:
| 設定名稱 |
說明 |
GRUB_DEFAULT |
設定預設啟動選項,例如:0 表示第一個選項,1 表示第二個。選項依 /boot/grub/grub.cfg 中的
menuentry 順序。 |
GRUB_TIMEOUT |
開機選單等待使用者選擇的秒數,設為 0 表示立即啟動預設選項,設為 -1 表示永遠不自動啟動。 |
GRUB_HIDDEN_TIMEOUT |
若設此數值,則開機時會在該秒數內隱藏選單。若在此時間內按下 Shift 鍵可顯示選單。 |
GRUB_HIDDEN_TIMEOUT_QUIET |
設為 true 表示不顯示倒數時間,false
則顯示。 |
修改後需執行下列指令重新產生 grub.cfg:
(在某些系統中可能使用 grub-mkconfig -o /boot/grub/grub.cfg)
查詢核心版本
執行層級(Run level)
雖然現代 Linux 系統多已使用 systemd,但傳統 runlevel 概念仍可參考:
| Run level |
Ubuntu 意義 |
Red Hat 意義 |
| 0 |
關機 |
關機 |
| 1 |
單人模式(維護模式) |
單人模式 |
| 2 |
多人模式(含網路,不含圖形介面) |
多人模式(受限) |
| 3 |
多人模式(含網路) |
文字介面多人模式 |
| 4 |
保留 |
保留 |
| 5 |
圖形介面 |
圖形介面多人模式 |
| 6 |
重新開機 |
重新開機 |
注意:使用 systemd 的系統以
target 取代 runlevel,例如:
runlevel 3 對應 multi-user.target
runlevel 5 對應 graphical.target
查詢目前目標:
修改預設目標:
初始化程式 systemd
查詢服務狀態
systemctl 常用服務操作指令
| 操作 |
服務名稱 |
說明 |
start |
sshd |
啟動 sshd 服務 |
stop |
sshd |
停止 sshd 服務 |
restart |
sshd |
重新啟動 sshd 服務 |
reload |
sshd |
重新載入 sshd 設定(不重新啟動) |
enable |
sshd |
開機自動啟動 sshd |
disable |
sshd |
開機不自動啟動 sshd |
status |
sshd |
查看 sshd 當前狀態 |
可搭配 --now 一次性執行啟用/停用與啟動/停止,例如:
延伸閱讀
系統初始化 / 初始化程式服務(systemd)
開機管理程式
Linux 預設的開機管理程式為 GRUB(Grand Unified Bootloader),讓使用者在系統啟動時選擇要啟動的作業系統。GRUB 第二版(GRUB2)是 GRUB 的改良版本。
Shift鍵可顯示選單(在某些發行版中為Esc)。Esc顯示選單。/boot/grub/grub.cfgGRUB2 的主要設定檔,此檔案不應手動更改。若需變更設定,應修改以下檔案之一後執行
update-grub或grub-mkconfig:/etc/default/grub/etc/grub.d/目錄下的腳本/etc/default/grub此檔案為 GRUB 的使用者可編輯設定檔,常用設定如下:
GRUB_DEFAULT/boot/grub/grub.cfg中的menuentry順序。GRUB_TIMEOUTGRUB_HIDDEN_TIMEOUTShift鍵可顯示選單。GRUB_HIDDEN_TIMEOUT_QUIETtrue表示不顯示倒數時間,false則顯示。修改後需執行下列指令重新產生
grub.cfg:(在某些系統中可能使用
grub-mkconfig -o /boot/grub/grub.cfg)查詢核心版本
# 查詢目前核心版本 uname -r # 查詢詳細系統與核心版本 uname -a執行層級(Run level)
雖然現代 Linux 系統多已使用
systemd,但傳統 runlevel 概念仍可參考:查詢目前目標:
修改預設目標:
初始化程式 systemd
查詢服務狀態
# 查看所有正在運行的服務 systemctl # 查看所有服務(包含已停用) systemctl --all # 查看所有未啟動服務 systemctl --all --state=inactivesystemctl 常用服務操作指令
startsshdstopsshdrestartsshdreloadsshdenablesshddisablesshdstatussshd可搭配
--now一次性執行啟用/停用與啟動/停止,例如:sudo systemctl enable --now sshd延伸閱讀