SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Fedora VPS 伺服器多久要升級一次?

Fedora 每個版本約有 13 個月安全性更新,伺服器幾乎每年都要升級。了解升級成本,以及 Fedora 何時值得用於 VPS。

Fedora 版本會獲得多久的安全性更新?

只要伺服器持續運作,就大約每年需要升級一次 Fedora 版本。Fedora 約每 6 個月發布一個新版本。每個版本會持續支援至後續第 2 個版本發布後約 4 週,換算約有 13 個月的更新。超過該日期後,該版本將完全不再取得安全性修正。伺服器仍會繼續運作,但其套件集合不會再有人修補。

實際日期可讓週期更清楚。截至 August 2026,受支援的版本為 Fedora 43 和 Fedora 44。Fedora 44 於 28 April 2026 發布,預定於 June 2027 終止支援。Fedora 42 於 April 2025 發布,並於 May 2026 終止支援,也就是 Fedora 44 發布後 4 週。由 Fedora 42 映像檔建立的伺服器,會在 13 個月後失去支援,即使管理者沒有任何操作錯誤。

Fedora 與 LTS 的支援週期(以月計)

LTS 是長期支援(long term support)的縮寫,指供應商持續修補數年的版本,而不是僅維護數個月。EOL 是生命週期終止(end of life)的縮寫,指停止提供修補程式的日期。以下是各專案針對目前可安裝版本公布的支援資訊。

ChartPublished support window per release, in months (vendor figures, August 2026)
The data behind this chart
[
  {
    "distro": "Fedora 44",
    "support_window": 13,
    "upgrades_per_decade": 10
  },
  {
    "distro": "Ubuntu 26.04 LTS",
    "support_window": 60,
    "upgrades_per_decade": 2
  },
  {
    "distro": "Debian 13 stable",
    "support_window": 36,
    "upgrades_per_decade": 3
  },
  {
    "distro": "AlmaLinux 10",
    "support_window": 120,
    "upgrades_per_decade": 1
  }
]

Fedora 每個版本提供 13 個月的支援。Ubuntu LTS 提供 60,而 AlmaLinux 等企業級重建版本則提供 120。請將第 2 欄視為所需的維護成本。以 10 年計算,Fedora 大約需要進行 10 次完整作業系統升級,而 Ubuntu LTS 需要 2 次。Debian 的 36 個月是一般安全性支援期間,另有獨立的 LTS 團隊將大多數版本延長支援至約 5 年。

這些是截至 2026 年 8 月查核的公開支援週期,不是實測的 uptime。各版本更新週期不同的原因,請參閱Ubuntu LTS 與 interim release 在伺服器上的差異。這裡的重點是每種選擇會為你增加哪些工作。

Fedora 版本升級實際包含的內容

Fedora 41 起,DNF 5 是預設的套件管理器,而 dnf 會執行它。system-upgrade 命令是 dnf5 本身的一部分,因此不需要先安裝外掛程式。從目前版本開始,先完整套用更新:

sudo dnf upgrade --refresh
sudo reboot

重新開機很重要,因為升級會根據已安裝且正在執行的內容解析相依性。如果 kernel 或 glibc 更新只套用了一半,下一個步驟就更難判斷。現在準備新的版本。將 44 替換成要升級到的版本:

sudo dnf system-upgrade download --releasever=44

這會解析整個交易並下載所有套件,但不會變更正在執行的系統。在小型伺服器上,預計會下載數千個套件,容量約為 1 到 3 gigabytes。如果 dnf 無法解析交易,程序會在此停止,並指出造成阻礙的套件。這是理想情況,因為失敗發生時機器仍在運作,你也仍能使用 shell。

接著執行:

sudo dnf offline status
sudo dnf system-upgrade reboot

dnf offline status 會確認交易已準備完成並等待執行。dnf system-upgrade reboot 會將機器重新開機,進入 offline transaction:在最小化開機環境中獨立執行 RPM 交易。這樣設計是因為在正在執行的服務底下替換 glibc 和 systemd,會導致系統只安裝了一半。整個交易期間,你的伺服器都無法連線。小型 VPS 通常需要數分鐘,之後會再次重新開機並進入新的版本。請預留 2 次重新開機,以及 SSH 無法回應的時段。

機器恢復後:

cat /etc/fedora-release
sudo dnf system-upgrade log --number=-1
sudo dnf distro-sync
sudo dnf repoquery --extras

/etc/fedora-release 應輸出類似 Fedora release 44 (Forty Four) 的一行。log 子命令會輸出該次 offline boot 的交易記錄;在你沒有 shell 可用期間,這是唯一能記錄實際變更的來源。distro-sync 會將遺留項目更新為新版本中的版本。repoquery --extras 會列出已安裝、但目前已不在任何啟用儲存庫中的套件。你可以在此找出新版本尚未發布套件的儲存庫遺留項目。

在下載步驟前先建立磁碟 snapshot。交易會在你無法查看畫面的情況下執行;如果 offline boot 期間失敗,SSH 不會恢復。你能使用的唯一登入方式,就是供應商提供的 console、VNC 或 serial。請在開始前確認你有 console 或 snapshot,不要等到失敗後才確認。

還有一項常被略過的檢查:

sudo find /etc -name '*.rpmnew' -o -name '*.rpmsave'

當套件發布新的預設設定檔,而你已編輯舊檔案時,RPM 不會覆寫你的檔案。它會將套件提供的版本另存為 .rpmnew。因此,你的 sshd 或 nginx 會完全按照舊版本的設定運作,而新的預設值則未經檢視地留在磁碟上。每次升級後都應讀取這些檔案。安裝 rpmconf 並執行 sudo rpmconf -a,即可逐一檢視這些檔案及其差異。

第三方軟體庫才是升級失敗的原因

Fedora 自有套件會在發布日一併更新。Fedora 以外的內容則依各自的時程更新。多數廠商軟體庫會在 URL 中放入 $releasever,因此升級後,dnf 會開始要求可能尚未存在的路徑。

列出目前的設定:

sudo dnf repo list --enabled
grep -R -e baseurl -e metalink /etc/yum.repos.d/

對每個非 Fedora 自有的軟體庫,在確認升級前先測試其是否支援目標版本:

sudo dnf --releasever=44 --repo=docker-ce-stable makecache

如果廠商已針對該版本發布內容,dnf 會下載中繼資料後安靜結束。如果尚未發布,您會收到類似 https://download.docker.com/linux/fedora/44/x86_64/stable/repodata/repomd.xml 路徑的 404 錯誤,而相同的錯誤稍後也會讓 system-upgrade download 中止。Fedora 新版本發布後的前幾週,這是升級無法開始最常見的原因。

您有兩種處理方式。等待幾週讓廠商發布,通常這是正確的做法。或者停用該軟體庫後升級:

sudo dnf system-upgrade download --releasever=44 --disable-repo=docker-ce-stable

停用軟體庫不會移除其中的套件。這些套件仍會保持已安裝狀態,但不再受管理;如果它們阻擋交易,dnf 會明確指出。加入 --allowerasing 會讓 dnf 移除已安裝的套件,以解決衝突,因此接受前請先查看移除清單。使用者往往就是在這份清單中,誤刪原本要保留的資料庫伺服器。

錯過期限的 Fedora 伺服器會發生什麼事

當天不會發生任何事。下次操作套件管理程式時,問題才會出現。已停止支援的版本會從 mirror network 移至 archive,因此 dnf upgrade 會在擷取中繼資料時失敗,因為該版本的 metalink URL 回傳 404:

Status code: 404 for https://mirrors.fedoraproject.org/metalink?repo=fedora-42&arch=x86_64

伺服器仍會持續處理 network traffic,這正是問題不易察覺且具有危險性的原因。它不會再收到安全性更新。它也無法安裝任何套件,因此當 OpenSSH 或 nginx 發布安全性公告時,便沒有受支援的方法可以套用修補程式。

仍然可以恢復,但過程緩慢。你可以將套件來源重新指向 Fedora 的 archive:https://dl.fedoraproject.org/pub/archive/fedora/linux/,然後從該處升級。Fedora 預期每次跨越 1 或 2 個版本,因此落後 4 個版本的伺服器必須連續執行數次升級。每次升級都有失敗的可能,而且每次都會在離線啟動環境中盲目執行。對 VPS 而言,使用目前版本的映像檔重新建立伺服器,再搬移資料,通常是較快速且安全的做法;這與新 VPS 的前 10 分鐘是相同的工作。

自動更新會修補目前的版本,但不會升級版本。

Fedora 可以依計時器安裝更新:

sudo dnf install -y dnf5-plugin-automatic
sudo systemctl enable --now dnf5-automatic.timer

設定位於 /etc/dnf/automatic.conf,並會覆寫 /usr/share/dnf5/dnf5-plugins/automatic.conf 中隨版本提供的預設值。apply_updates 預設為關閉,因此在未變更設定的情況下,計時器只會下載更新,不會安裝任何內容。upgrade_type 可在 defaultsecurity 之間選擇。reboot 接受 neverwhen-changedwhen-needed

這能讓系統在同一個版本內保持最新狀態,但不會將 Fedora 43 升級至 Fedora 44。版本升級是獨立且需要明確執行的操作,系統會重新開機並進入離線交易程序。這就是它與 LTS 之間的實際差距。在 Ubuntu 上,無人值守安全性升級 可在整個五年支援期間維持系統更新,且完全不變更版本;版本升級本身則是規劃好的工作,例如每隔幾年執行一次 從 24.04 升級至 26.04

Fedora 適合用來執行伺服器的情況

當你需要最新版本時,Fedora 是合適的選擇。

  • 你需要比任何 LTS 版本都更新的 kernel 或 userspace:例如較新的硬體,或距離 enterprise release 尚有一年以上的 container 與 systemd stack。Fedora 也會在版本生命週期內導入新的 upstream kernel,因此這不只是安裝時的一次性優勢。
  • 你正在驗證即將進入 RHEL(Red Hat Enterprise Linux)的內容。Fedora 的內容會進入 CentOS Stream,再進入 RHEL。因此,目前能在 Fedora 上建置並執行的 software,正針對數年後的 enterprise platform 進行測試。
  • 這台機器原本就只會短期使用。兩個月後即銷毀的 build runner 或 test box,永遠不會遇到 end of life 日期。同樣的邏輯也適用於 提供給 coding agents 的一次性 VM;這類機器的重建頻率遠高於 Fedora 的 release 頻率。
  • 有人負責升級。若伺服器有明確的負責人,並已排入行事曆,使用 Fedora 沒有問題。若這台機器已被所有人遺忘,Fedora 就不適合。

穩健的中間方案:在穩定基礎上使用目前版本的套件

多數想在伺服器上使用 Fedora 的人,需要的是兩三個目前版本的套件,而不是目前版本的作業系統。這兩者可以分開處理。以 LTS 或企業版重建版作為基礎,再只在實際需要的地方引入新版軟體。容器映像檔可在無須為此升級主機的情況下,提供新版應用程式(在 VPS 上執行 Docker)。若只在意單一套件,例如 PostgreSQL 或 nginx,也可以使用該套件的供應商儲存庫,只更新這個套件並維持基礎系統不變。

這項取捨的兩面都很明確。容器能在舊版 kernel 的主機上提供新版 userspace,因此 kernel 本身需要更新時,容器無法解決問題。供應商儲存庫則只會在供應商測試較少的基礎系統上提供一個新版套件。兩種方式都讓基礎系統依照 LTS 的週期接收安全性更新;而在 Fedora 上,每年需要安排一次維護時段,這個週期就是主要成本。

如果選擇在伺服器上使用 Fedora,請將更新週期排入行事曆。版本發布後,先等待幾週讓供應商儲存庫完成同步,再建立 snapshot、執行升級,最後確認服務已恢復執行。這個流程每年約需 1 小時,而且確實可行。真正會失敗的情況,是只有在某些項目已經損壞後,才想起原本應該執行升級。

FAQ

Fedora 版本支援多久?

13 個月。Fedora 約每 6 個月發布一個版本,並支援各版本至後續第 2 個版本發布後約 4 週。Fedora 44 於 28 April 2026 發布,預定於 June 2027 終止支援。到期後,該版本將不再收到安全性更新,其套件也會從鏡像站移至 Fedora 的封存區。

可以略過 Fedora 版本,一次升級 2 個版本嗎?

可以,但有條件。dnf system-upgrade download --releasever= 接受往前 1 或 2 個版本的目標版本;每年升級 1 次時,1 次跳升 2 個版本正是對應的方式。再往前跳就不受支援,而且每多跳過 1 個版本,套件重新命名或設定檔格式變更導致交易失敗的機率就會提高。如果機器已落後數個版本且版本已終止支援,通常直接使用目前版本的映像檔重建,比逐版本升級更快。

Fedora 伺服器終止支援後會發生什麼事?

伺服器會繼續執行,但不再取得修補程式。下一次執行 dnf upgrade 時,會因為已終止支援的版本已移至 dl.fedoraproject.org 的封存區,而對該版本的 metalink URL 回應 404。您可以將套件庫檔案的來源改指向該封存區,再分階段升級;也可以使用受支援的版本重建伺服器。在完成其中一種處理前,機器無法取得任何安全性更新,也無法安裝任何套件。

Fedora 不適合做正式環境伺服器嗎?

它不適合作為預設選擇,但有明確理由時仍是合理選擇。代價是每年都必須完整升級作業系統,而且伺服器可能需要長期維持不變。若您需要比 LTS 所提供版本更新的 kernel 或 userspace,或伺服器本來就設計為短期使用,請選擇 Fedora。若您希望多年修補伺服器而不變更版本,請選擇 LTS 或 enterprise rebuild。