如何更新 Alpine 中的存储库

如何更新 Alpine 中的存储库

我正在尝试获取最新版本的“consul”包。

当前可用且已安装的软件包是版本1.10.6,但最新的是1.11.1

sudo apk list | grep consul
consul-template-openrc-0.27.2-r0 aarch64 {consul-template} (MPL-2.0)
consul-openrc-1.10.6-r0 aarch64 {consul} (MPL-2.0) [installed]
consul-template-0.27.2-r0 aarch64 {consul-template} (MPL-2.0)
consul-1.10.6-r0 aarch64 {consul} (MPL-2.0) [installed]

我尝试更新并添加存储库,但它指出两个版本之间存在冲突

sudo apk upgrade
ul=1.11.1-r0OK: 1516 MiB in 190 packages

sudo apk update
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/aarch64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/aarch64/APKINDEX.tar.gz
v3.15.0-145-g123e3b9a98 [https://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.0-152-gfc0468af85 [https://dl-cdn.alpinelinux.org/alpine/v3.15/community]
v3.15.0-145-g123e3b9a98 [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
OK: 15705 distinct packages available

sudo apk add consul=1.11.1-r0
ERROR: unable to select packages:
  consul-1.10.6-r0:
    breaks: world[consul=1.11.1-r0]

在 Alpine 中解决此类问题的最佳方法是什么?

答案1

根据您粘贴的屏幕截图,您尚未添加边缘存储库,而是坚持使用 v3.15。

consul-1.11.1-r0仅在边缘存储库中可用。

您可以通过比较以下输出来验证这一点:

https://pkgs.alpinelinux.org/packages?name=consul&branch=v3.15

和 :

https://pkgs.alpinelinux.org/packages?name=consul&branch=edge

这意味着 apk 运行正常。

如果你想从边缘存储库添加consul,你可以使用apk的pinning[1]功能,如下所示:

# echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories

现在,您可以通过以下方式在社区存储库中添加特定的包:

# apk add consul@edge

希望能帮助到你。

.: 弗朗西斯科

[1]https://wiki.alpinelinux.org/wiki/Package_management#Repository_pinning

相关内容