本文Ivon分享安裝Fedora Workstation系統的經驗,討論一些常用的設定。
2021年短暫用過Fedora,當時是剛入Liniux世界。覺得GNOME索然無味,就跳船到openSUSE Tumbleweed了。
今天,我又回來用Fedora了。
我要在MSI Modern 15 A10筆電安裝Fedora。這台電腦搭載Intel i5-10210u的的CPU,以及Nvidia MX350的獨顯。根據我安裝Ubuntu和Arch Linux的經驗,顯示這台的主線核心支援度還是不錯的。為什麼要用Fedora呢,下面我會給出比較合理的理由。而我個人的理由就呢,是希望享受到最新版系統套件,又不要更新的太快的系統,不要常常更新出現random breakage,這樣半滾動更新的Fedora似乎是個不錯選擇。
1. 為什麼要用Fedora?#
Fedora為RedHat公司贊助的Linux發行版,主要由開源社群維護,是跟Ubuntu一樣知名的Linux發行版。
Fedora專案有針對許多環境開發不同的分支,其中包含Workstation、Server、IoT、Atomic版本。Ivon在這裡安裝的是專為桌面用戶打造的「Workstation」。下面簡稱Fedora。
Fedora Workstation預設桌面環境為GNOME與KDE Plasma,另外尚提供許多「Spin」版,讓使用者能夠安裝XFCE、Cinammon、Sway等桌面。
為什麼要用Fedora?在這裡你可以體驗到未來可能成為Linux業界主流標準的事物,例如最新版的GNOME桌面,完全原汁原味無修改,不會像Ubuntu一樣打patch。還有內建的SELinux、最新版Systemd、開箱即用的Flatpak套件管理器等等。
通常,Fedora會被視為半滾動發行版。它採取固定更新模式,每年發表一個大版本更新,系統套件版本都很接近上游。Fedora系統的套件不會像Ubuntu LTS陳舊,亦不會像Arch Linux直接無腦用最新版。所以Fedora在不穩定與穩定更新之間找到了個平衡點,適合想要嘗試Linux最新功能,但又不要過分激進更新的用戶。
你可以將Fedora視為RHEL的上游發行版,即最新功能的試驗田。等到上游Fedora一些功能穩定了之後,RedHat可能就會把功能放到CentOS Stream,然後再進到Redhat Enterprise Linux,達成最終穩定的系統。因此,Fedora很多功能跟RHEL很像,像是取代YUM的DNF套件管理器、RPM套件格式、SELinux安全系統、EPEL Repo、GNOME桌面等等。由於RedHat對Linux專案的貢獻很多,在Fedora系統出現的東西,可以視作未來Linux世界的主流發展方向的指標。
不過RHEL不見得會完全接收Fedora上游的變更,例如Fedora 30以前就有的BTRFS檔案系統,RHEL 9卻到現在仍未加入BTRFS支援,因此Fedora跟RHEL的系統還是有些許差異的。
雖然RedHat公司有贊助Fedora開發,但是沒有像CentOS那樣大的控制權,Fedora並不是由RedHat控制的子公司,所以不太可能隨便賜死Fedora專案!
或許,你可以從Fedora入門RHEL的操作,不過要用在生產環境,建議還是直接使用RHEL或者Rocky Linux這類一比一複製的發行版來操作比較好,他們相對Fedora穩定許多。
2. 安裝Fedora系統#
首先要製作開機碟。Fedora提供多個映像檔,桌面用戶的請下載Workstation版本。
Fedora官網預設的桌面環境為GNOME,需要KDE請下載Fedora KDE版本。
下載映像檔之後,使用balendaetcher工具燒錄為USB
重開機,進入電腦的UEFI
雖然Fedora支援Secure Boot,但為了避免開機都要簽名核心模組的麻煩,我還是將其關閉。
將USB以UEFI開機
開機進入Fedora安裝畫面。Fedora 42的新安裝器改善了以往選項說明文字模糊不清的問題,基本上只要一直下一步就行了。使用者帳號是開機後才要新增。
開機後記得開啟第三方軟體庫
3. 安裝後的小調整#
使用上有問題請諮詢Fedora的官方文件
安裝軟體的方式#
Fedora內建的套件管理器為DNF,使用的套件格式是.rpm。另外還有內建Flatpak(現已使用Flathub套件庫,不再使用Fedora的Flatpak套件庫)。GNOME桌面有軟體商店前端GNOME Software。
我個人會用DNF安裝傳統的RPM套件,例如Gwenview。
sudo dnf install gwenview
Flatpak則是安裝一般的桌面應用程式,例如GIMP修圖軟體。
flatpak install flathub org.gimp.GIMP
中文輸入法#
Fedora 42內建的iBus新酷音不太好用,開啟設定 → 鍵盤,將其移除。
建議改裝Fcitx5框架配新酷音:
sudo dnf install fcitx5 fcitx5-chewing fcitx5-gtk2 fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool
sudo cat > /etc/envrionment << EOF
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
EOF
GNOME桌面記得要安裝Input Method Panel才看得到輸入法面板。
Nvidia閉源驅動#
從Fedora套件庫安裝Nvidia驅動和CUDA套件。Nvidia MX350的獨顯尚受閉源驅動支援,所以只要從RPM Fusion套件庫安裝就可以了:
sudo dnf install akmod-nvidia
sudo dnf install xorg-x11-drv-nvidia-cuda
需要用到Nvidia渲染,就設定Nvidia PRIME切換顯示卡。
關於SELinux問題#
SELinux是在許多RHEL系統都會安裝的安全機制。
我覺得它常常會干擾程式執行,尤其我在用Waydroid的時候,要一直新增有的沒有的規則。即使將enforcing模式改為permissive模式也沒用。
嫌麻煩跟Secure Boot一樣被我關掉了。編輯/etc/selinux/config
,加入SELINUX=disabled
,即不會在開機後載入SELinux。
4. Fedora使用心得#
實際用了三個月,我應該會繼續保持下去。
Fedora官方文件寫得很不錯,程度大概跟Debian Wiki類似,但還是不比Arch Wiki完善。
Fedora套件庫資源豐富,不用擔心找不到套件。有些開發者發表軟體會提供.rpm套件,故支援還算完善。
由於Fedora內建Flatpak套件管理器,所以我能直接安裝開發者釋出的軟體,不依賴套件庫的程式。我不是很信任套件管理器的軟體,尤其是這種滾動發行版,所以我比較喜歡用容器隔離。
關於桌面環境,一開始幾週,我嘗試用Fedora的GNOME,確實是原汁原味的樣子,沒有像Ubuntu做一堆修改,還能享受到最新版本。但是它也就那個死樣子,雖然學會工作區的操作,但GNOME還是不好用,所以我透過dnf group裝了KDE Plasma桌面了。Fedora的KDE Plasma都是最新版,用起來很流暢。撰文當下已經裝上KDE Plasma 6了。
我前面說過Fedora是半滾動發行版,儘管不是無腦用最新版套件,但其實還是不夠穩定。例如不論是GNOME還是KDE Plasma,就不時看到Flatpak版Spotify背景行程崩潰的提示,還會觸發詭異的SELinux錯誤,需要點進setroubleshoot通知裡面執行指令解決。還有,KDE Plasma 6 Wayland的小bug依然蠻多的,一部分原因是Fedora為半滾動發行版所致,另一部分是Wayland造成。例如遇到KDE Wayland畫面glitch問題,我甚至不是用Nvidia GPU耶。我還有遇過安裝libimobiledevice套件之後出現詭異的USB錯誤。這些隨機問題在Arch Linux也有可能發生,但在Ubuntu LTS卻不會的。
我還遇到了更新後,新版核心導致SDDM顯示管理器無法顯示的問題,無法進入桌面。啊不就還好Fedora會保留舊版核心在開機的時候按SHIFT讓你選,否則根本無法進入桌面。
總之,Fedora處在不是很新的套件,但又不夠穩定的狀態下,讓人覺得是個尷尬的選擇。要最新套件用Arch Linux;要穩定就用Ubuntu LTS。有些人認為Fedora是所謂的「新Ubuntu」能夠取代過去一段時間Ubuntu不遺餘力推廣Linux桌面的地位,難呀,我要說這種想法還是欠缺考慮了。如果拿Ubuntu LTS跟Fedora比較,我覺得是拿使用者體驗在玩命。使用Fedora的用戶,很明顯還是要對Linux有點進階知識才能用得好的。起碼不能懼怕終端機。
表面上看起來Fedora還是很穩定的,可是因為KDE Plasma 6 bug太多,所以我又換回了相對穩定的GNOME,這個桌面glitch的機率小很多。