
Wie ermittle ich unter Alpine Linux anhand der Ergebnisse von apk search
den 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-r1
und 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 search
bei 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 apk
Repos 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
.