Como procurar um arquivo em pacotes apk


Respostas:


11

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 infoparece estar mais perto dpkg -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.
Att Righ

portanto, 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.
Francesco Colista

Usando apk info --who-owns, como você faz se não souber o caminho completo do arquivo?
Elouan Keryell-Even

Não, você ainda não pode ... desculpe
Francesco Colista

2

Você está procurando o equivalente do Debian apt-filepara Alpine. A busca por isso gera um arquivo apk .

Basicamente, arquivo apt, mas para alpino.


1
É disso que estou procurando. Parece que o arquivo apk não é um pacote alpino, você pode instalá-lo 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.
Att Righ

1
O apt-file basicamente analisa o site pkgs.alpinelinux.org ... portanto, usar uma decodificação JSON como escrevi antes seria melhor, pois não precisa de um software inchado para atingir o mesmo objetivo.
Francesco Colista
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.