从边缘存储库添加高山软件包

cla*_*lay 15 repository package-managers alpine-linux

如果我使用的是Alpine 3.8,如何从Alpine Edge存储库中添加特定的程序包?甚至支持吗?据我所知,没有等效的反向端口。

我想添加新版本:https : //pkgs.alpinelinux.org/package/edge/community/armhf/librdkafka

而不是3.8版本中的旧版本:https : //pkgs.alpinelinux.org/package/v3.8/community/s390x/librdkafka

val*_*ano 24

您可以使用--repository参数将确切的仓库指定为apk 。
在您的情况下:

apk add librdkafka --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
Run Code Online (Sandbox Code Playgroud)

  • 要从边缘安装最新的librdfkafka(当前为1.0.1),请使用社区`--repository = http:// dl-cdn.alpinelinux.org / alpine / edge / community`。 (3认同)
  • 我需要使用--repository = http://dl-cdn.alpinelinux.org/alpine/edge/main(不使用x86_64,因为apk似乎会添加它本身)。 (2认同)

Bor*_*isS 15

您还可以添加回购:

echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
Run Code Online (Sandbox Code Playgroud)

并通过 apk 引用它@testing。例子:

apk add package-name@testing
Run Code Online (Sandbox Code Playgroud)


KaM*_*eHb 5

边缘存储库可能会永久启用。只需执行以下操作:

sed -i '/edge/s/^#//' /etc/apk/repositories
Run Code Online (Sandbox Code Playgroud)

  • 您的 sed 命令假定边缘存储库已包含在文件中,但在 alpine 3.15 中并非如此。将存储库替换为 Edge 的更新命令是“sed -i 's|v3\.\d*|edge|” /etc/apk/存储库` (3认同)