Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
apt-key [Le 14/12/2017, 12:16] 78.194.2.45 [gpg: le délai d'attente du serveur de clés a expiré] |
apt-key [Le 26/06/2025, 22:12] (Version actuelle) 89.86.155.3 wget no sillent |
||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| ===== Méthode générale ===== | ===== Méthode générale ===== | ||
| - | Lorsque vous ajoutez des [[:dépôts]] à votre distribution afin de bénéficier de version supérieure de certains logiciels, vous vous trouvez surement souvent confronté à un message d'erreur du genre : | + | <note warning>Attention apt-key est obsolète utilisez plutôt</note> |
| - | <note warning>W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY votre_n°_de_clé</note> | ||
| - | Pour pallier ce problème il vous suffit de saisir dans un [[:terminal]] la [[:commande_shell|commande]] suivante: | + | <code> |
| + | wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xvotre_n°_de_clé" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/nondudepot.gpg > /dev/null | ||
| + | </code> | ||
| + | |||
| + | Lorsque vous ajoutez des [[:ppa|dépôts ppa]] à votre distribution afin de bénéficier de version supérieure de certains logiciels, vous vous trouvez sûrement souvent confronté à un message d'erreur du genre : | ||
| + | <file>W: GPG error: http://ppa.launchpad.net xenial Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY votre_n°_de_clé</file> | ||
| + | |||
| + | Pour pallier ce problème il vous suffit de saisir dans un [[:terminal]] la [[:commande_shell|commande]] suivante : | ||
| <code bash>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com votre_n°_de_clé</code> | <code bash>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com votre_n°_de_clé</code> | ||
| - | ou bien : | + | |
| - | <code bash>sudo apt-get install add-apt-key && sudo add-apt-key votre_n°_de_clé</code> | + | |
| + | <note warning>Attention apt-key est obsolète utilisez plutôt</note> | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | sudo apt-get -y purge add-apt-key | ||
| + | sudo nano /usr/bin/add-apt-key | ||
| + | </code> | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | sudo rm -f "/etc/apt/trusted.gpg.d/\$1.gpg" | ||
| + | wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x"$1"" | gpg --dearmor | sudo tee "/etc/apt/trusted.gpg.d/\$1.gpg" > /dev/null | ||
| + | sudo apt-get update | ||
| + | </code> | ||
| + | |||
| + | <code bash> | ||
| + | sudo chmod +x /usr/bin/add-apt-key | ||
| + | sudo add-apt-key votre_n°_de_clé | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | <note tip>Encore plus simple ! Cette ligne de commande régénère les clés GPG manquantes | ||
| + | <code>sudo apt-get update 2>&1 | sed -ne 's?^.*NO_PUBKEY ??p' | xargs -r -- sudo add-apt-key</code></note> | ||
| ===== Port HKP filtré par un firewall ==== | ===== Port HKP filtré par un firewall ==== | ||
| Ligne 19: | Ligne 53: | ||
| <code>sudo add-apt-key -k hkp://keyserver.ubuntu.com:80 votre_n°_de_clé</code> | <code>sudo add-apt-key -k hkp://keyserver.ubuntu.com:80 votre_n°_de_clé</code> | ||
| - | Il est également possible de le faire directement dans le fichier idoine, en remplçant le port par defaut 11371 par 80 en [[:tutoriel:comment_modifier_un_fichier|modifiant]] avec les [[:sudo|droits d'administration]] la ligne correspondante dans le fichier **/etc/default/add-apt-key** | + | Il est également possible de le faire directement dans le fichier idoine, en remplaçant le port par défaut 11371 par 80 en [[:tutoriel:comment_modifier_un_fichier|modifiant]] avec les [[:sudo|droits d'administration]] la ligne correspondante dans le fichier **/etc/default/add-apt-key** |
| <file>KEYSERVER=hkp://keyserver.ubuntu.com:80</file> | <file>KEYSERVER=hkp://keyserver.ubuntu.com:80</file> | ||
| puis de relancer la commande de la maniere suivante : | puis de relancer la commande de la maniere suivante : | ||
| Ligne 82: | Ligne 116: | ||
| gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés | gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés | ||
| </file> | </file> | ||
| - | - Vérifiez d'abord que vous avez internet, par exemple tentez <code bash>ping www.google.com</code> et vous verrez bien si vous obtenez une réponse ou non.</code> | + | - Vérifiez d'abord que vous avez internet, par exemple tentez <code bash>ping www.google.com</code> et vous verrez bien si vous obtenez une réponse ou non. |
| - Si vous avez Internet, tentez un ping sur le serveur de clés : <code bash>ping keyserver.ubuntu.com</code>En fonction de la réponse, vous y verrez plus clair. Si le serveur ne répond pas, c'est qu'il n'est pas en ligne pour maintenance, donc réessayez plus tard.\\ Si par contre vous avez un message du type: <code bash>ping: sendmsg: Operation not permitted </code> Le problème vient très probablement de votre [[:pare-feu]]. \\ * Configurez-le pour autoriser les requêtes [[:apt]]. Ou : \\ * désactivez-le le temps de l'ajout de la clé. | - Si vous avez Internet, tentez un ping sur le serveur de clés : <code bash>ping keyserver.ubuntu.com</code>En fonction de la réponse, vous y verrez plus clair. Si le serveur ne répond pas, c'est qu'il n'est pas en ligne pour maintenance, donc réessayez plus tard.\\ Si par contre vous avez un message du type: <code bash>ping: sendmsg: Operation not permitted </code> Le problème vient très probablement de votre [[:pare-feu]]. \\ * Configurez-le pour autoriser les requêtes [[:apt]]. Ou : \\ * désactivez-le le temps de l'ajout de la clé. | ||
| - Si vous ne le pouvez pas, par exemple si vous êtes sur un Hotspot... faites comme l'indique [[:ppa#erreur_du_serveur_de_cles|la section « Erreur de serveur de clés »]]. | - Si vous ne le pouvez pas, par exemple si vous êtes sur un Hotspot... faites comme l'indique [[:ppa#erreur_du_serveur_de_cles|la section « Erreur de serveur de clés »]]. | ||
| - | |||
| - | <note important> | ||
| - | vous trouverez [[https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1|le patch de correction 0.78.1]] sur le Launchpad à partir de la version d'Ubuntu [[:Natty]].\\ | ||
| - | Pour ceux qui utilisent une version antérieure il faut: | ||
| - | * [[:tutoriel:comment_modifier_un_fichier|éditer]] avec les [[:sudo|droits d'administration]] le fichier **/usr/lib/python2.6/dist-packages/softwareproperties/ppa.py** | ||
| - | * Chercher la ligne où est mentionné <file>keyserver.ubuntu.com (DEFAULT_KEYSERVER = "keyserver.ubuntu.com")</file> | ||
| - | * Remplacez-la par <file>hkp://keyserver.ubuntu.com:80/ (DEFAULT_KEYSERVER = "hkp://keyserver.ubuntu.com:80/")</file> | ||
| - | * [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|rechargez la liste des paquets]] | ||
| - | **(en)** [[http://superuser.com/questions/64922/how-to-work-around-blocked-outbound-hkp-port-for-apt-keys|« How to work around blocked outbound hkp port for apt keys »]] —{ « Comment résoudre les problèmes de connexion au serveur de trousseau de clés derrière un pare-feu » } ; source : forum Superuser.com ; date : 3 novembre 2009. \\ | ||
| - | Ou bien : <code bash> | ||
| - | gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 3E5C1192 | ||
| - | gpg --export --armor 3E5C1192 | sudo apt-key add - | ||
| - | sudo apt-get upgrade</code> avec 3E5C1192 la clé manquante. | ||
| - | </code> | ||
| - | </note> | ||
| ===== Pour un PPA du site launchpad.net ===== | ===== Pour un PPA du site launchpad.net ===== | ||
| Ligne 110: | Ligne 129: | ||
| Celui-ci contient notamment un logiciel très utile appelé **launchpad-getkeys**. \\ Une fois installé et lancé en ligne de commandes : | Celui-ci contient notamment un logiciel très utile appelé **launchpad-getkeys**. \\ Une fois installé et lancé en ligne de commandes : | ||
| * il récupère tout seul toutes les clés d'authentification possibles, évitant du coup toutes les manipulations décrites plus haut. | * il récupère tout seul toutes les clés d'authentification possibles, évitant du coup toutes les manipulations décrites plus haut. | ||
| - | * Il répare donc les erreurs de type « missing GPG » de façon très simple. | + | * Il répare donc les erreurs de type « missing GPG » de façon très simple. |
| FIXME contient d'autres logiciels, dont **[[yad_yet_another_dialog|Yad (Yet Another Dialog)]]**, [[xclip|XClip]] et [[ppa#PPA-Purge : désinstaller un paquet automatiquement et proprement|PPA-Purge : désinstaller un paquet automatiquement et proprement]] qui sont **des dépendances de Launchpad-getkeys**. | FIXME contient d'autres logiciels, dont **[[yad_yet_another_dialog|Yad (Yet Another Dialog)]]**, [[xclip|XClip]] et [[ppa#PPA-Purge : désinstaller un paquet automatiquement et proprement|PPA-Purge : désinstaller un paquet automatiquement et proprement]] qui sont **des dépendances de Launchpad-getkeys**. | ||
| Ligne 116: | Ligne 135: | ||
| Pour le faire de de façon graphique, procéder comme suit: | Pour le faire de de façon graphique, procéder comme suit: | ||
| * Sur la page web de l'archive, donc pour l' exemple [[https://launchpad.net/~nilarimogard/+archive/webupd8|dépôt de launchpad-getkeys]], cliquer sur //Technical details about this PPA//. | * Sur la page web de l'archive, donc pour l' exemple [[https://launchpad.net/~nilarimogard/+archive/webupd8|dépôt de launchpad-getkeys]], cliquer sur //Technical details about this PPA//. | ||
| - | * Un espace de texte est déroulé, cliquer sur le code inscrit sous //Signing key//. | + | * Un espace de texte est déroulé, cliquer sur le code inscrit sous //Signing key//. |
| * Dans la nouvelle page, faire un clic droit sur l'[[wpfr>hyperlien]] pour pouvoir //Enregistrer la cible du lien sous...//. Choisir une destination. | * Dans la nouvelle page, faire un clic droit sur l'[[wpfr>hyperlien]] pour pouvoir //Enregistrer la cible du lien sous...//. Choisir une destination. | ||
| * Dans la fenêtre [[:tutoriel:comment_modifier_sources_maj#avec_une_interface_graphique|Sources de logiciels]] prévue à cette effet, choisir l'onglet //Authentification// puis cliquer sur //Importer la clé...//. | * Dans la fenêtre [[:tutoriel:comment_modifier_sources_maj#avec_une_interface_graphique|Sources de logiciels]] prévue à cette effet, choisir l'onglet //Authentification// puis cliquer sur //Importer la clé...//. | ||
| - | * Rechercher et sélectionner le fichier qui vient d'être enregistré (le nom par défaut est 'lookup'). Fermer la fenêtre des sources de logiciels. | + | * Rechercher et sélectionner le fichier qui vient d'être enregistré (le nom par défaut est 'lookup'). Fermer la fenêtre des sources de logiciels. |
| Les captures d'écrans associées à cette manipulation peuvent être trouvées sur : \\ **(en)** [[http://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey-without-terminal#13088|« How do I fix the GPG error “NO_PUBKEY”? »]] —{ « Comment corriger une erreur GPG "AUCUNE CLÉ PUBLIQUE" » } ; source : forum AskUbuntu.com ; auteur : Agmenor ; 13 novembre 2010. | Les captures d'écrans associées à cette manipulation peuvent être trouvées sur : \\ **(en)** [[http://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey-without-terminal#13088|« How do I fix the GPG error “NO_PUBKEY”? »]] —{ « Comment corriger une erreur GPG "AUCUNE CLÉ PUBLIQUE" » } ; source : forum AskUbuntu.com ; auteur : Agmenor ; 13 novembre 2010. | ||
| - | =====Si malgré tout le problème persiste===== | + | **One Lign installer.** |
| + | <note tip>sudo add-apt-repository ppa:webupd8team/y-ppa-manager && sudo apt update | ||
| + | sudo apt install launchpad-getkeys && sudo launchpad-getkeys</note> | ||
| + | |||
| + | |||
| + | ===== Si malgré tout le problème persiste ===== | ||
| Commencez par forcer les mises à jour sans authentification, pour être sûr de tout avoir. | Commencez par forcer les mises à jour sans authentification, pour être sûr de tout avoir. | ||
| - | <code>sudo apt update && sudo apt-get -yf --allow-unauthenticated upgrade </code> | + | <code bash>sudo apt update && sudo apt-get -yf --allow-unauthenticated upgrade </code> |
| sauvegardez vos clés .gpg actuelles, au cas où ! | sauvegardez vos clés .gpg actuelles, au cas où ! | ||
| Ligne 131: | Ligne 155: | ||
| Faites un dossier où mettre ça en attendant : | Faites un dossier où mettre ça en attendant : | ||
| - | <code> mkdir ~/gpg-backups </code> | + | <code bash> mkdir ~/gpg-backups </code> |
| Virez tout /etc/apt/trusted.gpg.d/ et /etc/apt/trusted.gpg dans le dossier précédemment créé : | Virez tout /etc/apt/trusted.gpg.d/ et /etc/apt/trusted.gpg dans le dossier précédemment créé : | ||
| - | <code>sudo mv /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/ | + | <code bash>sudo mv /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/ |
| sudo mv /etc/apt/trusted.gpg ~/gpg-backups/ </code> | sudo mv /etc/apt/trusted.gpg ~/gpg-backups/ </code> | ||
| Installez le gestionnaire / réparateur de PPA [[yppamanager|y-ppa-manager]] : | Installez le gestionnaire / réparateur de PPA [[yppamanager|y-ppa-manager]] : | ||
| - | <code> sudo add-apt-repository ppa:webupd8team/y-ppa-manager && sudo apt-get update && sudo apt-get install -y y-ppa-manager</code> | + | <code bash> sudo add-apt-repository ppa:webupd8team/y-ppa-manager && sudo apt update && sudo apt install -y y-ppa-manager</code> |
| Vous pouvez le lancer en ligne de commande pour voir ses sorties : | Vous pouvez le lancer en ligne de commande pour voir ses sorties : | ||
| - | <code>y-ppa-manager</code> | + | <code bash>y-ppa-manager</code> |
| ou simplement par son lanceur graphique normal. | ou simplement par son lanceur graphique normal. | ||
| - | Dans [[yppamanager|Y-ppa-manager]], cliquez sur à "Advanced". Des options pour réparer les problèmes de clés manquantes ou de BADSIG vous y sont proposées. Commencez par recharger les clés. En cas de besoin, jetez un œil aux autres choix, ils peuvent être utiles. | + | Dans [[yppamanager|Y-ppa-manager]], cliquez sur à "Advanced". Des options pour réparer les problèmes de clés manquantes ou de BADSIG vous y sont proposées. Commencez par recharger les clés. En cas de besoin, jetez un œil aux autres choix, ils peuvent être utiles. |
| - | Soyez patients lors de la sélection d'un option, attendez pour le solliciter de nouveau : il travaille en fond et vous avertira d'une notification une fois sa tâche terminée (si lancé en ligne de commande, vous pouvez contrôler son fonctionnement dans la fenêtre de terminal). | + | Soyez patient lors de la sélection d'une option, attendez pour le solliciter de nouveau : il travaille en fond et vous avertira d'une notification une fois sa tâche terminée (si lancé en ligne de commande, vous pouvez contrôler son fonctionnement dans la fenêtre de terminal). |
| + | |||
| + | =====Exporter ses clés de ppa===== | ||
| + | Il peut être souhaitable d'exporter ses clés de ppa pour une utilisation sur un ordinateur hors-ligne par exemple, pour cela utiliser la commande : | ||
| + | <code>sudo apt-key exportall >nom-de-votre-clé-unifiée.asc</code> | ||
| + | Cette commande créera un fichier avec contenant toutes les clés utilisées dans le système. | ||
| + | =====Obtenir une clé pour un usage local (sans internet)===== | ||
| + | Pour obtenir un fichier gpg utilisable sans internet, rendez-vous sur [[https://keyserver.ubuntu.com/|le serveur de clé Ubuntu]], dans le champs "Search string", entrez **0xnuméro-de-votre-clé**, le numéro de votre clé correspond à l'erreur apt que vous avez rencontrée lorsque vous avez recharger la liste des paquets. Cliquez sur le lien après **pub** copiez le contenu de la page dans un fichier en lui donnnannt le nom de votre choix avec l'extension ''gpg''. | ||
| + | Une fois cela fait, entrez la clé manuellement avec la commande : | ||
| + | <code>sudo apt-key add /chemin/vers/votre/clé/votre-clé.gpg</code> | ||
| + | Ou encore plus simplement avec la commande : | ||
| + | <code>wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xvotre_n°_de_clé" >votre-clé.gpg</code> | ||
| + | ===== Commande apt-key obsolète ===== | ||
| + | |||
| + | Toutes les options de cette commande sont devenues obsolètes avec la version 22.04 à l'exception de **del** | ||
| + | <code> man apt-key | ||
| + | NAME | ||
| + | apt-key - Deprecated APT key management utility | ||
| + | DESCRIPTION | ||
| + | Use of apt-key is deprecated, except for the use of apt-key del in maintainer scripts to remove existing keys from the main keyring. | ||
| + | If such usage of apt-key is desired the additional installation of the GNU Privacy Guard suite (packaged in gnupg) is required.</code> | ||
| + | |||
| + | Exemple de codification incorrecte | ||
| + | <code>wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add - </code> | ||
| + | La bonne codification devient | ||
| + | <code> wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc </code> | ||
| + | |||
| - | ---- | ||
| - | Contributeurs : [[utilisateurs:Daëavelwyn]], [[utilisateurs:Mysteroid]], [[utilisateurs:BeAvEr]] (brève peaufination de la documentation), [[utilisateurs:Agmenor]] (partie PPA), [[utilisateur:Jau]]. | ||