Jak wyszukać plik w pakietach APK


Odpowiedzi:


11

Zasadniczo masz trzy sposoby.

Po pierwsze: pakiet powinien zostać zainstalowany i musisz podać pełną ścieżkę:

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

Po drugie: skorzystaj z witryny pkgs.alpinelinux.org

Po trzecie: użyj interfejsu API api.alpinelinux.org, filtrując dane wyjściowe json. Do tego potrzebny jest parser json, taki jak jq:

apk add jq

następnie użyj interfejsu API zgodnie z instrukcjami tutaj podanymi

.: Francesco


apk infowydaje się być bliżej dpkg -S. W moim przypadku próbuję odpowiedzieć na pytanie „Jaki pakiet zawiera ten plik binarny, którego nazwę znam”, a nie skąd pochodzi ten wcześniej istniejący plik.
Att Righ,

dlatego apk info --who-owns /with/th/full/pathjest narzędziem, jeśli masz zainstalowany pakiet, w przeciwnym razie z CLI nie jest możliwe. Powinieneś sprawdzić stronę [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ). Zapisujesz tam nazwę binarną, a ona zwraca pakiet zawierający ten plik binarny.
Francesco Colista

Korzystanie apk info --who-owns, jak się masz, jeśli nie znasz pełnej ścieżki do pliku?
Elouan Keryell-Even

Nie, jeszcze nie możesz ... przepraszam
Francesco Colista 18.04.18

3

Szukasz odpowiednika Debiana apt-filedla Alpine. Wyszukanie tego daje plik apk .

Zasadniczo apt-file, ale dla alpejskich.


1
Właśnie o to mi chodzi. Wygląda na to, że plik apk nie jest pakietem alpejskim, z którym można go zainstalować go get github.com/jessfraz/apk-file(na szczęście działa na systemach innych niż alpejskie). Plik binarny jest prawdopodobnie statyczny, więc prawdopodobnie można go skopiować do kontenerów dokerów itp.
Att Righ

1
apt-file w zasadzie analizuje witrynę pkgs.alpinelinux.org ... więc użycie dekodowania JSON, tak jak napisałem wcześniej, byłoby lepsze, ponieważ nie potrzebuje rozdętego oprogramowania, aby osiągnąć ten sam cel.
Francesco Colista,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.