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


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.