AlpineLinuxに特定のコマンドのパッケージがあるかどうかを確認するには?

AlpineLinuxに特定のコマンドのパッケージがあるかどうかを確認するには?

disown具体的には、Alpine Linuxベースのdockerからコマンドを受け取るためにどのパッケージをインストールする必要があるのか​​を知りたいです。また、不足しているコマンドを見つける方法(そしてそのコマンドを含むパッケージ)を一般的に知らせることができれば、すべてのコマンドを持ってここに来る必要がないので良いでしょう。

答え1

disownbash 組み込み(作業制御)switchcontinueおよびhistory。したがって、AplineLinuxだけでなく、どのパッケージのリストにも見つかりません。これがdisown新機能なのか(以前のバージョンでは欠けている機能なのか)、オプションの部分なのかは不明です。しかし、Ubuntuではbashはv4.3.46であり、利用可能です。

他の場所に行くことができる場所パッケージ内容探す。

答え2

pkgs.alpinelinux.orgをスクリプト形式で使用するには、ディストリビューションにhtml2textを追加し(Alpineの場合:apk add html2text)、私が10分前にしたスクリプトを使用するだけです... :)

#!/bin/sh
file=$1
arch=${2:-x86_64}
branch=${3:-edge}

valid_branch="v3.3 v3.4 v3.5 v3.6 v3.7 v3.8 v3.9 v3.10 edge all"
valid_arch="armv7 s390x ppc64le armhf aarch64 x86 x86_64 all"

usage() {
    echo -e "\nUsage: $0 <pattern> [arch] [branch]\n"
    echo -e "\t<pattern>: Mandatory. Is the file you are searching. Supports wildcards (e.g. wge*) "
    echo -e "\t[arch]: Optional (default:  x86_64). Architecture. Valid values: $valid_arch"
    echo -e "\t[branch]: Optional (default: edge). Alpine releases. Valid values: $valid_branch\n"
    exit 1; 
}

query() {
        curl -s -d"$1" -H "application/x-www-form-urlencoded" -X GET https://pkgs.alpinelinux.org/contents | sed "s/&#x2F;/\//g" | html2text -nobs -ascii | sed /^$/d | sed '1d' | awk /^File/,/*Copy*/ |grep -vE 'Privacy|Policy'
}

if ! [ $file ] ; then usage; fi
echo $valid_arch | grep -qi $arch || ( echo "Invalid arch. Valid values are: $valid_arch"; exit 1 )
echo $valid_branch | grep -qi $branch || ( echo "Invalid branch. Valid values are: $valid_branch"; exit 1 )

if [ $branch == "all" ]; then
    if [ $arch == "all" ]; then
        for b in $valid_branch; do
            query "branch=$b&file=$file"
        done
    else
        for b in $valid_branch; do
            query "branch=$b&file=$file&arch=$arch"
        done
    fi
else
    query "branch=$branch&file=$file&arch=$arch"
fi

2022年4月7日に更新

このスクリプトは以下にあります。https://github.com/fcolista/apkfile

関連情報