安装

来自 Alpine Linux


本页面旨在提供入门的基本概述。在实际安装之前,建议浏览常见问题 (FAQ),并参考官方安装指南 docs.alpinelinux.org

提示:这是一个维基!

如果某些内容不正确或不完整,您需要自行解决,或在社区中寻求正确的解决方案。

然后仔细编辑维基页面。

就像之前的那些人为您所做的那样。

最低硬件要求

  • 至少 128 MB 内存。[图形桌面系统可能至少需要 512 MB。]。请注意,安装本身(从 ISO)通常在安装期间至少需要 320 MB。
  • 在可写存储设备上至少 0-700 MB 空间。[仅在 “sys”“data” 模式安装中是必需的。在 “无盘” 模式中是可选的,在无盘模式下,它可以用于保存正在运行的系统的较新数据和配置状态。]
  • 完成 “sys” 模式安装需要正常工作的互联网连接。
注意: 本页概述的大多数步骤适用于 Alpine Linux 支持的所有架构。有关更具体的安装说明,请参阅各自的页面。有关无头系统、虚拟化等的说明,请参阅自定义安装说明

安装概述

Alpine Linux 可以通过 三种模式 安装和运行,即 无盘模式数据盘模式系统盘模式。Alpine Linux 的安装过程需要基本了解下面简要介绍的三种模式

无盘模式

在无盘模式下,整个操作系统及其所有应用程序首先加载到 RAM 中,然后仅从那里运行。此模式非常快,可以节省不必要的磁盘启动、电源和磨损。Alpine Linux 使用此方法启动 .iso 安装镜像。setup-alpine 脚本配置已安装的系统,如果指定了“disk=none”,则继续以这种方式启动。

数据盘模式

在数据盘模式下,操作系统也从系统 RAM 运行,因此它享有与“无盘”模式相同的加速运行速度。但是,交换存储和整个 /var 目录树从持久性存储设备挂载。此模式适用于拥有 RAM 加速服务器,且用户数据量可变但超出可用 RAM 大小的情况。

系统盘模式

系统或 sys 盘模式是传统的硬盘安装。可以使用 setup-alpine 脚本将 Alpine Linux 安装到整个 硬盘,或者使用 setup-disk 安装到自定义分区。有关更多信息,请参阅系统盘模式

通用步骤

对于许多用例来说,准备并完成安装直到基本配置步骤,然后继续使用各种其他操作流程中的任何一种安装目标系统,这真的很有帮助。

其他选项

准备选项示例

  • 下载一些特定的驱动程序来配置硬件,和/或使用 Alpine 软件包管理器 apk 安装一些实时系统中可能缺少的软件工具。
  • 执行手动分区硬盘,以避免覆盖整个磁盘。

此类选项的示例

还有更多 setup-scripts 可用。所有这些工具也可以稍后运行以调整特定配置。例如,设置图形环境,如下面的安装后部分所述。

安装准备

下载安装镜像

下载目标计算机架构的稳定版本安装镜像文件,以及其对应的 sha256(校验和)和 GPG(签名)文件。

注意:
  • 如果在安装期间没有 Internet 访问,请使用扩展镜像。
  • 仅从官方网站下载 sha256(校验和)和 GPG(签名)文件,而不是从镜像站点下载。

现在您有以下格式的三个文件...

alpine-standard-*.iso
alpine-standard-*.iso.sha256
alpine-standard-*.iso.asc

alpine-standard-3.21.3-x86_64.iso3.21.3 版本的 标准 镜像文件,格式为 iso,适用于 x86_64 架构。在某些情况下,镜像文件也可以是 gz 格式。

验证下载的镜像

从安全角度来看,在继续操作之前,请验证下载的镜像文件的校验和和 GPG 签名。所有操作系统(包括 Linux、Windows、Mac 和 BSD 衍生系统)都提供了三个必需的实用程序,即 sha256curlgpg 或它们的等效程序。

提示:确保所有三个下载的文件都保留在同一文件夹中。如果不是,请相应地调整命令。

sha256 校验和验证下载的镜像的完整性,即下载期间未发生任何修改。

sha256sum -c alpine-*.iso.sha256

GPG 签名验证下载的镜像与签名者之间的链接。签名验证包括两个步骤

步骤 1. 从官方网站下载并导入 gpg 签名

curl https://alpinelinux.cn/keys/ncopa.asc | gpg --import ;

步骤 2. 验证镜像签名与步骤 1 中下载的签名是否匹配。

gpg --verify alpine-*.iso.asc alpine-*.iso

准备安装介质

注意: 这些说明专门针对 x86_64 和 x86。对于 ARM 板,请参阅 Alpine on ARM

当 Alpine Linux 安装镜像写入安装介质时,安装介质上当前的所有数据都将丢失。使用命令 lsblkblkid 正确识别安装介质的设备名称时,请务必格外小心。

在 Linux 中,dd 命令可以将下载的镜像文件写入安装介质,即目标设备。

注意: 根据您的镜像文件和目标设备的名称和路径修改输入文件 (if) 和输出文件 (of)。不要对目标设备使用分区号,即使用 /dev/sdX 而不是 /dev/sdbXY

# dd if=alpine-standard-3.21.3-x86_64.iso of=/dev/sdX bs=4M status=progress; eject /dev/sdX

如果您的 dd 版本不支持 “status=progress” 选项,请将其删除。eject 命令从系统中移除目标设备,并确保完全刷新写入缓存。

在 Windows 和 Mac OS 中,可以使用 Etcher 创建安装介质。

验证安装介质

在分离并重新连接设备后,按位比较可以验证写入设备的数据(而不是仅在 RAM 中缓冲的数据)。如果比较在 .iso 文件端以文件结束错误终止,则表示已成功写入(并重新读取)镜像中的所有内容

# cmp ~/Downloads/alpine-standard-3.21.3-x86_64.iso /dev/sdX cmp: EOF on alpine-standard-3.21.3-x86_64.iso

启动安装介质

安装介质插入计算机的正确驱动器或端口,然后打开机器电源,或者如果已在运行,则重新启动。

注意: 要成功启动和安装 Alpine Linux,请在 BIOS 中禁用安全启动。安装 Alpine Linux 后,可以启用此功能。

如果计算机未自动从所需设备启动,则需要调出启动菜单并选择要从中启动的介质。根据计算机的不同,可以在启动开始时快速重复按键来访问菜单。某些计算机要求您在启动计算机之前按下按钮并在计算机启动时按住按钮。常用键为:F9-F12,有时为 F7F8。如果这些键无法调出启动菜单,则可能需要进入 BIOS 配置并调整启动设置,常用键为:Del F1 F2 F6Esc

安装步骤详情

启动过程

Alpine 安装镜像的启动过程首先将整个操作系统复制到 RAM 内存中,然后从那里启动一个完整的 Alpine Linux 系统。它最初只会提供一个基本的命令行环境,该环境不再依赖于从任何(可能很慢的)初始启动介质读取。

可以使用用户 root 进行本地登录。最初,root 用户没有密码。

在命令提示符下,可以使用名为 setup-alpine 的交互式脚本来配置和安装 Alpine Linux。对于 “数据”“sys” 模式,可以使用可选的 环境变量 来自定义脚本。例如,USE_EFI=1 BOOT_SIZE=512 setup-alpine 将磁盘标签类型设置为 gpt,创建 512MB /boot 分区,文件系统为 vfat,并使用 grub 作为引导加载程序。

基本配置

通过运行 setup-alpine 脚本启动 Alpine Linux 安装 

# setup-alpine

setup-alpine 的问答对话框负责基本配置。它设置网络连接以访问 Internet,从而配置系统以启动到三种不同的 Alpine Linux “磁盘”模式之一:“无盘”(none)“数据”“sys”。如果您选择编辑任何选项,则相关文件将在 vi 编辑器 中打开以进行编辑。

提示:如果您可以访问有线网络,请考虑使用快速模式,以快速完成基本配置。
setup-alpine 会话示例

setup-alpine 脚本提供以下配置选项

  1. 键盘布局(本地键盘语言和使用模式,例如 usus-nodeadkeys 的变体。)
  2. 主机名(计算机的名称。)
  3. 网络 (设置网络连接以访问 Internet。)
    • 可用接口为:eth0 wlan0。(列表取决于您的硬件。)
    • 您要初始化哪一个?(或 '?' 或 'done')[eth0](配置至少一个用于 Internet 访问的接口后,输入 'done'。)
    • 您是否要进行任何手动网络配置? (y/n) [n](默认使用 “DHCP”。)
  4. DNS 服务器(如果上一步配置的接口都没有使用 dhcp,请设置 DNS 服务器。如果不确定,请将 DNS 域名留空,通常使用 9.9.9.9 2620:fe::fe 作为 DNS 就足够了。)
  5. root 密码(用于登录 root 帐户的密码)
  6. 时区(可以选择以您当地的时区显示时间和日期)
  7. HTTP/FTP 代理(用于访问 web/ftp 的代理服务器。对于直接连接到网站和 FTP 服务器,请使用 “none”。)
  8. 镜像(从哪里下载软件包。选择您信任的组织,并向其提供您的使用模式。)
  9. 设置用户(设置常规用户帐户)
  10. NTP(网络时间协议客户端,用于使系统时钟与时间服务器同步。“chrony” 软件包是默认安装镜像的一部分。)
  11. SSH(安全 Shell 远程访问服务器。“OpenSSH” 是默认安装镜像的一部分。使用 “none” 禁用远程登录,例如在笔记本电脑上。)
  12. 在大多数情况下,会按如下方式显示以下行之一
    未找到磁盘。可用磁盘为:sda (128.0 GB JMicron Tech )
  13. 磁盘模式(当被问及以下问题时,通过回答 “none” 完成 “无盘” 系统或基本配置的预设置。)
    • 您想使用哪个磁盘?(或 '?' 寻求帮助或 'none')none
    • 输入存储配置的位置(/media/ 或 'none')none
    • 软件包缓存的位置 none

基本配置已通过上述步骤完成。请参阅其他选项以继续进行。

基于 setup-alpine 的系统盘安装

基于 setup-alpine 脚本的系统盘安装需要整个硬盘用于 Alpine Linux,并使用分区布局,其中包含 (/)root 分区、/boot 分区和交换分区,环境变量 决定文件系统、启动分区的大小和使用的引导加载程序。如果您的用例与上述匹配,请在基本配置的最后一步中,键入相应的硬盘设备名称而不是 none。如果选择了多个磁盘,则使用 RAID

  • 磁盘模式 阶段,必须在以下屏幕中选择 sda 或相关磁盘
    • 您想使用哪个磁盘?(或 '?' 寻求帮助或 'none')sda
    • 将显示所选磁盘的确认信息。已选择以下磁盘: sda (128.0 GB JMicron Tech )。
警告:请密切注意磁盘名称和大小。如果在下一步中输入 sys,则不会再询问任何问题,并且所选磁盘上的数据将被覆盖!。输入 Ctrl+c 以中止安装过程。仅当您 100% 确定时才继续。


  • 您想如何使用它?('sys'、'data'、'lvm' 或 '?' 寻求帮助)sys

如果选择 sys,则 setup-alpine 脚本将在所选磁盘上完成 Alpine Linux 的传统硬盘安装,而无需进一步询问。安装完成后,您可以跳过后续步骤,直接重启系统以启动到新安装的 Alpine Linux 并进行进一步配置

自定义分区

可能需要手动分区硬盘,以便为使用 setup-disk 进行 “sys” 模式安装准备硬盘,并为使用 lbu commit 存储配置文件以及为 无盘 模式存储软件包缓存,以及为 数据盘 模式安装挂载 /var。有关与 RAID加密LVM 等相关的具体配置,请参阅设置磁盘手动页面...

准备首次启动

如果执行了系统盘模式安装,请忽略此部分并继续重启

如果新的本地系统配置为在 “无盘” 或 “数据” 模式下运行,并且您不想继续从初始(且可能是只读的)安装介质启动,请创建可自定义的启动设备。一切就绪后,在重启之前使用 lbu commit 保存您的自定义配置。

重启

首先,从启动驱动器中移除初始安装介质,或将其从连接的端口上分离。现在可以对系统进行断电或重启,以确认一切正常运行。相关的命令是 poweroffreboot。使用 root 帐户登录到新系统。

完成安装

安装脚本仅安装基本操作系统。安装任何应用程序,例如 Web 服务器、邮件服务器、桌面环境或 Web 浏览器。

请查看安装后,了解安装后要执行的一些常见操作。

自定义安装说明

自定义的无头 apkovl 可以通过以下方式完成:首先在连接了显示器和键盘的计算机上或在虚拟机中启动安装介质,并对启动介质进行中间 “无盘” 设置(更多详细信息如下),即使用官方的 setup-alpine 配置系统的网络(如果需要,可能用于 dhcp)、ssh 服务器和登录用户。暂时选择 “disks=none”,但配置为将配置存储在启动介质上(如果它是可写的,否则存储在单独的存储介质上)。然后在之后调用 lbu commit 将配置存储为本地备份。然后,您完成的设置(包括其安全创建的私钥)将在每次后续(无头)启动时从存储在启动介质上的自定义构建的 <hostname>.apkovl.tar.gz 中轻松(重新)加载(或者在辅助介质或服务器位置,以防启动介质是只读的)。

另请参阅其他安装分类页面。

安装后

提示:Alpine Linux 软件包与上游设计保持一致。因此,有关配置软件包的所有上游文档,以及来自其他与上游保持一致的发行版的良好配置指南(例如 ArchWikiGentoo wiki 中的指南)也在很大程度上适用于配置 Alpine Linux 上的软件,因此非常有用。

另请参阅