Я использую unsigned repo в Ubuntu 16.04 из Debian multimedia deb http://www.deb-multimedia.org jessie main
Для установки deb-multimedia-keyring Я запускаю apt-get update && apt-get install deb-multimedia-keyring -y
Это дает ошибку [ ! d2]
W: GPG error: http://www.deb-multimedia.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
E: The repository 'http://www.deb-multimedia.org jessie InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Спасибо заранее
Другим общим решением было бы
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5C808C2B65558117
Примечание: я не тестировал решение с этим репозиторием, но я сделал это с репозиторием Skype, и он работал нормально.
Другим решением, специфичным для вашего случая, является установка ключей
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.05_all.deb -O deb-multimedia-keyring.deb
sudo dpkg -i multimedia-keyring_all.deb
Как описано в полной прогулке здесь
Если вы пытаетесь получить пакет из репозитория, где они упаковали ключи и включили их в репозиторий, а не где-то еще, это может быть очень неприятно для загрузки и установки пакета key / keyring с использованием dpkg и очень сложно сделать это легко и с возможностью записи.
Не рекомендуется использовать приведенный ниже сценарий, если вы можете установить ключи с сервера ключей (как рекомендовано в другом ответе с помощью apt-key adv), или если вы можете загрузить их из надежного источника через https и установить с помощью apt-key (например, wget https://trusted.key.site/my-trusted-key.gpg | sudo apt-key add -), но если у вас нет ЛЮБОГО другого способа, вы можете использовать это.
echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | sudo tee /etc/apt/sources.list.d/your-repo-name.list
sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update
## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with `sudo rm /var/lib/apt/lists/your.repo.domain*`
apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname
## If you ever run `sudo apt-key del your-repos-keyID`
## you may have to `sudo apt remove --purge repo-keyring-pkgname`
## Update should run without the GPG warnings now that the key is installed
apt-get update
apt-get install somepkg-from-repo
Я изначально собрал это вместе потому что i3 в их sur5r repo делает это, но потом я узнал, что их ключи находятся в списке keyserver.ubuntu.com, поэтому я могу просто sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 и избегать всех дополнительных проблем с пакетом.
Вы можете получить PUBLIC_KEY с сервера ключей и добавить его в apt-key. Предположим, что сервером ключей является pgpkeys.mit.edu, сначала вам нужно ввести:
gpg --keyserver pgpkeys.mit.edu --recv-key KEY_IN_ERROR
gpg -a --export KEY_IN_ERROR | sudo apt-key add -
Заменить ключ KEY_IN_ERROR на тот, который указан в вашем сообщении об ошибке, то есть 5C808C2B65558117.
Кроме того, если вы действительно заинтересованы в добавлении неподписанного репозитория, вы можете добавить флаг в желаемую запись репозитория в sources.list следующим образом:
deb [allow-insecure=yes] http://www.deb-multimedia.org jessie main
Это действительно полезно, если вы хотите настроить свою параметры безопасности для отдельных записей.