联系我们

课程大纲

声明式系统主权

  • 为什么命令式配置管理会导致漂移和审计失败。
  • Nix存储、派生和纯函数用于系统构建。
  • NixOS与传统发行版的对比:不可变性和原子升级。

安装与基础

  • 从ISO手动或自动分区安装NixOS。
  • Nix语言:集合、函数和导入。
  • configuration.nix结构和模块系统。
  • 使用nix search和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 小时

客户评论 (4)

即将举行的公开课程

课程分类