
En Alpine Linux, dados los resultados de un apk search
, ¿cómo determino el nombre del paquete que se le dará apk add
?
Por ejemplo, supongamos que olvidé cómo se escribe "lighttpd" o olvidé exactamente cuál era el nombre del paquete. Podría hacer algo apk search "lightt*"
que produzca lo siguiente en mi máquina (una imagen de 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
Teniendo en cuenta lo anterior, ¿cómo puedo saber que necesito escribir apk add lighttpd
? Escribí ingenuamente apk add lighttpd-1.4.45-r1
y me dio un error:
ERROR: unsatisfiable constraints:
lighttpd-1.4.45-r1 (missing):
required by: world[lighttpd-1.4.45-r1]
Estoy acostumbrado a cosas como apt-cache search
en Debian, donde cada línea de los resultados de búsqueda incluyeexactamenteel nombre del paquete para escribir apt-get install
.
Respuesta1
Puede indicar apk search
que no incluya números de versión pasándolo -q/--quiet
:
$ apk -q search "lightt*"
lighttpd-mod_auth
acf-lighttpd
lighttpd-mod_webdav
lighttpd
lighttpd-doc
lighttpd-dbg
Si desea saber qué versión proporciona un paquete, la cosa se vuelve un poco más complicada:
apk info lighttpd | head -n1 | sed 's/^lighttpd-\(.*\) description:/\1/g'
Aquí hay una función simple para obtener la versión de un paquete:
apkver() {
apk info "$1" | head -n1 | sed "s/^$1-\(.*\) description:/\1/g"
}
Respuesta2
Lo más probable es que este problema se deba a que apk
los repositorios no están actualizados.
Funciona bien para mí.
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)
....
Así que prueba primero con apk update
.