So ermitteln Sie den APK-Paketnamen aus den Suchergebnissen

So ermitteln Sie den APK-Paketnamen aus den Suchergebnissen

Wie ermittle ich unter Alpine Linux anhand der Ergebnisse von apk searchden Paketnamen, der zugewiesen werden soll apk add?

Angenommen, ich habe vergessen, wie man „lighttpd“ buchstabiert, oder ich habe vergessen, wie der genaue Paketname lautet. Ich könnte Folgendes tun, apk search "lightt*"was auf meinem Computer (einem Docker-Image) Folgendes ergibt:

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

Wie finde ich angesichts des oben Gesagten heraus, dass ich eingeben muss apk add lighttpd? Ich habe es naiv eingegeben apk add lighttpd-1.4.45-r1und es kam zu einem Fehler:

ERROR: unsatisfiable constraints:
  lighttpd-1.4.45-r1 (missing):
    required by: world[lighttpd-1.4.45-r1]

Ich bin an Dinge wie apt-cache searchbei Debian gewöhnt, wo jede Zeile der Suchergebnisse enthältgenauder Paketname, der eingegeben werden soll apt-get install.

Antwort1

Sie können angeben apk search, dass keine Versionsnummern eingeschlossen werden sollen, indem Sie Folgendes übergeben -q/--quiet:

$ apk -q search "lightt*"
lighttpd-mod_auth
acf-lighttpd
lighttpd-mod_webdav
lighttpd
lighttpd-doc
lighttpd-dbg

Möchte man herausfinden, welche Version ein Paket bereitstellt, wird es etwas umständlicher:

apk info lighttpd | head -n1 | sed 's/^lighttpd-\(.*\) description:/\1/g'

Hier ist eine einfache Funktion, um die Version eines Pakets abzurufen:

apkver() {
    apk info "$1" | head -n1 | sed "s/^$1-\(.*\) description:/\1/g"
}

Antwort2

Dieses Problem liegt höchstwahrscheinlich daran, dass apkRepos nicht aktualisiert werden.

Bei mir funktioniert es einwandfrei.

monitor:~# apk search lighttpd
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
monitor:~# apk add lighttpd
(1/10) Installing libev (4.24-r0)
(2/10) Installing libintl (0.19.8.1-r1)
(3/10) Installing libmount (2.28.2-r2)
(4/10) Installing glib (2.52.1-r0)
(5/10) Installing gamin (0.1.10-r10)
(6/10) Installing db (5.3.28-r0)
(7/10) Installing libsasl (2.1.26-r10)
....

Versuchen Sie es also zuerst mit apk update.

verwandte Informationen