Alpine Linuxで結果が出たら、apk search
提供するパッケージ名をどのように決定しますかapk add
?
たとえば、「lighthttpd」のスペルを忘れたか、パッケージ名が実際に何であるかを忘れたとします。apk search "lightt*"
私のコンピュータでは、次のことができます(Dockerイメージ)。
lighttpd-mod_auth-1.4.45-r1
acf-lighttpd-0.6.0-r2
lighttpd-mod_webdav-1.4.45-r1
lighttpd-1.4.45-r1
lighttpd-doc-1.4.45-r1
lighttpd-dbg-1.4.45-r1
上記を考慮して、どの入力が必要かをどのように決定しますかapk add lighttpd
?私はこれを素直に入力しましたが、apk add lighttpd-1.4.45-r1
エラーが発生しました。
ERROR: unsatisfiable constraints:
lighttpd-1.4.45-r1 (missing):
required by: world[lighttpd-1.4.45-r1]
私はapt-cache search
検索結果のすべての行に次のものが含まれるDebianなどに精通しています。正確に入力するパッケージ名apt-get install
。
ベストアンサー1
apk search
以下を渡して、バージョン番号を含めないことを確認できます-q/--quiet
。
$ apk -q search "lightt*"
lighttpd-mod_auth
acf-lighttpd
lighttpd-mod_webdav
lighttpd
lighttpd-doc
lighttpd-dbg
特定のパッケージで提供されるバージョンを知りたい場合は、状況が少し変になります。
apk info lighttpd | head -n1 | sed 's/^lighttpd-\(.*\) description:/\1/g'
以下は、パッケージのバージョンを取得する簡単な関数です。
apkver() {
apk info "$1" | head -n1 | sed "s/^$1-\(.*\) description:/\1/g"
}