openSUSE是一個歷史悠久的Linux發行版,源自德國,屬於免費下載的自由作業系統。
本文Ivon介紹openSUSE的特色,以及openSUSE的安裝方式。
首先,Ivon得老實說,現在openSUSE在中文圈算是相對冷門的Linux發行版,名氣遠不如Debian系與RHEL系,即使在歐美Linux圈也是如此。
openSUSE基於SUSE開發,SUSE又基於古老的Slackware。openSUSE可以算是一個獨立發行版家族了!雖然openSUSE跟RHEL一樣使用RPM套件格式,但套件管理器卻大不同,openSUSE用的是Zypper。此外,幾乎沒有任何基於openSUSE的分支發行版出現,生態系不如Debian系與RHEL系繁榮。有人說,openSUSE是一個「underrated」的Linux發行版,品質不差但就是少人用。
但這不代表openSUSE就是hobby distro喔!相反,openSUSE背後有SUSE這家德國公司協助維護,他們可是僅次於Redhat的企業級Linux供應商。再加上全球Linux社群參與,提供豐富的社群說明文件,因此整個openSUSE系統還是有一定維護品質的!只是openSUSE的套件真的比較少,容易被軟體開發者忽視,有時候還得拿RHEL系的RPM來用呢!
順帶一提,SUSE公司圖示上面的吉祥物不是蜥蜴,是變色龍,名字叫做Geeko。
1. openSUSE特色#
介紹openSUSE有什麼特色玩意。
1.1. Tumbleweed與Leap的差別#
目前openSUSE有二個主要版本:Leap和Tumbleweed。不論是要當日常系統還是伺服器使用都可以。
在安裝openSUSE前,你可能會想搞清楚這二個版本有什麼差別。
openSUSE Tumbleweed,簡稱openSUSE TW,滾動發行版,正如它的代號「風滾草」一樣,是採取滾動更新的模式,Linux核心和軟體都是接近上游的最新版本,官方套件庫收錄的軟體也比Leap多。系統沒有大版本之分,每次升級都是從一個快照升級到下一個快照。內建Flatpak套件管理器。
openSUSE Leap,有固定版本號碼的發行版,屬於每年固定更新的版本,每年發表一個大版本,更新模式比較接近Fedora,而非Debian Stable久久更新一次。並且Leap是基於SUSE Enterprise Linux的下游版本(正如RockyLinux之於Redhat Enterprise Linux),所以Leap比Tumbleweed穩定許多,適合當伺服器系統使用。內建Flatpak套件管理器。
這不是說openSUSE Tumbleweed就很不穩定。openSUSE有一套稱為OpenQA的系統,能在套件發布前對其進行測試,減少更新後系統出錯的機會。這套系統讓openSUSE Tumbleweed的滾動更新能比Arch Linux更有保障一些。此外openSUSE預設啟用BTRFS,能在系統出錯後回滾至上一個版本。
Ivon比較喜歡享受新套件,因此桌面用途我會選擇安裝openSUSE Tumbleweed。這個系統已經夠冷門了,套件不見得有人會專門為Leap打包,不如用滾動更新的Tumbleweed。桌面環境的話,openSUSE沒有限定使用者要用那一種,這裡推薦使用KDE Plasma當桌面環境,讓openSUSE提供的YaST系統工具與KDE Plasma完美整合。
1.2. YaST幫你顧好好#
YaST是openSUSE跟其他Linux發行版最不一樣的地方。吉祥物是一隻土豚。
可以點一點就完成大部份系統管理操作,諸如管理防火牆、管理使用者、硬碟分割、查看系統日誌、安裝軟體。YaST把這些工具都整合在一個面板裡面,就像Windows的「控制台」一樣方便。
過去安装套件需要知道RPM套件名稱,再開啟終端機用套件管理器的指令安裝。但是YaST可以直接搜尋openSUSE套件庫的套件,以圖形化界面完成安裝。
即使是安裝網路上下載的.rpm,或是新增第三方套件庫,都是按一下圖形介面就完成,印象中我用openSUSE裝軟體很少打指令。
解除安裝套件遇到衝突的時候,YaST也會提供建議,供使用者選擇下一步。
YaST是openSUSE才有的工具(理論上可以移植到其他發行版但沒有人這樣幹),它不強制依賴任何桌面環境,不論在GNOME還是KDE Plasma都可以使用。其實,YaST很多功能在現代的Linux桌面環境都有提供了,變成有點在跟桌面環境搶工作的感覺。但我個人認為YaST的界面做得比許多桌面內建的應用程式商店還要好用。
誠然,過度依賴YaST會忘記指令怎麼用,不知道如何在純文字模式設定服務,這也是被人詬病的一點。亦有人認為YaST是多餘的存在,因圖形界面設計太複雜,新手不好學,而資深用戶寧願直接用指令的尷尬現象。
1.3. 用BTRFS自動備份#
openSUSE預設啟用BTRFS當檔案系統,並會在升級系統時製作備份快照。
啟動系統的GRUB選單就可以回滾至之前的版本。
1.4. 第三方套件庫OBS#
openSUSE有稱為openSUSE Build Service (OBS) 的社群建置第三方軟體庫,就像Ubuntu的PPA或者Arch Linux的AUR,提供開發者貢獻自己維護的套件庫。第三方維護的軟體庫可以到這裡抓,例如我常常用到的內網穿透軟體ZeroTier就得到這裡抓。
此外,openSUSE官網有完善的中文系統說明文件,與社群貢獻的Wiki相輔相成。不過官網文件以SLES企業版為主,偏伺服器系統管理方的知識;openSUSE Wiki則是像Arch Linux Wiki,介紹常見應用程式的使用方法。
2. 安裝openSUSE Tumbleweed#
openSUSE要求最低電腦規格為:2 Ghz的雙核心處理器,至少2GB的RAM,還有40GB以上的硬碟空間。
至openSUSE Tumbleweed官網下載ISO,選取x86_64架構的離線映像檔(Offline Image)。
使用Ventoy製作開機碟。
進入電腦UEFI,將開機順序設定為隨身碟優先。
開機後選取Installation,按Enter
點Language將安裝器語言設定為中文
啟用非OSS的套件庫,方便日後安裝閉源驅動
桌面環境推薦KDE Plasma
磁碟分割使用預設配置,安裝器會自動建立BTRFS卷宗
建立使用者名稱,推薦使用英文小寫。並視個人需求是否勾選開機自動登入。
等待系統安裝完成。重開機後拔除隨身碟,進入系統。
3. 安裝後的優化#
3.1. 如何安裝軟體#
openSUSE內建的系統套件管理器為Zypper,大部分套件能用YaST圖形界面管理。在KDE Plasma桌面左下角搜尋「YaST」,開啟軟體管理界面。YaST能夠搜尋線上套件,以及添加新的套件庫網址。
如果是從網路上下載.rpm檔案,在檔案管理器按右鍵,選擇「以YaST開啟」,YaST就會自動跳出來指引安裝。
儘管如此,有時候還是要用Zypper指令安裝軟體:
# 更新套件庫
sudo zypper refresh
# 搜尋套件
sudo zypper search <套件名稱>
# 安裝套件
sudo zypper install <套件名稱>
# 移除套件
sudo zypper remove <套件名稱>
3.2. 如何更新系統#
Tumbleweed跟Leap一樣都是透過Zypper指令更新。
雖然YaST可以更新系統,然而以Tumbleweed是滾動更新發行版,系統更新應使用指令。
建議執行sudo zypper dist-upgrade
而非sudo zypper upgrade
。兩個指令有什麼差呢?dist-upgrade
指令簡寫為sudo zypper dup
,允許套件管理器更新的時候刪除套件,更新的較為徹底,但也更可能出錯。
另外因為Tumbleweed套件沒有像Leap一樣經過充分測試,在系統更新的時候,圖形界面有小機率崩潰導致更新失敗。因此openSUSE Wiki建議是在tty界面操作最為保險。
3.3. 安裝Fcitx5與新酷音輸入法#
openSUSE預設應該已經安裝了Google Noto Fonts的中文字型,沒有的話就用指令裝一下就好:
sudo zypper install google-noto-sans-cjk-fonts
有些版本的openSUSE會自動安裝GCIN輸入法,我個人覺得非常難用,建議換成Fcitx5。
- 點選KDE Plasma右下角的GCIN圖示,退出GCIN輸入法。再來安裝Fcitx5與新酷音
sudo zypper install fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-chewing
2.用這條指令設定環境變數:sudo vim /etc/environment
,填入以下內容:
INPUT_METHOD=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
- 移除GCIN
sudo zypper remove gcin
- 重開機,點選右下角的Fcitx5圖示啟用新酷音輸入法。
3.4. 安裝Nvidia驅動#
有使用Nvidia
- 加入Nvidia官方套件庫
sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA
sudo zypper refresh
- openSUSE依照Nvidia顯示卡代數將套件分為G03、G04、G05、G06。我的顯示卡為GTX 1050Ti,所以要裝最新一代的G06驅動。如果裝了不能用的話再試試G05版本。
sudo zypper in vidia-video-G06 x11-video-nvidiaG06 x11-video-nvidiaG06
- 重開機,檢查Nvidia驅動安裝狀況
nvidia-smi