Installation guide (简体中文)

From ArchWiki
Jump to navigation Jump to search
翻译状态: 本文是英文页面 Installation guide翻译,最后翻译时间:2019-10-26,点击这里可以查看翻译后英文页面的改动。

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

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

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

安装前的准备

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

验证签名

一般建议先验证所下载文件的签名,特别是从 HTTP 镜像源 下载的文件,因为通常会受到恶意镜像的拦截。 [1]

在一台已经安装 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+箭头 快捷键切换不同的控制台,编辑配置文件,可以使用nanovivim

键盘布局

控制台键盘布局 默认为 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. 配置网络连接:
    Note: 安装镜像在启动时用 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

结果中以 romloop 或者 airoot 结束的可以被忽略。

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

  • 一个根分区(挂载在根目录)/
  • 如果 UEFI 模式被启用,你还需要一个 EFI 系统分区

如果需要创建多级存储例如 LVMdisk encryptionRAID,请在此时完成。

分区示例

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

参阅布局示例

注意:

格式化分区

当分区建立好了,这些分区都需要使用适当的文件系统进行格式化。举个例子,如果根分区在 /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
Tip: 可以将 linux 替换为 kernel 页面中介绍的内核软件包。如果知道自己的需求,可以不安装内核和固件软件包。

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

如果你还想安装其他软件包组比如 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.genlocale.conf

/etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号()即可,建议选择带 UTF-8 的项:

# nano /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

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

# locale-gen

/etc/locale.gen 会生成指定的本地化文件。

创建 locale.conf 并编辑 LANG 这一 变量,比如:

Tip: 将系统 locale 设置为 en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。用户可以设置自己的 locale,详情参阅 LocaleLocale_(简体中文)#设置 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

对新安装的系统,需要再次设置网络,安装 iputils 或希望使用的 网络管理 软件。具体请参考 Network configuration (简体中文)

Initramfs

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

对于 LVMsystem encryptionRAID,修改 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 (简体中文)