So suchen Sie in apk-Paketen nach einer Datei

13

Ich würde gerne unter dem Namen einer Binärdatei wissen, welches Paket ich unter Alpine Linux installieren soll.

Wie kann ich das machen?

Antoine
quelle

Antworten:

11

Sie haben grundsätzlich drei Möglichkeiten.

Erstens: Das Paket sollte installiert sein und Sie müssen den vollständigen Pfad angeben:

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

Zweitens: Verwenden Sie die Website pkgs.alpinelinux.org

Drittens: Verwenden Sie die API api.alpinelinux.org, indem Sie die JSON-Ausgabe filtern. Dafür benötigen Sie einen JSON-Parser wie jq:

apk add jq

dann verwenden Sie die API mit den Instruktionen hier

.: Francesco

Francesco Colista
quelle
apk infoscheint näher zu sein dpkg -S. In meinem Fall versuche ich, die Frage "Welches Paket enthält diese Binärdatei, deren Namen ich kenne" zu beantworten, anstatt woher diese bereits vorhandene Datei stammt.
Att Righ
Daher apk info --who-owns /with/th/full/pathist das Tool, wenn Sie das Paket installiert haben, sonst ist eine CLI nicht möglich. Sie sollten die Website [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ) besuchen . Sie schreiben dort den Binärnamen und er gibt das Paket zurück, das diese Binärdatei enthält.
Francesco Colista
Mit apk info --who-owns, wie tun Sie , wenn Sie den vollständigen Pfad der Datei nicht kennen?
Elouan Keryell-Even
Nein, Sie können noch nicht ... Entschuldigung
Francesco Colista
2

Sie suchen das Äquivalent von Debian apt-filefür Alpine. Wenn Sie danach suchen , erhalten Sie eine apk-Datei .

Grundsätzlich apt-file aber für alpine.

Gilles 'SO - hör auf böse zu sein'
quelle
1
Das ist was ich will. Es scheint, dass apk-file kein alpines Paket ist, mit dem Sie es installieren können go get github.com/jessfraz/apk-file(es läuft problemlos auf nicht alpinen Systemen). Die Binärdatei ist wahrscheinlich statisch und kann daher wahrscheinlich in Docker-Container usw. kopiert werden.
Att Righ
1
apt-file analysiert im Grunde die Website pkgs.alpinelinux.org ... daher wäre es besser, eine JSON-Dekodierung zu verwenden, wie ich sie zuvor geschrieben habe, da keine aufgeblähte Software erforderlich ist, um dasselbe Ziel zu erreichen.
Francesco Colista