Fedora VPS 伺服器支援多久?13 個月升級一次
Fedora 每版約提供 13 個月安全更新,VPS 伺服器幾乎每年都要升級。了解版本升級的維護成本,以及 Fedora 何時值得選用。
Fedora 的發行版本會提供多久的安全更新?
Fedora 伺服器只要還在運作,大約每年都需要進行一次版本升級。Fedora 大約每六個月發布一個新版本。每個版本的支援期限持續到其後兩個版本發布後的四週左右,換算下來大約有 13 個月的更新期。該日期過後,該版本將不再獲得任何安全修復。伺服器會繼續運作,但其軟體包集將不再有任何人進行修補。
具體日期如下。截至 2026 年 8 月,受支援的版本為 Fedora 43 與 Fedora 44。Fedora 44 於 2026 年 4 月 28 日發布,預計於 2027 年 6 月終止支援。Fedora 42 於 2025 年 4 月發布,並於 2026 年 5 月(即 Fedora 44 發布四週後)終止支援。因此,一台基於 Fedora 42 映像檔建立的伺服器,在十三個月後就會失去支援,且這並非因為操作失誤。Fedora 45 於 2026 年 9 月 15 日進入測試階段,一旦正式發布,Fedora 43 就只剩下約四週的更新期。
Fedora 與 LTS 的比較(以月計)
LTS 代表長期支援,指供應商持續修補數年的版本,而不是僅維護數個月。EOL 代表生命週期終止,即停止提供修補程式的日期。以下是各專案針對目前應安裝版本公布的資訊。
此圖表背後的資料
[
{
"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 個月。第二欄可視為維護成本。以十年計算,Fedora 大約需要進行 10 次完整作業系統升級,而 Ubuntu LTS 需要 2 次。Debian 的 36 個月是一般安全性支援期間,另有獨立的 LTS 團隊將大多數版本延長支援至約五年。
以上是截至 2026 年 8 月查核的官方支援期間,不是實測的正常運作時間。各版本更新週期不同的原因,請參閱Ubuntu LTS 與 interim release 在伺服器上的差異。這裡重要的是每種選擇會為你帶來多少維護工作。
實際執行 Fedora 版本升級時會發生什麼事
DNF 5 自 Fedora 41 起就是預設的套件管理程式,而 dnf 會使用它。system-upgrade 指令本身屬於 dnf5,因此不需要先安裝外掛程式。如果你是從 Debian 或 Ubuntu 伺服器轉來的,日常使用的大多數指令都有直接對應的 apt 與 dnf 用法;以下的版本升級則是少數沒有真正對應功能的工作之一。先從目前版本開始,並完整套用更新:
sudo dnf upgrade --refresh
sudo reboot重新開機很重要,因為升級會根據目前已安裝且正在執行的內容解析相依性。如果 kernel 或 glibc 更新只套用了一半,下一步就更難判斷問題。現在準備新版本。將 44 替換為你要升級到的版本:
sudo dnf system-upgrade download --releasever=44這會解析完整的交易並下載所有套件,但不會變更正在執行的系統。小型伺服器通常會有數千個套件,下載量約為 1 到 3 GB。如果 dnf 無法解析交易,流程會在此停止,並指出造成阻礙的套件。這是較好的情況,因為錯誤發生時機器仍在執行,你也仍有 shell 可用。
接著執行:
sudo dnf offline status
sudo dnf system-upgrade rebootdnf offline status 會確認交易已準備完成並等待執行。dnf system-upgrade reboot 會將機器重新啟動至離線交易模式:系統以最小化開機環境獨立執行 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 子命令會顯示該次離線開機期間的交易日誌;在你沒有 shell 可用時,這是唯一能記錄實際發生內容的紀錄。distro-sync 會將遺留項目更新至新版本的套件版本。repoquery --extras 會列出目前已安裝、但任何已啟用套件庫都不再提供的套件;你可以在這裡找出從未針對新版本發布套件的套件庫所留下的項目。
在下載步驟前先建立磁碟快照。交易會在你無法查看畫面的情況下執行,因此如果離線開機期間失敗,SSH 不會恢復,你唯一能使用的進入方式就是供應商提供的主控台、VNC 或 serial。開始前就確認你有主控台或快照,不要等到失敗後才確認。
還有一項經常被略過的檢查:
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 伺服器錯過支援期限會發生什麼事?
當天不會發生任何事,之後也不會有明顯的故障。Fedora 的鏡像服務會持續回應已終止支援的版本。您發行版本的 metalink URL 仍會回傳有效的鏡像列表,而這些鏡像現在會從 Fedora 的封存庫(archive tree)提供您的版本,其中包含 dl.fedoraproject.org。因此,dnf upgrade 仍能取得中繼資料,但因找不到新內容而結束執行,看起來就像伺服器仍處於最新狀態。只有當 Fedora 從未發行過該版本時,metalink 服務才會回傳 404 錯誤。截至 2026 年 10 月 10 日,此規則適用於 2026 年 5 月退役的 Fedora 42,以及更早至 Fedora 20 的版本。您可以查看您的版本目前由何處提供:
curl -s 'https://mirrors.fedoraproject.org/metalink?repo=fedora-42&arch=x86_64' | grep -m 3 archive機器會持續提供網路服務,這正是此情況既安靜又危險的原因。它不會收到任何安全更新,因為該版本已不再發布任何新內容。dnf upgrade 仍會讀取凍結的封存庫,因此機器上看起來沒有任何損壞,但當 OpenSSH 或 nginx 發布安全公告時,您的版本將沒有修復後的軟體包,且您也沒有受支援的方式進行修補。
脫離此狀態是可能的,但過程緩慢。由於您發行版本的中繼資料仍會解析到 https://dl.fedoraproject.org/pub/archive/fedora/linux/ 的 Fedora 封存庫,您可以從當前狀態進行升級;只有在 metalink 無法運作時,才需要手動將儲存庫檔案指向該封存庫。Fedora 預期每次跳躍一到兩個版本,因此落後四個版本的機器意味著需要連續進行多次升級,每次升級都有失敗的風險,且每次都需要在離線開機狀態下執行。對於 VPS 而言,重新建立當前版本的映像檔並遷移資料通常是更短且更安全的工作,這與 新 VPS 的前十分鐘 所需的工作量相同。
自動更新僅能修補版本,無法升級版本。
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 可在 default、security 與 distro-sync 之間選擇。reboot 接受 never、when-changed 或 when-needed。
這能讓您在同一版本內保持最新狀態。它永遠不會將 Fedora 43 升級到 Fedora 44,因為版本升級是一個獨立且謹慎的操作,需要重新開機進入離線交易模式。這就是與 LTS(長期支援版本)相比的實際差距。在 Ubuntu 上,無人值守安全升級 可讓機器在整個五年週期內運作而無需變更版本,而版本升級本身則是像 24.04 到 26.04 升級 那樣每隔幾年進行一次的規劃性工作。
Fedora 適合作為伺服器的情況
如果重點是使用較新的軟體,Fedora 是合適的選擇。
- 您需要比任何 LTS 版本都更新的 kernel 或 userspace,例如支援最新硬體,或使用仍要再過一年才會納入企業版的 container 與 systemd stack。Fedora 在同一個版本的生命週期內也會更新至新的 upstream kernel,因此優勢不只存在於初次安裝時。
- 您正在驗證即將進入 RHEL (Red Hat Enterprise Linux) 的內容。Fedora 的成果會先進入 CentOS Stream,再進入 RHEL,因此目前能在 Fedora 上建置並執行的軟體,正針對幾年後的企業平台進行測試。
- 該機器本來就設計為短期使用。兩個月後即銷毀的 build runner 或 test box,不會使用到生命週期終止日期。同樣的原則也適用於 提供給 coding agents 的拋棄式 VM;這類機器的重建頻率遠高於 Fedora 的發行週期。
- 有人負責升級。若伺服器有明確的負責人,並已排入行事曆,使用 Fedora 沒有問題。對於所有人都已忘記的機器,Fedora 就不適合。
穩定基礎上的最新版套件:折衷方案
大多數想在伺服器上使用 Fedora 的人,需要的是兩三個最新版套件,而不是最新版作業系統。這兩者可以分開處理。以 LTS 或企業版重建發行版作為基礎,然後只在實際需要的地方導入新版軟體。容器映像檔可在無須為此升級主機的情況下,提供新版應用程式(在 VPS 上執行 Docker)。如果只在意 PostgreSQL 或 nginx 等單一套件,也可以使用該套件的供應商儲存庫,單獨更新該套件,同時維持基礎系統不變。
這項取捨的兩面都很明確。容器會在舊版 kernel 的主機上提供新版 userspace,因此當你需要更新的是 kernel 時,容器無法解決問題。供應商儲存庫會在供應商較少測試的基礎系統上提供單一新版套件。兩種方式都讓基礎系統依照 LTS 的更新週期取得安全性更新,而這個週期正是 Fedora 每年需要安排維護時段的原因。
如果你確實選擇 Fedora 作為伺服器作業系統,請將更新週期排入行事曆。版本發布後,先等待幾週讓供應商儲存庫完成同步,再建立 snapshot、執行升級,最後確認服務已恢復。這個流程每年大約耗費一小時,而且確實可行。真正會失敗的做法,是只有在某些項目已經故障後,才想起原本應該執行升級。
FAQ
Fedora 的發行版本支援多久?
大約 13 個月。Fedora 大約每六個月發布一個新版本,並支援每個版本直到其後兩個版本發布後的四週左右。Fedora 44 於 2026 年 4 月 28 日發布,預計於 2027 年 6 月終止支援。該日期過後,該版本將停止接收安全更新,其軟體包會移至 Fedora 的封存庫,dnf upgrade 仍可讀取該封存庫,但內容將不再變更。
我可以跳過一個 Fedora 版本,一次升級兩個版本嗎?
可以,但在一定限制內。dnf system-upgrade download --releasever= 接受目標為領先一到兩個版本,一次跳躍兩個版本正是每年一次升級節奏的運作方式。跨越更多版本並非受支援的路徑,且每增加一個版本,軟體包重新命名或設定格式變更導致交易失敗的機率就會增加。如果機器已經落後多個版本且已過期,重新建立當前版本的映像檔通常比進行一連串升級更快。
如果我的 Fedora 伺服器到達終止支援日期會發生什麼事?
它會繼續運作,但不再獲得修補。下一次 dnf upgrade 執行時仍不會報錯,因為 Fedora 的鏡像服務會持續將您的版本指向其封存庫副本(包含 dl.fedoraproject.org),但因為找不到新內容,機器上不會有任何警告。您可以從該狀態分階段升級,或在受支援的版本上重新建立伺服器。在您執行其中一項操作之前,該機器將不會再發布任何安全更新。
Fedora 是生產環境伺服器的糟糕選擇嗎?
這是一個糟糕的預設選擇,但若有明確理由,則是一個合理的選擇。其代價是每年都必須對伺服器進行完整的作業系統升級,且這是在您可能不想更動的機器上進行。當您需要比 LTS 版本更新的內核或使用者空間,或者伺服器設計上就是短期的,請選擇 Fedora。當您希望在不變更版本的情況下對伺服器進行多年修補時,請選擇 LTS 或企業級發行版。