ITADN
nix-community/nixos-anywhere
nix-community/nixos-anywhere · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

nixos-anywhere

通过 ssh 在任何地方安装 NixOS

文档索引

README

设置新机器耗时较长,且当需要远程操作时会变得复杂。如果您正在安装 NixOS,nixos-anywhere 工具允许您预先配置整个流程,包括:

  • 磁盘分区和格式化
  • 配置和安装 NixOS
  • 安装额外的文件和软件

然后,您可以通过单条 CLI 命令启动无人值守安装。 由于 nixos-anywhere 可以使用 SSH 访问新机器,因此非常适合 远程安装。

一旦您启动了该命令,就无需“照看” 安装过程。一切都会自动完成。

如果需要,您可以使用存储的配置重复相同的安装 操作。

概述

如果您的机器分布在多种平台上,您将需要一个在任何地方都能通用的安装 解决方案。nixos-anywhere 在这种情况下非常理想。

nixos-anywhere 同样适用于云服务器、Hetzner 等裸金属 服务器以及可通过 LAN 访问的本地服务器。您可以创建 标准配置,并使用相同的配置在任何地方创建相同的 服务器。

您首先创建 Nix 配置以指定分区、格式化以及 NixOS 配置。其他选项可以通过 flake 和 运行时开关来控制。

一旦配置创建完成,单条命令将:

  • 通过 SSH 连接到远程服务器
  • 检测是否存在 NixOS 安装程序;如果不存在,它将使用 Linux kexec 工具启动进入 Nixos 安装程序。
  • 使用 disko 工具对 硬盘进行分区和格式化
  • 安装 NixOS
  • 可选地安装所需的任何 Nix 软件包和其他软件。
  • 可选地复制额外文件到新机器

也可以使用 nixos-anywhere 来简化在没有当前操作系统的机器上的安装, 首先从 NixOS 安装镜像启动。此功能在 how-to guide 中有描述。 这很有用,因为你可以预先配置所需的软件和 偏好设置,并通过一条命令构建新机器。

重要提示: 切勿将生产服务器作为目标。它将被 完全覆盖,所有数据都会丢失。此工具仅应用于 在重要数据迁移完成后,为新的计算机进行初始化或重新利用旧机器。

前提条件

  • 源机器:

    • 可以是任何安装了 Nix 的机器,例如 NixOS 机器。
  • 目标机器:

  • 除非你使用从 NixOS 安装镜像启动的选项,或者 提供你自己的 kexec 镜像,否则它必须运行支持 kexec 的 x86-64 Linux。大多数 x86_64 Linux 系统都支持 kexec。通过提供 你自己的 镜像 你还可以为其他架构执行 kexec,例如 aarch64

    • 该机器必须可通过公共互联网或本地网络访问。 Nixos-anywhere 不支持 wifi 网络。如果需要 VPN,请通过 --kexec 标志定义一个 连接到你的 VPN 的自定义安装程序。
    • 当使用 kexec 时,目标机器必须至少拥有 1 GB 的 RAM,不包括 交换空间。

如何使用 nixos-anywhere

快速入门指南 提供了有关如何 以最简单形式运行 nixos-anywhere 的更多信息。对于符合 个人需求的更具体说明,请参阅 使用指南

相关工具

nixos-anywhere 使用了 disko 工具来处理磁盘的 分区和格式化。

联系方式

如有问题,请加入我们的 nixos-anywhere matrix 房间。

许可和贡献详情

本软件在 MIT 许可证 下免费提供。


本项目由 Numtide 提供支持。 Untitledpng

我们是一支热爱开源的独立自由职业者团队。我们通过以下方式帮助客户提高项目生命周期效率:

  • 提供并支持此类实用工具
  • 构建和部署基础设施,并提供专门的 DevOps 支持
  • 培养其内部 Nix 技能,并将 Nix 集成到其工作流程中
  • 开发额外的功能和工具
  • 开展定制化的研究与开发。

如果您有项目想法,或需要任何我们支持的工具(包括本工具)的帮助,请联系我们。我们很乐意收到您的来信。