聯繫我們

課程簡介

聲明式系統主權

  • 為何命令式配置管理會導致漂移與審計失敗。
  • Nix 套件庫、派生函數與純函數在系統建置中的應用。
  • NixOS 與傳統發行版之比較:不可變性與原子升級。

安裝與基礎知識

  • 從 ISO 檔案安裝 NixOS,包含手動與自動化分區方式。
  • Nix 語言:集合、函數與匯入。
  • configuration.nix 結構與模組系統。
  • 使用 nix search 和說明文件搜尋套件與選項。

套件與服務管理

  • 使用 nix-env 進行全域與個別使用者套件安裝。
  • 聲明式啟用 systemd 服務。
  • 自訂套件覆蓋與疊加層。
  • 垃圾回收與套件庫最佳化。

可重現環境

  • 使用 nix-shell 與 shell.nix 進行即興開發。
  • 基於鎖定檔之可重現性的 Nix Flakes。
  • 使用 devenv 和 devshell 促進團隊新人入職。
  • Direnv 整合實現環境自動切換。

遠端部署

  • 利用 NixOps 和 Colmena 進行機隊管理。
  • 遠端建置與二進位快取配置。
  • 使用 agenix 和 sops-nix 管理金鑰與密件。
  • 透過 NixOS 虛擬機與容器進行部署測試。

系統更新與回滾

  • nixos-rebuild 的 switch、test 與 boot 模式。
  • 原子級回滾至上個生成版本。
  • 頻道管理與鎖定配置以實現可重現更新。
  • 緊急復原與開機載入器配置。

進階主題

  • NixOS 容器與輕量級虛擬化。
  • 交叉編譯與 ARM 架構建置。
  • 自訂 ISO 與網路開機映像檔生成。
  • 用於 Nix 套件的 Hydra 持續整合。

最低要求

  • 具備高階 Linux 系統管理與 shell 腳本編寫經驗。
  • 理解函數式程式設計的基本概念。
  • 熟悉 Git 及基於版本控制的配置工作流程。

受眾

  • 尋求可重現、聲明式系統之基礎架構工程師。
  • 希望以 Nix 取代 Ansible、Puppet 或 Chef 的 DevOps 團隊。
  • 需要位元級精確可重現部署的組織。
 21 小時

課程分類