聯繫我們

課程簡介

聲明式系統主權

  • 爲什麼命令式配置管理會導致漂移和審計失敗。
  • Nix存儲、派生和用於系統構建的純函數。
  • NixOS與傳統發行版的區別:不可變性和原子升級。

安裝與基礎

  • 從ISO手動或自動分區安裝NixOS。
  • Nix語言:集合、函數和導入。
  • configuration.nix結構和模塊系統。
  • 使用nix搜索和man頁面查找包和選項。

包與服務管理

  • 使用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和網絡啓動鏡像生成。
  • 使用Hydra進行Nix包的持續集成。

最低要求

  • 具備高級Linux系統管理和Shell腳本編寫經驗。
  • 對函數式編程概念有基本瞭解。
  • 熟悉Git和版本控制的配置工作流程。

受衆

  • 尋求可復現、聲明式系統的基礎設施工程師。
  • 希望用Nix替代Ansible、Puppet或Chef的DevOps團隊。
  • 需要逐位復現部署的組織。
 21 小時

人數


每位參與者的報價

即將到來的課程

課程分類