Package-Management

如何在 Alpine 中更新儲存庫

  • January 13, 2022

我正在嘗試獲取最新版本的“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 中解決此類問題的最佳方法是什麼?

根據您粘貼的螢幕截圖,您沒有添加邊緣儲存庫,而是堅持使用 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 行為正確。

如果要從邊緣儲存庫添加領事,可以使用 pinning

$$ 1 $$apk的功能,以這種方式:

# 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

引用自:https://unix.stackexchange.com/questions/683964