包含:升级到最新版本

来自 Alpine Linux

更新软件仓库文件

软件仓库文件 /etc/apk/repositories 可以使用以下方法之一进行更新。

使用 setup-apkrepos 脚本

启动 setup-apkrepos 脚本

# setup-apkrepos

按下 e 键将使用 vi 编辑器打开文件进行编辑。编辑软件仓库行以反映新的版本号。

使用 sed 命令

使用单行命令“就地”编辑文件中所有版本号。以下是如何将 v3.20 更改为 v3.21 的方法

# sed -i -e 's/v3\.20/v3\.21/g' /etc/apk/repositories

手动编辑 /etc/apk/repositories

使用您选择的任何编辑器编辑 /etc/apk/repositories 文件(例如 nano)。

/etc/apk/repositories 的内容

http://dl-3.alpinelinux.org/alpine/v3.20/main http://dl-3.alpinelinux.org/alpine/v3.20/community

在上面的文件中,要将 Alpine Linux 从 3.20 版本升级到 3.21,只需将所有位置的数字 3.20 替换为 3.21

/etc/apk/repositories 的内容

http://dl-3.alpinelinux.org/alpine/v3.21/main http://dl-3.alpinelinux.org/alpine/v3.21/community

使用 latest-stable 代替版本号

警告: 将软件仓库更改为 latest-stable 可能会启动意外的版本升级。请注意后果。


为了避免将来版本升级时手动更改版本号,可以将软件仓库行设置为引用“latest-stable”而不是 /etc/apk/repositories 文件中的绝对值,如下所示

/etc/apk/repositories 的内容

http://dl-3.alpinelinux.org/alpine/latest-stable/main http://dl-3.alpinelinux.org/alpine/latest-stable/community

更新软件包列表

在软件仓库文件正确就位的情况下,可以使用以下命令获取可用软件包的最新索引列表

# apk update

提示: --update-cache-U 添加到另一个 apk 命令,例如 apk add -U ...apk upgrade -U,与始终在其他 apk 命令之前立即运行 apk update 具有相同的效果。而不是自动更新,仅当索引最近未更新时才更新。

升级软件包

有时,在升级任何其他软件包之前,需要首先将 Alpine Linux 软件包管理器本身升级到最新可用版本。例如,从 2.3.0_rc1 之前的 Alpine 版本升级时就是这种情况。但是,总是这样做也没有坏处

# apk add --upgrade apk-tools

接下来,要升级所有已安装的软件包

# apk upgrade --available

即使软件包具有相同的版本号,--available 开关也用于强制升级所有软件包。有时 musl 中的更改需要这样做。

注意: 所有已升级的服务都需要重新启动,才能开始使用升级后的版本。如果内核已升级,则需要重新启动才能开始使用升级后的版本:

sync reboot