Debian vs Fedora, which one is more stable?
穩定更新的Debian是解答,滾動更新的Fedora是玩具。兩者比較之下,答案呼之欲出。
我想要多功能且漂亮的桌面,作為日用系統,因此我一直是KDE Plasma的愛好者,遠離反人類的GNOME,拒絕用過時的XFCE。我講句激烈的話,GNOME又不是人民的爸爸,為什麼每次都要選它!
一直有人想推薦我用滾動發行版,だが断る!
在之前的文章Linux最新與穩定,真的能兼得嗎?說過,在經過這幾年艱難的探索後,我認為盲目追求最新版KDE桌面,加上滾動更新的Linux發行版模式完全是一場災難。用過Arch Linux、openSUSE Tumbleweed、Fedora(包含Kinoite)、KDE Neon後都沒有好的體驗。
每個月都有東西崩潰。桌面崩,驅動潰,打字頓,遊戲當,馬兒跳。這不是簡單備份回滾就能解決的。
所以我便去用Debian Stable + KDE了。這個KDE版本落後上游一兩年沒有關係,Wayland起碼能用就好。我的硬體沒有很新,沒有一直更新最新GPU驅動就為了改善1%效能的需求。我也不是閒到沒事做整天玩系統,沒有每個月一直追求最新KDE功能的必要。此外沒有Snap來搗亂。現在用了半年了吧,我感到祥和感。
我的生活已經夠混亂了,我不要連唯一可以控制的作業系統處於不穩定狀態,需要時刻警戒什麼東西壞掉。我想成為使用者,不是測試者。
Debian的開發模式為什麼穩?#
鑑於Fedora給我帶來的不良體驗,我很難推薦Debian Testing。開發者把用戶當白老鼠我自是很不喜歡的。就算搞immutable/atomic機制也不能解決這個問題。上游功能整天變來變去,我可沒時間陪他們折騰。他們似乎很想模仿Windows打造有競爭力、未來性的系統,便採取快速迭代的商業軟體更新方式,而非以用戶穩定性為考量。
參考Debian Handbook這張冗長的Debian套件打包流程,就知道為什麼Debian這麼穩了。在主力電腦上,我寧願用Debian KDE也不要用Fedora KDE。
讓人容易誤解的開發流程:Debian Sid → Debian Testing → Debian Stable。這個開發過程,很容易讓人以為三者都是分開開發一段時間才往下傳遞的吧?不是喔,Debian Sid就是幾乎每天都在更新,沒有版本號之差。
然後,Sid裡面的套件等待10天以上、沒有致命bug,以及不破壞dependcies,符合條件的套件就會自動進入Testing。Debian Testing的安裝ISO是自動快照產生的。然後Testing慢慢開發,等到下一個接近Stable的發表週期,接著就會進入6個月的冷凍期,不再接收新套件,讓開發者把剩餘的bug修完,最後才會發表為Stable,然後更新版本號碼。例如Stable從Debian 12更新為Debian 13,然後Testing就會暫時成為Debian 14。
在每個Debian Stable大版本之間,套件版本幾乎不會變化。例如GNOME和KDE Plasma桌面,基本上就是Debian Stable那個時候釋出的版本,不會突然升級。
有一些人認為,Debian Stable只適合伺服器,Debian Testing更適合桌面用戶,因為套件版本相對新且穩定?這顯然是不對的,除非是硬體非常新(發售時間小於一年),否則Stable是更好選擇吧。
一些Debian貢獻者認為Testing相對穩定了啦,甚至有更極端的覺得Debian Sid是可以日用的。那還不如用Arch Linux呢!
Debian Testing不能保證軟體沒bug,雖然是比Sid的套件穩定了一些,可是這個靜止不更新的等待過程還不夠久。既然Testing是自動從Sid合併進來的,這就意味著它的套件版本在一個大版本中會不斷變化,而非像Stable一樣要兩年後下一個大版本更新才會有變化。這讓軟體行為處於不可預測(unpredictable)。
此外,Debian Testing之所以叫做Testing,乃是因為用於測試之用,更新支援週期不保證,不像Debian Stable會有5年更新支援。
還有,在等待軟體穩定下來的那6個月空窗期,使用者會處於一種尷尬的位置,不只沒更新,遇到重大安全性更新也要等Sid檢查完了才能收到。
相較之下Debian Stable如果有緊急的bug或安全問題,更快就能獲得修復。
如果要類比的話,Debian Testing是很接近Fedora的開發模式,或者說CentOS Stream吧,可是更新更沒保障。
既然如此,有了Fedora的不良經驗後,我也不能推薦Debian Testing了。
Fedora的開發模式又是如何不穩定?#
通常,Fedora會被視為半滾動發行版。它採取固定更新模式,每年發表一個大版本更新,系統套件版本都很接近上游。Fedora系統的套件不會像Debian Stable陳舊,亦不會像Arch Linux直接無腦用最新版。
所以Fedora在不穩定與穩定更新之間找到了個平衡點,適合想要嘗試Linux最新功能,但又不要過分激進更新的用戶。
但這系統真的夠穩定嗎?
參考Fedora Updates policy,Fedora的上游有一個Rawhide的分支,套件經過開發者測試,投票,符合標準,認為穩定之後就會放到Beta,再放到Stable。
Fedora每個宣稱Stable的版本約6個月發表一次,然後提供13個月更新支援。在每個Fedora大版本的支援期間,也就是一年內,套件版本會不斷變化。可能對GNOME來說影響不大,因為它是固定每年釋出一個版本的,跟Fedora的更新週期大致對齊,所以Fedora一個版本裡面不太會變化。至於KDE Plasma就不可預測了,因為發表時間不固定,所以變化三次以上都是有可能的!
還有,Fedora的下游,也就是最終穩定版,並非Fedora專案控制的直接產物,而是不能自由利用的RHEL。上游和下游中間還有一個CentOS Stream拿來當墊背,讓RedHat可以花更多時間促進軟體品質。如果要有穩定又自由的系統,就得使用Rocky Linux或者AlmaLinux這類專案。
因此我們可以說,從來都不存在Fedora的最終版穩定系統。它一直都在變化。
相較於Debian Stable,Fedora更新的週期實在太短了。
謹慎看待滾動發行版,即使它有安全帶#
現在我會很謹慎的看待滾動發行版,尤其是缺乏商業公司維護的。講好聽點,我可以把滾動發行版視為一種新功能的遊樂場,鼓勵人們探索新功能。但是一旦沒有穩定度保證,它就會成為玩具。
Fedora用戶會受到其開發模式影響,不斷推崇新技術。迭代之快令人難以跟上,可能每年都會有新東西取代舊東西。例如Wayland取代X11,還有PipeWire取代PulseAudio(btw PulseAudio也很爛),Podman替代Docker等等。
最近常聽到的議題是immutable,或稱atomic的系統更新模式。他們說,這能讓系統更穩定,更新更有保障。
Immutable distro這個概念存在已久,不過直到2019年之後才開始慢慢有專門的Linux發行版出現。最有名的就是以Fedora Silverblue為首的實現。這是在一般版Fedora之外,另闢蹊徑的一個嘗試。
我不反對探索immutable的新境界,但是immutable不能解決Fedora不穩定的問題。Fedora是半滾動更新發行版,到Fedora 44一直是如此,有版本號又不會像Arch Linux一樣盲目追最新版套件。但事實上是,軟體缺乏長時間測試就釋出。至少跟Debian Stable動輒一兩年的開發模式比起來,Fedora六個月就更新一次的頻率實在太高了。由此加劇了不穩定性,況且我用的還是KDE Plasma桌面,更新頻率比GNOME高很多且不固定。
說Fedora很穩沒崩潰過的,我懷疑他們到底有沒有get a life過,抑或是it works on my machine就算穩定了?
Debian開發者稱不斷追求新功能,勝過穩定度考量的用戶為Shiny New Stuff Syndrome。
這是病,我沒要求你一定得治,但不要到處傳染給人家,強制要求人家跟上。
很多Linux發行版受到Fedora的immutable distro風氣影響,紛紛討論要不要也推出自家的immutable derivatives。但實際到Debian社群走一遭,在現在Debian 13的環境,會發現他們對Fedora流行的那種immutable風氣很不感冒。我想很多人想法應該跟我一樣,Debian這種經過起碼兩年長久開發的模式,而非六個月接近滾動更新的模式,軟體就會自然穩定下來。再加上Flatpak補充上游軟體,就足以提供比擬immutable的體驗了。
Immutable distro目前我還處於接受不能的狀態,需要等待未來大腦升級。或者,有一個不是採用滾動更新模式的immutable distro出來,我再考慮切換,比如Vanilla OS和Bluefin LTS就很符合我的期望,等他們推出KDE版本。
那就當個boomer吧#
對新技術理解不能且持抗拒態度,壞了,看來換我成為人們口中的boomer了。
本來,我對Systemd vs 傳統init、X11 vs Wayland、PulseAudio vs PipeWire的技術爭議沒什麼意見,反而鼓勵很多人應該尬廣跟上用最新技術,因為這不是我這一代人碰到的問題。
甚至覺得,人們在Linux伺服器應該多用Docker部署SQL服務,還在那邊手動打指令安裝二進位檔的是傻逼。如果一個軟體開發者不懂得搭配Systemd管理服務而使用自己的daemon實現,那麼我會說它是out of touch,老頑固。
但是對於新興的atomic與immutable distro概念,我真的是被Reddit上一些人的宣傳口徑弄到煩了,他們整天說採用這個技術的新的Fedora Atomic發行版(包括Silverblue、Kinoite、Bazzite、Bluefin)最好,改善了很多blahblah的問題。甚至認為傳統的可靠的Debian開發模式早該被掃進歷史垃圾堆,這種態度就讓人難以恭維。
我嘗試了幾個immutable distro,讀了他們的文檔說明,例如Bluefin Documentation解釋了他們的理念,還是不覺得跟傳統Linux比起來有什麼優勢。目前Linux發行版的開發和維護有很多問題沒錯,但他們想用一種截然不同的方式全盤推翻舊有的模式,看似解決了舊有的問題,卻製造了新的問題。破壞了現有的成熟方案,要求適應新的做事方法。並且還犧牲Linux固有的自由度。
使用者不應該懼怕他們的系統。縱然是為了維護性,開發者要Linux使用者適應新型image-based的系統部署方式,我們也不必照辦。Fedora Atomic桌面引入的概念,對懶惰用戶很好,畢竟不怕弄壞系統。不過既然我自認愛折騰,我就覺得Debian這種傳統模式才是更好的了。有什麼軟體需要移除,我可以用APT受到處理,而非是透過系統本身就有的映像檔決定。 如果你總是處在擔心每次更新就弄壞系統的恐懼,因而要去追求回滾能力,那麼你一開始就用錯系統了。不應該使用滾動發行版。
如果說,這種image-based的系統是未來,那ChromeOS確實是眾望所歸的系統,dumb-down的架構,他們的GUI品質甚至屌打你引以為傲的開源社群所端出來的大雜燴呢www
Immutable distro風潮,更多的是對開發者與企業環境有利,對一般用戶的改進微乎其微。
這就是evangelist吧,正如認為"Rewrite everything in Rust"的傢伙一般。明明問題都沒解決,就是專門製造新問題,還自我感覺良好。
我沒那麼躁進,我會等個幾年看看發展的怎麼樣再考慮遷移。戒急用忍。
嘗試理解這些evangelist的想法的話,我想當時Systemd剛出來的時候,也是因為有一批Lennart Poettering為首的瘋子似的到處推廣,不論手段好不好,才讓它廣為流傳吧,只剩下一撮BSD愛好者在垂死掙扎。
我不想說瘋狂推這些新Linux技術的人都是RedHat的爪牙,那太陰謀論了。目前我比較能接受的新興技術,大概就Flatpak,因為真的安裝軟體方便。系統要我變成immutable?想都別想!
我們被Chromebook和Android手機弱智化荼毒的還不夠嘛!?Windows和macOS雖然不夠弱智化,但壓迫用戶自由的程度也是肉眼可見的了。
若非我堅持自由的理由,那麼乖乖去用Windows和macOS不就好了。但我正是因為想保有自己的一份控制權,所以想要用符合自己期待的Linux發行版。
如果要我說一句比較中立的話,那就是:Use what works for you. 不要因為沒跟上所謂的潮流,便產生了FOMO和FUD。
套用美國政治廚的術語,當那些左傾進步派忙著教育你,他們的未來理念有多先進,無視當下現實需求的時候,我就了解了,那些美國極右保守派會貼出那張響尾蛇大旗的原因:不要壓迫我! 莫忘世上苦人多啊!
八卦是FOSS圈的另類右翼瘋狗Bryan Lunduke也貼過這張旗,不過他把響尾蛇改成自家的狗狗。
我們或許正站在歷史的關鍵交叉口,但是我選擇不躁進。要是,未來的Linux方向走的越來越偏離我們期待,我就只好去用BSD了。


