NixOS Installation Guide/zh: Difference between revisions

Ardenet (talk | contribs)
No edit summary
Tags: Mobile edit Mobile web edit
Ardenet (talk | contribs)
No edit summary
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
指南是官方手册 [https://nixos.org/nixos/manual/index.html#ch-installation] 配套指南述了如何将 [[Special:MyLanguage/NixOS|NixOS]] 安装为完整操作系统。有关现有操作系统安装 [[Special:MyLanguage/Nix|Nix]] 的说明,参阅 [[Special:MyLanguage/Nix Installation Guide|Nix 安装指南]]
这份指南是[https://nixos.org/nixos/manual/index.html#ch-installation 官方手册]一份参考指南. 述了[[NixOS]]为完整操作系统的安装过程. 为了一个已存在的操作系统安装[[Nix]], [[Nix Installation Guide|Nix安装指南]].
</div>


<div class="mw-translate-fuzzy">
除了涵盖官方手册的步骤外,它还提供了针对常见用的已知有效操作。当官方手册与本指南之间存在差异,支持用例以手册中描述的为准
除了讲述官方手册的步骤, 它还提供了用于常见使场景的已知良好指导. 当官方手册和这份指南之间出现矛盾, 官方手册中描述的情况为准.
</div>


<span id="Installation_target"></span>
<span id="Installation_target"></span>
Line 78: Line 74:
{{expansion|Troubleshooting steps, and details are lacking.}}
{{expansion|Troubleshooting steps, and details are lacking.}}


<div class="mw-translate-fuzzy">
由于安装镜像为混合镜像,因此可在传统 BIOS 模式或 [[Special:MyLanguage/UEFI|UEFI]] 模式启动
因为安装媒介是混合型的, 它通过legacy bios模式和UEFI模式都可以启动.
</div>


无论使用哪种方式启动安装媒介, 你可能需要修改主板或者电脑的配置, 以允许从光盘驱动器(对于CD/DVD)或者从一个外部的USB驱动器启动.
无论使用哪种方式启动安装媒介, 你可能需要修改主板或者电脑的配置, 以允许从光盘驱动器(对于CD/DVD)或者从一个外部的USB驱动器启动.
Line 112: Line 106:
=== 无线网络 ===
=== 无线网络 ===


<div class="mw-translate-fuzzy">
[[Special:MyLanguage/NetworkManager|NetworkManager]] 安装在图形化 ISO 镜像上,这意味着可以在命令行使用 <code>nmtui</code> 命令连接到网络
Network Manager安装在图形界面ISO文件中, 这意味着可以在命令行使用<code>nmtui</code>连接到网络.
</div>


使用左上方的"Applications(应用)"标签页或者在底部的启动栏, 打开一个终端应用, 在那里启动 <code>nmtui</code>. 这可以让你'activate(激活)'一个(无线)连接 - 你应该可以在列表里看到你那里的SSID(无线网络名称), 除此之外你还可以添加一个新的连接. 当无线连接处于活动状态, 并且你已经测试过了时, 一开始就启动的安装程序很可能还没有检测到新的连接. 关掉安装程序, 再重新从屏幕底部的启动栏打开它.  这时它应该会检测到新的网络连接而继续.
使用左上方的"Applications(应用)"标签页或者在底部的启动栏, 打开一个终端应用, 在那里启动 <code>nmtui</code>. 这可以让你'activate(激活)'一个(无线)连接 - 你应该可以在列表里看到你那里的SSID(无线网络名称), 除此之外你还可以添加一个新的连接. 当无线连接处于活动状态, 并且你已经测试过了时, 一开始就启动的安装程序很可能还没有检测到新的连接. 关掉安装程序, 再重新从屏幕底部的启动栏打开它.  这时它应该会检测到新的网络连接而继续.


<div class="mw-translate-fuzzy">
在最小化 ISO 镜像或者更熟悉 [[Special:MyLanguage/wpa_supplicant|wpa_supplicant]],那么您也可以运行 <code>wpa_passphrase ESSID | sudo tee /etc/wpa_supplicant.conf</code> 命令,然后输入的密码并执行 <code>systemctl restart wpa_supplicant</code> 命令。
在最小化安装的ISO文件(或者更熟悉 <code>wpa_supplicant</code> ), 你也可以运行 <code>wpa_passphrase ESSID | sudo tee /etc/wpa_supplicant.conf</code>, 然后输入的密码, 再运行<code>systemctl restart wpa_supplicant</code>.
</div>


<span id="Partitioning"></span>
<span id="Partitioning"></span>
== Partitioning(分区操作) ==
== Partitioning(分区操作) ==


<div class="mw-translate-fuzzy">
要对持久存储进行分区,请运行 <code>sudo fdisk /dev/diskX</code> 并按照 MBR 或 (U)EFI 说明进行操作。要确定您使用启动模式,请运行:
为了给连续存储进行分区, 运行 <code>sudo fdisk /dev/diskX</code> , 然后跟着针对DOS或(U)EFI的指示来做.
这里有一个非常简单示例设置.
</div>


<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
Line 134: Line 121:
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
这里给出了一个非常简单的示例设置。
A very simple example setup is given here.
</div>


<span id="Legacy_Boot_(MBR)"></span>
<span id="Legacy_Boot_(MBR)"></span>
<div class="mw-translate-fuzzy">
=== 传统启动(Legacy Boot, MBR)===
=== DOS ===
</div>


* o (dos硬盘标签)
* o (dos硬盘标签)
Line 173: Line 156:


<span id="Format_partitions"></span>
<span id="Format_partitions"></span>
<div class="mw-translate-fuzzy">
=== 格式化分区 ===
== Label partitions(给分区贴标签) ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
以下示例使用 [[Special:MyLanguage/ext4|ext4]] 文件系统格式。如果您希望使用其他文件系统格式,例如 [[Special:MyLanguage/Btrfs|Btrfs]] [[Special:MyLanguage/ZFS|ZFS]]
The example below uses the [[ext4]] filesystem format. If you wish to use other filesystem formats such as [[Btrfs]] or [[ZFS]]:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* [[Special:MyLanguage/Bcachefs#NixOS installation on bcachefs|在 bcachefs 上安装 NixOS]]
* [[Bcachefs#NixOS installation on bcachefs]]
* [[Special:MyLanguage/Btrfs#Installation of NixOS on btrfs|在 btrfs 上安装 NixOS]]
* [[Btrfs#Installation of NixOS on btrfs]]
* [[Special:MyLanguage/LVM#Basic Setup|LVM 基础设置]]
* [[LVM#Basic Setup]]
* [[Special:MyLanguage/ZFS#Simple NixOS ZFS on root installation|Simple NixOS ZFS on root installation]]
* [[ZFS#Simple NixOS ZFS on root installation]]
</div>


<div class="mw-translate-fuzzy">
这对于有多个分区设置的情况很有用, 使分区更容易处理
这对于有多个分区设置的情况很有用, 使分区更容易处理<syntaxhighlight lang="console">
$ lsblk
$ sudo mkfs.fat -F 32 /dev/sdX1
$ sudo fatlabel /dev/sdX1 NIXBOOT
$ sudo mkfs.ext4 /dev/sdX2 -L NIXROOT
$ sudo mount /dev/disk/by-label/NIXROOT /mnt
$ sudo mkdir -p /mnt/boot
$ sudo mount /dev/disk/by-label/NIXBOOT /mnt/boot
</syntaxhighlight>
</div>


<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
Line 210: Line 177:


<span id="NixOS_configuration"></span>
<span id="NixOS_configuration"></span>
<div class="mw-translate-fuzzy">
== NixOS 配置 ==
== NixOS配置 ==
<syntaxhighlight lang="console">
$ sudo nixos-generate-config --root /mnt
$ cd /mnt/etc/nixos/
$ sudo vim configuration.nix
</syntaxhighlight>最重要的修改:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
NixOS 通过 [[Special:MyLanguage/Overview of the NixOS Linux distribution#Declarative Configuration|声明式配置]] 文件进行配置。要生成默认配置文件,请运行 [[Special:MyLanguage/nixos-generate-config]]
NixOS is configured through a [[Overview of the NixOS Linux distribution#Declarative Configuration|declarative configuration]] file. To generate a default config file, run [[nixos-generate-config]]:
</div>


<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
Line 228: Line 186:
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
有关使用系统配置的信息,请参阅 [[Special:MyLanguage/NixOS system configuration|NixOS 系统配置]]。有关特定于桌面的配置,请参阅 [[Special:MyLanguage/NixOS as a desktop|桌面设备上的 NixOS]]
For information on working with a system configuration, see [[NixOS system configuration]]. For desktop-specific configurations, see [[NixOS as a desktop]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
最重要的变化:
Most essential changes:
</div>


<div class="mw-translate-fuzzy">
* 键盘布局(keyboard layout), 也就是 <code>[[Keyboard Layout Customization|services.xserver.xkb.layout]]</code>  
* keyboard layout(键盘布局), 也就是<code>[[Keyboard Layout Customization|services.xserver.xkb.layout]]</code>
* [[networking|网络]] (wifi), 出现问题, 请参阅下方的修复方法
* <code>users.users.user</code> 和附加条目 <code>initialPassword = "pw123";</code>
* 安装 [[:Category:Text Editor|编辑器]] 来编辑配置
* [[networking]] (wifi), 如果出现问题, 请下方的修复方法
* <code>boot.loader.grub.device = "/dev/sda"; #或者只用于efi的 "nodev" </code>
* 安装编辑器来编辑配置文件
* 修改硬件配置以使用标签
</div>


具有自我说明性的NixOS选项可以在[https://search.nixos.org/options NixOS选项搜索]上搜索到.
具有自我说明性的NixOS选项可以在[https://search.nixos.org/options NixOS选项搜索]上搜索到.


<span id="Swap_file"></span>
<span id="Swap_file"></span>
<div class="mw-translate-fuzzy">
== 交换文件 ==
== Swap文件 ==
<syntaxhighlight lang="console">
$ sudo dd if=/dev/zero of=/mnt/.swapfile bs=1024 count=2097152 (2GB size)
$ sudo chmod 600 /mnt/.swapfile
$ sudo mkswap /mnt/.swapfile
$ sudo swapon /mnt/.swapfile
</syntaxhighlight>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
有关配置交换空间的更多方法,请参阅 [[Swap]]。以下示例演示了如何创建和启用一个 [[Swap#Swap file|交换文件]]
For additional methods of configuring swap, see [[Swap]]. The following example demonstrates how to create and enable a [[Swap#Swap file|swap file]]:
</div>


{{file|/mnt/etc/nixos/configuration.nix|nix|
{{file|/mnt/etc/nixos/configuration.nix|nix|
Line 271: Line 210:
}}
}}


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Bootloader"></span>
=== Bootloader ===
=== 引导加载程序 ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
NixOS 支持多种 [[Bootloader|引导加载程序]],例如 [[GNU GRUB]] [[Systemd/boot]]
NixOS supports multiple [[Bootloader|bootloaders]] such as [[GNU GRUB]] and [[Systemd/boot]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Systemd-boot 是推荐的引导加载程序。以下示例演示了如何在配置中启用 systemd-boot
Systemd-boot is the recommended bootloader. The following example demonstrates how to enable systemd-boot in your configuration:
</div>


{{file|/mnt/etc/nixos/configuration.nix|nix|
{{file|/mnt/etc/nixos/configuration.nix|nix|
Line 289: Line 223:
}}
}}


<div lang="en" dir="ltr" class="mw-content-ltr">
您可能还希望配置 [[Secure Boot|安全启动]]
You may also wish to configure [[Secure Boot]].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Users"></span>
=== Users ===
=== 用户 ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
有关创建和管理用户的信息,请参阅 [[User management|用户管理]] {{NixOS Manual|name=NixOS Manual: Chapter - Package Management|anchor=#sec-user-management}}。请参阅以下示例:
For information on creating and managing users, see [[User management]] and the {{NixOS Manual|name=NixOS Manual: Chapter - Package Management|anchor=#sec-user-management}}. See an example below:
</div>


{{file|/mnt/etc/nixos/configuration.nix|nix|
{{file|/mnt/etc/nixos/configuration.nix|nix|
Line 311: Line 240:


<span id="NixOS_installation"></span>
<span id="NixOS_installation"></span>
<div class="mw-translate-fuzzy">
== 安装 NixOS ==
== NixOS安装 ==
<syntaxhighlight lang="console">
$ cd /mnt
$ sudo nixos-install
</syntaxhighlight>安装完成后: 运行 <code>passwd</code> 来修改用户的密码.
</div>


<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
Line 324: Line 247:
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
安装后:运行<code>passwd</code>更改用户密码。
after installation: Run <code>passwd</code> to change user password.
</div>


如果网络出现问题, 请尝试下面的一种方法:
如果网络出现问题, 请尝试下面的一种方法:
Line 347: Line 268:
* 品牌服务器可能需要在 initrd 中包含额外的内核模块(在 configuration.nix 中配置 <code>boot.initrd.extraKernelModules</code>)。例如,HP Proliant 需要“hpsa”模块才能访问磁盘驱动器。
* 品牌服务器可能需要在 initrd 中包含额外的内核模块(在 configuration.nix 中配置 <code>boot.initrd.extraKernelModules</code>)。例如,HP Proliant 需要“hpsa”模块才能访问磁盘驱动器。


<div lang="en" dir="ltr" class="mw-content-ltr">
[[Category:Guide|分类:指南]]
[[Category:Guide]]
[[Category:Deployment|分类:开发]]
[[Category:Deployment]]
[[Category:NixOS|分类:NixOS]]
[[Category:NixOS]]
</div>