Cómo buscar un archivo en paquetes apk

Respuestas:

11

Tienes tres formas básicamente.

Primero: el paquete debe estar instalado y debe especificar la ruta completa:

apk info --who-owns /path/to/the/file

Segundo: use el sitio web pkgs.alpinelinux.org

Tercero: use la API api.alpinelinux.org filtrando la salida json. Para esto necesitas un analizador json como jq:

apk add jq

luego use la API con las instrucciones proporcionadas aquí

.: Francesco

Francesco Colista
fuente
apk infoparece estar más cerca dpkg -S. En mi caso, estoy tratando de responder la pregunta "¿Qué paquete proporciona este binario del que sé el nombre?", En lugar de de dónde viene este archivo preexistente.
Att Righ
por lo tanto, apk info --who-owns /with/th/full/pathes la herramienta si tiene el paquete instalado, de lo contrario no es posible desde una CLI. Debe consultar el sitio web [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ). Escribe el nombre binario allí y devuelve el paquete que contiene ese binario.
Francesco Colista
Utilizando apk info --who-owns, ¿cómo lo haces si no conoces la ruta completa del archivo?
Elouan Keryell-Even
No, todavía no puedes ... lo siento
Francesco Colista
2

Estás buscando el equivalente de Debian apt-filepara Alpine. Buscar eso produce el archivo apk .

Básicamente apt-file pero para alpine.

Gilles 'SO- deja de ser malvado'
fuente
1
Eso es lo que busco. Parece que el archivo apk no es un paquete alpino, puede instalarlo go get github.com/jessfraz/apk-file(felizmente se ejecuta en sistemas no alpinos). El binario es probable estática por lo que probablemente puede ser copiado en contenedores de Docker etc.
A la atención de Rig
1
apt-file básicamente analiza el sitio web pkgs.alpinelinux.org ... por lo que sería mejor usar una decodificación JSON como escribí antes, ya que no necesita un software hinchado para alcanzar el mismo objetivo.
Francesco Colista