Chciałbym wiedzieć, biorąc pod uwagę nazwę pliku binarnego, który pakiet powinienem zainstalować na Alpine Linux.
Jak mogę to zrobić?
Chciałbym wiedzieć, biorąc pod uwagę nazwę pliku binarnego, który pakiet powinienem zainstalować na Alpine Linux.
Jak mogę to zrobić?
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 info
wydaje się być bliżejdpkg -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.apk info --who-owns /with/th/full/path
jest 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.apk info --who-owns
, jak się masz, jeśli nie znasz pełnej ścieżki do pliku?Szukasz odpowiednika Debiana
apt-file
dla Alpine. Wyszukanie tego daje plik apk .źródło
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.