linux - Alpine apk : List all available package versions

标签 linux bash package alpine-linux

如何在 Alpine Linux 上列出给定软件包的所有可用软件包版本?

我在 apk 帮助中找不到任何有用的信息。

apk info bash 只显示最新可用的 bash 版本。

# apk info bash
bash-5.0.0-r0 description:
The GNU Bourne Again shell

bash-5.0.0-r0 webpage:
https://www.gnu.org/software/bash/bash.html

bash-5.0.0-r0 installed size:
1200128

使用 --all 标志我只得到该版本的一些附加信息:

# apk info --all bash
bash-5.0.0-r0 description:
The GNU Bourne Again shell

bash-5.0.0-r0 webpage:
https://www.gnu.org/software/bash/bash.html

bash-5.0.0-r0 installed size:
1200128

bash-5.0.0-r0 depends on:
/bin/sh
so:libc.musl-x86_64.so.1
so:libreadline.so.8

bash-5.0.0-r0 provides:
cmd:bash

bash-5.0.0-r0 has auto-install rule:

bash-5.0.0-r0 license:
GPL-3.0-or-later

apk listapk list --available 只列出所有最新版本的可用包。
所以如果我运行 apk list -a | grep "^bash-\d",我只得到这个:

# apk list -a | grep "^bash-\d"
bash-5.0.0-r0 x86_64 {bash} (GPL-3.0-or-later)

最佳答案

该命令列出最新分支的信息和不同分支中的 Alpine 管理包版本,例如 v3.5, v3.6.... v3.10

The apk utility can install packages from multiple repositories. The list of repositories to check is stored in /etc/apk/repositories, one repository per line.

你可以在这里搜索版本

https://pkgs.alpinelinux.org/packages?name=bash&branch=v3.5

https://pkgs.alpinelinux.org/packages

因此,如果您有兴趣添加 bash4.3 版本,应该在添加旧版本或其他分支而不是最新版本时告知分支名称。

apk add  --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.5/main/ bash=4.3.46-r5

所以如果你跑

apk add  --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.5/main/ && apk info bash

您将从两个不同的分支获得版本信息。

The GNU Bourne Again shell

bash-4.3.46-r5 webpage:
http://www.gnu.org/software/bash/bash.html

bash-4.3.46-r5 installed size:
700416

bash-5.0.0-r0 description:
The GNU Bourne Again shell

bash-5.0.0-r0 webpage:
https://www.gnu.org/software/bash/bash.html

bash-5.0.0-r0 installed size:
1200128

关于linux - Alpine apk : List all available package versions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57850633/

相关文章:

linux - 引用其他 shell 文件的 shell 文件以及调用它们的最佳方式

linux - 在 Linux 中列出最小的文件

arrays - 将 ls 输出转换为数组

bash - 脚本中的 source .bashrc 不起作用

c++ - QFileDialog:如何在 osX 中从包中打开/选择文件/目录

r - 将一家公司列为 R 包的版权所有者

linux - Sed 定界符与 Grep 不兼容

python - 当另一个程序正在使用串行端口时,我如何连接并向串行端口发送命令?

regex - Grep 某些字符

perl - (如何)我可以在调用 Symbol::delete_package 之后重新创建一个包吗?