GNU Guix System:完全由自由軟體組成的Linux發行版

Ivon Huang
·
·
IPFS
·
GNU Guix System主打從軟體到系統設定,都可寫一個宣告檔進行安裝。

1. GNU Guix System簡介

GNU Guix啟發自Nix,是一種宣告式(delcartion)安裝、版本管理能力強的Linux套件管理員,且Guix強調官方軟體庫只收錄自由軟體。


官方網站有完整的參考手冊詳述每個指令的詳細用法,Guix也是自由軟體基金會(Free Software Foundation)的GNU計畫的一部分。

GNU Guix可以安裝在其他Linux發行版上,跟其他套件管理員共存。對Guix來說,這叫做安裝在外部發行版(foreign distro)上。

另一方面,GNU Guix也可以安裝成獨立的系統,即為GNU Guix System (舊稱GNU GuixSD)。Guix為類似滾動更新的發行版,預設內核是無封閉韌體的"Linux-libre",init程式是GNU Shepherd。

GNU Guix System主打從軟體到系統設定,都可寫一個宣告檔進行安裝,並且能隨時回滾(降級)。甚至Guix系統本身也可以視為一個Git儲存庫,每對系統進行變更就會保留舊版設定檔。

總結,使用GNU Guix System理由:

  1. 全由自由開源的軟體組成,尊重使用者的計算機自由。
  2. 系統設定、軟體安裝可輕易複現(reproduce),只要透過一個宣告檔就可配置完成。
  3. 官方有詳細的參考手冊和教學影片。

而在使用前,你應該考慮:

  1. 自由軟體代表有很多Wifi網路卡、Nvidia顯示卡會無法運作
  2. 使用此系統需要對Linux系統的底層運作有一定了解。
  3. 撰寫宣告檔需要熟悉Scheme (Lisp) 程式語言。


2.安裝GNU Guix System

GNU Guix System安裝有文字界面的引導安裝,過程詳見:安裝GNU Guix System

推薦桌面環境為GNOME或XFCE。


3.GNU Guix System的軟體管理

GNU Guix System的套件管理員當然就是Guix。

更新系統的指令是guix pull。此指令等同apt update & apt upgrade。每次變更系統前最好先執行一次。

Guix安裝軟體的指令是guix install,會將軟體安裝到目前使用者的家目錄下,所以安裝不需要Root權限。Guix可以從本機編譯軟體套件,不過guix install預設會下載"substitute"安裝,也就是軟體庫上預先編譯好的套件。

Guix官方軟體庫只提供自由軟體,儘管如此還是有非官方的Guix Nonfree軟體庫,裡面才有收錄閉源的Nvidia驅動。


4.GNU Guix System調整系統設定

GNU Guix System的桌面環境和系統服務的設定跟一般的GNU/Linux不太一樣。如果要修改系統設定,或是安裝全部使用者可用的系統套件,就要使用指令guix system + 宣告檔。宣告檔可利用安裝系統後生成的檔案,位於/etc/config.scm,直接拿這個下去改。

guix system --reconfigure修改系統的過程稱為實例化,修改後的系統會成為一個新的版本(generation),並成為開機GRUB選單中的預設選項。相反,使用guix system --roll-back則是讓系統回滾到上一個版本。因此透過guix system來修改系統設定才能確保系統可滾回舊版本。

未來的Guix還會引入guix home指令,此指令主要是用於修改家目錄下的隱藏設定檔。

CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!

Ivon Huang自由軟體、航空、20世紀歷史愛好者。 這裡記載的東西究竟會成為未來的碎片,在那最果之處,反射出匯集各處思念的光芒。 My Blog: https://ivonblog.com
  • Author
  • More

將suckless.org極簡網頁設計哲學付諸實現

Linux電腦好用的必裝軟體,從文書處理到玩遊戲一次滿足

半回憶錄形式的2022年Matters回顧問卷