web-dev-qa-db-fra.com

Forcer la mise à jour à partir d'un référentiel non signé Ubuntu 16.04

J'utilise un référentiel non signé dans Ubuntu 16.04 de Debian multimedia deb http://www.deb-multimedia.org jessie main

Pour installer deb-multimedia-keyring j'exécute apt-get update && apt-get install deb-multimedia-keyring -y

Cela donne une erreur

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.

Merci d'avance

57
Shan

Vous pouvez contourner certaines sauvegardes importantes en utilisant l'option suivante:

--allow-unauthenticated

À partir des pages de manuel d'apt-get:

--allow-unauthenticated
    Ignore if packages can't be authenticated and don't Prompt about
    it. This can be useful while working with local repositories, but
    is a huge security risk if data authenticity isn't ensured in
    another way by the user itself. The usage of the Trusted option for
    sources.list(5) entries should usually be preferred over this
    global override. Configuration Item:
    APT::Get::AllowUnauthenticated.

Mais soyez un peu prudent pour utiliser cette option plus largement, les sauvegardes sont en place pour protéger votre ordinateur non limiter votre liberté ...

35
andrew.46

Vous pouvez définir des options dans votre sources.list:

deb [trusted=yes] http://www.deb-multimedia.org jessie main

L'option de confiance est ce qui désactive la vérification de GPG. Voir man 5 sources.list pour plus de détails.

Ps: source.list est situé à /etc/apt/sources.list

50
Prathu Baronia

Une autre solution générique serait

Sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5C808C2B65558117

Remarque: je n'ai pas testé la solution avec ce référentiel mais je l'ai fait avec un référentiel Skype et cela a fonctionné correctement.

Une autre solution spécifique à votre cas consiste à installer les clés

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

Comme décrit dans le parcours complet à travers Here

8

Si vous essayez d'obtenir un package à partir d'un référentiel dans lequel les clés sont empaquetées et incluses dans le référentiel, il peut être très ennuyeux de télécharger et d'installer le package clé/trousseau à l'aide de dpkg, et très difficile à faire. d'une manière facilement scriptable et répétable.

Le script ci-dessous n’est pas recommandé si vous pouvez installer les clés à partir d’un serveur de clés (comme recommandé dans une autre réponse utilisant apt-key adv) ou si vous pouvez les télécharger à partir d’une source approuvée via https et les installer à l’aide d’apt-key (par exemple wget https://trusted.key.site/my-trusted-key.gpg | Sudo apt-key add -), mais si vous le souhaitez. ne pas avoir d'autre moyen, vous pouvez l'utiliser.

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

J’ai initialement mis cela ensemble parce que i3 dans leur repo sur5r le fait, mais j’ai découvert que leurs clés se trouvaient dans la liste keyserver.ubuntu.com, ce qui me permettait de Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 et d’éviter tous les tracas liés aux paquets supplémentaires.

3
dragon788

Vous pouvez obtenir PUBLIC_KEY à partir du serveur de clés et l'ajouter à apt-key. En supposant que le serveur de clés est pgpkeys.mit.edu, vous devez d'abord taper:

gpg --keyserver pgpkeys.mit.edu --recv-key KEY_IN_ERROR
gpg -a --export KEY_IN_ERROR | Sudo apt-key add -

Remplacez la clé KEY_IN_ERROR par celle de votre message d’erreur, à savoir 5C808C2B65558117.

De plus, si vous êtes vraiment intéressé par l'ajout d'un référentiel non signé, vous pouvez ajouter l'indicateur a dans l'entrée de référentiel souhaitée dans le fichier sources.list comme ceci:

deb [allow-insecure=yes] http://www.deb-multimedia.org jessie main

Ceci est très utile si vous souhaitez affiner vos paramètres de sécurité pour des entrées individuelles.

2
leonidas