Как искать файл в пакетах 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, как вы делаете , если вы не знаете , полный путь к файлу?
Элуан Керилл-Эвен

Нет, ты пока не можешь ... извини
Франческо Колиста

2

Вы ищете эквивалент Debian apt-fileдля Alpine. Поиск этого приводит к apk-файлу .

В основном apt-файл, но для альпийских.


1
Это то, что я после. Похоже, что apk-файл не является альпийским пакетом, его можно установить с помощью go get github.com/jessfraz/apk-file(он успешно работает на не альпийских системах). Двоичный файл, скорее всего, статичен, поэтому, вероятно, может быть скопирован в док-контейнеры и т. Д.
Att Righ

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