J'utilise Ubuntu 9.10, et j'ai besoin d'ajouter quelques dépôts apt. Malheureusement, je reçois des messages comme celui-ci lors de l'exécution de Sudo apt-get update
:
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767
Donc, je dois installer les clés pour ces dépôts. Sous 9.10, nous avons maintenant la possibilité de faire ceci:
Sudo add-apt-repository ppa:nvidia-vdpau/ppa
Voir cet article d'aide sur Ubuntu pour plus de détails.
C’est formidable, sauf que je l’utilise sur un poste de travail protégé par un pare-feu qui bloque les connexions sortantes sur pratiquement tous les ports, à l’exception de ceux requis par les secrétaires exécutant Windows et IE.
Le port en question ici est le service hkp, port 11371.
Il semble y avoir des moyens de télécharger manuellement les clés et de les installer sur le trousseau d'apt. Il peut même y avoir un moyen d'utiliser add-apt-repository ou wget ou quelque chose de télécharger une clé à partir d'un autre serveur le rendant disponible sur le port 80.
Cependant, je n'ai pas encore trouvé un ensemble concis d'étapes pour le faire. Ce que je recherche, c'est:
Merci d'avance.
Ce problème a été résolu dans la prochaine version Natty d’Ubuntu: https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1
Ceux qui utilisent une version antérieure doivent modifier ppa.py:
Sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py
Où il est dit:
keyserver.ubuntu.com
changer à:
hkp://keyserver.ubuntu.com:80
Sauvegardez, quittez, alors vous êtes prêt à partir.
Sudo apt-key adv --keyserver keyserver.ubuntu.com --keyserver-options http-proxy=http://proxy:port --recv-keys KEYID
Voici une solution de contournement que j'ai utilisée:
J'ai ouvert une session sur un serveur Linux du monde libre au-delà de notre pare-feu d'entreprise et j'ai procédé comme suit:
gpg --keyserver keyserver.ubuntu.com --recv 1DABDBB4CEC06767 && gpg --export --armor 1DABDBB4CEC06767
Ensuite, sur mon poste de travail, je l'ai exécuté et ai collé le résultat de la commande ci-dessus (la clé publique) dans le stdin, suivi de control-D:
Sudo apt-key add -
Ensuite, j'ai pu exécuter Sudo apt-get update
sans problèmes.
Je pense toujours qu'il doit y avoir un meilleur moyen, idéalement quelque chose que je pourrais utiliser comme script.
J'ai une autre solution de contournement ici qui pourrait être utile si vous ne pouvez pas trouver un autre serveur Linux en dehors de votre réseau en tant que proxy. Il suffit d'envoyer un email à "[email protected]" comme sujet comme "get 0x1DABDBB4CEC06767". Mais vous ne pouvez probablement toujours pas écrire un script simple pour automatiser cela.
Vous pouvez aller sur le site Web du serveur de clés, par exemple. http://wwwkeys.eu.pgp.net/ Recherchez la signature de clé (vous devez ajouter 0x à la signature hexadécimale), à savoir 0x1DABDBB4CEC06767.
Cliquez sur le lien que vous souhaitez obtenir et collez le texte dans un fichier sur la machine, c.-à-d.
cat > <filename>
[PASTE]
[Ctrl-C]
Ensuite
apt-key add <filename>
CA marchait bien pour moi; il semble que mon proxy de travail bloque beaucoup de ports "non standard".
J'ai trouvé un moyen judicieux de le faire en une seule commande via le port 80, toujours ouvert au trafic www.
http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/
Une solution simple est:
Sudo add-apt-repository --keyserver hkps://keyserver.ubuntu.com:443 some_ppa
Le https sécurisé (443 sortant) ne serait pas bloqué par le pare-feu.
J'utilise simplement ssh pour transférer le port vers un hôte externe, puis exécutez la commande apt-add-repo
.
ssh -fqTnN -D 11371 <user@Host>