iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0

工具在使用中發揮價值,後續的文章也希望能帶著邦友在操作中認識 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 有多種架設方式:

  • 直接安裝
  • 使用靜態鍊接 (statically-linked) 的免安裝執行檔
  • 使用容器映像檔
  • 使用外部 chroot 環境虛擬化

直接安裝

「直接安裝」適用於有 root 權限的情況,為大部分使用者所採用。

目前已經有數個其他軟體包管理專案,收錄 Nix 作為一個軟體包,使用者能直接安裝。由於不是所有作業系統發行版都能透過預裝的軟體包管理器安裝 Nix ,官方提供安裝腳本:

$ sh <(curl -L https://nixos.org/nix/install) --daemon

上一篇
[Day 01] 前言: Nix 心目中的相依管理
系列文
Nix :為 Dev 與 Ops 而生的函數式軟體包管理器2
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言