快轉到主要內容

Fedora Silverblue安裝與使用

分類   Linux系統 Linux系統安裝教學
標籤   Fedora Immutable Distro
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

Fedora Silverblue,是跟Fedora Workstation並存的實驗性Linux發行版。

跟Fedora Workstation一樣,Silverblue系統套件版本很接近上游。

儘管有人說Fedora Silverblue是滾動更新模式,但是它版本還是跟著Fedora Workstation跑的。

Silverblue主打不變系統(immutable system),使用ostree系統管理更新,因此系統本身可視為大型的Git儲存庫,能隨意回滾。

要類比的話,Silverblue比較接近ChromeOS的作法,不允許使用者隨意修改系統設定,保持更新穩定性。至於安裝開發用的軟體,則要依賴容器技術。

對傳統GNU/Linux的使用者來說,會覺得Silverblue很難「駭」進系統,隨意修改設定值。例如想換桌面,其他發行版也許可以裝套件自行設定,但在Silverblue很困難,官方僅支援GNOME和KDE。

但如果想嘗試更穩定的系統,並且知道如何調整工作流以適應Fedroa Silverblue,那麼這個系統還是值得嘗試的。

0. 前置需求
#

Fedora Silberlue不支援DKMS這類原始碼樹外編譯驅動,因此電腦硬體對Linux的支援度必須要夠好,不能有一堆奇怪的驅動要裝。

例如我的MSI Modern 15 A10筆電,雙顯示卡Intel/Nvidia勉強受Fedora Silverblue支援;Wifi網路卡廠牌為Intel,就不需要另外編譯驅動。

只是這台筆電不論哪個發行版,只要系統核心是5.15以後,睡眠(暫停)模式就會睡死。睡死是個小問題,用gnome-tweaks關閉闔上螢幕自動暫停的功能就行。

1. 安裝Fedora Silverblue
#

  1. 至官網下載 Fedora Silverblue的ISO。

Fedora Silverblue官方預設的桌面環境為GNOME,若需要KDE請改下載 Fedora Kinoite

  1. Ventoy製作開機隨身碟。

  2. 選取Install Fedora Silverblue 37

  3. 語言選中文

  4. 接著只要點「安裝目標位置」,點選「取回所有空間」將目標硬碟格式化為BTRFS,即可點選安裝。

  5. 等待安裝完成。Fedora Silverblue會自動安裝GNOME桌面環境的相關程式,還有注音輸入法(ibus-zhuyin)。

  6. 開機後按照螢幕指示建立使用者帳號,並啟用第三方軟體庫。

  7. 因為筆電有獨立顯示卡,還需另外給Fedora安裝Nvidia專有驅動和CUDA套件。

# 更新系統至最新板
sudo rpm-ostree upgrade
sudo systemctl reboot
# 安裝RPM Fusion
sduo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo systemctl reboot
# 安裝Nvidia驅動
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda
sudo systemctl reboot
# 禁止nouveau開機載入
sudo rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1
sudo systemctl reboot
  1. 我習慣的用法是螢幕顯示交給Intel,程式需要Nvidia時再用 PRIME指令切換:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json <要執行的程式名稱>
  1. 至於說跑CUDA的方法?使用Podman + Nvidia Container Toolkit,這樣不用在本機安裝CUDA。最低限度的要求變成只要有Nvidia閉源驅動就行。至於Nvidia驅動,Silverblue可以照上述方法用ostree裝,或是使用 ublue事先整合好的Silverblue映像檔

2. Silverblue安裝軟體
#

Silverblue安装軟體的方式有三種。

2.1. Flatpak
#

Flatpak容器技術主要用於安裝圖形化的桌面應用程式,例如Google Chrome和Visual Studio Code。

Silverblue內建的GNOME軟體商店就能下載軟體,只不過內建的是Fedora自己的Flatpak軟體庫。

如果要存取較多人使用的Flathub,則按照 官網說明自行加入Flathub軟體庫。未來Silverblue 38會改成預載Flathub的軟體庫。

2.2. Toolbox
#

Fedora Silverblue內建Container Toolbox,基於podman研發的容器技術,主要用於建立開發環境,建立容器後就能使用熟悉的DNF指令安裝套件。

習慣使用DNF安裝套件的,得將工作流程調整為配合容器環境工作。例如開發Python程式,或許會用虛擬環境防止套件污染,而Toolbx能更方便隔離各個開發環境。

開啟終端機,新建容器並進入:

toolbox create development
toolbox enter development

隨後就能在容器內部使用DNF指令,需要sudo。注意家目錄是會一併掛載進容器的,檔案系統並非完全隔離。

退出容器:

toolbox exit development

順帶一提,如果需要其他Linux系統的工具工作, DistroBox會是更好的選擇,這也是 openSUSE MicroOS推薦使用的工具。

2.3. rpm-ostree
#

修改目前的系統映像檔,疊一層(layer)軟體在目前的系統映像。且安裝後要重新開機,軟體才會出現。

若要將軟體安裝至系統就使用rpm-ostree,例如VIM和KVM。然而不是所有軟體都有提供rpm-ostree版本,rpm-ostree也無法搜尋套件。

舉例,安裝VIM:

sudo rpm-ostree install vim

使用apply-live參數可以免重開機安裝程式。

另外根據 官方文件,使用rpm-ostree kargs指令修改開機傳給核心的參數。

3. 更新與回滾系統
#

Fedroa Silverblue系統的根目錄全部唯讀,更新後直接覆蓋,僅/var/etc分區能修改。然而sudo和systemctl的指令還是能使用,只是軟體不要裝到系統目錄,盡量多採用Flatpak和Toolbx的技術裝軟體。

Silverblue更新全系統套件的指令。安裝後需要重新開機。

sudo rpm-ostree-update

更新後,GRUB開機選單會出現新版本和舊版本共存的選單,點選可以暫時回滾(降級)至舊版本。由於Silverblue的系統設計機制緣故,系統要弄壞很難。

或是用指令永久回滾回上一個版本:

sudo rpm-ostree rollback

若要進行大版本更新,例如從Fedora 39升級到Fedora 40,就要用到rebase指令:

sudo rpm-ostree upgrade

sudo rpm-ostree rebase fedora:fedora/40/x86_64/silverblue

參考資料
#

相關文章

初探Void Linux安裝
分類   Linux系統 Linux系統安裝教學
標籤   Linux Runit
免費下載紅帽RHEL 9.1系統,將其安裝至虛擬機
分類   Linux系統 Linux系統安裝教學
標籤   Linux
安裝Alpine Linux為桌面系統教學 (XFCE4 + 中文輸入法)
分類   Linux系統 Linux系統安裝教學
標籤   Alpine Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。