工具在使用中發揮價值,後續的文章也希望能帶著邦友在操作中認識 Nix 。因此,本文將介紹如何取得與架設,希望諸位在讀完文章之後都能順利把新玩具帶回家。
注:使用「架設」一詞,是考慮到 Nix 不一定要安裝就能使用。多數情況下,能看做「安裝」。
Nix 的架設有「多重使用者 (multi-user) 」與「單一使用者 (single-user) 」兩種模式,分別代表一種安全模型 (security model) 。
「單一使用者模式」即是直接以操作 Nix 的使用者的名義存取 Nix store 。聽起來很直觀,架設也較單純。但這種模式無法防止使用者所執行的其他程式變更 Nix store 的內容,也增加惡意建置程序取得使用者權限的風險。同時,在這種模式下,僅有架設 Nix 的那位使用者能執行 Nix 。
「多重使用者模式」透過常駐程式 Nix daemon 存取 Nix store 與當中的資料庫,並透過額外建立的使用者 Nix build users 來建置軟體包,以避免 Nix store 或軟體包的建置過程遭受未授權的存取。因為需要建立額外的使用者,安裝上更為複雜。
Nix 有多種架設方式:
「直接安裝」適用於有 root 權限的情況,為大部分使用者所採用。
目前已經有數個其他軟體包管理專案,收錄 Nix 作為一個軟體包,使用者能直接安裝。由於不是所有作業系統發行版都能透過預裝的軟體包管理器安裝 Nix ,官方提供安裝腳本:
$ sh <(curl -L https://nixos.org/nix/install) --daemon