Обновление Force из неподписанного репозитория Ubuntu 16.04

Я использую 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.

Спасибо заранее

1
задан 13 February 2016 в 05:13

3 ответа

Другим общим решением было бы

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

Как описано в полной прогулке здесь

5
ответ дан 23 May 2018 в 13:34

Если вы пытаетесь получить пакет из репозитория, где они упаковали ключи и включили их в репозиторий, а не где-то еще, это может быть очень неприятно для загрузки и установки пакета 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 и избегать всех дополнительных проблем с пакетом.

3
ответ дан 23 May 2018 в 13:34
  • 1
    Этот ответ кажется неполным, когда он сталкивается с Ubuntu 18.04. Там он пытается раздражать меня, говоря неприятные вещи, такие как ... Release is not valid yet (invalid for another 44min 35s). Updates for this repository will not be applied. . Даже после того, как вы делаете / var / lib / apt / lists / * вещи ... – Jürgen Weigert 25 April 2018 в 21:05
  • 2
    Это просто проблема зеркальной репликации и не должна влиять на аутентификацию или подписание пакетов в репозиториях. Начиная с 1804 года, только что выходит из беты, многие зеркала пытаются догнать, а служба зеркалирования может указывать на сервер, который еще не полностью синхронизирован. – dragon788 27 April 2018 в 04:24

Вы можете получить 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

Это действительно полезно, если вы хотите настроить свою параметры безопасности для отдельных записей.

0
ответ дан 23 May 2018 в 13:34

Другие вопросы по тегам:

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