Installation guide (简体中文) - ArchWiki

# Installation guide (简体中文)

From ArchWiki
Jump to navigation Jump to search
翻译状态： 本文是 Installation guide 的本地化版本。上次翻译日期：2020-05-04。如果英文版本有所更改 ，则您可以帮助同步翻译。

本文将指导如何用官方安装镜像启动的 Live 系统安装 Arch Linux。建议在安装前阅读 FAQ。对于本文中使用的惯用术语，请参阅 Help:Reading。请注意，代码段可能会有占位符（格式是 `italics`），您可能需要手动去掉它们。

有关更详细的说明，请阅读本指南内相应的 ArchWiki 文章或各类程序的手册。有关配置的概述，请参阅 archlinux(7)。若需要交互帮助，可以使用 IRC 频道和论坛。

Arch Linux 能运行在超过 530 MiB 内存的 x86_64 机器上。基本安装将占用小于 2 GiB 的存储空间。由于安装过程中需要从远程存储库获取软件包，机器将需要一个有效的互联网连接。

## 安装前的准备

安装文件和它的 GnuPG 签名可以从下载页面获取。

### 验证签名

建议使用前先验证所下载文件的签名，特别是从 HTTP 镜像源 下载的文件，因为 HTTP 连接一般来说容易遭到拦截而提供恶意镜像。

在一台已经安装 GnuPG 的系统上，通过下载 PGP 签名 (under Checksums) 到 ISO 文件所在的路径，可以通过以下方式验证：

     $ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig

另外，在一台已经安装 Arch Linux 的计算机上可以通过以下方式验证：

    $ pacman-key -v archlinux-version-x86_64.iso.sig

注意:

- 如果您是从镜像站点下载，而不是从 archlinux.org 下载的话，则签名是可以被伪造的。在这种情况下，确保用来解码签名的公钥是被另一个可信的 key 签署的。`gpg` 命令会输出公钥的指纹。
- 另一种验证签名的方法是确保公钥的指纹等于其中一位签署了 ISO 文件 Arch Linux 开发者的指纹。请参阅 Wikipedia:Public-key_cryptography 获取更多关于公钥加密的信息。

### 启动到 live 环境

live 环境可以从 USB 安装 U 盘、光盘或带有 PXE 的网络启动进入。其他安装方法请参考Category:Installation process (简体中文).

- 选择从带有 Arch 安装文件的媒介启动通常是在电脑开机自检的时候按下某个按键，一般会在启动画面有提示。具体参考您主板的手册。
- 当 Arch 菜单出现时，选择 Boot Arch Linux 并按 `Enter` 进入安装环境。
- 参阅 README.bootparams 获取一系列的启动参数，参阅 packages.x86_64 获取已经被包含的包。
- 您将会以 root 身份登录进一个虚拟控制台，默认的 SHELL 是 Zsh。

如果想一边安装，一边使用 ELinks 查看本指南，可以使用 `Alt+箭头` 快捷键切换不同的控制台，编辑配置文件，可以使用nano、vi 或 vim。

### 键盘布局

控制台键盘布局默认为 `us`（美式键盘映射）。列出所有可用的键盘布局，可以使用：

    # ls /usr/share/kbd/keymaps/**/*.map.gz

如果您想要更改键盘布局，可以将一致的文件名添加进 loadkeys(1)，但请省略路径和扩展名。比如，要添加 German 键盘布局：

    # loadkeys de-latin1

Console fonts 位于 `/usr/share/kbd/consolefonts/`，设置方式请参考 setfont(8)。

根据 Getting and installing Arch 中所述，下载并引导安装介质。启动完成后将会自动以 root 身份登录虚拟控制台并进入 Zsh 命令提示符。

### 验证启动模式

如果以在 UEFI 主板上启用 UEFI 模式，Archiso 将会使用 systemd-boot 来 启动 Arch Linux。可以列出 efivars 目录以验证启动模式：

    # ls /sys/firmware/efi/efivars

如果目录不存在，系统可能以 BIOS 或 CSM 模式启动，详见您的主板手册。

### 连接到因特网

用下面步骤设置网络：

1. 确保系统已经启用了网络接口，用 ip-link(8) 检查:

       # ip link

2. 连接到网络，连接网线或无线网络.
3. 配置网络连接:
   - 静态 IP
   - 动态 IP.
     注意: 安装镜像在启动时用 dhcpcd (`dhcpcd@interface.service`) 配置有线设备。
4. 用 ping 检查网络连接:

       # ping archlinux.org

### 更新系统时间

使用 timedatectl(1) 确保系统时间是准确的：

    # timedatectl set-ntp true

可以使用 `timedatectl status` 检查服务状态。

### 建立硬盘分区

磁盘若被系统识别到，就会被分配为一个块设备，如 `/dev/sda` 或者 `/dev/nvme0n1`。可以使用 lsblk 或者 fdisk 查看：

    # fdisk -l

结果中以 `rom`，`loop` 或者 `airoot` 结束的可以被忽略。

对于一个选定的设备，以下的分区是必须要有的：

- 一个根分区（挂载在根目录）`/`；
- 如果 UEFI 模式被启用，您还需要一个 EFI 系统分区。

如果需要创建多级存储例如 LVM、disk encryption 或 RAID，请在此时完成。

#### 分区示例

BIOS 和 MBR
挂载点 | 分区 | 分区类型 | 建议大小
--- | --- | --- | ---
`/mnt` | `/dev/sdX1` | Linux | 剩余空间
[SWAP] | `/dev/sdX2` | Linux swap (交换空间) | 大于 512 MiB
UEFI with GPT
挂载点 | 分区 | 分区类型 | 建议大小
`/mnt/boot` or `/mnt/efi` | `/dev/sdX1` | EFI 系统分区 | 260–512 MiB
`/mnt` | `/dev/sdX2` | Linux x86-64 根目录 (/) | 剩余空间
[SWAP] | `/dev/sdX3` | Linux swap (交换空间) | 大于 512 MiB

参阅布局示例。

注意:

- 请使用 fdisk 或 parted 修改分区表，例如 `fdisk /dev/sdX`。
- 如果文件系统支持，交换空间也可以设在交换文件上。

### 格式化分区

当分区建立好了，这些分区都需要使用适当的文件系统进行格式化。举个例子，如果根分区在 `/dev/sdX1` 上并且会使用 `ext4` 文件系统，运行：

     # mkfs.ext4 /dev/sdX1

如果您创建了交换分区（例如 `/dev/sda3`），使用 mkswap 将其初始化：

     # mkswap /dev/sdX2
     # swapon /dev/sdX2

详情参见文件系统。

### 挂载分区

将根分区挂载到 `/mnt`，例如：

    # mount /dev/sdX1 /mnt

创建其他剩余的挂载点（比如 `/mnt/efi`）并挂载其相应的分区。

接下来 genfstab 将会自动检测挂载的文件系统和交换空间。

## 安装

### 选择镜像

文件 `/etc/pacman.d/mirrorlist` 定义了软件包会从哪个镜像源下载。在 LiveCD 启动的系统上，所有的镜像都被启用，并且在镜像被制作时，我们已经通过他们的同步情况和速度排序。

在列表中越前的镜像在下载软件包时有越高的优先权。您可以相应的修改文件 `/etc/pacman.d/mirrorlist`，并将地理位置最近的镜像源挪到文件的头部，同时您也应该考虑一些其他标准。

这个文件接下来还会被 pacstrap 拷贝到新系统里，所以请确保设置正确。

### 安装必须的软件包

使用 pacstrap 脚本，安装 base 软件包和 Linux 内核以及常规硬件的固件：

    # pacstrap /mnt base linux linux-firmware

提示： 可以将 linux 替换为 kernel 页面中介绍的内核软件包。如果知道自己的需求，可以不安装内核和固件软件包。

base 软件包并没有包含全部 live 环境中的程序，packages.x86_64 页面包含了它们的差异。需要额外安装：

- 管理所用文件系统的用户工具
- 访问 RAID 或 LVM 分区的工具
- 未包含在 linux-firmware 中的额外固件
- 联网需要的程序
- 文本编辑器,
- 访问 man 和 info 页面的工具： man-db, man-pages 和 texinfo.

如果您还想安装其他软件包组比如 base-devel，请将他们的名字添加到 pacstrap 后，并用空格隔开。您也可以在 Chroot 进新系统后使用 pacman 手动安装软件包或组。

## 配置系统

### Fstab

用以下命令生成 fstab 文件 (用 `-U` 或 `-L` 选项设置UUID 或卷标)：

    # genfstab -U /mnt >> /mnt/etc/fstab

强烈建议在执行完以上命令后，后检查一下生成的 `/mnt/etc/fstab` 文件是否正确。

### Chroot

Change root 到新安装的系统：

    # arch-chroot /mnt

### 时区

设置时区：

    # ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

例如：

    # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行 hwclock(8) 以生成 `/etc/adjtime`：

    # hwclock --systohc

这个命令假定硬件时间已经被设置为 UTC 时间。详细信息请查看 System time#Time standard。

### 本地化

本地化的程序与库若要本地化文本，都依赖 Locale，后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置：`locale.gen` 与 `locale.conf`。

编辑`/etc/locale.gen` 然后移除需要的地区的注释。

接着执行 `locale-gen` 以生成 locale 讯息：

    # locale-gen

创建 `locale.conf` 并编辑 `LANG` 这一变量，比如：

提示： 将系统 locale 设置为 `en_US.UTF-8`，系统的 Log 就会用英文显示，这样更容易问题的判断和处理。用户可以设置自己的 locale，详情参阅 Locale 或 Locale_(简体中文)#设置 locale。

    /etc/locale.conf

    LANG=en_US.UTF-8

警告: 不推荐在此设置任何中文 locale，会导致 TTY 乱码。

另外，如果您需要修改 #键盘布局，并想让这个设置持续生效，编辑 vconsole.conf(5)，例如：

    /etc/vconsole.conf

    KEYMAP=de-latin1

### 网络

创建 hostname 文件:

    /etc/hostname

    myhostname

添加对应的信息到 hosts(5):

    /etc/hosts

    127.0.0.1	localhost
    ::1		localhost
    127.0.1.1	myhostname.localdomain	myhostname

如果系统有一个永久的 IP 地址，请使用这个永久的 IP 地址而不是 `127.0.1.1`。

对新安装的系统，需要再次设置网络，请注意，目前的 base 不含有任何网络管理工具，要安装希望使用的 网络管理 软件。

### Initramfs

您通常不需要创建 initramfs，因为在您执行 pacstrap 时已经安装 linux，这时 mkinitcpio 会被自动运行。

对于 LVM、 system encryption 或 RAID，修改 mkinitcpio.conf 并用以下命令重新创建一个 Initramfs：

    # mkinitcpio -P

### Root 密码

设置 Root 密码：

    # passwd

### 安装引导程序

您需要安装 Linux 引导程序以在安装后启动系统，您可以使用的的引导程序在 启动加载器 中，请选择一个并且安装并配置它，比如 GRUB。

## 重启

输入 `exit` 或按 `Ctrl+d` 退出 chroot 环境。

可选用 `umount -R /mnt` 手动卸载被挂载的分区：这有助于发现任何「繁忙」的分区，并通过 fuser(1) 查找原因。

最后，通过执行 `reboot` 重启系统，systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质，然后使用 root 帐户登录到新系统。

## 安装后的工作

系统管理引导，图形用户界面的安装、声音管理、触摸板支持等后期工作参见 General recommendations (简体中文)。

感兴趣的各类程序，请参见 List of applications (简体中文)。

Category:

- Installation process (简体中文)