推薦的Linux發行版為何呢?我只能說,應當多使用主流Linux發行版。
用Linux越久,就越想獨裁解決碎片化問題,然而自由軟體是不可能統一的。
對FOSS的rabbit hole越鑽越深,逐漸發現我是站在反多元化的那一方呢。
有一個笑話說,Linux電腦要中毒很難,因為發行版太多了,每個系統的函式庫也不一樣,病毒執行的時候容易顯示no such file or directory。
要解決這個問題,我們只能呼籲大家,想清楚自己追求的是什麼。
我沒有影響Linux社群的決策權,只是我自己的想法。 就是又一篇rant。
為了多元而多元#
我們先從一篇文章開始看起:Grub & Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea?
看到這篇,我不禁想到:「你還能有老祖宗聰明?張獻忠.jpg」梗圖。
不願意接受變革,動輒拿「Unix哲學」出來說嘴的人,是該改改了。現在還有人在反Systemd,刻意選擇其他init的發行版,他們堅持的理由「做一件事並做好」隨著時間過去越顯得可笑。同理,推廣到Linux的其他新技術也是一樣,舉凡Wayland、Pipewire、Flatpak等等。這些東西慢慢成為新一代Linux桌面的標準,雖不完美但應保持樂觀。不過依然有很多人不從技術的角度去批評這些東西的進展,反之以嘲諷辱罵(想想4chan /g/鄉民的rant口氣就知道了),認為一切都是RedHat統治世界的陰謀。有人甚至成立了一個 flatkill.org 網站來攻擊Flatpak。
正如死命堅持DRM是壞東西的社會運動家一般,情緒性的說我反對!但是提不出更好的解決方案(例如搞個LibreDRM之類的),就只是瞎反對。
雖然開源社區的fragmentation長期以來是Linux發行版的基因,有些用戶也刻意愛與眾不同的推廣一些詭異的發行版,甚至單純為了不一樣而宣稱要有多元性,但是有些東西還是應該要標準化較好。這方案不會所有人都滿意,但至少結果不會太壞。
何為主流的Linux發行版#
進入正題。
我對非主流Linux發行版的看法如下圖。這張圖真的太爆笑了,針對連續劇孟漢娜所製作的Hannah Montana Linux絕對是最有名的meme distro之一,就這還想跟其他發行版一戰?
當然,niche distro跟meme distro還是有差距的。很難有人能定義哪個發行版較為主流,哪個是小眾。畢竟就連MX Linux都曾經攻佔DistroWatch的榜單過,這種莫名其妙的不採用Systemd的異端。但能笑到最後的,往往都是經過五年十年,仍在前十名的Linux發行版。
我私心覺得最主流的Linux發行版:Debian、Ubuntu、Linux Mint、RHEL、Fedora、Rocky Linux、Arch Linux、openSUSE、Gentoo,他們經過千錘百鍊,社區也夠大!用戶遍佈世界各地。原廠給的東西就夠好了,不需要用到衍生的Linux發行版。
其實用久了就會漸漸知道什麼是主流的發行版,看看那些小型軟體開發者在Github釋出的專案吧!如果不用Flatpak/AppImage/Snap,他們會優先釋出何種格式的軟體套件呢?高機率是.deb和.rpm了吧。沒有你的套件難道要自己編譯?
再說,Ubuntu的衍生發行版那麼多都有可能發生APT依賴崩解的狀況了(例如Ubuntu套件不見得能在ZorinOS使用),那麼其他更小眾的發行版呢?得看維護者的功夫,他們建是否夠詳細,能夠在使用者遇到困難的時候幫上忙,且他們還要維護軟體品質。不是每個人都像Slackware作者這麼厲害的。
對於那些努力為特定電腦硬體適配所開發的發行版,例如Pop_OS!、Tuxedo OS、Asahi Linux,我尊重他們的努力,可是他們畢竟不像Debian那麼的「general-purpose」。對一般用戶來說,也就是不打算貢獻上游開發者的免費仔,選非主流發行版是在折磨自己,講難聽一點是浪費時間。偶爾玩玩可以,但不能當生產主力。
Systemd和FreeDesktop是較廣泛接受的標準#
Linux有太多發行版了,碎片化嚴重,這是Linus Torvalds也講過的事情,還特別喜歡break userspace。
長期下來的開源社群風氣,也導致了許多「標準」出現,xkcd的漫畫相信大家都看過。一個開源軟體同時會有多種解決方案廝殺,最後靠著社群的認可生存下來。
近年來唯一一個確定勝出的例子就是Systemd了,在init戰場上,幹掉傳統的SysVinit,還有S6、runit、dinit、OpenRC、等替代方案,只剩少數發行版還在反抗。
我很認同Systemd什麼都要管,統一管理系統服務的作法,甚至覺得使用systemd-homed和systemd-nspawn也未有不可。
此外,相較於Systemd,Linux社群當中接受度比較高的「標準」應該是FreeDesktop.org所制定的一系列規範了。它讓桌面軟體的開發者有標準可循,不會讓軟體知道要到哪裡找設定檔。
特化小眾發行版,No#
Linux的問題在於選擇過多,如果是軟體多樣化也就算了,但若是牽扯到底層的圖形桌面環境和系統服務也硬要「多元化」,就會讓事情變得很複雜。
上面講到了Systemd的一統天下,現在已經只剩小眾發行版還因為各種理由不使用Systemd了。
接著要講的是特化Linux發行版的問題。
就Linux發行版來說,我很反感特化發行版的做法。比如中國有修改過的deepin,台灣則是有ezgo。他們說為了國情需要而特別修改,並預載一系列他們覺得你會需要的軟體(尤其是習慣Windows與Android操作的用戶),bullshit!華國美學的設計破壞了Linux桌面的美學。內建一堆有的沒有的軟體,要裝不會自己裝嗎。與其做這些事情不如去貢獻上游的localization。
私以為,與其花時間維護自己的Linux發行版,自行製作所謂「大補帖光碟」,不如集眾人之力,將精力放在「mainstream」和「general-purpose」系統的開發工作上。並呼籲大家遵守FreeDesktop的標準來做事,不要downstream patch,或是搞distro-specific的hack。
ㄟ,可就連Ubuntu本身也是修改自Debian並推行修改過的GNOME的系統,他們自己就破壞了上游的東西。
如果要追求「純粹」的Linux系統,是不存在的選項,可能就Debian與Fedora更符合vanilla軟體的標準。
可是對桌面用戶而言,在易用性和名氣,種種考量下,商業公司支持的Ubuntu依然是最佳選擇,起碼Ubuntu LTS只比Debian Stable還不穩定些。在Fedora放棄把用戶當白老鼠養之前我都不會推薦它。雖然Canonical公司常常做一些奇怪決策就是了,也有社群批評Ubuntu不愛將自己的變更upstream,唉!
至少大家就專注開發給Ubuntu的東西就好了吧?No No No我憑什麼要聽你Ubuntu的標準呀?
其實我對Ubuntu也有不滿,譬如GNOME真的不如KDE Plasma好用,所以我才會裝Kubuntu而非適應GNOME。
沒錯,雖說我追求「標準」和統一性,但你不能強迫我用GNOME這種垃圾玩意,就算它是份額最大的也不行,no way !我就是要用KDE Plasma。
太激進的發行版,也是No#
老實說我不是很贊同採取太激進作法的Linux發行版,就像我討論系統備份策略,總有人會來跟我推薦少數人在用的某Fedora CoreOS變體一樣,宣傳非主流的BTRFS備份法,並搭配immutable rootfs來保護系統。rollback很棒,但我不想整天rollback呀,尤其是基於rolling更新的發行版很難穩定。
純Wayland環境已經不算是激進的特性了。現在有個未來趨勢是採用「immutable distro」,我不知道它會不會成功取代以往的傳統套件更新模式,真當大家都是甘願被ChromeOS模式綁架的normie?
順帶一提,現在又有新的Arch發行版崛起了,前幾個是Chakra、Manjaro、EndeavourOS,現在是什麼CachyOS?相信我,你遲早都會回到pure Arch Linux的!
這讓我想到,以前還在Bilibili po影片的時候,總有魔怔人來留言,有人叫我應該要用Redox OS的,因為它是最安全的語言Rust寫成的;我以前也曾經在別人詢問復活Windows XP老電腦的貼文下面叫他裝Plan 9,因為那個人說他想嘗試不同的作業系統嘛,那你為什麼就不敢裝我推薦的呢?差不多就是這種耍廚的心態。
每個人都想彰顯自己有多麼特別,但,太激進的作風不適合每個人。
那麼到底要用哪個?#
其實自己也做不到一切都「迎合主流」,因為我這樣不就變成隨波逐流的木偶了嗎?
就像,我的個性較接近自由軟體精神,應該比較適合用Debian Stable吧,但為了迎合大眾,我選了更「主流」的Ubuntu LTS。但又因為一點叛逆心理,選擇使用搭載KDE Plasma的變體,拒絕被GNOME限制視野。
我想,就是這種「反叛精神」才會導致Linux社群的碎片化,每個人都有一絲不同的想法的話,自己寫個桌面,乃至創立發行版也就不足為奇了。這就是開源軟體既定的詛咒。永遠不會有讓所有人滿意的方案出現,除非一間公司能像Apple一樣賣信仰,或是Google的Chromebook大量傾銷,逼迫所有人接受整齊劃一的使用者介面。
好吧好吧,大家的想法都不一樣,沒有一個Linux發行版能適用於所有人的胃口。
但我認為,就現階段而言,應該是要選擇容納最多社群共識的那些Linux發行版,主流且成熟,而非某個niche distro,顯示自己的眼界有多麼獨特,卻忽略了統一性。