Cloud-init: добавить подходящий исходный ключ gnupg не установлен

У меня есть скрипт cloud-init, который используется для создания и настройки виртуальной машины Debian 10, и, поскольку я хочу установить nginx, мне нужно добавить его репозиторий. к АПТ. Я пытаюсь сделать это следующим образом:

apt:
  preserve_sources_list: true
  sources:
    nginx:
      source: "deb http://nginx.org/packages/debian $DEBIAN_RELEASE nginx"
      key: |
          -----BEGIN PGP PUBLIC KEY BLOCK-----
          Version: GnuPG v2.0.22 (GNU/Linux)

          mQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH
          QxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE
          ...
          =EWWI
          -----END PGP PUBLIC KEY BLOCK-----
packages:
  - nginx

Это не работает, и файл журнала cloud-init в /run/cloud-init/result.jsonпоказывает следующее:

{
 "v1": {
  "datasource": "DataSourceConfigDrive [net,ver=2][source=/dev/vdb]",
  "errors": [
   "('apt-configure', ProcessExecutionError(\"Unexpected error while running command.\\nCommand: ['apt-key', 'add', '-']\\nExit code: 255\\nReason: -\\nStdout: \\nStderr: E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation\"))"
  ]
 }
}

Почему? Он жалуется, что не может использовать apt-key, потому что gnupgотсутствует, однако как я могу убедиться, что он существует? Согласно /etc/cloud/cloud.cfgcloud-init запускает модули APT перед установкой пакетов, так как же мне получить работающий apt-keyс gnupg?

Спасибо.

0
задан 10 December 2019 в 16:57
1 ответ

Добавьте это в свою конфигурацию, что приведет к запуску apt-get после того, как сеть будет включена, но до официального облака-init section:

bootcmd:
  - DEBIAN_FRONTEND=noninteractive apt-get -yq update
  - DEBIAN_FRONTEND=noninteractive apt-get -yq install gnupg

В Системе отслеживания ошибок Debian есть другое решение, которое показывает, как указать новый источник и ключ, не вызывая вызов gnupg, но (для меня)это делает конфигурация вашего облака-непонятна.

0
ответ дан 14 October 2021 в 16:16

Теги

Похожие вопросы