Package-Management
如何在 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 中解決此類問題的最佳方法是什麼?
根據您粘貼的螢幕截圖,您沒有添加邊緣儲存庫,而是堅持使用 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