Дополнительные брелоки для APT вrust.gpg.d

13

Я создаю пакет, который автоматически устанавливает некоторые репозитории на все хосты в локальной сети. Пакет будет доступен из центрального хранилища.

Я обнаружил, что списки репо могут быть удалены в /etc/apt/sources.list.d/*.list. Теперь мне нужно импортировать их ключи, например, этот . Однако, когда я помещаю его в «/etc/apt/trusted.gpg.d/Opera.gpg», apt-get updateя получаю множество NO_PUBKEYошибок для всех моих репозиториев, включая Opera!

В чем дело? :)

kolypto
источник

Ответы:

21

Ключи, загруженные из репозиториев, должны быть объединены в новый набор ключей GPG, чтобы вы могли поместить их в «/etc/apt/trusted.gpg.d/*.gpg», например так:

gpg --no-default-keyring --keyring ./Opera.gpg --import Opera.key
sudo cp Opera.gpg /etc/apt/trusted.gpg.d/Opera.gpg
kolypto
источник
1
Не работает ни с версией gpg 1.4.x, ни с 2.1: gpg: keyblock resource './Opera.gpg': file open errorа gpg: no writable keyring found: eof. Чтобы это сработало, нужно сначала сделать:touch Opera.gpg
Tino
10

На самом деле вы можете получить лучшее из обоих миров: создать дополнительный набор ключей /etc/apt/trusted.gpg.d/и использовать apt-keyвместо него gpgнапрямую.

Если у вас уже есть файл ключа локально, например Opera.key, выполните следующую команду:

sudo apt-key --keyring Opera.gpg add Opera.key

Конечно, вы все равно можете импортировать ключ напрямую, как продемонстрировал MestreLion:

wget -q -O - http://deb.opera.com/archive.key | sudo apt-key --keyring Opera.gpg add -
Коди А. Рэй
источник
Обратите внимание, что указание связки ключей Opera.gpgсоздаст связку ключей в текущем каталоге, а не /etc/apt/trusted.gpg.d. Поэтому убедитесь, что вы либо указали полный путь, либо переместили вновь созданную /etc/apt/trusted.gpg.dсвязку ключей в каталог (версия 1.2.27).
JII
2

Кроме того, вы можете использовать apt-keyдля добавления ключа вместо того, чтобы вручную перетащить файл по этому пути. Предполагая, что вы сохранили файл как Opera.key:

sudo apt-key add Opera.key

Вы можете даже скачать и импортировать файл ключа на лету, вместо того, чтобы сохранить его в локальном файле:

wget -q -O - http://deb.opera.com/archive.key | sudo apt-key add -

Apt-key управляет содержимым /etc/apt/trusted.gpgосновного файла, а не использует каталог, что может быть удобством или бременем для вас.

MestreLion
источник