SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor

Ubuntu Point Release 是什麼?版本號更新機制解析

Ubuntu Point Release 僅是將現有更新整合至安裝媒體。若您的伺服器已執行 sudo apt upgrade,則無需額外下載。本文解析 base-files 套件運作原理,並說明為何 unattended-upgrades 可能導致版本號滯後。

Ubuntu point release 是什麼

Ubuntu point release,例如 26.04.1,是在既有版本中,將發布以來的所有更新整合到全新安裝媒體後所產生的版本。它不是新版本。安裝時使用的套件庫不會變更,apt 來源中的 suite 名稱也不會變更。因此,已安裝並完成修補的伺服器,在 point release 發布時不需要下載任何內容。

發布當天會有兩項變更。安裝媒體會重新建置:根據該週套件庫的狀態,建立新的 ISO 檔案與雲端映像檔。版本字串也會變更:lsb_release -a 原本回報 26.04 LTS,之後會回報 26.04.1 LTS。

其他內容原本就已存在於系統中。Ubuntu 會持續將修正發布到同一個 suite 的 -security 與 -updates pockets;26.04 使用 resolute,24.04 使用 noble。point release 是這條更新串流的快照。系統不需要切換到其他目的地。

為什麼已套用修補程式的伺服器沒有可下載的內容

因為版本號碼位於一個小型套件中。執行:

lsb_release -a
dpkg -S /etc/lsb-release

dpkg -S 會回答 base-files: /etc/lsb-release。base-files 套件會提供存放版本字串的檔案,因此發行 point release 時,新的 base-files 會進入 -updates pocket,接著下一次 sudo apt upgrade 就會安裝它。在執行中的機器上,point release 唯一可見的效果就是這個套件。其他內容都是你數週前以一般更新安裝的檔案。

有一種常見情況會導致系統落後。預設的 /etc/apt/apt.conf.d/50unattended-upgrades 會在其 Allowed-Origins 區塊中啟用 -security origin,並將 -updates 行保留為註解,因此只依賴自動更新的機器會取得安全性修補程式,卻略過其他更新。這台機器會連續數月回報較舊的 point number,而這是正確的,因為它確實沒有那些套件。開啟該檔案,查看哪些行被註解:Ubuntu 上 unattended upgrades 的設定方式會逐行說明該區塊。

當下一個點版本發布時

請關注發布節奏,而非特定日期。LTS 的第一個點版本通常在 4 月正式版發布後的幾個月內推出,後續版本則約每 6 個月發布一次,並追蹤各個過渡版本。發布日期會有所變動。Canonical 的 26.04 發布公告原定於 2026 年 8 月 4 日發布第一個點版本,而 26.04.1 實際上是在 2026 年 8 月 27 日發布,這是常規現象,並非警示訊號。既然該版本已經發布,在決定它是否會對您的伺服器造成影響前,閱讀 26.04.1 的實際內容 是值得的。請從 Ubuntu 發布週期頁面 或 26.04 LTS 發布說明 獲取下一個版本的日期,而非參考任何文章(包括本文)。

為何 24.04 在發布首個點版本(point release)前不會收到 26.04 的升級提示

因為升級提示的設定為等待,您可以自行在系統上查看該設定。

cat /etc/update-manager/release-upgrades
[DEFAULT]
# never  - Never check for, or allow upgrading to, a new release.
# normal - Check to see if a new release is available.
# lts    - Check to see if a new LTS release is available.
Prompt=lts

軟體內附檔案中的註解比上述摘錄更詳盡,值得完整閱讀。Prompt=lts 是 LTS 安裝的預設值,它執行兩項任務:將升級範圍限制為 LTS 版本,並將檢查請求發送到不同的清單。

該清單在第二個檔案中指定:

cat /etc/update-manager/meta-release

URI 指向 https://changelogs.ubuntu.com/meta-release,而 URI_LTS 指向 https://changelogs.ubuntu.com/meta-release-lts。透過 Prompt=lts,升級程式會讀取 LTS 清單,而新的 LTS 版本在發布首個點版本之前,不會在該清單中作為升級目標提供。您可以自行下載該清單查看:

curl -s https://changelogs.ubuntu.com/meta-release-lts | tail -40

每個版本都是由 Dist:、Version:、Supported: 和 UpgradeTool: 行組成的區塊。升級程式必須先取得該區塊,才能向您提供任何升級。截至 2026 年 10 月 10 日,該清單以 26.04 區塊結尾:Dist: resolute、Version: 26.04.1 LTS、Supported: 1 以及指向 resolute-updates 的 UpgradeTool: 行。Canonical 在 26.04 LTS 發布公告 中明確說明了規則:當 26.04.1 發布時,24.04 LTS 的使用者將會收到自動升級提示。2026 年 8 月 27 日的 26.04.1 發布公告 將此時程延後:Update Manager 的提示將在發布後幾週內跟進,待修復 rust-coreutils 回歸問題的 backports 落地後才會發送。升級已於 2026 年 9 月 29 日啟用,並在隨後的幾天內逐步推送到各個系統。

因此,在升級啟用前的 24.04 伺服器上,檢查指令會輸出以下內容:

sudo do-release-upgrade -c
Checking for a new Ubuntu release
There is no development version of an LTS available.
To upgrade to the latest non-LTS development release
set Prompt=normal in /etc/update-manager/release-upgrades.

此措辭容易造成誤解,因為使用者並未要求開發版本,但對於 Prompt=lts 而言,這僅是升級程式表示 LTS 清單中沒有更新版本的方式。No new release found. 是在 Prompt=normal 下遇到相同情況時顯示的訊息。在升級啟用之前,無論出現哪一個,都代表系統運作正常,而非故障。現在升級路徑已開放,因此在已完全修補的 24.04 伺服器上,相同的指令會顯示該版本名稱,登入橫幅中也會出現相同的訊息:

New release '26.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

請注意它所顯示的版本。您不會先升級到 26.04 再升級到 26.04.1。您只需升級一次,即可直接進入 26.04 的當前狀態。

另外兩件事會導致檢查結果為空:某些供應商映像檔設定的 Prompt=never,以及無法連線至 changelogs.ubuntu.com 的代理伺服器或鏡像站。另一個訊息 Please install all available updates for your release before upgrading 則表示檢查成功,但升級程式要求系統必須先完成所有修補。do-release-upgrade 報告未發現新版本 涵蓋了其餘原因。當您準備好時,從 24.04 升級至 26.04 是另一項需要獨立準備的工作。

-d 旗標會將相同的檢查指向開發清單,這是在升級路徑開放前人們進行升級的方式。等待是有原因的:這是修復早期使用者回報之升級阻礙的緩衝期。對於您租用且依賴的伺服器而言,這正是讓等待發揮作用的理由。

VPS 上的硬體啟用核心(Hardware Enablement Kernel)意義

LTS 版本在其生命週期內會提供一個核心,即 GA(General Availability)核心,並提供另一個稱為 HWE(Hardware Enablement)的滾動更新軌道。HWE 軌道透過點版本(point releases)發布,對於伺服器而言,這是點版本中唯一包含真正新程式碼的部分,而非僅是現有套件的重新封裝。

以 24.04 為例,它隨附 6.8 核心,並在五年的標準支援期內於 GA 軌道維持 6.8 版本。HWE 軌道從第二個點版本開始:24.04.2 引入了來自 Ubuntu 24.10 的 6.11 核心,而 24.04.3 則引入了來自 Ubuntu 25.04 的 6.14 核心。截至 2026 年 8 月,這是既定的模式,26.04 也遵循相同的架構。

您所處的軌道由套件名稱決定:

uname -r
apt list --installed 2>/dev/null | grep -E '^linux-(generic|virtual|image|kvm)'

linux-generic 是 GA 軌道。linux-generic-hwe-24.04 是滾動更新軌道。桌面版安裝預設使用 HWE,伺服器版預設使用 GA,而 VPS 的供應商映像檔通常會使用更受限的套件,例如 linux-virtual 或雲端專用的 linux-kvm。請務必檢查而非假設,因為預設值取決於映像檔的建置者。

在租用的虛擬硬體上,硬體啟用通常與您無關。您的伺服器看到的是 virtio 裝置,即 Hypervisor 呈現的半虛擬化網路與磁碟介面,這些驅動程式在核心中已穩定運作超過十年。新款筆記型電腦需要 HWE,但 VPS 幾乎不需要。較新的核心為您帶來的實際效益是核心功能:更新的 io_uring 與 eBPF 功能,或是您有特定需求要解決的檔案系統修正。透過 Linux kernel 7.1 的新功能 來決定這些變更是否值得冒險。

其代價是重啟與風險。HWE meta 套件大約每六個月會拉取一個新的上游核心,因此您必須接受該頻率下的核心跳躍與重啟。使用 DKMS 建置的樹外(out-of-tree)模組(例如廠商驅動程式或用來取代 Ubuntu 核心套件內建 ZFS 模組的 zfs-dkms 套件)可能會在對應新版本時建置失敗。此建置程序會在安裝核心套件時執行,因此錯誤會出現在 apt 的輸出中;若無人閱讀該輸出,您會在開機時才發現問題。每個核心也會留下前一個版本,這就是導致小型 /boot 空間被填滿的原因。請在需要之前,先閱讀 移除 /boot 已滿的舊核心 與 選擇 VPS 開機使用的核心。

切換到 HWE 軌道只需一個指令並重啟:

sudo apt install --install-recommends linux-generic-hwe-24.04
sudo reboot

重啟後執行 uname -r 應會顯示較新的版本。在您開機進入新核心並檢查各項服務運作正常前,請保留先前的核心。因為當核心無法開機時,復原路徑是從開機選單選擇舊的項目,而該項目必須仍然存在。如果不存在,您將進入 核心更新後無法開機的 VPS 復原 的處理範疇。

此外還有一個 -edge 變體的 HWE 套件,它會比點版本更早取得下一個核心。這是為了測試目的而存在。在伺服器上請勿使用。

租用伺服器的預設選擇應為 GA 核心:五年內使用單一核心版本,期間會回溯移植安全性修正,且不會有預定的版本跳躍。只有在您能明確指出所需功能時,才考慮切換至 HWE。

今天新安裝的系統為何與上個月不同

映像檔重建的頻率高於小版本發布的頻率。Ubuntu 會發布帶有序號的雲端映像檔,而每個供應商也會依照自己的排程更新 Ubuntu 範本。因此,即使從同一個選單項目建立,時間相隔六個月的兩台伺服器也可能使用不同的核心版本,並以不同的套件版本啟動。這兩台伺服器都沒有錯。

這個差異的影響比表面上更大。操作手冊若寫著安裝後執行五個命令,往往默默假設系統仍處於某個已經不再存在的初始狀態。請在每台伺服器上檢查 lsb_release -a 和 uname -r,不要只相信所選取的標籤;接著將最終狀態定義在程式碼中,讓初始狀態不再影響結果。適用於 VPS 的第一個 Ansible playbook 是最小但實用的版本。

應該在小版本發布時升級,還是等待?

  • 若您已在使用 26.04,則無須進行任何遷移。請持續執行更新,小版本號會自動隨之變更。
  • 若您使用的是 24.04,標準支援服務將持續至 2029 年中(Canonical 的發布列表標示為 2029 年 6 月,其發布週期頁面則標示為 2029 年 5 月),因此等待的成本很低。第一個小版本發布是一個選項,而非截止期限。
  • 請先升級副本。對伺服器進行快照,或在拋棄式的 VPS 上重建相同的堆疊,執行升級並測量所需時間。
  • 若您需要的是較新的核心而非較新的發布版本,HWE 軌道可在 24.04 上提供此功能,且完全無須進行 LTS 升級。

關於應選擇哪個發布版本作為基礎的更廣泛問題,請參閱 伺服器應選擇 LTS 還是過渡版本。

檢查本機狀態

lsb_release -a
uname -r
grep -v '^#' /etc/update-manager/release-upgrades
sudo do-release-upgrade -c

健康的檢查結果如下:lsb_release -a 會顯示您目前的發行版本與點版本號,uname -r 應符合您預期的核心版本軌跡,Prompt=lts 必須存在。檢查程式會列出可升級的目標版本(例如已修補的 24.04 伺服器應顯示 26.04.1 LTS),或是回報目前已是最新版本(這對於 26.04 而言是正確的結果)。若出現其他訊息,請務必在執行升級前釐清原因,避免在升級過程中發生問題。

FAQ

當發布如 26.04.1 這類點版本(point release)時,我需要做什麼嗎?

不需要,只要伺服器已處於該發行版本並持續接收更新即可。點版本會將已發布的更新整合至新的安裝媒體中。運作中的機器會隨著更新發布即時接收相同內容,透過 apt upgrade 進行,或針對偶爾需要移除已安裝套件的更新,透過 apt full-upgrade 處理(一般的 upgrade 會保留這些套件)。當 base-files 套件更新時,lsb_release -a 中的版本字串會隨之變更。無需遷移至獨立的發行版本,也無需重新安裝。

為什麼執行 apt upgrade 後,我的伺服器仍顯示舊的點版本號?

通常是因為自動更新僅限於安全性修正。預設的 /etc/apt/apt.conf.d/50unattended-upgrades 會啟用 -security 來源,並將 -updates 行註解掉,而包含版本字串的 base-files 套件是透過 -updates 取得的。請手動執行 sudo apt update && sudo apt full-upgrade 並檢查 base-files 是否出現在清單中。若顯示為被保留(kept back),則代表有套件被鎖定或暫停更新。

為什麼我的 24.04 伺服器沒有收到 26.04 的升級提示?

現在應該已經可以收到提示。/etc/update-manager/release-upgrades 中的 Prompt=lts 是 LTS 版本的預設值,它會檢查 https://changelogs.ubuntu.com/meta-release-lts 的 LTS 清單,該清單直到第一個點版本發布後才會提供新的 LTS 版本。26.04.1 於 2026 年 8 月 27 日發布,從 24.04 的升級於 2026 年 9 月 29 日開放,截至 2026 年 10 月 10 日,該清單已包含針對 26.04.1 LTS 的 resolute 區塊,並設定為 Supported: 1。在升級開放前,sudo do-release-upgrade -c 會顯示 There is no development version of an LTS available.,這是正確的行為。若您的伺服器仍未收到升級提示,請檢查 Prompt 是否未被設為 never,確認伺服器能連線至 changelogs.ubuntu.com,並確保所有可用更新皆已安裝。

我應該在我的 VPS 上安裝 HWE 核心嗎?

通常不需要。硬體啟用(Hardware enablement)是為了支援比發行版本更新的硬體,而 VPS 提供的是 virtio 裝置,其驅動程式已存在於核心中多年。GA 核心在整個 LTS 生命週期內會維持在同一版本,並將修正程式回溯移植(backported)至該版本。只有在您能明確指出所需的核心功能時,才考慮使用 HWE 核心,並請接受這意味著大約每六個月需要進行一次核心跳躍升級並重新開機。