跳转至内容

Install Arch Linux via Docker

来自 ArchWiki

本文或本节需要在语言、wiki 语法或风格方面进行改进。请参阅 Help:Style 获取参考。

原因: 格式不符合指南要求,请参阅 Help:Style。(在 Talk:Install Arch Linux via Docker 中讨论)

本文档是使用官方 Docker Hub 上的 Arch Linux 容器镜像 安装 Arch Linux 的指南。有关其他安装方式,请参阅 Category:Installation process

在安装之前,建议先查看 常见问题 (FAQ)。有关本文档中使用的约定,请参阅 帮助:阅读。特别是代码示例中可能包含必须手动替换的占位符(以 斜体 格式显示)。

有关更详细的说明,请参阅各自的 ArchWiki 文章或各种程序的 man 手册页,这些都链接在本指南中。如需互动帮助,还可以使用 IRC 频道论坛

Arch Linux 应该可以在任何 x86_64 兼容的机器上运行,最低需要 512 MiB RAM,尽管为了启动用于安装的 live 系统需要更多内存 [1]。基本安装需要少于 2 GiB 的磁盘空间。由于安装过程需要从远程仓库检索软件包,本指南假定存在可用的互联网连接。此外,还需要在主机上设置好 Docker。虽然技术上完全可以使用任何 qemu 支持的主机来安装 Arch,但本指南将不涵盖此内容。

安装前准备

本指南假定主机系统已根据通常的预期情况进行了预先配置。例如,时间已正确设置,互联网连接正常工作,如果需要,EFI 模式已正确设置等。

准备安装介质

安装需要一个目标目录,Arch Linux 将安装到该目录。可以使用任何可写目录,但很可能目标目录有一个已挂载的分区或卷,它将用作根磁盘。

整块磁盘分区

如果使用整块磁盘作为目标,则可能需要对其进行格式化。有关详细信息,请参阅 Installation guide#Partition the disks,因为可以遵循其中的分区说明和顺序。那里所有的限制和要求同样适用。

同样,新磁盘也需要格式化。也可以使用 Installation guide#Format the partitions 中的说明来完成此操作。

在使用 btrfs 或 zfs 等文件系统时,文件系统卷是可选项。根据使用何种文件系统,创建它们会使用它们自己的命令列表。在本指南中,将以 btrfs 为例。

首先,创建一个 Arch Linux 的根卷。此命令假定当前工作目录是 btrfs 根卷(subvolid=5),但也可以使用任何位置。如果使用现有层级内的不同位置,请在稍后定义 fstab 等时牢记这一点。另请注意,由于 Arch Linux 特定卷是在已挂载的(根)卷上创建的,因此底层堆栈可能正在使用(全盘)加密。

 # btrfs subvolume create "arch_root"
注意 要获取根卷,请使用 subvolid=5 选项挂载 btrfs。

挂载文件系统

以下部分假定 Arch Linux 将安装到 /tmp/target。因此,需要将其挂载到此处。使用一个名为 arch_root 的 btrfs 子卷,并启用 autodefragLZO 压缩,则看起来是这样的:

# mkdir -p /tmp/target
# mount /dev/disk /tmp/target -o subvol=arch_root,compress=lzo,autodefrag

也可以使用 Installation guide#Mount the file systems 中的说明来完成此操作。

安装

启动容器

安装的其余部分将在 Docker 容器内完成,简称 ADC,Arch Docker Container。

 # docker run \
          --env PS1="ADC(\#)[\d \T:\w]\\$ " \
          --interactive \
          --privileged \
          --rm \
          --tty \
          --volume "/tmp/target:/target" \
          "index.docker.io/library/archlinux:latest" /bin/sh

选择镜像源

必须从 镜像服务器下载要安装的软件包,这些服务器定义在 /etc/pacman.d/mirrorlist 中。在 docker 容器中,我们首先安装 reflector,它通过选择 70 个最近同步的 HTTPS 镜像并按下载速率排序来更新镜像列表。 [2] 首先,我们必须在 docker 容器中 安装 reflector 才能使用它。

# reflector [--country <country>] \
             --latest 5 \
             --protocol http,https \
             --save "/etc/pacman.d/mirrorlist" \
             --sort rate

镜像在列表中排名越高,下载软件包时获得的优先级就越高。请务必检查文件,看看它是否令人满意。如果不满意,请相应地编辑文件,并将地理位置上最近的镜像移到列表的顶部,尽管其他标准也应予以考虑。

此文件稍后将被 pacstrap 复制到新系统中,因此值得仔细设置。

安装必需的软件包

为了能够开始安装,必须首先将 arch-install-scripts 软件包 安装到 Docker 镜像中。完成后,可以按照官方安装指南进行,从 Installation guide#Install essential packages 部分开始。

注意 docker 容器包含旨在最小化的 pacman 配置选项。请务必检查 /etc/pacman.conf 并删除末尾的 NoExtract 选项,否则可能会导致安装失败。

在执行 Installation guide#Reboot 部分的 Reboot 步骤之前,请返回本指南,然后继续下面的 #Reboot

重启

通过键入 exit 或按 Ctrl+d 退出 docker 容器。

可以选择手动卸载所有分区,使用 umount -R "/target":这可以发现任何“繁忙”的分区,并使用 fuser(1) 找到原因。

通过正确设置的引导加载程序,现在应该可以重启到新安装的 Arch Linux。

安装后的后续步骤

有关系统管理方向和安装后教程(如设置图形用户界面、声音或触摸板),请参阅 General recommendations

有关可能感兴趣的应用程序列表,请参阅 应用程序列表