У меня есть сценарий облачной инициализации, который используется для создания и настройки виртуальной машины Debian 10, и поскольку я хочу установить nginx, мне нужно добавить его репозиторий в APT. Я пытаюсь это сделать так:
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.cfg
cloud-init запускает модули APT перед установкой пакетов, так как я должен получить работающий apt-key
с участием gnupg
?
Спасибо.