Como procurar um arquivo em pacotes apk

13

Gostaria de saber, com o nome de um binário, qual pacote devo instalar no Alpine Linux.

Como eu posso fazer isso?

Antoine
fonte

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

Francesco Colista
fonte
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.

Gilles 'SO- parar de ser mau'
fonte
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