Respostas:
Você tem três maneiras basicamente.
Primeiro: o pacote deve estar instalado e você precisa especificar o caminho completo:
apk info --who-owns /path/to/the/file
Segundo: use o site pkgs.alpinelinux.org
Terceiro: use a API api.alpinelinux.org filtrando a saída json. Para isso, você precisa de um analisador json como o jq:
apk add jq
use a API com as instruções fornecidas aqui
.: Francesco
apk info --who-owns /with/th/full/path
é a ferramenta se você tiver o pacote instalado; caso contrário, a partir de uma CLI não será possível. Você deve consultar o site [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ). Você escreve o nome do binário lá e ele retorna o pacote que contém esse binário.
apk info --who-owns
, como você faz se não souber o caminho completo do arquivo?
Você está procurando o equivalente do Debian apt-file
para Alpine. A busca por isso gera um arquivo apk .
Basicamente, arquivo apt, mas para alpino.
go get github.com/jessfraz/apk-file
(ele roda felizmente em sistemas não alpinos). O binário provavelmente é estático, portanto provavelmente pode ser copiado em contêineres de docker etc.
apk info
parece estar mais pertodpkg -S
. No meu caso, estou tentando responder à pergunta "Qual pacote fornece esse binário que eu sei o nome", e não de onde vem esse arquivo preexistente.