Как автоматизировать установку отсутствующих ключей GPG в Linux

#linux #docker #containers #gnupg #apt

Вопрос:

Я работаю с контейнерами Linux уже несколько лет. Я удивлен, что мне не удалось найти ни одной темы по этому вопросу. Сценарий:

Я только что добавил новый индекс пакета ( /etc/sources.list.d/example.list ) и хочу установить пакет, назовем его snailmail.

Я выполняю команды:

 apt-get update amp;amp; apt-get install -y snailmail
 

Я получаю следующую ошибку:

 W: GPG error: https://example.com/snailmail/debian stable InRelease:
The following signatures couldn't be verified because the public key is not available:
NO_PUBKEY 7EF2A9D5F293ECE4
 

Каков наилучший способ автоматизации установки ключей GPG?

Ответ №1:

Вот удобный скрипт, который можно вызвать в процессе сборки для загрузки и установки общих ключей GPG (с сервера ключей Ubuntu).:

Предпосылки:

  • wget
 for PUBKEY in $(apt-get update 2>amp;1 | grep NO_PUBKEY | awk '{print $NF}')
do
 wget -q "https://keyserver.ubuntu.com/pks/lookup?op=getamp;search=0x${PUBKEY}" -O - | sed -n '/BEGIN/,/END/p' | apt-key add - 2>/dev/null
done