Я пытаюсь установить megatools на контейнер Alpine Linux в Docker. Этот пакет помечен, потому что доступна новая версия.

Как я могу заставить apk установить этот пакет, несмотря на флаг? Я пытался указать версию явно, но она всегда терпела неудачу.

Без указания версии явно:

/ # apk add megatools
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  megatools (missing):
    required by: world[megatools]

С версией:

/ # apk add megatools=1.9.98-r3
ERROR: unsatisfiable constraints:
  megatools (missing):
    required by: world[megatools=1.9.98-r3]

Все это происходит на складе alpine:latest изображение Docker.

Страница пакета в браузере репозитория Alpine находится здесь: https://pkgs.alpinelinux.org/package/edge/testing/x86_64/megatools

1 ответ1

1

Я не уверен насчет флагов пакетов (я не знаком с маркировкой пакетов с помощью apk), но, похоже, дело в отсутствующих репозиториях.

Пакет megatools находится в репозитории edge/testing , который в данный момент отсутствует (обратите внимание на поля Branch и Repository на странице описания пакета, также указанной в URL-адресе).

Вам также понадобится репозиторий edge/main для удовлетворения зависимости libcrypto .

В итоге:

echo http://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories
echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories
apk update
apk add megatools

Обратите внимание, что edge содержит новейшие пакеты разработки и не является официальной стабильной версией, поэтому используйте их с осторожностью. Это особенно верно для testing пакетов.

Больше на краю репозитория: https://wiki.alpinelinux.org/wiki/Edge

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .