我的烏拉拉練功坊

請來參觀移植到 Google Firebase 的成績 https://oolala.xyz/ken73chen/

2021年2月13日

Linux 桌面

近期,各種名稱的 Linux 桌面很熱門;我也一度想著工作時使用 Linux 的可能性,所以特別在硬碟空出了空間,不用虛擬機,安裝了幾個版本的 Liunx 桌面,並且在工作中至少使用一天。

在落落長的感想開始之前,提醒你:

別理會桌布,好不好用跟這無關。

TL;DR

我最後的選擇是 Windows 10 + WSL,對我來說最方便,而且支援我所有的硬體。

開始之前

首先:

  1. 所有下載到的 ISO 通通放到 Ventoy USB 碟,會省下很多處理 ISO 檔案的時間
  2. 暫時關掉 UEFI 的 secutiry boot,別挑戰他
  3. 無論是 BIOS 或 UEFI,在安裝 Linux 時,就會一併安裝 grub2,約略了解一下是必要的

你當然會想多試幾個,也建議你這樣做,分享我的經驗:

  1. 一定不要選 RedHat、CentOS
    若你所開發的東西,未來是要在這兩個東西上面跑,頂多裝個虛擬機就好
  2. 一定要檢查硬體支援的程度
    三大雷區,觸控板、不只三顆按鈕的滑鼠、不只一片顯示卡的系統
  3. 強迫自己連續使用三天,這段期間不可以換回原本的作業統
    就做平常做的事情,你不會希望三天後才發現輸入法不好用之類的問題

最後,要提醒你的是,Linux 當 server 時表現很好,但是要當跑著圖形介面的桌面,那又是另外一回事了;如果你覺得不好用、不符合期待、想對他說「加油好嗎」,沒什麼好意外的,畢竟你也不是 server。

首選

除非是 RedHat、CentOS ,否則沒有好不好,只有合不合。

openSUSE Tumbleweed

  1. 來自 SUSE
  2. 保持最新版本的滾動發行
  3. 鉅細靡遺的客製化

如果你是個技術宅開發者、進階使用者,那麼你會喜歡風滾草,那些看似陌生、卻又熟悉的畫面,明明是中文卻又完全看不懂的中文,再加上根本不確定該怎麼念的名字,完全就是技術宅的菜。

 

所謂「滾動發行」,就是系統、系統有關套件的更新,並不會累積到下一次作業系統更新時才更新,是只要經過 SUSE 驗證後,就立刻更新,例如 Linux kernel,在農曆春節這一天 (02/12),最新的 stable 版本是 5.10.15 (02/12 發行),風滾草滾到的是 5.10.12 (01/30 發行)。 

因為幾乎每天都會有更新,所以幾天沒開機進系統的話,瞬間就是幾百個更新等在那邊。

Linux Mint

  1. 來自 Ubuntu
  2. 極易上手 

Linux Mint 應該是最多人推崇的最佳 Linux 桌面,它是個很「溫和」的版本-熟悉的介面、漂亮的桌布,可以延續大多數的使用習慣,不會花太多時間在熟悉 Linux Mint 上頭。

因為是 Ubuntu,雖然外星人可以在上頭安裝 RPM,但並不是 100%,所以如果你有「只有 RPM」的東西要安裝,記得先解決它。

其他還有

只要有選擇,再怎麼樣都比只有一個選擇來的好。

Pop!_OS

Pop!_OS 也是 Ubuntu 的,對兩張顯示卡的系統,有特別的支援。

Clear Linux

Clear Linux 來自 Intel,也是滾動發行,強調的就是效能,這不是個可以輕易駕馭的東西。

elementary OS

elementary OS 一樣是 Ubuntu 系列,號稱最美麗又最接近 MacOS,不過我想這對 MacOS 的使用者是沒吸引力的。

我的選擇

最後,我選擇了 Windows 10 :

  1. 最熟悉
  2. 完整支援我的觸控板和羅技滑鼠
  3. WSL

我一天會在虛擬機裡面的 Windows 10 裏面跳到外面實體機數十或到上百次,在 Windows 10 中用四根手指頭在觸控板左右滑動很方便,在 Linux 得按好幾個按鍵,這點差異相當致命。

使用 WSL,我在 CentOS 的 WSL 安裝只有 RPM 檔案的 Oracle Database XE,繼續用 Ubuntu WSL 測程式、跑程式;雖然 Linux 上也有 docker 可以用,不過就是麻煩多了。

WSL 有兩個版本,WSL 1 是模擬出來的 Linux,WSL 2 是用 Hyper-V 虛擬出來的 Linux,因為 WSL 實在是太方便,為了能在虛擬機裡面使用 WSL 2,也從 VirtualBox 遷移到 Hyper-V 了。

為什麼不要 RedHat、CentOS

RedHat、CentOS 的版本政策,你以為是少升級求穩定,其實是不升級要懶惰。

以一個 cURL 來說,大多數「企業」的 IT 環境,並不會因為升級 cURL 而崩潰,但因為版本政策的關係,在 CentOS 7 上的 cURL 是 7.29 版 (2013/2/11 發佈),CentOS 8 的 cURL 是 7.61 版 (2018/7/11 發佈)。

今天 (2020/02/13) 最新的 cURL 是 7.75 版,在 cURL 網站很負責的列出,目前 7.29 版有 52 個已知的安全性問題、7.61 有 16 個已知的安全性問題

至於 Kernel 版本...打算戰到最後的 CentOS 7 用的是 3.10 版,至少 RedHat/CentOS  沒有偏心,因為 kernel 很重要,所以版本就比較新,從過去到未來都不會改變。

官方的答覆是:「So no, you will generally NOT find the very latest versions of various packages included in an Enterprise-class operating system such as CentOS. It's a feature not a deficiency.」。

所以不用 LTS 的 kernel 和放著這些安全性問題不理會,都是 feature。

RedHat/CentOS 的版本政策只造就了一群懶惰的 admin,也迫使開發人員必須在又破又爛又不修 bug 的環境下工作。 

所以不要 RedHat/CentOS。




沒有留言:

張貼留言