一切軟體從頭編譯!換用Gentoo Linux使用感想
這是我安裝過程最久的Linux發行版,4核4緒的CPU編譯了6小時,安裝Gentoo大部分時間都是在等大大小小套件的編譯。
先簡介一下Gentoo吧。Gentoo是滾動更新的Linux發行版,跟其他發行版最大的不同,在於需要從原始碼編譯安裝Linux核心和軟體。
這樣聽起來很像Linux from Scratch吧?但跟Linux from Scratch比起來,Gentoo官方至少有提供最小的檔案系統,並且編譯是交給套件管理員Portage自動處理。要安裝軟體只要打指令,套件管理員就會自動下載並編譯安裝。
因為是從原始碼編譯,軟體效能可能會比直接裝二進位檔好。Portage還提供一套"FLAG"系統,可以指定編譯或不編譯特定軟體功能。例如把AV1編碼器編入ffmpeg,或是叫Portage不要編譯wayland相關的功能。
Gentoo安裝過程
如果有以純文字模式裝過Arch Linux,那麼Gentoo應該不難,難的是要如何選擇正確的FLAG編譯。我主要是按照Gentoo官方手冊的步驟安裝。Init系統採用OpenRC,Linux核心採用官方調整好的版本,沒有手動調整,接著再安裝KDE桌面環境。
詳細過程見此。我做的事情如下:
1. 設定網路
2. 分割硬碟,切成3個:EFI、2倍RAM大小的SWAP、根目錄。
3. 安裝stage3檔案系統
4. 編譯安裝官方調整好的Linux核心
5. 編譯安裝KDE最小桌面環境
6. 設定使用者和開機服務
7. 中文化
8. 編譯安裝Fcitx5和新酷音輸入法
9. 編譯安裝UFW防火牆
10. 編譯安裝Flatpak
Gentoo使用技巧
Gentoo有Overlay,類似Arch Linux的AUR,裡面有很多中文用戶會需要的新穎軟體,但我是選擇用Flatpak啦。
Gentoo部份套件有提供二進位版(binary),可以視情況選用。比方說Chrmium瀏覽器這種編譯要10小時的軟體(是真的,睡覺起來還在跑),安裝二進位版幾分鐘就完成了。
除了硬體效能限制外,利用Ccache、distcc、tmpfs技術也可以加快編譯速度。
在安裝軟體前要先瞄一下Wiki,看有哪些FLAG要啟用,並將個別軟體的FLAG設定加到/etc/portage/package.use/下的自訂設定檔,並看情況將FLAG加到/etc/portage/make.conf裡全域的USE。
如果真的不會設定,那就改用Flatapk安裝軟體吧,例如LibreOffice、Steam這類求穩定的軟體。不然的話就會像我一樣VLC播個影片不斷碰到「不支援的編解碼器」,就得調整FLAG重新編譯。
總結
跟安裝Arch Linux一樣,使用Gentoo光是調Flag就能學到很多底層知識了。然後像是init、音訊系統這些東西,就是閱讀wiki後靠自己決定要使用哪個。此外,Gentoo Wiki跟Arch Wiki詳細程度不相上下。