如何将Alpine Linux升级到最新版本

本分步指南介绍了如何将Alpine Linux升级到最新的可用稳定版本或滚动发行版本。 信不信由你,升级Alpine Linux非常简单,快速,简单。

在继续更新和升级您的Alpine Linux机器之前, 备份您的重要数据 你承受不起损失。

更新Alpine Linux

让我们使用以下命令检查当前安装的Alpine Linux版本:

$ cat /etc/alpine-release 

样本输出:

3.8.5

检查Alpine Linux版本

如您所见,当前安装的Alpine Linux版本是 3.8.5。 让我们将其升级到最新版本。 在撰写本指南时,最新版本是 3.12

接下来,通过逐个运行以下命令来更新可用软件包列表,并将已安装的软件包升级到最新的可用版本:

$ sudo apk update
$ sudo apk upgrade

或者,您可以将两个命令合并为一个,如下所示:

$ sudo apk -U upgrade

要么,

$ sudo apk --update-cache upgrade

好了,我们已经更新了Alpine Linux中所有已安装的软件包。 现在该开始升级了!

Alpine Linux有两个版本, 稳定释放滚动发布

首先,我们将了解如何将Alpine Linux升级到稳定版本。

1.将Alpine Linux升级到最新的稳定版本

本节说明如何从Alpine 3.xx升级到最新版本。 我假设您当前已安装3.xx版本。

1.1。 更新Alpine Linux存储库

编辑 /etc/apk/repositories 使用命令文件:

$ sudo setup-apkrepos

您将看到可用的镜子列表和三个选择首选镜子的选项。 第一种选择是从给定列表中选择一个镜像。

第二个选项是从列表中检测并添加最快的镜像。

第三种选择是 /etc/apk/repositories 文件以更新存储库列表。

由于我们要升级系统,因此我们需要选择第三个选项并修改现有存储库以指向新版本。

要更新存储库,请键入 e 并击中 ENTER 键:

Available mirrors:
1) dl-cdn.alpinelinux.org
2) uk.alpinelinux.org
3) dl-2.alpinelinux.org
4) dl-4.alpinelinux.org
5) dl-5.alpinelinux.org
.
.
.
48) tux.rainside.sk
49) alpine.cs.nctu.edu.tw
50) mirror.ihost.md
51) mirror.ette.biz
52) mirror.lagoon.nc
53) alpinelinux.c3sl.ufpr.br

r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor

Enter mirror number (1-53) or URL to add (or r/f/e/done) [f]: e

更新Alpine Linux存储库

该文件将在默认的文本编辑器中打开,即 。 如果您设定不同 $EDITOR 在你的 $PATH,它将在该编辑器中打开文件。 我的是 编辑。

这是我的原始内容 /etc/apk/repositories 文件:

https://sjc.edge.kernel.org/alpine/v3.8/main
https://sjc.edge.kernel.org/alpine/v3.8/community

更改版本号 3.8 反映到最新版本 3.12

为此,请按 "i" 进入插入模式并更新版本号(即3.12),最后按 退出 和类型 :wq 保存文件并退出。

更新版本号后,文件应如下所示:

https://sjc.edge.kernel.org/alpine/v3.12/main
https://sjc.edge.kernel.org/alpine/v3.12/community

如果您不知道确切的最新版本号,只需更换 v3.xlatest-stable 如下所示:

https://sjc.edge.kernel.org/alpine/latest-stable/main     
https://sjc.edge.kernel.org/alpine/latest-stable/community

将Alpine Linux存储库更改为最新的稳定版本将Alpine Linux存储库更改为最新的稳定版本

保存文件并退出。

退出后,存储库索引将自动更新。 您也可以使用以下命令手动执行此操作:

$ sudo apk update

样本输出:

fetch https://sjc.edge.kernel.org/alpine/latest-stable/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/latest-stable/community/x86_64/APKINDEX.tar.gz
v3.12.3-13-ga43a0bc1d0 [https://sjc.edge.kernel.org/alpine/latest-stable/main]
v3.12.3-15-ge843fbbe95 [https://sjc.edge.kernel.org/alpine/latest-stable/community]
OK: 12823 distinct packages available

1.2。 开始Alpine Linux升级

现在,运行以下命令将Alpine Linux升级到最新的可用稳定版本:

$ sudo apk upgrade --available

在这里 --available 标志用于强制所有软件包升级,即使它们具有相同的版本号也是如此。

样本输出:

Upgrading critical system libraries and apk-tools:
(1/3) Installing libcrypto1.1 (1.1.1i-r0)
(2/3) Installing libssl1.1 (1.1.1i-r0)
(3/3) Upgrading apk-tools (2.10.1-r0 -> 2.10.5-r1)
Executing busybox-1.28.4-r3.trigger
Executing ca-certificates-20191127-r2.trigger
Continuing the upgrade transaction with new apk-tools:
(1/85) Upgrading musl (1.1.19-r11 -> 1.1.24-r10)
(2/85) Replacing acct (6.6.4-r0 -> 6.6.4-r0)
(3/85) Upgrading busybox (1.28.4-r3 -> 1.31.1-r19)
Executing busybox-1.31.1-r19.post-upgrade
(4/85) Upgrading alpine-baselayout (3.1.0-r0 -> 3.2.0-r7)
Executing alpine-baselayout-3.2.0-r7.pre-upgrade
Executing alpine-baselayout-3.2.0-r7.post-upgrade
(5/85) Upgrading openrc (0.35.5-r5 -> 0.42.1-r11)
Executing openrc-0.42.1-r11.post-upgrade
.
.
.
(80/85) Installing libidn2 (2.3.0-r0)
(81/85) Upgrading wget (1.20.3-r0 -> 1.20.3-r1)
(82/85) Purging libressl2.7-libtls (2.7.5-r0)
(83/85) Purging libssh2 (1.9.0-r1)
(84/85) Purging libressl2.7-libssl (2.7.5-r0)
(85/85) Purging libressl2.7-libcrypto (2.7.5-r0)
Executing busybox-1.31.1-r19.trigger
Executing ca-certificates-20191127-r4.trigger
Executing kmod-27-r0.trigger
Executing mkinitfs-3.4.5-r3.trigger
==> initramfs: creating /boot/initramfs-virt
Executing syslinux-6.04_pre1-r6.trigger
/boot is device /dev/sda1
OK: 165 MiB in 85 packages

将Alpine Linux升级到最新版本将Alpine Linux升级到最新版本

最后,通过运行以下命令来重新启动所有已升级的服务并重新引导系统:

$ sudo sync
$ sudo reboot

登录系统后,检查Alpine Linux是否已升级到最新版本:

$ cat /etc/alpine-release 
3.12.3

检查正在运行的内核版本:

$ uname -r
5.4.84-0-virt

显示Alpine Linux版本和内核详细信息显示Alpine Linux版本和内核详细信息

是的! 如您在以上屏幕截图中所见,我正在运行Alpine Linux 3.12.3 内核稳定发布 5.4.84 版。

2.将Alpine Linux稳定版本转换为滚动版本

你们中有些人可能希望将Alpine Linux稳定版转换为滚动开发版,称为 边缘

为此,请编辑 /etc/apk/repositories 使用命令文件:

$ sudo setup-apkrepos

类型 "e" 然后按 输入 编辑存储库文件。

将版本号更改为 边缘

https://sjc.edge.kernel.org/alpine/edge/main         
https://sjc.edge.kernel.org/alpine/edge/community   

保存文件并退出。

通过运行以下命令,更新存储库索引并开始从Alpine Linux稳定版本升级到滚动发布版本:

$ sudo apk upgrade --update-cache --available

要么,

$ sudo apk upgrade -U -a

升级任务完成后,重新引导系统:

$ sudo sync
$ sudo reboot

检查Alpine Linux版本和内核:

显示Alpine Linux滚动发行版本和内核详细信息显示Alpine Linux滚动发行版本和内核详细信息

从上面的输出中可以看到,在编写本指南时,最新的滚动发行版本是 3.13.0_alpha20201218 而最新的内核版本是 5.10.1

您还可以使用以下命令来检查当前的Alpine Linux版本:

检查Alpine Linux版本检查Alpine Linux版本

3.从Alpine Linux 2.x升级到Alpine Linux 3.x

你们中的某些人可能仍在运行Alpine Linux 2.xx版。如果是这样,本部分将说明如何从Alpine Linux 2.x升级到3.x最新版本。

首先,更新存储库并升级Alpine系统中所有已安装的软件包:

$ sudo apk update
$ sudo apk upgrade

下一步安装静态链接版本 busyboxapk-tools。 您应该在更新系统之前执行此操作,因为旧的 musl 版本将在 libc 更改。

$ sudo apk add busybox-static apk-tools-static

样本输出:

fetch https://sjc.edge.kernel.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/2) Installing apk-tools-static (2.10.1-r0)
(2/2) Installing busybox-static (1.28.4-r3)
Executing busybox-1.28.4-r3.trigger
OK: 148 MiB in 80 packages

接下来修改存储库,如下所示 1.1。 更新Alpine Linux存储库 部分。

在进行实际升级之前,建议模拟升级过程以事先发现问题:

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

如果没有错误,请运行以下命令将Alpine Linux 2.x升级到3.x版本:

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

升级过程完成后,重新启动所有已升级的服务并重新引导系统:

$ sudo sync
$ sudo reboot

希望这可以帮助。

资源:

相关阅读:

  • 向Alpine Linux中的用户添加,删除和授予Sudo特权

Alpine LinuxLinuxLinux管理Linux命令升级Alpine Linux

Sidebar