Linux Logo
已选择:
nixos-25.05-desktop
环境格式链接校验
Flavor Icon
KDE
Installer
AMD64
Direct Icon
Flavor Icon
KDE
Installer
ARM64
Direct Icon
提示:推荐下载最新桌面版GNOME,KDE或Cinnamon桌面环境。

NixOS

  
   0
   2003年6月3日
概述

NixOS 是一个免费、开源的 Linux 发行版,基于 Nix 包管理器,以其声明式配置和可重现性而闻名。NixOS 通过一个配置文件(通常为 /etc/nixos/configuration.nix)定义整个系统状态,包括软件包、系统服务和用户配置,确保系统在不同设备上具有一致性和可回滚性。NixOS 适合开发者、系统管理员和研究人员,广泛应用于开发环境、服务器管理和学术实验。

历史与发展
  • 起源:
    • NixOS 起源于 2003 年,由 Eelco Dolstra 在荷兰代尔夫特理工大学开发,基于 Nix 包管理器,旨在解决传统包管理的依赖冲突和不可重现问题。
    • 2004 年,首个 NixOS 版本发布,引入声明式配置模型。
  • 发展历程:
    • 2004-2010:NixOS 建立核心功能,如原子升级、回滚和隔离环境。
    • 2015:引入 NixOps,支持声明式云部署。
    • 2020-2025:NixOS 24.11(2024 年 11 月) 优化 Flakes(版本锁定机制),增强可重现性,支持容器(如 Podman)和桌面环境(如 Hyprland)。
    • 社区项目:Home Manager(管理用户配置) 和 Colmena(多主机部署)扩展 NixOS 功能。
  • 社区与支持:
  • 开源许可:采用 GNU Lesser GPL v2.1(LGPL),允许自由使用和修改,衍生作品需开源。
主要特点

NixOS 以其声明式配置和 Nix 包管理器为核心,适合开发和生产环境。以下是其主要特点:

  1. 声明式配置
    • 配置模型:
      • 通过 /etc/nixos/configuration.nix 或 Flakes 定义系统状态,包括软件包、服务和用户设置。
      • 使用 sudo nixos-rebuild switch 应用配置,生成新系统状态。
  2. 可重现性与隔离
    • Nix 包管理器:
      • 使用函数式包管理,隔离每个包的依赖。
      • 包安装在 /nix/store(如 /nix/store/...-python3-3.11),避免冲突。
    • 可重现性:
      • 相同的 Nix 配置在不同设备上生成一致环境,适合团队协作。
  3. 原子升级与回滚
    • 原子升级:
      • 使用 sudo nixos-rebuild switch 升级系统,失败不影响当前状态。
    • 回滚:
      • GRUB 菜单保留历史配置,允许回滚到旧状态。
      • X 用户称“回滚让我无惧系统崩溃”。
  4. 灵活的包管理
    • Nixpkgs:
      • 包含 80,000+ 软件包(如 Python,Django,PostgreSQL),社区维护。
      • 使用 nix-env -iA nixos.python3 安装包。
    • Flakes:
      • 提供版本锁定,确保配置可重现。
  5. 跨平台与工具
    • 支持系统:支持 x86_64,ARM,VirtualBox。
    • 工具:
      • NixOps:声明式云部署(AWS,VirtualBox)。
      • Home Manager:管理用户配置(如 .bashrc)。
      • Podman:运行 Arch Linux 容器,解决非 Nix 包问题。
优势与局限性

优势

  • 声明式配置:
    • 通过单一配置文件管理系统,简化部署。
    • X 帖子称“configuration.nix 让系统管理如代码”。
  • 可重现性:
    • 确保开发环境一致,适合团队协作项目。
  • 原子升级与回滚:
    • 安全升级,失败可回滚,适合实验性开发(如 Hyprland)。
  • 隔离环境:
    • 避免依赖冲突,适合运行 PostgreSQL/SQLite。
  • 社区支持:

局限性

  • 学习曲线:
    • Nix 语言和声明式配置对新手复杂,需学习。
    • 解决:参考 nixos.org/learn 和 X 教程。
  • 动态数据限制:
    • 无法管理动态数据(如 PostgreSQL 数据库内容)。
  • 资源占用:
    • /nix/store 存储多个包版本,占用磁盘空间(约 5GB+)。
    • 解决:定期清理(nix-collect-garbage)或用 antiX 优化。
  • 非主流体验:
    • NixOS 配置复杂。
    • 解决:在 VirtualBox 测试 NixOS,熟悉后再部署。
总结

NixOS 是一个基于 Nix 包管理器的开源 Linux 发行版,以声明式配置、可重现性和原子升级著称,适合开发环境、服务器管理和学术研究。其隔离环境、回滚功能和 Flakes 使其成为强大的平台。NixOS 更适合需要一致性和可重现性的项目。

  NixOS 下载统计
版本次数
25.050
类型次数
桌面版0
服务器版0
环境次数
CLI0
KDE0
  赏杯咖啡
Logo
Wechatpay
Logo
Alipay
Logo
Paypal