Як шукати файл в apk-пакетах


13

Мені хотілося б знати, вказавши назву двійкового файлу, який пакет я повинен встановити на Alpine Linux.

Як я можу це зробити?

Відповіді:


11

У вас є три способи.

По-перше: пакет повинен бути встановлений і вам потрібно вказати повний шлях:

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

Друге: використовуйте веб-сайт pkgs.alpinelinux.org

Третє: використовуйте API api.alpinelinux.org, фільтруючи вихід json. Для цього вам потрібен аналізатор json як jq:

apk add jq

потім скористайтеся API з наведеними тут інструкціями

.: Франческо


apk infoздається, ближче до dpkg -S. У моєму випадку я намагаюся відповісти на запитання "Який пакет надає цей двійковий файл, для якого я знаю ім'я", а не звідки походить цей попередньо існуючий файл.
Att Righ

отже, apk info --who-owns /with/th/full/pathце інструмент, якщо у вас встановлений пакет, інакше від CLI це неможливо. Ви повинні перевірити веб-сайт [pkgs.alpinelinux.org/contents] ( pkgs.alpinelinux.org/contents ). Ви записуєте туди двійкове ім'я, і ​​воно повертає пакет, який містить цей двійковий файл.
Франческо Коліста

Використовуючи apk info --who-owns, як ви робите , якщо ви не знаєте , повний шлях до файлу?
Елуан Керілл-Евен

Ні, ви поки не можете ... вибачте
Франческо Коліста

3

Ви шукаєте еквівалент Debian apt-fileдля Alpine. У пошуках цього виходить apk-файл .

В основному доречний файл, але альпійський.


1
Це те, що я після. Здається, що apk-файл не є альпійським пакетом, ви можете встановити його go get github.com/jessfraz/apk-file(він із задоволенням працює в не альпійських системах). Двійковий файл, ймовірно, статичний, тому його, ймовірно, можна скопіювати в докерні контейнери тощо
Att Righ

1
apt-файл, в основному, аналізує веб-сайт pkgs.alpinelinux.org ... тому краще використовувати декодування JSON, як я писав раніше, оскільки для досягнення тієї ж мети не потрібне роздуте програмне забезпечення.
Франческо Коліста
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.