从旧版本升级

来自 Alpine Linux

将 Alpine ≤v3.19 升级到 v3.20.0

当使用 grub 升级现有安装时,请确保在重启前更新已安装的引导加载程序,否则您的机器可能无法启动。有关此问题的更多信息,请查看发布说明

将 Alpine v2.x 升级到 v3.x

警告:与以前版本相比,Alpine Linux 3.x 切换到了不同的 libc 实现。由于新的 Musl libc 与 uClibc 的 ABI 不兼容,因此升级需要额外的步骤。
这些版本非常旧,并且寻找兼容的 APK 将会很困难。


安装静态链接工具

需要静态链接版本的 apk-tools,因为旧的 musl 版本在 libc 更改后(可能在升级过程中)会停止工作。静态版本的 busybox 在从故障中恢复时可能很有用。

apk add busybox-static apk-tools-static

将仓库更改为 v3.x

首先,您需要更新您的 /etc/apk/repositories 文件。以下是一些快捷方式。

  • 启动

    setup-apkrepos

    输入 e 编辑 /etc/apk/repositories。手动更改版本号。
  • 或者,就地编辑文件。这是将 v2.7 更改为 v3.0 的方法

    sed -i -e 's/v2\.7/v3.0/g' /etc/apk/repositories

升级系统

使用静态链接版本的 apk 来更新仓库内容

apk.static update

建议模拟升级以便预先检测问题

apk.static upgrade --no-self-upgrade --available --simulate

在没有遇到问题或解决问题后,开始正式升级

apk.static upgrade --no-self-upgrade --available

从 2.0 或 1.10.x 升级到 Alpine Linux 2.2 及更高版本

由于 apk 工具已进行了重大更改,您需要手动下载并安装最新版本的 apk-tools-static。我们还安装 busybox-static 以防万一出现问题。

如果当前版本是 1.10.x,请在尝试升级之前删除 GNU Wget

apk del wget

下载 busybox-static 并安装它

wget https://nl.alpinelinux.org/alpine/v3.0/main/x86/busybox-static-1.22.1-r9.apk apk add busybox-static-1.22.1-r9.apk

下载 apk-tools-static 并安装它

wget https://nl.alpinelinux.org/alpine/v3.0/main/x86/apk-tools-static-2.4.4-r0.apk apk add apk-tools-static-2.4.4-r0.apk

更改仓库

/etc/apk/repositories 的内容

... https://nl.alpinelinux.org/alpine/v2.2/main # 或任何其他镜像

继续更新和升级

apk.static update apk.static upgrade --available

由于 uClibc 的更改,即使软件包具有相同的版本号,--available 开关也用于强制升级所有软件包。

重启系统以加载新内核

sync reboot