Si vous essayez de récupérer un package à partir d'un dépôt où ils ont empaqueté les clés et les incluent dans le dépôt et nulle part ailleurs, il peut être très ennuyeux de télécharger et d'installer le package de clé / keyring en utilisant dpkg, et très difficile de le faire de manière scriptable et répétitive.
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 en utilisant apt-key adv
) ou si vous pouvez les télécharger depuis une source de confiance via https et les installer à l'aide de apt-key (par exemple wget https://trusted.key.site/my-trusted-key.gpg | sudo apt-key add -
), mais si vous n'avez AUCUN autre moyen, vous pouvez utiliser ceci.
echo "deb http://votre.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
## si le 'apt update' ci-dessus échoue, c'est probablement dû à une précédente
## présence de la clé GPG et du dépôt sur le système, vous pouvez nettoyer
## les anciennes listes avec `sudo rm /var/lib/apt/lists/your.repo.domain*`
apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname
## Si jamais vous exécutez `sudo apt-key del votre-ID-de-clé-de-dépôt`
## vous devrez peut-être exécuter `sudo apt remove --purge repo-keyring-pkgname`
## La mise à jour devrait fonctionner sans les avertissements de GPG maintenant que la clé est installée
apt-get update
apt-get install somepkg-from-repo
J'ai initialement mis ceci en place parce qu'i3 dans leur dépôt sur5r le fait, mais ensuite j'ai découvert que leurs clés sont dans la liste keyserver.ubuntu.com, donc je peux simplement sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6
et éviter tous les tracas supplémentaires de packages.