Linux 伺服器更新後要不要重開機?apt upgrade、reboot-required 與安全修補判斷

Linux VPS 做完套件更新後,不一定每次都要立刻重開機,但核心、OpenSSL、glibc、systemd 等關鍵套件更新後需要判斷服務是否仍在使用舊程式。本文整理 apt 更新、reboot-required、服務重啟與維護時間判斷方式。

LinuxUbuntuVPSapt upgradereboot-required安全更新套件更新核心更新服務重啟系統維護伺服器安全

Linux 伺服器不是「有更新就一定立刻重開機」,也不是「能不重開就永遠不重開」。比較務實的做法是:先確認更新內容、判斷是否影響核心或長時間執行的服務,再安排合適的維護時間。

本文以 Ubuntu / Debian 系 VPS 為主,適合用來建立基礎維護觀念。正式 production 主機更新前,請先確認你有備份、可登入備援方式,以及回復計畫。

你會先搞懂這幾件事

  • apt update 只是更新套件清單,不會真的升級軟體。
  • apt upgrade 會更新已安裝套件,但不代表所有服務都已使用新版本。
  • /var/run/reboot-required 出現時,通常代表系統建議重開機。
  • 核心、glibc、OpenSSL、systemd 這類底層元件更新後,要特別留意。
  • 不要在沒有備份與維護窗口的情況下,隨手更新重要 production 主機。

先分清楚 apt update、upgrade、full-upgrade

常見指令差異如下:

指令用途新手注意
sudo apt update更新套件索引不會真正安裝更新
sudo apt upgrade更新可安全升級的套件適合一般例行維護
sudo apt full-upgrade允許安裝或移除相依套件影響較大,執行前要看清楚
sudo apt autoremove移除不再需要的套件先確認不會移除你仍需要的元件

新手維護 VPS 時,通常先從:

sudo apt update
apt list --upgradable
sudo apt upgrade

開始。真正執行前要看 apt 顯示的套件清單,不要只按 Enter。

怎麼看是否需要重開機

Ubuntu / Debian 常見判斷方式:

test -f /var/run/reboot-required && cat /var/run/reboot-required

如果檔案存在,代表系統建議重開機。你也可以看哪些套件要求重開:

test -f /var/run/reboot-required.pkgs && cat /var/run/reboot-required.pkgs

常見會讓你需要安排重開的類型包含:

  • Linux kernel
  • libc6 / glibc
  • systemd
  • 重要驅動或底層函式庫
  • 會影響大量服務的安全修補

如果是一般應用套件,可能只需要重啟對應服務;如果是核心或底層元件,通常要安排 reboot。

更新後服務可能還在使用舊程式

套件更新完成,不代表正在執行的服務已經重新載入新版本。舉例來說,Nginx、PHP-FPM、MariaDB、Docker、SSH daemon 都可能需要重新啟動服務。

你可以先檢查服務狀態:

systemctl status nginx
systemctl status php8.3-fpm
systemctl status mariadb
systemctl status docker
systemctl status ssh

然後依照實際服務安排重啟:

sudo systemctl restart nginx
sudo systemctl restart php8.3-fpm

不要盲目複製重啟指令。你的 PHP 版本、Web server、資料庫名稱可能不同。執行前先用 systemctl list-units --type=service 或專案文件確認服務名稱。

什麼時候不要隨手重開 production VPS

以下情況不要直接按下 reboot:

  • 你沒有確認備份是否可還原。
  • 你不知道主機開機後網路設定是否會正常。
  • 你沒有主機商 Console、VNC 或救援模式的存取方式。
  • 你不知道服務啟動順序與相依關係。
  • 主機上有重要網站、Email、API 或客戶服務正在使用。

比較好的做法是先排維護時間,記錄目前狀態:

uptime
ip address
ip route
systemctl --failed
df -h
free -h

重開後再做一次同樣檢查,確認服務是否恢復。

安全更新的基本節奏

中小型網站或 VPS 可以先用這個節奏:

項目建議頻率重點
查看可更新套件每週或每兩週不要讓安全更新長期累積
一般套件更新每月或依維護窗口先看清楚更新項目
重要安全公告需要時加速處理尤其是公開服務與遠端登入
重開機有需要時安排先確認備份與維護時間

如果你不想自己每天登入查更新,可以評估自動安全更新,但 production 主機仍要搭配監控、備份與重開機策略。

更新前後的簡單檢查清單

更新前:

  • 確認最近備份存在,且知道怎麼還原。
  • 確認可以用 SSH 以外的方式進入主機管理介面。
  • 看清楚要更新哪些套件。
  • 避開客戶使用高峰。
  • 記錄目前服務狀態與 IP 設定。

更新後:

  • 查看 systemctl --failed
  • 確認網站、API、SSH、資料庫、排程是否正常。
  • 檢查 /var/run/reboot-required
  • 如果重開機,確認開機後服務有自動啟動。
  • 把這次更新與異常記錄下來。

延伸閱讀

需要協助判斷目前環境是否安全?

如果你已經有 VPS、cPanel、WordPress、AI 工具或掃描報告,但不確定哪些安全更新要先處理,可以到侃瑞科技官方網站取得初步判斷。

查看資安健檢服務

需要協助判斷目前環境是否安全?

如果你已經有網站、VPS、cPanel、WordPress、AI 工具或掃描報告,但不確定哪些問題要先處理,可以到侃瑞科技官方網站取得初步判斷。

查看資安健檢服務 →